oh-my-customcode 0.166.0 → 0.168.0
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.
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MUST-agent-teams.md +12 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +1 -1
- package/templates/.claude/skills/homework/SKILL.md +9 -7
- package/templates/.claude/skills/pipeline/SKILL.md +1 -1
- package/templates/.claude/skills/research/SKILL.md +6 -0
- package/templates/.claude/skills/scout/SKILL.md +2 -0
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -76,6 +76,16 @@ Quick rule: User explicitly preferred plain subagents this session? → use Agen
|
|
|
76
76
|
╚══════════════════════════════════════════════════════════════════╝
|
|
77
77
|
-->
|
|
78
78
|
|
|
79
|
+
### Gate Transparency
|
|
80
|
+
|
|
81
|
+
When the gate resolves to **Agent Tool** for a 3+ agent dispatch (e.g. mechanical disjoint-file editing with no review loop), announce the gate result in one line BEFORE spawning — e.g. `R018 게이트: 3개 disjoint-file 도메인, 리뷰 사이클 없음 → Agent Tool 폴백`. Silently selecting Agent Tool on a 3+ agent batch loses the gate-evaluation audit trail and reads as if the R018/R009 Self-Check #4 gate was skipped.
|
|
82
|
+
|
|
83
|
+
| Anti-pattern | Required |
|
|
84
|
+
|--------------|----------|
|
|
85
|
+
| 3+ 에이전트 병렬 스폰 announce에 게이트 평가 결과 누락 | 스폰 전 한 줄로 게이트 결과 명시 (Agent Tool 폴백 사유 또는 Agent Teams 선택 사유) |
|
|
86
|
+
|
|
87
|
+
Origin: #1293 (Session 110 retrospective, Low).
|
|
88
|
+
|
|
79
89
|
### Spawn Completeness Check
|
|
80
90
|
|
|
81
91
|
All members must be spawned in a single message. Partial spawning needs correction per R018 and R009.
|
|
@@ -331,6 +341,8 @@ Agent Teams member completion MUST be verified by deterministic ground-truth —
|
|
|
331
341
|
|
|
332
342
|
Cross-reference: R020 ("actual outcome ≠ attempt" — verifying that a command ran is not the same as verifying it succeeded).
|
|
333
343
|
|
|
344
|
+
> **CC v2.1.162+**: `claude agents --json` now includes a `waitingFor` field showing what a waiting session is blocked on (e.g. a permission prompt). Use it as an additional deterministic ground-truth signal — a member with a non-empty `waitingFor` is blocked on input (needs unblocking), NOT silently stalled (reassign per stall handling below). This distinguishes the two failure modes the verification is meant to separate.
|
|
345
|
+
|
|
334
346
|
**Stall handling**: When a member shows no task progress within ~2 minutes despite spawn + owner assignment + SendMessage coordination, reassign the work to a standalone Agent (R009) rather than continuing to nudge the stalled member. Stalled Teams members waste tokens on idle polling and delay the overall workflow.
|
|
335
347
|
|
|
336
348
|
Observed instance: v0.159.0 release (session 105) — members assigned to disjoint-file cleanup tasks went idle without executing; deterministic git-diff check exposed the gap; work was reassigned to standalone parallel Agents. References: #1261, #1262.
|
|
@@ -30,7 +30,7 @@ Before writing/editing multiple files:
|
|
|
30
30
|
1. Are files independent? → YES: spawn parallel agents
|
|
31
31
|
2. Using Write/Edit sequentially for 2+ files? → parallelize instead
|
|
32
32
|
3. Specialized agent available? → Use it (not general-purpose)
|
|
33
|
-
4. Agent Teams available? → **Check R018 criteria before spawning 2+ agents**
|
|
33
|
+
4. Agent Teams available? → **Check R018 criteria before spawning 2+ agents; for a 3+ agent batch, announce the gate result (Agent Tool fallback reason or Agent Teams choice) — see R018 Self-Check "Gate Transparency"**
|
|
34
34
|
5. Running agent stalled (2x+ duration)? → Spawn independent follow-up tasks immediately
|
|
35
35
|
6. Announced a parallel dispatch in prose? → ALL announced tool calls MUST be in the SAME message as the announcement (announce-execution consistency)
|
|
36
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: homework
|
|
3
|
-
description: On
|
|
3
|
+
description: On explicit /homework invocation, analyze the current and linked previous sessions, extract mistakes (찐빠), and report them via omcustom-feedback with a confirmation gate. Auto-activation on session cleanup/session-end signals is OPT-IN (default OFF) — requires an explicit project/user directive. Use when explicitly auditing recent work for harness gaps.
|
|
4
4
|
scope: harness
|
|
5
5
|
user-invocable: true
|
|
6
6
|
argument-hint: "[--dry-run] [--days <n>] [--severity <critical|high|medium|low>]"
|
|
@@ -25,13 +25,15 @@ This skill is the dedicated entry point for R011's "Session-End Retrospective Fe
|
|
|
25
25
|
|
|
26
26
|
## Trigger Detection
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
- "세션 정리" / "숙제" / "회고"
|
|
30
|
-
- "homework" / "session cleanup" / "wrap up"
|
|
31
|
-
- Explicit `/homework` invocation
|
|
32
|
-
- Session-end signals: "끝", "종료", "마무리", "done", "end session"
|
|
28
|
+
**Default: OFF for auto-activation.** This skill does NOT auto-run on session cleanup or session-end signals unless explicitly enabled. The default is `false` — silence is a non-trigger.
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
Activate ONLY when:
|
|
31
|
+
- **Explicit `/homework` invocation** (always runs)
|
|
32
|
+
- **Explicit opt-in**: the user/project has explicitly directed homework to run on session cleanup — e.g., a CLAUDE.md directive such as "run homework on every session cleanup", or a settings flag. A one-off explicit request ("회고 돌려줘", "homework 실행") also counts.
|
|
33
|
+
|
|
34
|
+
If no explicit opt-in exists, treat session-cleanup / session-end phrases ("세션 정리", "숙제", "회고", "끝", "종료", "마무리", "done", "wrap up", "session cleanup", "end session") as **NON-triggers** — do NOT auto-run. You MAY briefly remind the user that `/homework` is available, then proceed with normal session-end handling.
|
|
35
|
+
|
|
36
|
+
When auto-activation IS explicitly enabled and fires as a session-end signal, this skill runs BEFORE sys-memory-keeper's MEMORY.md update (R011 session-end self-check order: homework → memory save).
|
|
35
37
|
|
|
36
38
|
## Workflow
|
|
37
39
|
|
|
@@ -152,7 +152,7 @@ The `auto-dev.yaml` (and other workflow YAML files) exist in **4 locations**. On
|
|
|
152
152
|
**Key rules:**
|
|
153
153
|
- The runtime source is `.claude/skills/pipeline/workflows/` (skill base dir). Do NOT confuse with repo-root `workflows/`.
|
|
154
154
|
- When modifying any workflow YAML, update **all applicable mirrors** to prevent drift. `verify-template-sync.sh` (#1286) detects drift automatically on CI.
|
|
155
|
-
- Repo-root `workflows/` is a legacy `/omcustom:workflow` remnant —
|
|
155
|
+
- Repo-root `workflows/` is a legacy `/omcustom:workflow` remnant. It contains `eraser.yaml`, **deprecated as of v0.167.0 (#1289)** — retained but unmaintained: its ARCHITECTURE.md-sync function moved to the release workflow + validate-docs, and its diagram generation to the `eraser-diagrams` plugin skill. Not reachable via `/pipeline`. Do not delete without checking for other references.
|
|
156
156
|
|
|
157
157
|
## Error Handling
|
|
158
158
|
|
|
@@ -117,6 +117,8 @@ fi
|
|
|
117
117
|
|
|
118
118
|
**Action**: `[Pre-flight] WARN: Context usage at {pct}%. 10-team research typically adds 30-40% context. Consider /compact before proceeding, or results may be truncated.`
|
|
119
119
|
|
|
120
|
+
> **File-absent branch (#1298)**: `$CONTEXT_FILE`가 존재하지 않으면 입력이 측정 불가하다 — `PASS (context budget unmeasured — file absent)`로 보고하고 WARN을 내지 않는다. 파일을 읽지 않고 WARN 상태를 특성화하지 않는다(R020 Read-Before-Characterize). WARN은 파일이 존재하고 context_pct > 40 일 때만 emit한다.
|
|
121
|
+
|
|
120
122
|
### Display Format
|
|
121
123
|
|
|
122
124
|
```
|
|
@@ -226,6 +228,10 @@ Reference: `feedback_sensitive_path_tmp_bypass.md`, R006 sensitive-path handling
|
|
|
226
228
|
| Ecomode | Auto-activate for team result aggregation (R013) |
|
|
227
229
|
| Intent display | Show research plan before execution (R015) |
|
|
228
230
|
|
|
231
|
+
## External Quantitative-Fact Source Tagging
|
|
232
|
+
|
|
233
|
+
research 팀이 WebFetch로 구체적 정량 주장(benchmark 수치, table 값)을 수집하면, synthesis/report는 출처별로 태깅해야 한다: `WebFetch-derived (unverified)` vs `PDF/primary-verified`. WebFetch는 small fast model + URL당 15분 캐시를 사용하므로, N개 팀이 동일 URL을 fetch하는 것은 독립 교차검증이 아니다(팀 간 합의가 공유 캐시 artifact일 수 있음). primary source에서 검증 불가한 cross-cutting fact는 verifier에게 명시적 ground-truth로 제공해야 한다(R023). 영구 이슈/아티팩트에 정확한 수치를 primary-source 검증 또는 명시적 unverified 태그 없이 사실로 기재하지 않는다.
|
|
234
|
+
|
|
229
235
|
## Retrieval-Reasoning Separation
|
|
230
236
|
|
|
231
237
|
Retrieval and reasoning are distinct cognitive operations that benefit from explicit role separation. Mixing them in a single agent degrades both: retrieval becomes biased by premature conclusions, and reasoning gets polluted by search noise.
|
|
@@ -91,6 +91,8 @@ Before execution, show the plan:
|
|
|
91
91
|
- Approach and principles
|
|
92
92
|
3. If fetch fails — report error, abort
|
|
93
93
|
|
|
94
|
+
> **External quantitative-fact source tagging** (#1298): WebFetch가 산출한 구체적 정량 주장(benchmark 수치, table 값, metric)은 이슈 본문에 `WebFetch-derived (unverified)`로 태깅한다 — 검증된 사실로 제시하지 않는다. WebFetch는 small fast model + 15분 URL 캐시를 사용하므로, 동일 URL을 여러 번 fetch해도 독립 교차검증이 아니다. load-bearing 수치는 primary PDF/원문으로 1회 검증하거나 명시적으로 unverified로 표기한다. (R020 Read-Before-Characterize, R023 Verifier Ground-Truth for cross-cutting facts)
|
|
95
|
+
|
|
94
96
|
### Phase 2: Load Project Philosophy
|
|
95
97
|
|
|
96
98
|
1. `Read(CLAUDE.md)` — extract architecture philosophy:
|
package/templates/manifest.json
CHANGED