oh-my-customcode 0.21.0 → 0.22.1
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 +4 -4
- package/package.json +1 -1
- package/templates/.claude/agents/sys-memory-keeper.md +2 -2
- package/templates/.claude/rules/SHOULD-memory-integration.md +2 -2
- package/templates/.claude/skills/pipeline-guards/SKILL.md +168 -0
- package/templates/.claude/skills/pr-auto-improve/SKILL.md +127 -0
- package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +152 -0
- package/templates/manifest.json +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
|
|
|
21
21
|
|
|
22
22
|
| Feature | Description |
|
|
23
23
|
|---------|-------------|
|
|
24
|
-
| **Batteries Included** | 41 agents,
|
|
24
|
+
| **Batteries Included** | 41 agents, 63 skills, 22 guides, 18 rules, 2 hooks, 4 contexts, ontology graph - ready to use out of the box |
|
|
25
25
|
| **Sub-Agent Model** | Supports hierarchical agent orchestration with specialized roles |
|
|
26
26
|
| **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
|
|
27
27
|
| **Mix and Match** | Use built-in components, create your own, or combine both |
|
|
@@ -124,7 +124,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
124
124
|
| **QA** | 3 | qa-planner, qa-writer, qa-engineer |
|
|
125
125
|
| **Total** | **41** | |
|
|
126
126
|
|
|
127
|
-
### Skills (
|
|
127
|
+
### Skills (63)
|
|
128
128
|
|
|
129
129
|
| Category | Count | Skills |
|
|
130
130
|
|----------|-------|--------|
|
|
@@ -137,7 +137,7 @@ Claude Code selects the appropriate model and parallelizes independent tasks (up
|
|
|
137
137
|
| **Package Management** | 3 | npm-publish, npm-version, npm-audit |
|
|
138
138
|
| **Operations** | 7 | update-docs, update-external, audit-agents, fix-refs, sauron-watch, monitoring-setup, claude-code-bible |
|
|
139
139
|
| **Utilities** | 5 | lists, help, status, result-aggregation, writing-clearly-and-concisely |
|
|
140
|
-
| **Quality & Workflow** |
|
|
140
|
+
| **Quality & Workflow** | 9 | multi-model-verification, structured-dev-cycle, model-escalation, stuck-recovery, dag-orchestration, task-decomposition, worker-reviewer-pipeline, pr-auto-improve, pipeline-guards |
|
|
141
141
|
| **Deploy** | 2 | vercel-deploy, codex-exec |
|
|
142
142
|
| **External** | 1 | skills-sh-search |
|
|
143
143
|
|
|
@@ -225,7 +225,7 @@ your-project/
|
|
|
225
225
|
│ ├── be-fastapi-expert.md
|
|
226
226
|
│ ├── mgr-creator.md
|
|
227
227
|
│ └── ...
|
|
228
|
-
├── skills/ # Skill modules (
|
|
228
|
+
├── skills/ # Skill modules (63 directories, each with SKILL.md)
|
|
229
229
|
│ ├── go-best-practices/
|
|
230
230
|
│ ├── react-best-practices/
|
|
231
231
|
│ ├── secretary-routing/
|
package/package.json
CHANGED
|
@@ -47,8 +47,8 @@ Provider: claude-mem | Collection: claude_memories | Archive: ~/.claude-mem/arch
|
|
|
47
47
|
When triggered by session-end signal from orchestrator:
|
|
48
48
|
|
|
49
49
|
1. **Collect** session summary: completed tasks, key decisions, open items
|
|
50
|
-
2. **Save to claude-mem** (if available): `
|
|
51
|
-
3. **Verify episodic-memory** (if available): `
|
|
50
|
+
2. **Save to claude-mem** (if available): `mcp__plugin_claude-mem_mcp-search__save_memory` with project name, session date, and summary
|
|
51
|
+
3. **Verify episodic-memory** (if available): `mcp__plugin_episodic-memory_episodic-memory__search` to confirm session is indexed
|
|
52
52
|
4. **Report** results to orchestrator: saved/skipped/failed per system
|
|
53
53
|
|
|
54
54
|
### Failure Handling
|
|
@@ -60,8 +60,8 @@ User signals session end
|
|
|
60
60
|
|
|
61
61
|
| System | Tool | Action | Required |
|
|
62
62
|
|--------|------|--------|----------|
|
|
63
|
-
| claude-mem | `
|
|
64
|
-
| episodic-memory | `
|
|
63
|
+
| claude-mem | `mcp__plugin_claude-mem_mcp-search__save_memory` | Save session summary with project, tasks, decisions | No (best-effort) |
|
|
64
|
+
| episodic-memory | `mcp__plugin_episodic-memory_episodic-memory__search` | Verify session is indexed for future retrieval | No (best-effort) |
|
|
65
65
|
|
|
66
66
|
### Failure Policy
|
|
67
67
|
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-guards
|
|
3
|
+
description: Safety constraints and quality gates for pipeline and workflow execution
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pipeline Guards Skill
|
|
7
|
+
|
|
8
|
+
Defines mandatory safety constraints for all pipeline, workflow, and iterative execution within the oh-my-customcode system. Prevents infinite loops, enforces timeouts, and establishes quality gates.
|
|
9
|
+
|
|
10
|
+
**System-wide** — these guards apply to dag-orchestration, worker-reviewer-pipeline, and any iterative process.
|
|
11
|
+
|
|
12
|
+
## Guard Limits
|
|
13
|
+
|
|
14
|
+
| Guard | Default | Hard Cap | Applies To |
|
|
15
|
+
|-------|---------|----------|------------|
|
|
16
|
+
| Max iterations | 3 | 5 | worker-reviewer-pipeline |
|
|
17
|
+
| Max DAG nodes | 20 | 30 | dag-orchestration |
|
|
18
|
+
| Max parallel agents | 4 | 4 | R009 (all pipelines) |
|
|
19
|
+
| Timeout per node | 300s | 600s | dag-orchestration nodes |
|
|
20
|
+
| Timeout per pipeline | 900s | 1800s | worker-reviewer-pipeline |
|
|
21
|
+
| Max retry count | 2 | 3 | Failure retry strategies |
|
|
22
|
+
| Max PR improvement items | 20 | 50 | pr-auto-improve |
|
|
23
|
+
|
|
24
|
+
## Enforcement
|
|
25
|
+
|
|
26
|
+
Guards are enforced at two levels:
|
|
27
|
+
|
|
28
|
+
### Level 1: Skill-Level (Soft)
|
|
29
|
+
Each skill checks guard limits before execution:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Before starting pipeline:
|
|
33
|
+
1. Check max_iterations ≤ hard cap
|
|
34
|
+
2. Check timeout ≤ hard cap
|
|
35
|
+
3. Check node count ≤ hard cap
|
|
36
|
+
If any exceeded → warn user, use hard cap value
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Level 2: Hook-Level (Hard)
|
|
40
|
+
The stuck-detector hook monitors for guard violations:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
PostToolUse → check:
|
|
44
|
+
- Iteration count > max_iterations?
|
|
45
|
+
- Elapsed time > timeout?
|
|
46
|
+
- Same error repeated > max_retry?
|
|
47
|
+
If any → emit advisory to stderr
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Quality Gates
|
|
51
|
+
|
|
52
|
+
### Pipeline Quality Gate
|
|
53
|
+
```
|
|
54
|
+
[Quality Gate Check]
|
|
55
|
+
├── Critical issues: {count} (must be 0)
|
|
56
|
+
├── Major issues: {count} (must be ≤ threshold)
|
|
57
|
+
├── Minor issues: {count} (informational)
|
|
58
|
+
└── Gate: PASS | FAIL
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### DAG Completion Gate
|
|
62
|
+
```
|
|
63
|
+
[DAG Completion Gate]
|
|
64
|
+
├── Nodes completed: {n}/{total}
|
|
65
|
+
├── Nodes failed: {count}
|
|
66
|
+
├── Nodes skipped: {count}
|
|
67
|
+
└── Gate: PASS | PARTIAL | FAIL
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Escalation Integration
|
|
71
|
+
|
|
72
|
+
When guards are triggered, they integrate with existing advisory systems:
|
|
73
|
+
|
|
74
|
+
| Event | Action |
|
|
75
|
+
|-------|--------|
|
|
76
|
+
| Max iterations reached | → stuck-recovery advisory |
|
|
77
|
+
| Repeated failures | → model-escalation advisory |
|
|
78
|
+
| Timeout approaching (80%) | → warn user, suggest early termination |
|
|
79
|
+
| Hard cap hit | → force stop, report to user |
|
|
80
|
+
|
|
81
|
+
## Guard Configuration
|
|
82
|
+
|
|
83
|
+
Pipelines can override defaults (within hard caps):
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
# In pipeline/workflow spec
|
|
87
|
+
guards:
|
|
88
|
+
max_iterations: 4 # Override default 3, cannot exceed 5
|
|
89
|
+
timeout_per_node: 120 # Override default 300s
|
|
90
|
+
timeout_pipeline: 600 # Override default 900s
|
|
91
|
+
quality_gate: all_pass # all_pass | majority_pass
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Kill Switch
|
|
95
|
+
|
|
96
|
+
When a pipeline or workflow must be terminated:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
[Kill Switch] Activated
|
|
100
|
+
├── Reason: {max_iterations | timeout | user_request | stuck_detected}
|
|
101
|
+
├── Pipeline: {name}
|
|
102
|
+
├── Progress: {completed}/{total} steps
|
|
103
|
+
├── Preserved state: /tmp/.claude-pipeline-$PPID.json
|
|
104
|
+
└── Action: Stopped gracefully, state saved for resume
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The kill switch:
|
|
108
|
+
1. Signals all running agents to complete current operation
|
|
109
|
+
2. Does NOT terminate mid-write (waits for current tool call)
|
|
110
|
+
3. Saves pipeline state for potential resume
|
|
111
|
+
4. Reports final status to user
|
|
112
|
+
|
|
113
|
+
## State Preservation
|
|
114
|
+
|
|
115
|
+
On guard-triggered termination:
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"pipeline": "feature-review",
|
|
120
|
+
"terminated_at": "2026-03-07T10:15:00Z",
|
|
121
|
+
"reason": "max_iterations_reached",
|
|
122
|
+
"completed_iterations": 3,
|
|
123
|
+
"last_verdict": "FAIL",
|
|
124
|
+
"remaining_issues": [
|
|
125
|
+
{"severity": "major", "file": "src/auth.ts", "line": 42, "description": "..."}
|
|
126
|
+
],
|
|
127
|
+
"worker_last_output": "...",
|
|
128
|
+
"resumable": true
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Display Format
|
|
133
|
+
|
|
134
|
+
Guard warnings appear inline:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
[Guard] ⚠ Iteration 3/3 — final attempt
|
|
138
|
+
[Guard] ⚠ Timeout 80% (240s/300s) — consider early termination
|
|
139
|
+
[Guard] 🛑 Max iterations reached — pipeline stopped
|
|
140
|
+
[Guard] 🛑 Hard timeout (600s) — force stop
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Integration
|
|
144
|
+
|
|
145
|
+
| Rule/Skill | Integration |
|
|
146
|
+
|------------|-------------|
|
|
147
|
+
| R009 | Max parallel agents enforced (hard cap: 4) |
|
|
148
|
+
| R010 | Guards run in orchestrator only |
|
|
149
|
+
| R015 | Guard warnings displayed transparently |
|
|
150
|
+
| dag-orchestration | Node count and timeout limits |
|
|
151
|
+
| worker-reviewer-pipeline | Iteration and pipeline timeout limits |
|
|
152
|
+
| pr-auto-improve | Improvement item count limits |
|
|
153
|
+
| stuck-recovery | Guard triggers feed into stuck detection |
|
|
154
|
+
| model-escalation | Repeated failures trigger escalation advisory |
|
|
155
|
+
|
|
156
|
+
## Override Policy
|
|
157
|
+
|
|
158
|
+
- Defaults can be overridden in pipeline spec (within hard caps)
|
|
159
|
+
- Hard caps can ONLY be changed by modifying this skill file
|
|
160
|
+
- User cannot bypass hard caps at runtime
|
|
161
|
+
- All overrides are logged and displayed (R015)
|
|
162
|
+
|
|
163
|
+
## Limitations
|
|
164
|
+
|
|
165
|
+
- Guards are advisory at skill level, hard at hook level
|
|
166
|
+
- Cannot prevent infinite loops in agent reasoning (only tool call patterns)
|
|
167
|
+
- State preservation is best-effort (process crash = state loss)
|
|
168
|
+
- Resume from saved state requires user confirmation
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr-auto-improve
|
|
3
|
+
description: Opt-in post-PR analysis and improvement suggestions for code quality enhancement
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# PR Auto-Improvement Skill
|
|
7
|
+
|
|
8
|
+
Analyzes pull requests after creation and suggests targeted improvements. **Strictly opt-in** — never runs automatically. User must explicitly request PR improvement.
|
|
9
|
+
|
|
10
|
+
**Advisory-only** — suggests improvements, never force-pushes or modifies PRs without approval (R010).
|
|
11
|
+
|
|
12
|
+
## Activation
|
|
13
|
+
|
|
14
|
+
| Trigger | Behavior |
|
|
15
|
+
|---------|----------|
|
|
16
|
+
| User says "improve this PR" | Activate analysis |
|
|
17
|
+
| User says "review PR #N" | Activate analysis |
|
|
18
|
+
| PR created automatically | Do NOT activate (opt-in only) |
|
|
19
|
+
| CI fails on PR | Suggest activation, do not auto-run |
|
|
20
|
+
|
|
21
|
+
## Analysis Pipeline
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
1. Fetch PR diff (gh pr diff)
|
|
25
|
+
2. Categorize changes by type:
|
|
26
|
+
- New code → check patterns, naming, structure
|
|
27
|
+
- Modified code → check consistency, regression risk
|
|
28
|
+
- Deleted code → check for orphaned references
|
|
29
|
+
3. Run improvement checks (see checklist below)
|
|
30
|
+
4. Generate improvement report
|
|
31
|
+
5. User approves → create follow-up commit(s)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Improvement Checklist
|
|
35
|
+
|
|
36
|
+
| Category | Checks |
|
|
37
|
+
|----------|--------|
|
|
38
|
+
| **Code Quality** | Naming consistency, dead code, duplication, complexity |
|
|
39
|
+
| **Type Safety** | Missing types, `any` usage, assertion safety |
|
|
40
|
+
| **Error Handling** | Unhandled promises, missing try-catch, error propagation |
|
|
41
|
+
| **Testing** | Missing test coverage for new functions, edge cases |
|
|
42
|
+
| **Documentation** | Missing JSDoc for public APIs, outdated README refs |
|
|
43
|
+
| **Security** | Hardcoded values, injection risks, permission checks |
|
|
44
|
+
| **Performance** | Unnecessary re-renders, N+1 queries, missing indexes |
|
|
45
|
+
|
|
46
|
+
## Report Format
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
[PR Auto-Improve] PR #{number} — {title}
|
|
50
|
+
├── Files analyzed: {count}
|
|
51
|
+
├── Improvements found: {count}
|
|
52
|
+
│
|
|
53
|
+
├── [Code Quality] ({count} items)
|
|
54
|
+
│ ├── {file:line} — {description}
|
|
55
|
+
│ └── {file:line} — {description}
|
|
56
|
+
│
|
|
57
|
+
├── [Testing] ({count} items)
|
|
58
|
+
│ └── {file} — Missing test for {function}
|
|
59
|
+
│
|
|
60
|
+
├── [Documentation] ({count} items)
|
|
61
|
+
│ └── {file:line} — {description}
|
|
62
|
+
│
|
|
63
|
+
└── Estimated effort: {low|medium|high}
|
|
64
|
+
|
|
65
|
+
Apply improvements? [Y/n/select]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Improvement Modes
|
|
69
|
+
|
|
70
|
+
| Mode | Behavior |
|
|
71
|
+
|------|----------|
|
|
72
|
+
| `all` | Apply all suggested improvements |
|
|
73
|
+
| `select` | User picks which improvements to apply |
|
|
74
|
+
| `report` | Report only, no changes (default) |
|
|
75
|
+
|
|
76
|
+
## Implementation Flow
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
User: "improve PR #215"
|
|
80
|
+
→ Orchestrator activates pr-auto-improve
|
|
81
|
+
→ Fetch PR diff via mgr-gitnerd
|
|
82
|
+
→ Analyze with appropriate expert agent(s)
|
|
83
|
+
→ Generate report
|
|
84
|
+
→ User selects improvements
|
|
85
|
+
→ Delegate fixes to specialist agents (R010)
|
|
86
|
+
→ mgr-gitnerd creates follow-up commit
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Agent Selection for Fixes
|
|
90
|
+
|
|
91
|
+
| File Type | Agent |
|
|
92
|
+
|-----------|-------|
|
|
93
|
+
| *.ts, *.tsx | lang-typescript-expert |
|
|
94
|
+
| *.py | lang-python-expert |
|
|
95
|
+
| *.go | lang-golang-expert |
|
|
96
|
+
| *.kt | lang-kotlin-expert |
|
|
97
|
+
| *.java | lang-java21-expert |
|
|
98
|
+
| *.rs | lang-rust-expert |
|
|
99
|
+
| Test files | qa-engineer |
|
|
100
|
+
| Docs, README | arch-documenter |
|
|
101
|
+
| Mixed | Multiple agents in parallel (R009) |
|
|
102
|
+
|
|
103
|
+
## Integration
|
|
104
|
+
|
|
105
|
+
| Rule | Integration |
|
|
106
|
+
|------|-------------|
|
|
107
|
+
| R009 | Multiple file fixes execute in parallel |
|
|
108
|
+
| R010 | Orchestrator coordinates analysis and fix delegation |
|
|
109
|
+
| R015 | Full transparency on what improvements are suggested and why |
|
|
110
|
+
| R018 | 3+ fix agents → Agent Teams for coordination |
|
|
111
|
+
| worker-reviewer-pipeline | Can chain: auto-improve → worker-reviewer for critical fixes |
|
|
112
|
+
| pipeline-guards | Improvement count capped by guard limits |
|
|
113
|
+
|
|
114
|
+
## Opt-In Safeguards
|
|
115
|
+
|
|
116
|
+
- **NEVER** auto-activates on PR creation
|
|
117
|
+
- **NEVER** pushes changes without user approval
|
|
118
|
+
- **NEVER** modifies PR description or labels without approval
|
|
119
|
+
- Report mode is default; changes require explicit "apply" command
|
|
120
|
+
- All git operations go through mgr-gitnerd (R010)
|
|
121
|
+
|
|
122
|
+
## Limitations
|
|
123
|
+
|
|
124
|
+
- Analyzes only the PR diff, not the entire codebase
|
|
125
|
+
- Cannot detect architectural issues (use dev-review for that)
|
|
126
|
+
- Max 50 files per analysis (skip larger PRs with warning)
|
|
127
|
+
- Does not run tests (delegates to qa-engineer if needed)
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: worker-reviewer-pipeline
|
|
3
|
+
description: Worker-Reviewer iterative pipeline for quality-critical code with review cycles
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Worker-Reviewer Pipeline Skill
|
|
7
|
+
|
|
8
|
+
Defines an iterative Worker→Reviewer pipeline where one agent implements changes and another reviews them. The cycle repeats until quality criteria are met or max iterations reached.
|
|
9
|
+
|
|
10
|
+
**Orchestrator-only** — only the main conversation activates this pipeline (R010). Worker and Reviewer are subagents.
|
|
11
|
+
|
|
12
|
+
## When to Activate
|
|
13
|
+
|
|
14
|
+
| Condition | Activate? |
|
|
15
|
+
|-----------|-----------|
|
|
16
|
+
| Quality-critical code changes (auth, security, payments) | Yes |
|
|
17
|
+
| Complex refactoring touching 5+ files | Yes |
|
|
18
|
+
| User explicitly requests review cycle | Yes |
|
|
19
|
+
| Simple file edits, config changes | No |
|
|
20
|
+
| Documentation-only changes | No |
|
|
21
|
+
|
|
22
|
+
## Pipeline Spec Format
|
|
23
|
+
|
|
24
|
+
```yaml
|
|
25
|
+
pipeline:
|
|
26
|
+
name: feature-review
|
|
27
|
+
description: Implement and review a feature
|
|
28
|
+
|
|
29
|
+
worker:
|
|
30
|
+
agent: lang-typescript-expert # or appropriate specialist
|
|
31
|
+
model: sonnet
|
|
32
|
+
prompt: "Implement the feature based on requirements"
|
|
33
|
+
|
|
34
|
+
reviewer:
|
|
35
|
+
agent: lang-typescript-expert # can be same or different specialist
|
|
36
|
+
model: opus # often higher model for review
|
|
37
|
+
prompt: "Review implementation for correctness, security, performance"
|
|
38
|
+
|
|
39
|
+
config:
|
|
40
|
+
max_iterations: 3 # Max review cycles (default: 3)
|
|
41
|
+
quality_gate: all_pass # all_pass | majority_pass | custom
|
|
42
|
+
auto_commit: false # Auto-commit on quality pass (via mgr-gitnerd)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Execution Flow
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
1. Orchestrator activates pipeline
|
|
49
|
+
2. Worker agent implements changes
|
|
50
|
+
3. Reviewer agent reviews Worker's output
|
|
51
|
+
4. Reviewer produces verdict:
|
|
52
|
+
- PASS → Pipeline complete, proceed to next step
|
|
53
|
+
- FAIL(issues) → Worker receives feedback, re-implements
|
|
54
|
+
5. Repeat 3-4 until PASS or max_iterations reached
|
|
55
|
+
6. If max_iterations reached without PASS:
|
|
56
|
+
- Report partial results to user
|
|
57
|
+
- Recommend manual review
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Review Verdict Format
|
|
61
|
+
|
|
62
|
+
Reviewer MUST output a structured verdict:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
[Review Verdict]
|
|
66
|
+
├── Status: PASS | FAIL
|
|
67
|
+
├── Iteration: {n}/{max}
|
|
68
|
+
├── Issues Found: {count}
|
|
69
|
+
│ ├── [Critical] {description} — {file:line}
|
|
70
|
+
│ ├── [Major] {description} — {file:line}
|
|
71
|
+
│ └── [Minor] {description} — {file:line}
|
|
72
|
+
└── Summary: {one-line}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Quality Gates
|
|
76
|
+
|
|
77
|
+
| Gate | Criteria |
|
|
78
|
+
|------|----------|
|
|
79
|
+
| `all_pass` | Zero Critical or Major issues (default) |
|
|
80
|
+
| `majority_pass` | Zero Critical, ≤2 Minor issues allowed |
|
|
81
|
+
| `custom` | User-defined in pipeline spec |
|
|
82
|
+
|
|
83
|
+
## Integration with Agent Teams (R018)
|
|
84
|
+
|
|
85
|
+
When Agent Teams is enabled, the pipeline SHOULD use Agent Teams:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
TeamCreate("review-pipeline")
|
|
89
|
+
Worker (team member) ←→ Reviewer (team member)
|
|
90
|
+
SendMessage for feedback exchange
|
|
91
|
+
Shared TaskList for tracking issues
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
When Agent Teams is NOT available, falls back to sequential Task tool calls:
|
|
95
|
+
```
|
|
96
|
+
Task(worker) → result → Task(reviewer) → verdict → Task(worker) → ...
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Display Format
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
[Pipeline] feature-review — Worker: lang-typescript-expert, Reviewer: lang-typescript-expert
|
|
103
|
+
[Iteration 1/3] Worker implementing...
|
|
104
|
+
[Iteration 1/3] Reviewer reviewing...
|
|
105
|
+
[Review] FAIL — 2 issues (1 Major, 1 Minor)
|
|
106
|
+
[Iteration 2/3] Worker fixing issues...
|
|
107
|
+
[Iteration 2/3] Reviewer re-reviewing...
|
|
108
|
+
[Review] PASS — 0 issues
|
|
109
|
+
[Pipeline Complete] 2 iterations, quality gate passed
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Common Pipeline Templates
|
|
113
|
+
|
|
114
|
+
### Security-Critical Feature
|
|
115
|
+
```yaml
|
|
116
|
+
worker: {agent: lang-typescript-expert, model: sonnet}
|
|
117
|
+
reviewer: {agent: lang-typescript-expert, model: opus}
|
|
118
|
+
config: {max_iterations: 3, quality_gate: all_pass}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Cross-Language Integration
|
|
122
|
+
```yaml
|
|
123
|
+
worker: {agent: lang-golang-expert, model: sonnet}
|
|
124
|
+
reviewer: {agent: be-go-backend-expert, model: opus}
|
|
125
|
+
config: {max_iterations: 2, quality_gate: all_pass}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Quick Review
|
|
129
|
+
```yaml
|
|
130
|
+
worker: {agent: lang-python-expert, model: sonnet}
|
|
131
|
+
reviewer: {agent: lang-python-expert, model: sonnet}
|
|
132
|
+
config: {max_iterations: 1, quality_gate: majority_pass}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Integration
|
|
136
|
+
|
|
137
|
+
| Rule | Integration |
|
|
138
|
+
|------|-------------|
|
|
139
|
+
| R009 | Worker and Reviewer can run in parallel with other pipelines |
|
|
140
|
+
| R010 | Pipeline orchestration runs only in main conversation |
|
|
141
|
+
| R015 | Display pipeline plan and review verdicts transparently |
|
|
142
|
+
| R018 | Agent Teams preferred when available for Worker↔Reviewer messaging |
|
|
143
|
+
| pipeline-guards | Max iterations and timeout enforced by pipeline-guards |
|
|
144
|
+
| model-escalation | Worker failures feed into escalation tracking |
|
|
145
|
+
| stuck-recovery | Repeated FAIL verdicts trigger stuck detection advisory |
|
|
146
|
+
|
|
147
|
+
## Limitations
|
|
148
|
+
|
|
149
|
+
- Max 3 iterations by default (configurable, hard cap at 5 via pipeline-guards)
|
|
150
|
+
- Worker and Reviewer must be different agent instances (same type allowed)
|
|
151
|
+
- Nested pipelines not supported (use dag-orchestration for complex flows)
|
|
152
|
+
- Pipeline does not auto-commit; orchestrator decides post-pipeline actions
|