Back to list
Rwb3n

investigation-cycle

by Rwb3n

0🍴 0📅 Jan 22, 2026

SKILL.md


name: investigation-cycle description: HAIOS Investigation Cycle for structured research and discovery. Use when starting or resuming an investigation. Guides HYPOTHESIZE->EXPLORE->CONCLUDE workflow with phase-specific tooling. recipes:

  • inv generated: 2025-12-22 last_updated: '2026-01-16T22:00:54'

Investigation Cycle

This skill defines the HYPOTHESIZE-EXPLORE-CONCLUDE cycle for structured investigation of research questions. It composes existing primitives (Skills, Commands, Memory) into a coherent research workflow.

When to Use

SHOULD invoke this skill when:

  • Starting a new investigation
  • Resuming work on an in-progress investigation
  • Unsure of next step in research workflow

Invocation: Skill(skill="investigation-cycle")


The Cycle

HYPOTHESIZE --> EXPLORE --> CONCLUDE --> CHAIN
      ^            ^           |           |
      |            +-----------+     [route next]
      +-- (if no investigation doc)        |
                                    /-------------\
                                   INV-*    has plan?   else
                                     |         |          |
                                investigation  implement  work-creation
                                   -cycle      -cycle     -cycle

Parallel to Implementation Cycle:

ImplementationInvestigationPurpose
PLANHYPOTHESIZEDefine what to do
DOEXPLOREExecute the work
CHECK + DONECONCLUDEVerify, capture, close

1. HYPOTHESIZE Phase

On Entry:

just set-cycle investigation-cycle HYPOTHESIZE {work_id}

Goal: Verify investigation exists and is ready for exploration.

Actions:

  1. Read work file: docs/work/active/{backlog_id}/WORK.md
  2. MUST read ALL @ referenced files at document top before proceeding
  3. MUST Glob referenced directories to find all files (e.g., @docs/work/active/INV-052/Glob("docs/work/active/INV-052/**/*.md"))
  4. Verify work file has filled-in Context section (not template placeholders)
  5. Check status: active - if draft, fill in context/hypotheses first
  6. Query memory for prior related work

Exit Criteria:

  • Work file exists with complete context
  • MUST: All @ referenced files read (Session 171 learning)
  • Hypotheses defined (at least H1)
  • Scope defined (in/out)
  • Memory queried for prior related findings

Tools: Read, Glob, memory_search_with_experience


2. EXPLORE Phase

On Entry:

just set-cycle investigation-cycle EXPLORE {work_id}

Goal: Execute investigation steps and document findings.

Guardrails (MUST follow):

  1. MUST invoke investigation-agent for evidence gathering - specialized subagent handles exploration
  2. One hypothesis at a time - Focus exploration
  3. Document findings as discovered - Don't wait until end
  4. Query memory before assuming - Prior work may answer questions
  5. MUST update Exploration Plan checklist after investigation-agent returns - mark all executed steps as complete

Actions:

  1. Execute investigation steps from document (via investigation-agent)
  2. After subagent returns: Update Exploration Plan checklist to mark completed steps [x]
  3. For each step, update Findings section
  4. Use memory-agent for context before deep dives
  5. If new hypotheses emerge, add them to document

Exit Criteria:

  • All investigation steps executed
  • Exploration Plan checklist updated (all steps marked [x])
  • Findings section populated with evidence
  • Hypotheses marked as confirmed/refuted/inconclusive

Tools: Read, Grep, Glob, Bash, memory_search_with_experience, WebSearch (if needed)


3. CONCLUDE Phase

On Entry:

just set-cycle investigation-cycle CONCLUDE {work_id}

Goal: Synthesize findings and spawn work items.

Actions:

  1. Review findings against original objective
  2. Identify spawned work items (ADRs, backlog items, new investigations)
  3. Create spawned items using /new-* commands with spawned_by: {this_investigation_id}
  4. Store findings summary to memory via ingester_ingest
  5. Update investigation status: status: complete

Exit Criteria:

  • Findings synthesized (answer to objective documented)
  • Spawned work items created with spawned_by field linking to investigation
  • Learnings stored to memory (memory_refs populated)
  • Investigation marked complete

Tools: ingester_ingest, Edit, /new-adr, /new-plan


4. CHAIN Phase (Post-CONCLUDE)

On Entry:

just set-cycle investigation-cycle CHAIN {work_id}

Goal: Close investigation and route to next work item.

Actions:

  1. Close investigation: /close {backlog_id}
  2. Query next work: just ready
  3. If items returned, read first work file to check documents.plans
  4. Apply routing decision table (see routing-gate skill):
    • If next_work_id is None → await_operator
    • If ID starts with INV-invoke_investigation
    • If has_plan is True → invoke_implementation
    • Else → invoke_work_creation
  5. Execute the action:
    • invoke_investigation -> Skill(skill="investigation-cycle")
    • invoke_implementation -> Skill(skill="implementation-cycle")
    • invoke_work_creation -> Skill(skill="work-creation-cycle")
    • await_operator -> Report "No unblocked work. Awaiting operator direction."

MUST: Do not pause for acknowledgment - execute routing immediately.

Exit Criteria:

  • Investigation closed via /close
  • Next work item identified (or none available)
  • Appropriate cycle skill invoked (or awaiting operator)

On Complete:

just clear-cycle

Tools: /close, Bash(just ready), Read, Skill(routing-gate)


Composition Map

PhasePrimary ToolMemory IntegrationCommand
HYPOTHESIZERead, Globmemory_search (prior work)/new-investigation
EXPLOREGrep, Read, Bashmemory_search (context)-
CONCLUDEEdit, Writeingester_ingest (findings)-
CHAINBash, Skill-/close

Quick Reference

PhaseQuestion to AskIf NO
HYPOTHESIZEIs investigation ready?Fill in context/hypotheses
HYPOTHESIZEMemory queried?Run memory_search_with_experience
EXPLOREAre all steps executed?Continue exploration
EXPLOREAre findings documented?Update Findings section
CONCLUDEAre spawned items created?Create via /new-* commands
CONCLUDEAre learnings stored?Run ingester_ingest
CHAINIs investigation closed?Run /close {backlog_id}
CHAINIs next work identified?Run just ready

EXPLORE phase guardrails:

  • One hypothesis at a time
  • Document findings as discovered
  • Query memory before assuming

Key Design Decisions

DecisionChoiceRationale
Three phases not fourCONCLUDE combines CHECK+DONEInvestigations don't have separate verification
No TDD requirementInvestigations produce findings, not codeResearch is exploratory, not constructive
Memory query at startHYPOTHESIZE includes prior work checkAvoid re-investigating solved problems
Spawned work itemsRequired exit criterionInvestigations should produce actionable output

  • implementation-cycle skill: Parallel workflow for implementation tasks
  • Investigation template: .claude/templates/investigation.md
  • ADR-033: Work Item Lifecycle (DoD criteria)
  • /new-investigation command: Creates investigation documents
  • /close command: Closes completed investigations

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon