oh-my-customcode 0.126.1 → 0.128.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/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **[한국어 문서 (Korean)](./README_ko.md)**
15
15
 
16
- 49 agents. 116 skills. 22 rules. One command.
16
+ 49 agents. 117 skills. 22 rules. One command.
17
17
 
18
18
  ```bash
19
19
  npm install -g oh-my-customcode && cd your-project && omcustom init
@@ -132,7 +132,7 @@ Each agent declares its tools, model, memory scope, and limitations in YAML fron
132
132
 
133
133
  ---
134
134
 
135
- ### Skills (116)
135
+ ### Skills (117)
136
136
 
137
137
  | Category | Count | Includes |
138
138
  |----------|-------|----------|
@@ -272,7 +272,7 @@ your-project/
272
272
  ├── CLAUDE.md # Entry point
273
273
  ├── .claude/
274
274
  │ ├── agents/ # 49 agent definitions
275
- │ ├── skills/ # 116 skill modules
275
+ │ ├── skills/ # 117 skill modules
276
276
  │ ├── rules/ # 22 governance rules (R000-R021)
277
277
  │ ├── hooks/ # 15 lifecycle hook scripts
278
278
  │ ├── schemas/ # Tool input validation schemas
package/dist/cli/index.js CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.126.1",
2337
+ version: "0.128.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.126.1",
2017
+ version: "0.128.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.126.1",
6
+ "version": "0.128.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -0,0 +1,82 @@
1
+ ---
2
+ name: goal
3
+ description: Disciplined goal-to-execution workflow for any user task. Parses objective, asks only for materially missing requirements via ambiguity-gate, inspects repo via idea, plans via sdd-dev or deep-plan, executes safely under project conventions, verifies completion per R020, and reports changed files with evidence. Use when user invokes /goal <task>.
4
+ version: 1.0.0
5
+ scope: core
6
+ ---
7
+
8
+ # /goal — Disciplined Goal-to-Execution Workflow
9
+
10
+ Apply project discipline (planning, verification, cleanup, review) to any user-provided task. Acts as a thin orchestrator that routes to existing oh-my-customcode skills rather than duplicating logic.
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /goal <task description>
16
+ ```
17
+
18
+ Example: `/goal Add a /weekly-summary command that aggregates last 7 days of git activity`
19
+
20
+ ## Workflow
21
+
22
+ 1. **Parse objective**: Treat `<task>` as the concrete goal. Do NOT expand scope beyond what was asked.
23
+ 2. **Gap detection**: Invoke `ambiguity-gate` skill. Ask only for materially missing or risky requirements — no over-clarification on details that can be inferred.
24
+ 3. **Repo inspection**: Invoke `idea` skill (NL-intent codebase analysis) to identify relevant files, dependencies, and existing assets.
25
+ 4. **Plan generation** (scope-dependent):
26
+ - Trivial scope (single file, <30 LOC, no API design): proceed with brief inline plan.
27
+ - Non-trivial scope: invoke `sdd-dev` or `deep-plan` for research-validated planning.
28
+ 5. **Safe execution**: Follow R001 (safety), R009 (parallel), R010 (delegation). Delegate ALL file modifications to specialist agents.
29
+ 6. **Completion verification**: Apply R020 — verify ACTUAL outcome before declaring `[Done]`. Run task-type-specific checks (lint, build, test).
30
+ 7. **Report**: Output changed files, verification evidence, and remaining risks.
31
+
32
+ ## Output Format
33
+
34
+ ```
35
+ [Goal] {original task verbatim}
36
+ [Plan] {brief plan or reference to deep-plan/sdd-dev output}
37
+ [Changes] {file list with paths}
38
+ [Verified] {evidence — exit codes, test counts, build output}
39
+ [Risks] {remaining concerns or "none"}
40
+ ```
41
+
42
+ ## When to Use
43
+
44
+ - Generic multi-step task without obvious specialist routing
45
+ - User wants a single, memorable entry point for "do this task with full discipline"
46
+ - Work that benefits from planning + verification + structured reporting
47
+
48
+ ## When NOT to Use
49
+
50
+ | Scenario | Use Instead |
51
+ |----------|-------------|
52
+ | Pure research/analysis | `research`, `idea`, `memory-recall` |
53
+ | Specialist domain task | Routing skills (`dev-lead-routing`, `de-lead-routing`, `qa-lead-routing`) |
54
+ | Trivial single-file edit | Delegate directly to specialist agent |
55
+ | Bug debugging | `superpowers:systematic-debugging` |
56
+
57
+ ## Integration with Existing Skills
58
+
59
+ | Stage | Skill | Role |
60
+ |-------|-------|------|
61
+ | Gap detection | `ambiguity-gate` | Score request clarity, ask only critical gaps |
62
+ | Repo inspection | `idea` | NL-intent codebase analysis |
63
+ | Planning (research-validated) | `deep-plan` | research → plan → verify cycle |
64
+ | Planning (SDD discipline) | `sdd-dev` | Stage gates with planning-first workflow |
65
+ | Verification | `superpowers:verification-before-completion` | Evidence before assertions |
66
+ | Reporting | `result-aggregation` | Concise output composition |
67
+
68
+ ## Design Notes
69
+
70
+ This skill is intentionally a **thin wrapper / orchestrator**. It does NOT duplicate planning, gap-detection, or verification logic. Its value:
71
+
72
+ - Single memorable command for the disciplined workflow
73
+ - Stable entry point that routes to whichever underlying skills are best at the moment
74
+ - Documented contract that callers can rely on regardless of internal skill evolution
75
+
76
+ If a future skill replaces `idea` or `sdd-dev`, only the integration table updates — `/goal` remains stable.
77
+
78
+ ## Cross-References
79
+
80
+ - Issue: #1109 — Port /goal workflow to Claude Code skill surface
81
+ - Rules: R001 (safety), R003 (response style), R010 (delegation), R020 (completion verification)
82
+ - Original Codex /goal workflow this ports from: discipline-first goal execution
@@ -99,13 +99,51 @@ The generated notes can be:
99
99
  2. **File**: Written to `release_notes.md` for review before use
