name: loopany-capture description: "Auto-capture after substantive work concludes. Routes events (PR shipped, incident resolved, decision made, problem noticed) to the right loopany artifact kind with a quality gate. Should run proactively — check this skill at the end of every user-requested task. Triggers: after any substantive work, 'record this', 'log this outcome', PR shipped, incident resolved, decision made, problem noticed but deferred."
loopany-capture — event-triggered artifact capture
After substantive work concludes, check whether to record it as a loopany artifact. "Substantive" = produced evidence or a decision a future reader would need to find.
Event → Kind routing
| Event | Target kind | Read |
|---|---|---|
| PR shipped / merged | task |
../loopany-core/kinds/task.md |
| Incident resolved | task |
../loopany-core/kinds/task.md |
| Problem noticed, not acting now | signal |
../loopany-core/kinds/signal.md |
| Existing task outcome observed | append ## Outcome |
../loopany-core/kinds/task.md § Playbook |
| Decision made with rationale | note or task --status done |
see flowchart below |
Decision flowchart
- Resolved a pending signal? →
task --status done+addressededge - Produced something shippable? →
task --status donewith## Outcome - Reasoned preference / principle? →
notetitled "decided: X over Y because Z" - Belief from ≥ 2 data points? →
learningvialoopany-reflect
Default note when unsure.
Quality gate
Skip capture when:
- Not observable — feeling, not fact.
- Already captured —
loopany artifact list --contains "<phrase>". Match? Append. - Too small — typo fix, whitespace, one-liner.
- Speculation — at most a
signal, only if concrete. - Internal agent work — grepping, reading, answering. Not a capture event.
Quick test: if you can't write a one-sentence ## Outcome, skip the task.
Subagent dispatch
Don't capture inline — it breaks focus and produces weaker artifacts:
- Filter — main session runs the quality gate.
- Compose context (3-5 sentences): what happened, why it matters, any numbers or artifact IDs in scope.
- Dispatch: "Record this via loopany. Read
loopany-coreto pick the right kind. Return the artifact ID." - Subagent writes the artifact, returns ID.
- Main session continues — no context switch.
If the host has no subagent primitive, capture inline but keep it tight.
Anti-patterns
- ❌ Trigger on every message exchange → only at completed-work boundaries.
- ❌ Capture during work, not after → no Outcome yet.
- ❌ Skip the quality gate → noise artifacts pollute reflect.
- ❌ Inline capture in long sessions → use subagent pattern.