HAIOS Work Creation Cycle for structured work item population. Use when creating new work items. Guides VERIFY->POPULATE->READY workflow.
This skill defines the VERIFY-POPULATE-READY cycle for populating work items after scaffolding. It ensures work items have complete Context and Deliverables before being actioned.
Invoked automatically by /new-work command after scaffolding.
Manual invocation: Skill(skill="work-creation-cycle") when populating an existing work file.
VERIFY --> POPULATE --> READY --> CHAIN
|
[confidence check]
/ \
HIGH LOW
| |
auto-chain to /reason +
/new-plan or user decision
/new-investigation
On Entry:
mcp__haios-operations__cycle_set(cycle="work-creation-cycle" VERIFY {work_id}
Goal: Confirm work file was created and is valid.
Actions:
docs/work/active/{id}/WORK.md (E2-212 directory structure)status: active and current_node: backlogspawned_by field if this is spawned workExit Criteria:
activetraces_to: field exists in frontmatterTools: Read, Glob
On Entry:
mcp__haios-operations__cycle_set(cycle="work-creation-cycle" POPULATE {work_id}
Goal: Fill in essential work item fields.
Guardrails (MUST follow):
[Problem and root cause] with actual problem descriptionActions:
traces_to: with L4 requirement IDs (see Traceability Validation below)MUST Gate: Investigation Design Validation (Session 192 - E2-290 Learning)
IF spawned_by or spawned_by_investigation is populated:
docs/work/active/{inv_id}/investigations/*.md## Design Outputs sectionExample (E2-290 gap that prompted this gate):
Investigation INV-064 had:
Design Outputs:
- Queue Schema (work_queues.yaml) ✓ → deliverable existed
- Queue Integration Mechanism ✗ → NO deliverable for wiring into survey-cycle
Result: Infrastructure built, but no governance integration.
Anti-pattern prevented: "Design without Deliverable" - Investigation designs integration but work item only lists infrastructure. Implementation completes infrastructure, never wires it in.
MUST Gate: Traceability Validation (Session 237 - REQ-TRACE-002)
Every work item MUST trace to at least one L4 requirement. This is governance, not documentation.
.claude/haios/manifesto/L4/functional_requirements.md for valid IDstraces_to: entry matches pattern REQ-{DOMAIN}-{NNN}Valid requirement domains: TRACE, GOVERNANCE, MEMORY, WORK, CONFIG, CONTEXT, CYCLE (registry in functional_requirements.md)
Anti-pattern prevented: "Work without justification" - Work items created that don't trace to any requirement. Implementation happens, but no one can answer "why does this exist?"
Exit Criteria:
Tools: Edit, AskUserQuestion, Read
On Entry:
mcp__haios-operations__cycle_set(cycle="work-creation-cycle" READY {work_id}
Goal: Validate work item is actionable.
Guardrails (MUST follow - E2-191):
[Problem and root cause][Deliverable 1], [Deliverable 2]Actions:
Exit Criteria:
traces_to: contains at least one valid L4 requirement ID (REQ-TRACE-002)Tools: Read, Edit
On Entry:
mcp__haios-operations__cycle_set(cycle="work-creation-cycle" CHAIN {work_id}
Goal: Route to appropriate next cycle based on confidence.
Confidence-Based Routing:
| Signal | Confidence | Action |
|---|---|---|
type: investigation OR ID starts with INV- |
HIGH | Auto-chain: /new-investigation {id} {title} |
spawned_by points to investigation |
HIGH | Auto-chain: /new-plan {id} {title} (discovery done) |
| Clear technical deliverables, small scope | HIGH | Auto-chain: /new-plan {id} {title} |
| Complex/architectural work | LOW | Chain to /reason for structured decision |
| Unclear if needs investigation first | LOW | Chain to /reason for structured decision |
| No clear signals | LOW | Chain to /reason for structured decision |
Actions:
/reason and ask userExit Criteria:
Tools: Read, Skill
| Phase | Primary Tool | Memory Integration |
|---|---|---|
| VERIFY | Read, Glob | - |
| POPULATE | Edit, AskUserQuestion | Query for prior similar work |
| READY | Read, Edit | - |
| CHAIN | Read, Skill | - |
| Phase | Question to Ask | If NO |
|---|---|---|
| VERIFY | Does work file exist? | Re-run /new-work |
| VERIFY | Does traces_to: field exist? |
Template outdated - add field |
| POPULATE | Is Context filled? | Prompt user for problem statement |
| POPULATE | Are Deliverables defined? | Prompt user for outputs |
| POPULATE | Is traces_to: populated with valid REQ- IDs?* |
BLOCK - prompt for requirement ID |
| POPULATE | If spawned by INV: Do deliverables cover all Design Outputs? | Add missing deliverables |
| READY | Is work item actionable? | Return to POPULATE |
| READY | Does traces_to: have at least one valid ID? |
BLOCK - cannot proceed (REQ-TRACE-002) |
.claude/templates/work_item.md