100
100
  3. **Update**: Used with `gh release edit v{VERSION} --notes "{notes}"`
101
101
 
102
+ ### Phase 5: Promote `## [Unreleased]` in CHANGELOG.md (Optional but Recommended)
103
+
104
+ After generating release notes, promote any pending `## [Unreleased]` entries to a versioned section so `release.yml` (awk extract at line ~217) finds the authored notes instead of falling back to GitHub auto-generated content.
105
+
106
+ ```bash
107
+ # Promote [Unreleased] to [VERSION] with today's date
108
+ DATE=$(date -u +%Y-%m-%d)
109
+ python3 - "$VERSION" "$DATE" <<'PY'
110
+ import sys, re, pathlib
111
+ version, date = sys.argv[1], sys.argv[2]
112
+ path = pathlib.Path("CHANGELOG.md")
113
+ text = path.read_text()
114
+ header = f"## [{version}] - {date}"
115
+ if re.search(rf"^## \[{re.escape(version)}\]", text, flags=re.M):
116
+ print(f"[skip] [{version}] section already exists — manual reconciliation needed")
117
+ sys.exit(0)
118
+ new = re.sub(
119
+ r"^## \[Unreleased\]\s*\n",
120
+ f"## [Unreleased]\n\n{header}\n",
121
+ text,
122
+ count=1,
123
+ flags=re.M,
124
+ )
125
+ if new == text:
126
+ print("[error] [Unreleased] section not found — CHANGELOG.md format unexpected")
127
+ sys.exit(1)
128
+ path.write_text(new)
129
+ print(f"[ok] promoted [Unreleased] -> [{version}]")
130
+ PY
131
+ ```
132
+
133
+ Behavior:
134
+ - If `## [Unreleased]` content is empty, the promoted `## [VERSION]` will also be empty — `release.yml` falls back to auto-generated notes (existing behavior preserved).
135
+ - If `## [VERSION]` already exists (re-run, manual edit), the script skips with a log message — no overwrite.
136
+ - The skill caller commits the change: `git add CHANGELOG.md && git commit -m "chore(changelog): promote [Unreleased] to [VERSION]"`
137
+
138
+ This is **optional** — the skill's release-notes generation (Phases 1-4) works independently. Phase 5 only ensures CHANGELOG consistency for projects that maintain Keep a Changelog format.
139
+
102
140
  ## Integration
103
141
 
104
142
  This skill is designed to be used during the release process:
105
143
 
106
144
  ```
107
145
  /omcustom:npm-version patch|minor|major -> version bump
108
- /omcustom-release-notes {version} -> generate notes
146
+ /omcustom-release-notes {version} -> generate notes + promote [Unreleased] (Phase 5)
109
147
  mgr-gitnerd: gh release create -> create release with notes
110
148
  ```
111
149
 
@@ -115,6 +153,8 @@ mgr-gitnerd: gh release create -> create release with notes
115
153
  - Uses git history and gh CLI for data gathering
116
154
  - Claude Code analyzes and generates notes in-context
117
155
  - Resource count changes auto-detected from CLAUDE.md history
156
+ - Phase 5 promotion is idempotent — safe to re-run; skips if `## [VERSION]` exists
157
+ - See `CONTRIBUTING.md` for [Unreleased] entry guidance during PR authoring
118
158
 
119
159
  ## Permission Mode
120
160
 
@@ -116,7 +116,7 @@ project/
116
116
  +-- CLAUDE.md # 진입점
117
117
  +-- .claude/
118
118
  | +-- agents/ # 서브에이전트 정의 (49 파일)
119
- | +-- skills/ # 스킬 (116 디렉토리)
119
+ | +-- skills/ # 스킬 (117 디렉토리)
120
120
  | +-- rules/ # 전역 규칙 (R000-R022)
121
121
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
122
122
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.126.1",
2
+ "version": "0.128.0",
3
3
  "lastUpdated": "2026-04-24T07:30:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",
@@ -20,7 +20,7 @@
20
20
  "name": "skills",
21
21
  "path": ".claude/skills",
22
22
  "description": "Reusable skill modules (includes slash commands)",
23
- "files": 116
23
+ "files": 117
24
24
  },
25
25
  {
26
26
  "name": "guides",