claudecode-omc 5.6.8 → 5.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.local/skills/prompt-optimizer/SKILL.md +262 -19
  2. package/.omc-curation/ecc-selection.json +80 -0
  3. package/.omc-curation/governance.json +113 -0
  4. package/.omc-curation/sources.lock.json +25 -0
  5. package/README.md +69 -4
  6. package/bundled/manifest.json +5 -5
  7. package/bundled/upstream/anthropic-skills/.omc-source/bundle.json +18 -0
  8. package/bundled/upstream/anthropic-skills/.omc-source/provenance.json +399 -0
  9. package/bundled/upstream/anthropic-skills/skills/claude-api/SKILL.md +18 -17
  10. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/examples.md +9 -9
  11. package/bundled/upstream/anthropic-skills/skills/claude-api/curl/managed-agents.md +4 -4
  12. package/bundled/upstream/anthropic-skills/skills/claude-api/go/managed-agents/README.md +2 -2
  13. package/bundled/upstream/anthropic-skills/skills/claude-api/java/claude-api.md +2 -2
  14. package/bundled/upstream/anthropic-skills/skills/claude-api/java/managed-agents/README.md +2 -2
  15. package/bundled/upstream/anthropic-skills/skills/claude-api/php/claude-api.md +10 -10
  16. package/bundled/upstream/anthropic-skills/skills/claude-api/php/managed-agents/README.md +2 -2
  17. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/README.md +16 -16
  18. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/batches.md +3 -3
  19. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/files-api.md +3 -3
  20. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/streaming.md +7 -7
  21. package/bundled/upstream/anthropic-skills/skills/claude-api/python/claude-api/tool-use.md +19 -19
  22. package/bundled/upstream/anthropic-skills/skills/claude-api/python/managed-agents/README.md +3 -3
  23. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/claude-api.md +4 -4
  24. package/bundled/upstream/anthropic-skills/skills/claude-api/ruby/managed-agents/README.md +2 -2
  25. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/error-codes.md +5 -5
  26. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/live-sources.md +3 -1
  27. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-api-reference.md +10 -4
  28. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-core.md +19 -1
  29. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-environments.md +6 -2
  30. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-multiagent.md +1 -1
  31. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-onboarding.md +3 -3
  32. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-overview.md +3 -2
  33. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-self-hosted-sandboxes.md +173 -0
  34. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/managed-agents-tools.md +10 -4
  35. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/model-migration.md +113 -13
  36. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/models.md +14 -11
  37. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/prompt-caching.md +2 -2
  38. package/bundled/upstream/anthropic-skills/skills/claude-api/shared/tool-use-concepts.md +4 -4
  39. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/README.md +15 -15
  40. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/batches.md +2 -2
  41. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/files-api.md +1 -1
  42. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/streaming.md +5 -5
  43. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/claude-api/tool-use.md +15 -15
  44. package/bundled/upstream/anthropic-skills/skills/claude-api/typescript/managed-agents/README.md +3 -3
  45. package/bundled/upstream/ecc/.omc-source/bundle.json +2 -1
  46. package/bundled/upstream/ecc/.omc-source/last-plan-apply.json +108 -24
  47. package/bundled/upstream/ecc/.omc-source/manifests/.claude-plugin/marketplace.json +3 -3
  48. package/bundled/upstream/ecc/.omc-source/provenance.json +563 -0
  49. package/bundled/upstream/ecc/agents/marketing-agent.md +159 -0
  50. package/bundled/upstream/ecc/agents/react-build-resolver.md +215 -0
  51. package/bundled/upstream/ecc/agents/react-reviewer.md +167 -0
  52. package/bundled/upstream/ecc/agents/typescript-reviewer.md +3 -0
  53. package/bundled/upstream/ecc/commands/harness-audit.md +17 -10
  54. package/bundled/upstream/ecc/commands/marketing-campaign.md +129 -0
  55. package/bundled/upstream/ecc/commands/react-build.md +187 -0
  56. package/bundled/upstream/ecc/commands/react-review.md +170 -0
  57. package/bundled/upstream/ecc/commands/react-test.md +265 -0
  58. package/bundled/upstream/ecc/skills/benchmark-optimization-loop/SKILL.md +69 -0
  59. package/bundled/upstream/ecc/skills/blender-motion-state-inspection/SKILL.md +164 -0
  60. package/bundled/upstream/ecc/skills/canary-watch/SKILL.md +9 -1
  61. package/bundled/upstream/ecc/skills/continuous-learning-v2/hooks/observe.sh +31 -9
  62. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/detect-project.sh +38 -4
  63. package/bundled/upstream/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +319 -12
  64. package/bundled/upstream/ecc/skills/data-throughput-accelerator/SKILL.md +72 -0
  65. package/bundled/upstream/ecc/skills/dynamic-workflow-mode/SKILL.md +123 -0
  66. package/bundled/upstream/ecc/skills/frontend-a11y/SKILL.md +446 -0
  67. package/bundled/upstream/ecc/skills/ito-basket-compare/SKILL.md +63 -0
  68. package/bundled/upstream/ecc/skills/ito-data-atlas-agent/SKILL.md +63 -0
  69. package/bundled/upstream/ecc/skills/ito-market-intelligence/SKILL.md +60 -0
  70. package/bundled/upstream/ecc/skills/ito-trade-planner/SKILL.md +67 -0
  71. package/bundled/upstream/ecc/skills/latency-critical-systems/SKILL.md +73 -0
  72. package/bundled/upstream/ecc/skills/marketing-campaign/SKILL.md +113 -0
  73. package/bundled/upstream/ecc/skills/nextjs-turbopack/SKILL.md +13 -0
  74. package/bundled/upstream/ecc/skills/parallel-execution-optimizer/SKILL.md +72 -0
  75. package/bundled/upstream/ecc/skills/prediction-market-oracle-research/SKILL.md +63 -0
  76. package/bundled/upstream/ecc/skills/prediction-market-risk-review/SKILL.md +60 -0
  77. package/bundled/upstream/ecc/skills/react-patterns/SKILL.md +341 -0
  78. package/bundled/upstream/ecc/skills/react-performance/SKILL.md +574 -0
  79. package/bundled/upstream/ecc/skills/react-testing/SKILL.md +423 -0
  80. package/bundled/upstream/ecc/skills/recsys-pipeline-architect/SKILL.md +114 -0
  81. package/bundled/upstream/ecc/skills/recursive-decision-ledger/SKILL.md +79 -0
  82. package/bundled/upstream/ecc/skills/social-publisher/SKILL.md +115 -0
  83. package/bundled/upstream/ecc/skills/team-agent-orchestration/SKILL.md +110 -0
  84. package/bundled/upstream/ecc/skills/uncloud/SKILL.md +343 -0
  85. package/bundled/upstream/ecc/skills/windows-desktop-e2e/SKILL.md +99 -0
  86. package/bundled/upstream/oh-my-claudecode/.omc-source/bundle.json +2 -1
  87. package/bundled/upstream/oh-my-claudecode/.omc-source/provenance.json +116 -0
  88. package/bundled/upstream/oh-my-claudecode/skills/autopilot/SKILL.md +7 -0
  89. package/bundled/upstream/oh-my-claudecode/skills/cancel/SKILL.md +1 -0
  90. package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +39 -5
  91. package/bundled/upstream/oh-my-claudecode/skills/hud/SKILL.md +1 -0
  92. package/bundled/upstream/oh-my-claudecode/skills/local-build-reminder/SKILL.md +78 -0
  93. package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +1 -1
  94. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/SKILL.md +26 -10
  95. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +3 -3
  96. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +6 -4
  97. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +1 -1
  98. package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/04-welcome.md +2 -2
  99. package/bundled/upstream/oh-my-claudecode/skills/omc-teams/SKILL.md +6 -6
  100. package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +44 -32
  101. package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +45 -21
  102. package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +1 -1
  103. package/bundled/upstream/oh-my-claudecode/skills/self-improve/SKILL.md +7 -0
  104. package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/resolve-paths.mjs +39 -15
  105. package/bundled/upstream/oh-my-claudecode/skills/team/SKILL.md +132 -90
  106. package/bundled/upstream/oh-my-claudecode/skills/ultragoal/SKILL.md +93 -0
  107. package/bundled/upstream/oh-my-claudecode/skills/ultraqa/SKILL.md +28 -13
  108. package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +7 -0
  109. package/bundled/upstream/superpowers/.omc-source/bundle.json +2 -1
  110. package/bundled/upstream/superpowers/.omc-source/provenance.json +63 -0
  111. package/package.json +2 -1
  112. package/src/catalog/source-catalog.js +10 -4
  113. package/src/cli/index.js +4 -0
  114. package/src/cli/plan.js +14 -2
  115. package/src/cli/setup.js +52 -13
  116. package/src/cli/skill.js +1 -1
  117. package/src/cli/source.js +265 -14
  118. package/src/config/sources.js +67 -1
  119. package/src/merge/content-patch.js +84 -0
  120. package/templates/merge-config.json +1 -8
  121. package/bundled/upstream/ecc/skills/strategic-compact/suggest-compact.sh +0 -54
