oh-my-customcode 0.69.0 → 0.71.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 +7 -7
- package/dist/cli/index.js +167 -29
- package/dist/index.js +101 -13
- package/package.json +1 -1
- package/templates/.claude/hooks/hooks.json +10 -0
- package/templates/.claude/hooks/scripts/omcustom-auto-update.sh +170 -0
- package/templates/.claude/skills/claude-native/SKILL.md +215 -0
- package/templates/.claude/skills/evaluator-optimizer/SKILL.md +1 -1
- package/templates/.claude/skills/omcustom-feedback/SKILL.md +36 -77
- package/templates/.claude/skills/pipeline/SKILL.md +102 -0
- package/templates/CLAUDE.md +4 -3
- package/templates/manifest.json +2 -2
- package/templates/workflows/auto-dev.yaml +5 -5
- package/templates/.claude/skills/workflow/SKILL.md +0 -68
- package/templates/.claude/skills/workflow-resume/SKILL.md +0 -26
- package/templates/.claude/skills/workflow-runner/SKILL.md +0 -75
package/templates/CLAUDE.md
CHANGED
|
@@ -104,6 +104,7 @@ oh-my-customcode로 구동됩니다.
|
|
|
104
104
|
| `/omcustom:fix-refs` | 깨진 참조 수정 |
|
|
105
105
|
| `/omcustom:harness-eval` | 15 SE task 구조적 벤치마크 평가 |
|
|
106
106
|
| `/omcustom:auto-improve` | 개선 사항 자동 적용 워크플로우 |
|
|
107
|
+
| `/omcustom:claude-native` | Claude Code 릴리즈 모니터링 및 이슈 자동 생성 |
|
|
107
108
|
| `/omcustom:improve-report` | eval-core 기반 개선 현황 리포트 |
|
|
108
109
|
| `/omcustom-takeover` | 기존 에이전트/스킬에서 canonical spec 추출 |
|
|
109
110
|
| `/adversarial-review` | 공격자 관점 보안 코드 리뷰 |
|
|
@@ -130,8 +131,8 @@ oh-my-customcode로 구동됩니다.
|
|
|
130
131
|
| `/deep-verify` | 다중 관점 릴리즈 품질 검증 |
|
|
131
132
|
| `/professor-triage` | 이슈 교차 분석 트리아지 (omc_issue_analyzer 댓글 기반) |
|
|
132
133
|
| `/release-plan` | verify-done 이슈 릴리즈 유닛 계획 생성 |
|
|
133
|
-
| `/
|
|
134
|
-
| `/
|
|
134
|
+
| `/pipeline` | YAML 파이프라인 실행 (예: /pipeline auto-dev) |
|
|
135
|
+
| `/pipeline resume` | 중단된 파이프라인 재개 |
|
|
135
136
|
| `/omcustom:sauron-watch` | 전체 R017 검증 |
|
|
136
137
|
| `/sdd-dev` | Spec-Driven Development 워크플로우 (sdd/ 폴더 기반) |
|
|
137
138
|
| `/structured-dev-cycle` | 6단계 구조적 개발 사이클 (Plan → Verify → Implement → Verify → Compound → Done) |
|
|
@@ -150,7 +151,7 @@ project/
|
|
|
150
151
|
+-- CLAUDE.md # 진입점
|
|
151
152
|
+-- .claude/
|
|
152
153
|
| +-- agents/ # 서브에이전트 정의 (46 파일)
|
|
153
|
-
| +-- skills/ # 스킬 (
|
|
154
|
+
| +-- skills/ # 스킬 (99 디렉토리)
|
|
154
155
|
| +-- rules/ # 전역 규칙 (R000-R021)
|
|
155
156
|
| +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
|
|
156
157
|
| +-- contexts/ # 컨텍스트 파일 (ecomode)
|
package/templates/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.71.0",
|
|
3
3
|
"lastUpdated": "2026-03-24T00:00:00.000Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"name": "skills",
|
|
19
19
|
"path": ".claude/skills",
|
|
20
20
|
"description": "Reusable skill modules (includes slash commands)",
|
|
21
|
-
"files":
|
|
21
|
+
"files": 99
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"name": "guides",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# /omcustom:workflow auto-dev — Full-auto release pipeline
|
|
2
|
-
# Pre-triages
|
|
2
|
+
# Pre-triages open issues → triage verify-done → plan → implement → verify → PR → followup
|
|
3
3
|
|
|
4
4
|
name: auto-dev
|
|
5
5
|
description: "Full-auto release pipeline: pre-triage → triage → plan → implement → verify → PR → followup"
|
|
@@ -9,8 +9,8 @@ error: halt-and-report
|
|
|
9
9
|
steps:
|
|
10
10
|
- name: pre-triage
|
|
11
11
|
skill: professor-triage
|
|
12
|
-
description: Run professor-triage on
|
|
13
|
-
condition: "issues
|
|
12
|
+
description: Run professor-triage on open issues that lack verify-done label
|
|
13
|
+
condition: "open issues without label:verify-done exist"
|
|
14
14
|
|
|
15
15
|
- name: triage
|
|
16
16
|
skill: professor-triage
|
|
@@ -27,7 +27,7 @@ steps:
|
|
|
27
27
|
foreach: release-group
|
|
28
28
|
|
|
29
29
|
- name: implement
|
|
30
|
-
|
|
30
|
+
prompt: "Execute implementation plan with appropriate agents"
|
|
31
31
|
description: Execute implementation plan with appropriate agents
|
|
32
32
|
foreach: planned-issue
|
|
33
33
|
|
|
@@ -36,7 +36,7 @@ steps:
|
|
|
36
36
|
description: Multi-angle release quality verification
|
|
37
37
|
|
|
38
38
|
- name: release
|
|
39
|
-
|
|
39
|
+
prompt: "Create release branch and pull request"
|
|
40
40
|
description: Create release branch and pull request
|
|
41
41
|
|
|
42
42
|
- name: followup
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: omcustom:workflow
|
|
3
|
-
description: Invoke YAML-defined workflows by name — /omcustom:workflow auto-dev runs the full pipeline
|
|
4
|
-
scope: harness
|
|
5
|
-
user-invocable: true
|
|
6
|
-
effort: high
|
|
7
|
-
argument-hint: "<workflow-name> | (no args to list available)"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# /omcustom:workflow — Workflow Invocation
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
/omcustom:workflow auto-dev # Run the auto-dev workflow
|
|
16
|
-
/omcustom:workflow # List available workflows
|
|
17
|
-
/omcustom:workflow:resume # Resume a halted workflow
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Behavior
|
|
21
|
-
|
|
22
|
-
### List Mode (no arguments or --list flag)
|
|
23
|
-
|
|
24
|
-
Execute these steps to display available workflows:
|
|
25
|
-
|
|
26
|
-
1. **Scan built-in workflows**: Use `Glob("workflows/*.yaml")` (NOT templates/) to find all workflow definitions
|
|
27
|
-
2. **Extract metadata**: For each YAML file found, use `Bash` to extract name and description:
|
|
28
|
-
```bash
|
|
29
|
-
for f in workflows/*.yaml; do
|
|
30
|
-
name=$(grep -m1 '^name:' "$f" | sed 's/^name: *//' | tr -d '"')
|
|
31
|
-
desc=$(grep -m1 '^description:' "$f" | sed 's/^description: *//' | tr -d '"')
|
|
32
|
-
echo " $name — $desc"
|
|
33
|
-
done
|
|
34
|
-
```
|
|
35
|
-
3. **Scan template workflows**: Use `Glob("templates/workflows/*.yaml")` for template examples
|
|
36
|
-
4. **Extract template metadata**: Same extraction as step 2 for `templates/workflows/*.yaml`
|
|
37
|
-
5. **Display formatted output**:
|
|
38
|
-
```
|
|
39
|
-
Available workflows:
|
|
40
|
-
{name} — {description}
|
|
41
|
-
{name} — {description}
|
|
42
|
-
|
|
43
|
-
Template workflows (in templates/workflows/):
|
|
44
|
-
{name} — {description}
|
|
45
|
-
```
|
|
46
|
-
6. If no workflows found, display: "No workflows found in workflows/ directory."
|
|
47
|
-
7. If YAML parsing fails for a file, skip it and show: ` {filename} — (parse error, skipped)`
|
|
48
|
-
|
|
49
|
-
### Run Mode (with workflow name)
|
|
50
|
-
|
|
51
|
-
1. Validate workflow exists: `workflows/{name}.yaml`
|
|
52
|
-
2. Load and validate YAML structure
|
|
53
|
-
3. Announce: `[Workflow] Starting {name} — {step_count} steps`
|
|
54
|
-
4. Invoke workflow-runner skill with the loaded definition
|
|
55
|
-
5. Report completion or failure
|
|
56
|
-
|
|
57
|
-
### Resume Mode (/omcustom:workflow:resume)
|
|
58
|
-
|
|
59
|
-
1. Check for state file: `/tmp/.claude-workflow-*-{PPID}.json`
|
|
60
|
-
2. If found: show halted workflow name and failed step
|
|
61
|
-
3. Ask: "Resume from step {N} ({step_name})?"
|
|
62
|
-
4. Re-invoke workflow-runner from the failed step
|
|
63
|
-
|
|
64
|
-
## Error Handling
|
|
65
|
-
|
|
66
|
-
- Workflow not found → list available workflows with suggestion
|
|
67
|
-
- YAML parse error → report with line number
|
|
68
|
-
- Step failure → halt-and-report per workflow error policy
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: omcustom:workflow:resume
|
|
3
|
-
description: Resume a halted workflow from its last failure point
|
|
4
|
-
scope: harness
|
|
5
|
-
user-invocable: true
|
|
6
|
-
effort: medium
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# /omcustom:workflow:resume — Resume Halted Workflow
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
/omcustom:workflow:resume # Find and resume the most recent halted workflow
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Behavior
|
|
18
|
-
|
|
19
|
-
1. Scan `/tmp/.claude-workflow-*-$PPID.json` for state files
|
|
20
|
-
2. If none found: "No halted workflows found."
|
|
21
|
-
3. If found: display workflow name, failed step, error message
|
|
22
|
-
4. Options:
|
|
23
|
-
- **Retry** — Re-execute the failed step
|
|
24
|
-
- **Skip** — Mark failed step as skipped, continue to next
|
|
25
|
-
- **Abort** — Delete state file, cancel workflow
|
|
26
|
-
5. On resume: invoke workflow-runner with state file context
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workflow-runner
|
|
3
|
-
description: Execute YAML-defined workflow pipelines — parse, validate, and run multi-step skill chains
|
|
4
|
-
scope: harness
|
|
5
|
-
user-invocable: false
|
|
6
|
-
effort: high
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Workflow Runner
|
|
10
|
-
|
|
11
|
-
## Purpose
|
|
12
|
-
|
|
13
|
-
Core engine for the workflow system. Parses YAML workflow definitions from `workflows/` directory, validates step structure, and executes each step sequentially by invoking the referenced skills or actions.
|
|
14
|
-
|
|
15
|
-
## Execution Protocol
|
|
16
|
-
|
|
17
|
-
### 1. Load Workflow
|
|
18
|
-
|
|
19
|
-
Read the specified YAML file from `workflows/{name}.yaml`. Validate:
|
|
20
|
-
- Required fields: `name`, `description`, `steps[]`
|
|
21
|
-
- Each step has either `skill:` or `action:` (not both)
|
|
22
|
-
- Referenced skills exist in `.claude/skills/`
|
|
23
|
-
- Skill names must match `^[a-z0-9-]+$` (kebab-case only) — reject path traversal attempts
|
|
24
|
-
- Action values must be one of: `implement`, `create-pr` — reject unknown actions with error
|
|
25
|
-
|
|
26
|
-
### 2. Execute Steps
|
|
27
|
-
|
|
28
|
-
Process steps top-to-bottom:
|
|
29
|
-
|
|
30
|
-
**Skill steps** (`skill: name`):
|
|
31
|
-
- Invoke via Skill tool: `Skill(skill: "{name}")`
|
|
32
|
-
- Capture output for next step's `input` reference
|
|
33
|
-
|
|
34
|
-
**Action steps** (`action: name`):
|
|
35
|
-
- `implement` — Delegate to appropriate agents based on issue domain
|
|
36
|
-
- `create-pr` — Delegate to mgr-gitnerd for branch creation, push, PR
|
|
37
|
-
|
|
38
|
-
**Foreach steps** (`foreach: collection`):
|
|
39
|
-
- Iterate over collection from previous step output
|
|
40
|
-
- Execute the step once per item
|
|
41
|
-
|
|
42
|
-
### 3. Error Handling
|
|
43
|
-
|
|
44
|
-
Based on workflow `error` field:
|
|
45
|
-
- `halt-and-report` — Stop execution, save state, report failure with context
|
|
46
|
-
- State saved to `/tmp/.claude-workflow-{name}-{PPID}.json`
|
|
47
|
-
|
|
48
|
-
### 4. State Tracking
|
|
49
|
-
|
|
50
|
-
Track per-step state:
|
|
51
|
-
```json
|
|
52
|
-
{
|
|
53
|
-
"workflow": "{name}",
|
|
54
|
-
"started": "ISO-8601",
|
|
55
|
-
"status": "running|completed|halted",
|
|
56
|
-
"current_step": 0,
|
|
57
|
-
"steps": [
|
|
58
|
-
{"name": "triage", "status": "completed", "duration_ms": 5000},
|
|
59
|
-
{"name": "plan", "status": "running"}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 5. Completion
|
|
65
|
-
|
|
66
|
-
On all steps completed:
|
|
67
|
-
- Delete state file
|
|
68
|
-
- Report summary with per-step durations
|
|
69
|
-
- Output final results
|
|
70
|
-
|
|
71
|
-
## Notes
|
|
72
|
-
|
|
73
|
-
- This skill is invoked by the workflow bridge skill (workflow/SKILL.md)
|
|
74
|
-
- It does NOT appear in slash commands (user-invocable: false)
|
|
75
|
-
- All file writes delegated to subagents per R010
|