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 CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **[한국어 문서 (Korean)](./README_ko.md)**
15
15
 
16
- 45 agents. 86 skills. 21 rules. One command.
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 (86)
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 | 12 | structured-dev-cycle, deep-plan, research, evaluator-optimizer, dag-orchestration, worker-reviewer-pipeline, reasoning-sandwich, and more |
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/ # 86 skill modules
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.48.5",
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.48.5",
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "oh-my-customcode",
3
3
  "workspaces": ["packages/*"],
4
- "version": "0.48.5",
4
+ "version": "0.49.0",
5
5
  "description": "Batteries-included agent harness for Claude Code",
6
6
  "type": "module",
7
7
  "bin": {
@@ -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
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.48.5",
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": 86
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