oh-my-customcode 0.48.5 → 0.49.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 +6 -4
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/skills/workflow/SKILL.md +49 -0
- package/templates/.claude/skills/workflow-resume/SKILL.md +26 -0
- package/templates/.claude/skills/workflow-runner/SKILL.md +75 -0
- package/templates/manifest.json +2 -2
- package/templates/workflows/omcustom-dev.yaml +35 -0
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
**[한국어 문서 (Korean)](./README_ko.md)**
|
|
15
15
|
|
|
16
|
-
45 agents.
|
|
16
|
+
45 agents. 89 skills. 21 rules. One command.
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
npm install -g oh-my-customcode && cd your-project && omcustom init
|
|
@@ -138,13 +138,13 @@ Each agent declares its tools, model, memory scope, and limitations in YAML fron
|
|
|
138
138
|
|
|
139
139
|
---
|
|
140
140
|
|
|
141
|
-
### Skills (
|
|
141
|
+
### Skills (89)
|
|
142
142
|
|
|
143
143
|
| Category | Count | Includes |
|
|
144
144
|
|----------|-------|----------|
|
|
145
145
|
| Best Practices | 24 | Go, Python, TypeScript, Kotlin, Rust, React, FastAPI, Spring Boot, Django, Flutter, Docker, AWS, Postgres, Redis, Kafka, dbt, Spark, Snowflake, Airflow, pipeline-architecture-patterns, alembic, and more |
|
|
146
146
|
| Routing | 4 | secretary, dev-lead, de-lead, qa-lead |
|
|
147
|
-
| Workflow |
|
|
147
|
+
| Workflow | 15 | structured-dev-cycle, deep-plan, research, evaluator-optimizer, dag-orchestration, worker-reviewer-pipeline, reasoning-sandwich, workflow, workflow-runner, workflow-resume, and more |
|
|
148
148
|
| Development | 7 | dev-review, dev-refactor, analysis, create-agent, intent-detection, web-design-guidelines, omcustom-takeover |
|
|
149
149
|
| Operations | 9 | update-docs, audit-agents, sauron-watch, monitoring-setup, fix-refs, release-notes, and more |
|
|
150
150
|
| Memory | 3 | memory-save, memory-recall, memory-management |
|
|
@@ -173,6 +173,8 @@ All commands are invoked inside the Claude Code conversation.
|
|
|
173
173
|
| `/sdd-dev` | Spec-Driven Development workflow |
|
|
174
174
|
| `/ambiguity-gate` | Pre-routing ambiguity analysis |
|
|
175
175
|
| `/adversarial-review` | Attacker-mindset security code review |
|
|
176
|
+
| `/workflow` | Execute YAML-defined workflow pipelines |
|
|
177
|
+
| `/workflow:resume` | Resume a halted workflow from last failure point |
|
|
176
178
|
|
|
177
179
|
### Agent Management
|
|
178
180
|
|
|
@@ -272,7 +274,7 @@ your-project/
|
|
|
272
274
|
├── CLAUDE.md # Entry point
|
|
273
275
|
├── .claude/
|
|
274
276
|
│ ├── agents/ # 45 agent definitions
|
|
275
|
-
│ ├── skills/ #
|
|
277
|
+
│ ├── skills/ # 89 skill modules
|
|
276
278
|
│ ├── rules/ # 21 governance rules (R000-R021)
|
|
277
279
|
│ ├── hooks/ # 15 lifecycle hook scripts
|
|
278
280
|
│ ├── schemas/ # Tool input validation schemas
|
package/dist/cli/index.js
CHANGED
|
@@ -9323,7 +9323,7 @@ var init_package = __esm(() => {
|
|
|
9323
9323
|
package_default = {
|
|
9324
9324
|
name: "oh-my-customcode",
|
|
9325
9325
|
workspaces: ["packages/*"],
|
|
9326
|
-
version: "0.
|
|
9326
|
+
version: "0.49.0",
|
|
9327
9327
|
description: "Batteries-included agent harness for Claude Code",
|
|
9328
9328
|
type: "module",
|
|
9329
9329
|
bin: {
|
package/dist/index.js
CHANGED
|
@@ -1642,7 +1642,7 @@ import { join as join6 } from "node:path";
|
|
|
1642
1642
|
var package_default = {
|
|
1643
1643
|
name: "oh-my-customcode",
|
|
1644
1644
|
workspaces: ["packages/*"],
|
|
1645
|
-
version: "0.
|
|
1645
|
+
version: "0.49.0",
|
|
1646
1646
|
description: "Batteries-included agent harness for Claude Code",
|
|
1647
1647
|
type: "module",
|
|
1648
1648
|
bin: {
|
package/package.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow
|
|
3
|
+
description: Invoke YAML-defined workflows by name — /workflow omcustom-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
|
+
# /workflow — Workflow Invocation
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/workflow omcustom-dev # Run the omcustom-dev workflow
|
|
16
|
+
/workflow # List available workflows
|
|
17
|
+
/workflow:resume # Resume a halted workflow
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Behavior
|
|
21
|
+
|
|
22
|
+
### List Mode (no arguments)
|
|
23
|
+
|
|
24
|
+
Scan `workflows/*.yaml` and display:
|
|
25
|
+
```
|
|
26
|
+
Available workflows:
|
|
27
|
+
omcustom-dev — verify-done issues release batch: triage → plan → implement → verify → PR
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Run Mode (with workflow name)
|
|
31
|
+
|
|
32
|
+
1. Validate workflow exists: `workflows/{name}.yaml`
|
|
33
|
+
2. Load and validate YAML structure
|
|
34
|
+
3. Announce: `[Workflow] Starting {name} — {step_count} steps`
|
|
35
|
+
4. Invoke workflow-runner skill with the loaded definition
|
|
36
|
+
5. Report completion or failure
|
|
37
|
+
|
|
38
|
+
### Resume Mode (/workflow:resume)
|
|
39
|
+
|
|
40
|
+
1. Check for state file: `/tmp/.claude-workflow-*-{PPID}.json`
|
|
41
|
+
2. If found: show halted workflow name and failed step
|
|
42
|
+
3. Ask: "Resume from step {N} ({step_name})?"
|
|
43
|
+
4. Re-invoke workflow-runner from the failed step
|
|
44
|
+
|
|
45
|
+
## Error Handling
|
|
46
|
+
|
|
47
|
+
- Workflow not found → list available workflows with suggestion
|
|
48
|
+
- YAML parse error → report with line number
|
|
49
|
+
- Step failure → halt-and-report per workflow error policy
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 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
|
+
# /workflow:resume — Resume Halted Workflow
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/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
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
package/templates/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.49.0",
|
|
3
3
|
"lastUpdated": "2026-03-16T00: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": 89
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"name": "guides",
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# /workflow:omcustom-dev — Full-auto release pipeline
|
|
2
|
+
# Collects verify-done issues → triage → plan → implement → verify → PR
|
|
3
|
+
|
|
4
|
+
name: omcustom-dev
|
|
5
|
+
description: "verify-done issues release batch: triage → plan → implement → verify → PR"
|
|
6
|
+
mode: auto
|
|
7
|
+
error: halt-and-report
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- name: triage
|
|
11
|
+
skill: professor-triage
|
|
12
|
+
description: Cross-analyze verify-done issues with omc_issue_analyzer comments
|
|
13
|
+
|
|
14
|
+
- name: plan
|
|
15
|
+
skill: release-plan
|
|
16
|
+
description: Group triaged issues into release units by priority and size
|
|
17
|
+
input: triage-results
|
|
18
|
+
|
|
19
|
+
- name: deep-plan
|
|
20
|
+
skill: deep-plan
|
|
21
|
+
description: Create detailed implementation plan for each release group
|
|
22
|
+
foreach: release-group
|
|
23
|
+
|
|
24
|
+
- name: implement
|
|
25
|
+
action: implement
|
|
26
|
+
description: Execute implementation plan with appropriate agents
|
|
27
|
+
foreach: planned-issue
|
|
28
|
+
|
|
29
|
+
- name: verify
|
|
30
|
+
skill: deep-verify
|
|
31
|
+
description: Multi-angle release quality verification
|
|
32
|
+
|
|
33
|
+
- name: release
|
|
34
|
+
action: create-pr
|
|
35
|
+
description: Create release branch and pull request
|