@@ -21,8 +21,42 @@ description: >-
21
21
  origin: community
22
22
  metadata:
23
23
  author: YannJY02
24
- version: "1.2.0"
24
+ version: "1.3.0"
25
25
  changelog: |
26
+ 1.3.0 — Phase 0.7 Project Context Probe. The skill now reads the actual
27
+ repo (stack manifest, git state, README/CLAUDE.md/AGENTS.md)
28
+ before producing the optimized prompt, so recommendations cite
29
+ real file paths, branch names, and declared versions instead of
30
+ generic templates. Hard rules R1-R6.5 prevent the probe from
31
+ misleading downstream agents:
32
+ • R1 — 3-section Facts / Inferences (UNVERIFIED) / Unknown block
33
+ • R2 — never reference code symbols the probe did not actually Read
34
+ (commit subjects and branch names are not code verification)
35
+ • R3 — branch names do not determine intent; skill selection uses
36
+ user prompt + Facts.stack only
37
+ • R4 — declared manifest version ≠ installed version; lockfile
38
+ must be checked when exact runtime version matters
39
+ • R5 — README/CLAUDE.md/AGENTS.md content gets 1 line + source +
40
+ last-modified date; declared-vs-detected conflicts get
41
+ an explicit ⚠️ flag
42
+ • R6 — mandatory "Re-verify before mutating" footer in every block
43
+ • R6.5 — probe failures are explicit ("PROBE FAILED: <reason>"),
44
+ never silently empty
45
+ Section 3 (Optimized Prompt — Full) now MUST start with the verbatim
46
+ Context Block and cite ≥ 2 Facts. Self-check gate added before
47
+ publishing output. New Example 5 demonstrates the full probe →
48
+ 3-section block → safe "starting points to verify" output pattern
49
+ on a real SwiftUI iOS scenario. Budget: ≤ 6 read-only tool calls.
50
+ Graceful degradation: works in non-git dirs, unknown stacks, and
51
+ repos without self-description docs.
52
+ 1.2.1 — Fix phantom `/tdd` references (13 occurrences across Phase 1.5
53
+ template, Phase 3 By-Intent table, Section 4 Quick Patterns,
54
+ and all four examples). No `tdd` skill or command actually
55
+ exists; the canonical name is `test-driven-development`
56
+ (superpowers) — already mapped in the Phase 0.5 alias table
57
+ but not applied to our own templates. This release closes that
58
+ self-inconsistency. Added explicit `/tdd → /test-driven-development`
59
+ row in the alias table to prevent regression.
26
60
  1.2.0 — Skill Existence & Alias Resolution (Phase 0.5) so we stop
