Harness Component — Command
Learn Decompose
Extract design patterns from code into specs and wiki
Definition
Target resolution: file path → that file; directory → all source files; module name → Glob src/**/{module}*.
Flags:
--patterns <list>: Comma-separated pattern names to look for (default: detect all)--save-spec:Skill("spec-add")for each new pattern--save-wiki: create wiki note per dimension group-y: Skip confirmation prompts for knowhow/spec writes
Storage read: target files + coding-conventions.md + .workflow/specs/learnings.md (dedup)
Storage write: .workflow/knowhow/KNW-decompose-{slug}-{date}.md + append .workflow/specs/learnings.md
</context>
<state_machine>
<states> S_RESOLVE — 解析 target 为具体文件列表 PERSIST: — S_DEDUP — 加载已有 patterns 用于去重 PERSIST: — S_ANALYZE — 4 维度并行 Agent 分析 PERSIST: — S_CROSSREF — 交叉引用、去重、标记状态 PERSIST: — S_CATALOG — 生成 pattern catalog 报告 PERSIST: outputs S_PERSIST — 写文件 + 可选 spec-add/wiki create PERSIST: knowhow files </states> <transitions>S_RESOLVE: → S_DEDUP WHEN: file list resolved → S_RESOLVE WHEN: unresolvable DO: AskUserQuestion
S_DEDUP: → S_ANALYZE DO: read coding-conventions.md + .workflow/specs/learnings.md → build known pattern set
S_ANALYZE: → S_CROSSREF DO: A_PARALLEL_DIMENSION_ANALYSIS
S_CROSSREF: → S_CATALOG DO: A_CROSSREF_DEDUP
S_CATALOG: → S_PERSIST DO: write KNW-decompose report (grouped by dimension: pattern table + details)
S_PERSIST: → END GATE: unless -y, AskUserQuestion showing files to write and patterns to persist — proceed only on confirm DO: append .workflow/specs/learnings.md [+ spec-add if --save-sp