27
61
  recommending phantom skills (`tdd-workflow`, `search-first`,
28
62
  `blueprint`, `tdd-guide` agent, etc. that don't exist on most
@@ -146,6 +180,7 @@ or add a verification note.
146
180
  | Generic ECC name | superpowers / OMC actual | Verification |
147
181
  |---|---|---|
148
182
  | `tdd-workflow` (skill) | `test-driven-development` (superpowers) OR `tdd-generator` (OMC) | `ls ~/.claude/skills/test-driven-development` |
183
+ | `/tdd` (slash) — **no such command/skill** | `/test-driven-development` (slash-invokes the superpowers skill) | `ls ~/.claude/skills/test-driven-development` |
149
184
  | `verification-loop` (skill) | `verification-before-completion` (superpowers) OR `verification-loop` (OMC) | both common |
150
185
  | `search-first` (skill) | `external-context` OR `iterative-retrieval` | check both |
151
186
  | `blueprint` (skill) | **`conductor`** (preferred multi-session driver) | `ls ~/.claude/skills/conductor` |
@@ -168,7 +203,83 @@ they run `omc-manage skill index --scope user` (or just `omc-manage setup`,
168
203
  which regenerates it as a side effect). For a quality audit, use
169
204
  `/oh-my-claudecode:skill-stocktake`.
170
205
 
171
- ### Phase 1: Intent Detection
206
+ ### Phase 0.7: Project Context Probe (cheap, deterministic)
207
+
208
+ **Goal:** Ground the optimized prompt in *what is actually true in this repo
209
+ right now*, not in generic templates. Without this phase, the skill produces
210
+ plausible-sounding prompts that may reference nonexistent files, wrong
211
+ versions, or off-stack tooling — the user's actual complaint.
212
+
213
+ **Budget:** ≤ 6 read-only tool calls. Each step is independent — failures
214
+ degrade gracefully (see R6.5), never abort the whole phase.
215
+
216
+ **5 probe actions, in order:**
217
+
218
+ | # | Action | Tool & Command | Output field |
219
+ |---|--------|---------------|--------------|
220
+ | 1 | Confirm git repo | `Bash: git rev-parse --is-inside-work-tree 2>/dev/null` | `is_git_repo: true/false` |
221
+ | 2 | Scan stack manifests at repo root | One `Glob` with combined pattern: `{package.json,Package.swift,Cargo.toml,go.mod,pyproject.toml,requirements.txt,*.csproj,Gemfile,pubspec.yaml,pom.xml,build.gradle*,mix.exs,composer.json}` | `manifests: [paths]` |
222
+ | 3 | Read top manifest | `Read` first 50 lines of highest-priority match | `stack: <name + declared version>`, `stack_source: <manifest>:<line>` |
223
+ | 4 | Git current state (one call) | `Bash: git rev-parse --abbrev-ref HEAD && echo --- && git status --short && echo --- && git log -3 --oneline && echo --- && git diff --stat HEAD~1 2>/dev/null \| head -10` | `branch`, `uncommitted`, `recent_commits` (subjects only), `recent_diff_stat` |
224
+ | 5 | Project self-description | `Glob {CLAUDE.md,AGENTS.md,README.md}` at repo root; `Read` first 30 lines of highest-priority match (priority: CLAUDE.md > AGENTS.md > README.md) | `intent_source`, `intent_text` (first non-empty heading + first ~3 prose lines), `intent_last_modified` |
225
+
226
+ **Graceful degradation:**
227
+
228
+ - Action 1 = `false` → skip action 4. Mark `Repo`, `branch`, `uncommitted`, `recent_commits` as `not in a git repo`. Continue actions 2, 3, 5.
229
+ - Action 2 returns `[]` → `stack: unknown — language-agnostic recommendations apply`.
230
+ - Action 5 finds none → `intent: no self-description found at repo root`.
231
+ - Any single step throws → mark only that field `PROBE FAILED: <one-line reason>` (R6.5). Continue.
232
+
233
+ **Output: Project Context Block (3-section structure, ALWAYS produced)**
234
+
235
+ The probe **always** emits this block, even when most fields are `UNKNOWN`.
236
+ It is appended to the top of `Section 3: Optimized Prompt` (see Output
237
+ Format) and must remain verbatim — no paraphrasing, no summarization.
238
+
239
+ ```markdown
240
+ ## 🔍 Project Context (probed YYYY-MM-DD HH:MM — starting point, NOT ground truth)
241
+
242
+ ### Facts (directly observed in probe)
243
+ - Stack: <name + declared version> ← from `<manifest>:<line>` (declared, installed version not verified)
244
+ - Repo: <basename of cwd> @ branch `<branch>` (<N commits ahead of <base>, or "no upstream tracking">)
245
+ - Uncommitted: <M/A/D files, or "clean working tree">
246
+ - Recent commit subjects (commit messages only — NOT code verification):
247
+ - `<hash>` "<subject>"
248
+ - `<hash>` "<subject>"
249
+ - Recent diff scope (`git diff --stat HEAD~1`): <file>: +N -M (or "no diff since HEAD~1")
250
+ - Project self-description (`<source-file>:<line>`, last modified <date>): "<first non-empty heading + opening line>"
251
+
252
+ ### Inferences (UNVERIFIED — confirm before acting)
253
+ - <e.g., "Likely SwiftUI iOS work based on Package.swift + branch name">
254
+ - <e.g., "Stack manifest declares X but no lockfile read — installed version may differ">
255
+
256
+ ### Unknown / Not Probed
257
+ - Whether <symbol mentioned in commit subjects> actually exists in source — Read source before referencing it as if it does
258
+ - Runtime/installed versions (only declared manifest was read)
259
+ - Whether project self-description still matches current architecture (last modified <date>)
260
+
261
+ ⚠️ Re-verify before mutating: run `git status`, `Read` actual files. This block
262
+ is probe-time context, not authoritative. If observation contradicts this
263
+ block, trust observation and ignore this block.
264
+ ```
265
+
266
+ **6 anti-misleading hard rules (binding on Phase 3 / Phase 4 outputs):**
267
+
268
+ These rules prevent the probe from producing context that downstream agents
269
+ treat as truth when it is in fact inference, name-based guessing, or stale
270
+ data. Violation = regenerate the optimized prompt.
271
+
272
+ | ID | Rule | Why |
273
+ |----|------|-----|
274
+ | **R1** | Block MUST be 3-section: `### Facts` / `### Inferences (UNVERIFIED)` / `### Unknown / Not Probed`. Never mix categories. A fact mis-labeled as fact-but-actually-inferred is the primary misleading vector. | Forces explicit epistemic status on every line. |
275
+ | **R2** | **Do not reference code symbols the probe did not actually read.** A symbol seen only in a commit subject or branch name is NOT verified to exist. It may appear in `Inferences` or `Unknown`, never as an imperative ("extend `AuthService`"). | A commit titled "add AuthService stub" does not prove `AuthService` exists, is complete, or is at the path one might guess. |
276
+ | **R3** | **Branch names do not determine intent.** A branch named `feat/auth` is a weak signal at best; it goes only in `Inferences`. Phase 3 skill selection is driven only by `user prompt + Facts.stack`. | Branch names are user-authored labels with no semantic guarantee. |
277
+ | **R4** | **Manifest version ≠ installed version.** All version facts must be marked `declared in <manifest>, installed not verified`. Tasks that need exact runtime version must explicitly check lockfile (`package-lock.json`, `Cargo.lock`, `Package.resolved`, `poetry.lock`, etc.). | `package.json` says React 18, node_modules may have 17. |
278
+ | **R5** | **README / CLAUDE.md / AGENTS.md content gets 1 line + source + last-modified date.** If declared description contradicts detected stack, append `⚠️ Conflict: declared "<X>" but stack indicates <Y> — verify with user`. | Self-description docs drift; stack manifests do not. |
279
+ | **R6** | **Banner footer is mandatory.** The `⚠️ Re-verify before mutating` line MUST appear verbatim at the bottom of every Context Block. | Drives downstream agent to treat block as starting context, not ground truth. |
280
+ | **R6.5** | **Probe failures are explicit, never silently empty.** Any failed action writes `PROBE FAILED: <reason>` for that field. Downstream agents seeing `PROBE FAILED` know to re-probe themselves; they would misread an empty field as "no problem". | An empty `uncommitted` field looks like a clean working tree. |
281
+
282
+
172
283
 
173
284
  Classify the user's task into one or more categories:
174
285
 
@@ -274,7 +385,7 @@ checklist before generating the optimized prompt.
274
385
  1. **不要直接改代码**。先用 systematic-debugging skill 定位根因
275
386
  - 列出至少 3 个候选假设
276
387
  - 对每个假设设计最小验证(添加日志 / 阅读相关代码)
277
- 2. /tdd 写一个 failing 测试复现 bug(如果是 UI bug,写 e2e 用例)
388
+ 2. /test-driven-development 写一个 failing 测试复现 bug(如果是 UI bug,写 e2e 用例)
278
389
  3. 修复到 green
279
390
  4. /verify 跨平台验证(如适用,跑 macOS + Windows)
280
391
  5. /code-review
@@ -308,21 +419,33 @@ one level. So a MEDIUM task with 2 intents → HIGH → conductor defaults ON.
308
419
 
309
420
  ### Phase 3: ECC Component Matching
310
421
 
311
- Map intent + scope + tech stack (from Phase 0) to specific ECC components.
422
+ Map intent + scope + **Phase 0.7 `Facts.stack`** to specific ECC components.
423
+
424
+ **HARD RULE (binding):** Component selection MUST be driven by `Project
425
+ Context Block → Facts → Stack` when present. When matching the By-Tech-Stack
426
+ table below, **skip rows that do not match** the detected stack — never list
427
+ React skills for a Swift project, never list Django skills for a Go project.
428
+ `Inferences` and `Unknown` fields are advisory only — they MAY surface a
429
+ "verify this assumption" note, but MUST NOT drive skill selection.
430
+
431
+ If `Facts.stack` is `unknown` (no manifest detected), fall back to the
432
+ language-agnostic intent-only recommendations and explicitly say so in
433
+ Section 5 rationale: "Stack unknown — recommendations are generic; user
434
+ should re-run after declaring stack."
312
435
 
313
436
  #### By Intent Type
314
437
 
315
438
  | Intent | Commands | Skills | Agents |
316
439
  |--------|----------|--------|--------|
317
- | New Feature | /plan, /tdd, /code-review, /verify | tdd-workflow, verification-loop | planner, tdd-guide, code-reviewer |
318
- | **Bug Fix** | /tdd, /verify | **systematic-debugging (REQUIRED first)**, trace, analyze, debug, verification-loop | **debugger**, tdd-guide, code-reviewer |
440
+ | New Feature | /plan, /test-driven-development, /code-review, /verify | tdd-workflow, verification-loop | planner, tdd-guide, code-reviewer |
441
+ | **Bug Fix** | /test-driven-development, /verify | **systematic-debugging (REQUIRED first)**, trace, analyze, debug, verification-loop | **debugger**, tdd-guide, code-reviewer |
319
442
  | **Bug Fix (intermittent / 偶现)** | /verify | systematic-debugging, trace, **e2e (for flaky reproduction harness)** | debugger, tracer |
320
443
  | **Bug Fix (cross-platform)** | /verify | systematic-debugging, **electron-driver** (if Electron) | debugger, code-reviewer |
321
444
  | **Performance** | /verify | analyze, trace, verification-loop | architect, code-reviewer |
322
445
  | Refactor | /refactor-clean, /code-review, /verify | verification-loop | refactor-cleaner, code-reviewer |
323
446
  | Research | /plan | search-first, iterative-retrieval, external-context | — |
324
- | **Research-then-Build** | /plan | external-context (research) → **conductor** (track delivery) → /tdd per phase | planner → executor |
325
- | Testing | /tdd, /e2e, /test-coverage | tdd-workflow, e2e-testing | tdd-guide, e2e-runner |
447
+ | **Research-then-Build** | /plan | external-context (research) → **conductor** (track delivery) → /test-driven-development per phase | planner → executor |
448
+ | Testing | /test-driven-development, /e2e, /test-coverage | tdd-workflow, e2e-testing | tdd-guide, e2e-runner |
326
449
  | Review | /code-review | security-review | code-reviewer, security-reviewer |
327
450
  | Documentation | /update-docs, /update-codemaps | — | doc-updater, writer |
328
451
  | Infrastructure | /plan, /verify | docker-patterns, deployment-patterns, database-migrations | architect |
@@ -545,9 +668,28 @@ If Phase 0 auto-detected the answer, state it instead of asking.
545
668
  ### Section 3: Optimized Prompt — Full Version
546
669
 
547
670
  Present the complete optimized prompt inside a single fenced code block.
548
- The prompt must be self-contained and ready to copy-paste. Include:
549
- - Clear task description with context
550
- - Tech stack (detected or specified)
671
+ The prompt must be self-contained and ready to copy-paste.
672
+
673
+ **MANDATORY STRUCTURE (binding):**
674
+
675
+ 1. **First**, paste the Project Context Block from Phase 0.7 **verbatim**.
676
+ Do not summarize, do not paraphrase. The downstream agent needs the same
677
+ epistemic separation (Facts / Inferences / Unknown) the probe produced.
678
+ 2. **Then**, a blank line.
679
+ 3. **Then**, the task content, which MUST:
680
+ - Cite **at least 2 specific items from `Facts`** by file path, branch
681
+ name, manifest line, or commit hash. Generic language like "use the
682
+ existing auth code" is a FAIL — replace with "Read
683
+ `Sources/Auth/LoginView.swift` (uncommitted change, see Facts)".
684
+ - Phrase next-step references as `starting points to verify`, NOT as
685
+ imperatives. Good: "Read `LoginView.swift` first to see what's
686
+ already there." Bad: "Extend `LoginView.swift`."
687
+ - Never reference a code symbol that appeared only in `Inferences` or
688
+ `Unknown` (R2 — see Phase 0.7). Such references must downgrade to
689
+ "search `Grep` for X before assuming it exists."
690
+
691
+ **Other required content:**
692
+ - Clear task description (after Context Block)
551
693
  - /command invocations at the right workflow stages
552
694
  - Acceptance criteria
553
695
  - Verification steps
@@ -556,21 +698,30 @@ The prompt must be self-contained and ready to copy-paste. Include:
556
698
  For items that reference blueprint, write: "Use the blueprint skill to..."
557
699
  (not `/blueprint`, since blueprint is a skill, not a command).
558
700
 
701
+ **Self-check gate (run before publishing Section 3 output):**
702
+
703
+ | Check | If FAIL |
704
+ |-------|---------|
705
+ | Does Section 3 start with the verbatim Project Context Block? | Regenerate; prepend the block |
706
+ | Does the task content cite ≥ 2 items from `Facts` by name/path? | Regenerate; replace generic references with specific Facts |
707
+ | Does any imperative reference a symbol that only appeared in `Inferences` or `Unknown`? | Regenerate; downgrade to "verify before extending" |
708
+ | Is the `⚠️ Re-verify before mutating` footer present in the block? | Regenerate; add the footer |
709
+
559
710
  ### Section 4: Optimized Prompt — Quick Version
560
711
 
561
712
  A compact version for experienced ECC users. Vary by intent type:
562
713
 
563
714
  | Intent | Quick Pattern |
564
715
  |--------|--------------|
565
- | New Feature | `/plan [feature]. /tdd to implement. /code-review. /verify.` |
566
- | Bug Fix | `Use systematic-debugging for [bug] — list 3 hypotheses, verify each. Then /tdd: write failing test, fix to green. /verify.` |
716
+ | New Feature | `/plan [feature]. /test-driven-development to implement. /code-review. /verify.` |
717
+ | Bug Fix | `Use systematic-debugging for [bug] — list 3 hypotheses, verify each. Then /test-driven-development: write failing test, fix to green. /verify.` |
567
718
  | Bug Fix (intermittent) | `Use trace skill for [intermittent bug] — competing hypotheses with evidence. Build flaky-repro harness in /e2e. Fix only after 100% repro. /verify.` |
568
719
  | Bug Fix (cross-platform) | `Use systematic-debugging for [bug]. Repro on both [platform A] and [platform B]. Fix. /verify on both platforms.` |
569
720
  | Performance | `Use analyze for [slow path] — measure baseline first (timing/profile). Identify top 3 hotspots. Fix one at a time, re-measure after each. /verify regression.` |
570
721
  | Refactor | `/refactor-clean [scope]. /code-review. /verify.` |
571
722
  | Research | `Use external-context skill for [topic]. /plan based on findings.` |
572
- | Research-then-Build | `Use external-context to study [reference X]. Produce comparison report. Then use conductor skill to track delivery: spec → plan → /tdd per phase.` |
573
- | Testing | `/tdd [module]. /e2e for critical flows. /test-coverage.` |
723
+ | Research-then-Build | `Use external-context to study [reference X]. Produce comparison report. Then use conductor skill to track delivery: spec → plan → /test-driven-development per phase.` |
724
+ | Testing | `/test-driven-development [module]. /e2e for critical flows. /test-coverage.` |
574
725
  | Review | `/code-review. Then use security-reviewer agent.` |
575
726
  | Docs | `/update-docs. /update-codemaps.` |
576
727
  | EPIC | `Use conductor skill (or blueprint) for "[objective]". Execute phases with /verify gates.` |
@@ -622,7 +773,7 @@ A compact version for experienced ECC users. Vary by intent type:
622
773
 
623
774
  工作流:
624
775
  1. /plan 先规划组件结构和认证流程,参考现有页面的模式
625
- 2. /tdd 测试先行:编写登录表单的单元测试和认证流程的集成测试
776
+ 2. /test-driven-development 测试先行:编写登录表单的单元测试和认证流程的集成测试
626
777
  3. 实现登录页面和认证逻辑
627
778
  4. /code-review 审查实现
628
779
  5. /verify 验证所有测试通过且页面正常渲染
@@ -670,7 +821,7 @@ Requirements:
670
821
 
671
822
  Workflow:
672
823
  1. /plan the endpoint structure, middleware chain, and validation logic
673
- 2. /tdd — write table-driven tests for success, validation failure, auth failure, not-found
824
+ 2. /test-driven-development — write table-driven tests for success, validation failure, auth failure, not-found
674
825
  3. Implement following existing handler patterns
675
826
  4. /go-review
676
827
  5. /verify — run full test suite, confirm no regressions
@@ -722,7 +873,7 @@ Do not:
722
873
  - H3: 分享接口幂等性设计阻止了重复请求
723
874
  - H4: 前端短路 — 检测到"已分享"就不再触发请求
724
875
  对每个假设:阅读 src/share/ 相关代码 + 添加临时日志验证
725
- 2. /tdd 写 e2e 测试用例:分享 → 修改 → 再分享,断言链接或内容变化
876
+ 2. /test-driven-development 写 e2e 测试用例:分享 → 修改 → 再分享,断言链接或内容变化
726
877
  3. 修复到 green
727
878
  4. /verify:跑 e2e 测试 + macOS + Windows 各手测一次(Tauri 项目跨平台)
728
879
  5. /code-review
@@ -736,7 +887,7 @@ Do not:
736
887
  **Optimized Prompt (Quick):**
737
888
  ```
738
889
  Use systematic-debugging for "分享 HTML/MD 后修改文件链接不更新" — list 3 hypotheses
739
- (cache key, hash strategy, idempotent API), verify each. /tdd write failing e2e.
890
+ (cache key, hash strategy, idempotent API), verify each. /test-driven-development write failing e2e.
740
891
  Fix to green. /verify on macOS + Windows.
741
892
  ```
742
893
 
@@ -772,6 +923,98 @@ Use git worktrees for parallel service extraction when dependencies allow.
772
923
  Recommended: Opus 4.6 for blueprint planning, Sonnet 4.6 for phase execution.
773
924
  ```
774
925
 
926
+ ### Example 5: Phase 0.7 — Project-Aware Recommendation (SwiftUI repo)
927
+
928
+ Demonstrates the v1.3.0 probe + 3-section Context Block + safe "starting
929
+ points to verify" output. Note how the optimized prompt avoids referencing
930
+ `AuthService` as if it exists (R2) and labels the branch signal as inference
931
+ only (R3).
932
+
933
+ **User input (vague Chinese):**
934
+ ```
935
+ 帮我加个登录功能
936
+ ```
937
+
938
+ **Phase 0.7 probe output (5 tool calls):**
939
+ - Action 1: `git rev-parse --is-inside-work-tree` → `true`
940
+ - Action 2: `Glob` finds `Package.swift` at repo root
941
+ - Action 3: `Read Package.swift` lines 1-50 → `swift-tools-version: 6.0`, platform `iOS .v18`
942
+ - Action 4: `git` combined → branch `feat/auth` (2 ahead of `main`), uncommitted `M Sources/Auth/LoginView.swift`, recent commits include `a1b2c3 add AuthService stub`, `d4e5f6 wire keychain`
943
+ - Action 5: `CLAUDE.md` exists, line 1 reads "# AcmeApp iOS companion (SwiftUI)"
944
+
945
+ **Optimized Prompt (Full):**
946
+
947
+ ````
948
+ ## 🔍 Project Context (probed 2026-05-27 14:30 — starting point, NOT ground truth)
949
+
950
+ ### Facts (directly observed in probe)
951
+ - Stack: Swift 6.0 + SwiftUI, target iOS 18 ← from `Package.swift:5` (declared, installed toolchain not verified)
952
+ - Repo: AcmeApp @ branch `feat/auth` (2 commits ahead of `main`)
953
+ - Uncommitted: M `Sources/Auth/LoginView.swift`
954
+ - Recent commit subjects (commit messages only — NOT code verification):
955
+ - `a1b2c3` "add AuthService stub"
956
+ - `d4e5f6` "wire keychain"
957
+ - `9f8e7d` "scaffold Auth module"
958
+ - Recent diff scope (`git diff --stat HEAD~1`): `Sources/Auth/LoginView.swift`: +45 -12
959
+ - Project self-description (`CLAUDE.md:1`, last modified 2026-04-30): "AcmeApp iOS companion (SwiftUI)"
960
+
961
+ ### Inferences (UNVERIFIED — confirm before acting)
962
+ - Likely SwiftUI auth feature work in progress (branch name + recent commit subjects)
963
+ - A type named "AuthService" may exist (commit subject reference) — NOT verified by reading any file
964
+
965
+ ### Unknown / Not Probed
966
+ - Whether `AuthService` actually exists as a Swift type — `Grep "AuthService" Sources/` before referencing
967
+ - Installed Swift toolchain version (only `Package.swift` declared version was read)
968
+ - Whether `LoginView.swift` is the intended host for login UI or just a scratch file
969
+
970
+ ⚠️ Re-verify before mutating: run `git status`, `Read` actual files. This block
971
+ is probe-time context, not authoritative. If observation contradicts this
972
+ block, trust observation and ignore this block.
973
+
974
+ ---
975
+
976
+ **Task**: Implement login functionality for AcmeApp.
977
+
978
+ **Required skills**: `swiftui-pro` (review/idiom), `test-driven-development` (write failing test first).
979
+
980
+ **Starting points to verify (NOT commands to obey blindly):**
981
+
982
+ 1. `Sources/Auth/LoginView.swift` already has uncommitted changes (+45 -12 vs HEAD~1). **Read it first** to see what's already drafted before adding new code.
983
+ 2. Commit log mentions "AuthService stub" — **before** importing or extending it, run `Grep "AuthService" Sources/` to confirm the type exists and is at a usable state. Treat the name as a lead, not a fact.
984
+ 3. Branch is `feat/auth` with 2 commits ahead of `main` — verify this is the intended working branch. If unclear, ask the user.
985
+ 4. `CLAUDE.md` declares SwiftUI iOS — use SwiftUI APIs (`@State`, `@Observable`, `NavigationStack`) and `iOS 18` features. Confirm by reading `Package.swift` platforms array before using iOS-26-only APIs.
986
+
987
+ **Workflow:**
988
+ 1. `Read Sources/Auth/LoginView.swift` → understand existing scaffold.
989
+ 2. `Grep` for `AuthService`, `Keychain` patterns → ground the implementation in what exists.
990
+ 3. Use `test-driven-development`: write failing test for the login happy path first.
991
+ 4. Implement minimum code to pass; let `swiftui-pro` review the View structure.
992
+ 5. `/verify` — build, run tests, manually exercise the simulator flow.
993
+
994
+ **Acceptance criteria:**
995
+ - Login screen accepts email + password input, validates non-empty
996
+ - Successful auth navigates to main app screen
997
+ - Failed auth shows inline error
998
+ - Credentials persist via Keychain (extend existing wiring from `d4e5f6`, do NOT re-implement)
999
+ - Unit tests cover validation + success + failure paths
1000
+
1001
+ **Scope boundaries:**
1002
+ - Do NOT redesign `AuthService` interface — extend it if it exists; flag for user if it doesn't
1003
+ - Do NOT switch branch — work continues on `feat/auth`
1004
+ - Do NOT introduce a new auth library (no Firebase / Auth0 / etc.) without asking
1005
+ ````
1006
+
1007
+ **Why this output is safer than the v1.2.x style:**
1008
+
1009
+ | v1.2.x risk | v1.3.0 mitigation |
1010
+ |-------------|-------------------|
1011
+ | Would have said "Use `swiftui-pro` to add login" without naming files | Cites `LoginView.swift`, `Package.swift:5`, branch `feat/auth`, commit `d4e5f6` (R1, ≥ 2 Facts cited) |
1012
+ | Might have written "extend `AuthService`" as imperative | Downgraded to "Grep `AuthService` first — treat the name as a lead, not a fact" (R2) |
1013
+ | Would have inferred "auth feature" from branch name | Branch name in `Inferences`, intent confirmed via user prompt only (R3) |
1014
+ | Would have said "Swift 6.0" as if it were installed | "declared, installed toolchain not verified" (R4) |
1015
+ | Would have implied CLAUDE.md content was current truth | Cited with last-modified date (R5) |
1016
+ | No instruction to re-verify | `⚠️ Re-verify before mutating` footer (R6) |
1017
+
775
1018
  ---
776
1019
 
777
1020
  ## Related Components
@@ -0,0 +1,80 @@
1
+ {
2
+ "_comment": "ECC curation. NOTE: governance.json inlines this same allowlist and takes precedence at install time; this file is the source it is kept in sync with (a test asserts they match) and the fallback the per-source mechanism uses for sources NOT inlined in governance.json. Apply with `omc-manage plan apply ecc` (auto-discovered as the default selection file); names are validated against the full synced ECC universe. Full ingestion remains in .upstream/ecc/; only these names install to ~/.claude/.",
3
+ "skills": [
4
+ "workspace-surface-audit",
5
+ "agent-eval",
6
+ "agent-harness-construction",
7
+ "agent-introspection-debugging",
8
+ "agent-sort",
9
+ "agentic-engineering",
10
+ "ai-first-engineering",
11
+ "ai-regression-testing",
12
+ "autonomous-agent-harness",
13
+ "autonomous-loops",
14
+ "continuous-agent-loop",
15
+ "eval-harness",
16
+ "gan-style-harness",
17
+ "iterative-retrieval",
18
+ "mcp-server-patterns",
19
+ "santa-method",
20
+ "skill-comply",
21
+ "skill-stocktake",
22
+ "strategic-compact",
23
+ "team-builder",
24
+ "token-budget-advisor",
25
+ "verification-loop",
26
+ "council",
27
+ "cost-aware-llm-pipeline",
28
+ "prompt-optimizer",
29
+ "context-budget",
30
+ "code-tour",
31
+ "codebase-onboarding",
32
+ "git-workflow",
33
+ "github-ops",
34
+ "regex-vs-llm-structured-text"
35
+ ],
36
+ "agents": [
37
+ "harness-optimizer",
38
+ "opensource-forker",
39
+ "opensource-sanitizer",
40
+ "opensource-packager",
41
+ "silent-failure-hunter",
42
+ "pr-test-analyzer",
43
+ "doc-updater",
44
+ "code-explorer",
45
+ "conversation-analyzer",
46
+ "comment-analyzer",
47
+ "loop-operator",
48
+ "type-design-analyzer",
49
+ "performance-optimizer",
50
+ "refactor-cleaner",
51
+ "chief-of-staff",
52
+ "docs-lookup",
53
+ "swift-reviewer",
54
+ "swift-build-resolver"
55
+ ],
56
+ "commands": [
57
+ "harness-audit",
58
+ "checkpoint",
59
+ "evolve",
60
+ "quality-gate",
61
+ "update-codemaps",
62
+ "update-docs",
63
+ "prp-prd",
64
+ "prp-plan",
65
+ "prp-implement",
66
+ "prp-pr",
67
+ "prp-commit",
68
+ "model-route",
69
+ "feature-dev",
70
+ "resume-session",
71
+ "save-session",
72
+ "sessions",
73
+ "aside",
74
+ "prune",
75
+ "hookify",
76
+ "hookify-list",
77
+ "hookify-configure",
78
+ "hookify-help"
79
+ ]
80
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "_comment": "Unified governance manifest — the single authoritative source for cross-source policy: per-source priority, per-source install allowlist, content patches, and conflict resolution. Authority order for allowlist: explicit config (plan apply) > this file's inline allowlist > .omc-curation/<name>-selection.json. Patches (sources.<name>.patches['<type>/<artifact>']) edit the winning artifact's content at install: frontmatter overrides, replace (find/with), prepend, append. Priority and conflict here override legacy templates/merge-config.json.",
3
+ "sources": {
4
+ "local": {
5
+ "priority": 1
6
+ },
7
+ "oh-my-claudecode": {
8
+ "priority": 2
9
+ },
10
+ "superpowers": {
11
+ "priority": 3
12
+ },
13
+ "ecc": {
14
+ "priority": 4,
15
+ "allowlist": {
16
+ "skills": [
17
+ "workspace-surface-audit",
18
+ "agent-eval",
19
+ "agent-harness-construction",
20
+ "agent-introspection-debugging",
21
+ "agent-sort",
22
+ "agentic-engineering",
23
+ "ai-first-engineering",
24
+ "ai-regression-testing",
25
+ "autonomous-agent-harness",
26
+ "autonomous-loops",
27
+ "continuous-agent-loop",
28
+ "eval-harness",
29
+ "gan-style-harness",
30
+ "iterative-retrieval",
31
+ "mcp-server-patterns",
32
+ "santa-method",
33
+ "skill-comply",
34
+ "skill-stocktake",
35
+ "strategic-compact",
36
+ "team-builder",
37
+ "token-budget-advisor",
38
+ "verification-loop",
39
+ "council",
40
+ "cost-aware-llm-pipeline",
41
+ "prompt-optimizer",
42
+ "context-budget",
43
+ "code-tour",
44
+ "codebase-onboarding",
45
+ "git-workflow",
46
+ "github-ops",
47
+ "regex-vs-llm-structured-text"
48
+ ],
49
+ "agents": [
50
+ "harness-optimizer",
51
+ "opensource-forker",
52
+ "opensource-sanitizer",
53
+ "opensource-packager",
54
+ "silent-failure-hunter",
55
+ "pr-test-analyzer",
56
+ "doc-updater",
57
+ "code-explorer",
58
+ "conversation-analyzer",
59
+ "comment-analyzer",
60
+ "loop-operator",
61
+ "type-design-analyzer",
62
+ "performance-optimizer",
63
+ "refactor-cleaner",
64
+ "chief-of-staff",
65
+ "docs-lookup",
66
+ "swift-reviewer",
67
+ "swift-build-resolver"
68
+ ],
69
+ "commands": [
70
+ "harness-audit",
71
+ "checkpoint",
72
+ "evolve",
73
+ "quality-gate",
74
+ "update-codemaps",
75
+ "update-docs",
76
+ "prp-prd",
77
+ "prp-plan",
78
+ "prp-implement",
79
+ "prp-pr",
80
+ "prp-commit",
81
+ "model-route",
82
+ "feature-dev",
83
+ "resume-session",
84
+ "save-session",
85
+ "sessions",
86
+ "aside",
87
+ "prune",
88
+ "hookify",
89
+ "hookify-list",
90
+ "hookify-configure",
91
+ "hookify-help"
92
+ ]
93
+ }
94
+ },
95
+ "anthropic-skills": {
96
+ "priority": 99
97
+ }
98
+ },
99
+ "conflict": {
100
+ "preferences": {},
101
+ "exclude": {
102
+ "skills": [
103
+ "ask",
104
+ "ccg",
105
+ "multi-model-research",
106
+ "test-gen",
107
+ "release",
108
+ "omc-teams",
109
+ "using-superpowers"
110
+ ]
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "_comment": "Pinned upstream commits for reproducible `source sync --frozen`. Update with `omc-manage source lock`.",
3
+ "sources": {
4
+ "superpowers": {
5
+ "commit": "6fd4507659784c351abbd2bc264c7162cfd386dc",
6
+ "ref": "main",
7
+ "lockedAt": "2026-06-05T08:06:28.114Z"
8
+ },
9
+ "anthropic-skills": {
10
+ "commit": "da20c92503b2e8ff1cf28ca81a0df4673debdbf7",
11
+ "ref": "main",
12
+ "lockedAt": "2026-06-05T08:06:28.114Z"
13
+ },
14
+ "oh-my-claudecode": {
15
+ "commit": "3e945671dcf3ed1c1bcc422862815f92c1999143",
16
+ "ref": "main",
17
+ "lockedAt": "2026-06-05T08:06:28.113Z"
18
+ },
19
+ "ecc": {
20
+ "commit": "bc8e12bb80c904a5a9864797ef1fd1212aa82f3d",
21
+ "ref": "main",
22
+ "lockedAt": "2026-06-05T08:06:28.114Z"
23
+ }
24
+ }
25
+ }