oh-my-githubcopilot 1.4.1 → 1.8.0-alpha.f50f59a
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/.claude-plugin/plugin.json +36 -6
- package/.mcp.json +17 -0
- package/AGENTS.md +78 -9
- package/CHANGELOG.md +199 -1
- package/README.de.md +112 -26
- package/README.es.md +115 -29
- package/README.fr.md +114 -28
- package/README.it.md +114 -28
- package/README.ja.md +112 -26
- package/README.ko.md +112 -26
- package/README.md +96 -95
- package/README.pt.md +116 -30
- package/README.ru.md +116 -30
- package/README.tr.md +115 -29
- package/README.vi.md +116 -30
- package/README.zh.md +112 -26
- package/agents/analyst.agent.md +27 -0
- package/agents/architect.agent.md +24 -0
- package/agents/code-reviewer.agent.md +24 -0
- package/agents/critic.agent.md +24 -0
- package/agents/debugger.agent.md +24 -0
- package/agents/designer.agent.md +24 -0
- package/agents/document-specialist.agent.md +24 -0
- package/agents/executor.agent.md +27 -0
- package/agents/explorer.agent.md +23 -0
- package/agents/git-master.agent.md +24 -0
- package/agents/orchestrator.agent.md +26 -0
- package/agents/planner.agent.md +24 -0
- package/agents/qa-tester.agent.md +24 -0
- package/agents/researcher.agent.md +18 -0
- package/agents/reviewer.agent.md +23 -0
- package/agents/scientist.agent.md +20 -0
- package/agents/security-reviewer.agent.md +20 -0
- package/agents/simplifier.agent.md +20 -0
- package/agents/test-engineer.agent.md +20 -0
- package/agents/tester.agent.md +20 -0
- package/agents/tracer.agent.md +24 -0
- package/agents/verifier.agent.md +19 -0
- package/agents/writer.agent.md +24 -0
- package/bin/omp-statusline.mjs +179 -0
- package/bin/omp-statusline.mjs.map +7 -0
- package/bin/omp-statusline.sh +21 -0
- package/bin/omp.mjs +709 -16
- package/bin/omp.mjs.map +4 -4
- package/dist/hooks/hud-emitter.mjs +268 -82
- package/dist/hooks/hud-emitter.mjs.map +4 -4
- package/dist/hooks/keyword-detector.mjs +100 -23
- package/dist/hooks/keyword-detector.mjs.map +2 -2
- package/dist/hooks/model-router.mjs +1 -1
- package/dist/hooks/model-router.mjs.map +1 -1
- package/dist/hooks/stop-continuation.mjs +1 -1
- package/dist/hooks/stop-continuation.mjs.map +1 -1
- package/dist/hooks/token-tracker.mjs +2 -1
- package/dist/hooks/token-tracker.mjs.map +2 -2
- package/dist/mcp/server.mjs +85 -53
- package/dist/mcp/server.mjs.map +4 -4
- package/dist/skills/setup.mjs +39 -27
- package/dist/skills/setup.mjs.map +4 -4
- package/hooks/hooks.json +39 -45
- package/package.json +9 -4
- package/plugin.json +71 -0
- package/skills/ai-slop-cleaner/SKILL.md +137 -0
- package/skills/autopilot/SKILL.md +6 -0
- package/skills/configure-notifications/SKILL.md +6 -0
- package/skills/deep-interview/SKILL.md +6 -0
- package/skills/doctor/SKILL.md +188 -0
- package/skills/ecomode/SKILL.md +6 -0
- package/skills/graph-context/SKILL.md +119 -0
- package/skills/graph-provider/SKILL.md +6 -0
- package/skills/graphify/SKILL.md +6 -0
- package/skills/graphwiki/SKILL.md +6 -0
- package/skills/hud/SKILL.md +6 -0
- package/skills/improve-codebase-architecture/SKILL.md +214 -0
- package/skills/interactive-menu/SKILL.md +102 -0
- package/skills/interview/SKILL.md +203 -0
- package/skills/learner/SKILL.md +6 -0
- package/skills/mcp-setup/SKILL.md +6 -0
- package/skills/note/SKILL.md +6 -0
- package/skills/notifications/SKILL.md +190 -0
- package/skills/omp-doctor/SKILL.md +146 -0
- package/skills/omp-plan/SKILL.md +219 -2
- package/skills/omp-reference/SKILL.md +174 -0
- package/skills/omp-setup/SKILL.md +15 -1
- package/skills/pipeline/SKILL.md +6 -0
- package/skills/psm/SKILL.md +6 -0
- package/skills/ralph/SKILL.md +6 -0
- package/skills/ralplan/SKILL.md +148 -0
- package/skills/release/SKILL.md +6 -0
- package/skills/research/SKILL.md +149 -0
- package/skills/session/SKILL.md +220 -0
- package/skills/setup/SKILL.md +6 -0
- package/skills/skillify/SKILL.md +66 -0
- package/skills/spending/SKILL.md +6 -0
- package/skills/swarm/SKILL.md +6 -0
- package/skills/swe-bench/SKILL.md +6 -0
- package/skills/tdd/SKILL.md +246 -0
- package/skills/team/SKILL.md +6 -0
- package/skills/trace/SKILL.md +6 -0
- package/skills/ultrawork/SKILL.md +6 -0
- package/skills/wiki/SKILL.md +6 -0
- package/src/agents/analyst.md +0 -103
- package/src/agents/architect.md +0 -169
- package/src/agents/code-reviewer.md +0 -135
- package/src/agents/critic.md +0 -196
- package/src/agents/debugger.md +0 -132
- package/src/agents/designer.md +0 -103
- package/src/agents/document-specialist.md +0 -111
- package/src/agents/executor.md +0 -120
- package/src/agents/explorer.md +0 -98
- package/src/agents/git-master.md +0 -92
- package/src/agents/orchestrator.md +0 -125
- package/src/agents/planner.md +0 -106
- package/src/agents/qa-tester.md +0 -129
- package/src/agents/researcher.md +0 -102
- package/src/agents/reviewer.md +0 -100
- package/src/agents/scientist.md +0 -150
- package/src/agents/security-reviewer.md +0 -132
- package/src/agents/simplifier.md +0 -109
- package/src/agents/test-engineer.md +0 -124
- package/src/agents/tester.md +0 -102
- package/src/agents/tracer.md +0 -160
- package/src/agents/verifier.md +0 -100
- package/src/agents/writer.md +0 -96
package/skills/learner/SKILL.md
CHANGED
package/skills/note/SKILL.md
CHANGED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: notifications
|
|
3
|
+
description: Send and manage runtime notifications across Telegram, Discord, Slack, and Email channels
|
|
4
|
+
trigger: "notifications:, /notifications, /omp:notifications"
|
|
5
|
+
autoinvoke: false
|
|
6
|
+
---
|
|
7
|
+
# Skill: Notifications
|
|
8
|
+
|
|
9
|
+
## Metadata
|
|
10
|
+
|
|
11
|
+
| Field | Value |
|
|
12
|
+
|-------|-------|
|
|
13
|
+
| **ID** | `notifications` |
|
|
14
|
+
| **Keywords** | `notifications:`, `/notifications` |
|
|
15
|
+
| **Tier** | Developer Tool |
|
|
16
|
+
| **Source** | `src/skills/notifications.mts` |
|
|
17
|
+
|
|
18
|
+
## Description
|
|
19
|
+
|
|
20
|
+
Send and manage notification delivery across multiple channels (Telegram, Discord, Slack, Email). Handles immediate alerts, digests, and escalation patterns at runtime.
|
|
21
|
+
|
|
22
|
+
## Differentiation from configure-notifications
|
|
23
|
+
|
|
24
|
+
| Aspect | notifications | configure-notifications |
|
|
25
|
+
|--------|---------------|-------------------------|
|
|
26
|
+
| **Purpose** | Runtime notification delivery, channel management, testing, escalation | One-time setup of notification credentials and integrations |
|
|
27
|
+
| **Scope** | Send alerts, manage preferences, configure digest schedules, escalate | Configure webhook URLs and tokens |
|
|
28
|
+
| **Use when** | You need to act on notifications or manage delivery rules | You are setting up a new integration for the first time |
|
|
29
|
+
|
|
30
|
+
## Interface
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
interface SkillInput {
|
|
34
|
+
trigger: string;
|
|
35
|
+
args: string[];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
interface SkillOutput {
|
|
39
|
+
status: "ok" | "error";
|
|
40
|
+
message: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export async function activate(input: SkillInput): Promise<SkillOutput>
|
|
44
|
+
export function deactivate(): void
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Implementation
|
|
48
|
+
|
|
49
|
+
Spawns `bin/omp.mjs notifications [args]`. No persistent resources are maintained.
|
|
50
|
+
|
|
51
|
+
## When to Use
|
|
52
|
+
|
|
53
|
+
- Setting up alerts
|
|
54
|
+
- Configuring notification channels
|
|
55
|
+
- Managing notification preferences
|
|
56
|
+
- Troubleshooting missing alerts
|
|
57
|
+
|
|
58
|
+
## Notification Channels
|
|
59
|
+
|
|
60
|
+
### Telegram
|
|
61
|
+
- Fast delivery
|
|
62
|
+
- Supports markdown
|
|
63
|
+
- Group chats
|
|
64
|
+
- Bot integration
|
|
65
|
+
|
|
66
|
+
### Discord
|
|
67
|
+
- Webhook-based
|
|
68
|
+
- Rich embeds
|
|
69
|
+
- Channels and roles
|
|
70
|
+
- High volume
|
|
71
|
+
|
|
72
|
+
### Slack
|
|
73
|
+
- Channel-based
|
|
74
|
+
- App integration
|
|
75
|
+
- Threaded
|
|
76
|
+
- Enterprise friendly
|
|
77
|
+
|
|
78
|
+
### Email
|
|
79
|
+
- Universal
|
|
80
|
+
- SMTP based
|
|
81
|
+
- Digest options
|
|
82
|
+
- Fallback option
|
|
83
|
+
|
|
84
|
+
## Configuration
|
|
85
|
+
|
|
86
|
+
### Telegram Setup
|
|
87
|
+
```yaml
|
|
88
|
+
telegram:
|
|
89
|
+
bot_token: {token}
|
|
90
|
+
chat_id: {chat_id}
|
|
91
|
+
parse_mode: markdown
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Discord Setup
|
|
95
|
+
```yaml
|
|
96
|
+
discord:
|
|
97
|
+
webhook_url: {url}
|
|
98
|
+
username: {bot_name}
|
|
99
|
+
embed_color: {hex}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Slack Setup
|
|
103
|
+
```yaml
|
|
104
|
+
slack:
|
|
105
|
+
webhook_url: {url}
|
|
106
|
+
channel: {channel}
|
|
107
|
+
username: {bot_name}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Notification Types
|
|
111
|
+
|
|
112
|
+
### Immediate
|
|
113
|
+
- Errors and failures
|
|
114
|
+
- Critical alerts
|
|
115
|
+
- Completion notifications
|
|
116
|
+
- Mentions and replies
|
|
117
|
+
|
|
118
|
+
### Digest
|
|
119
|
+
- Summary of activity
|
|
120
|
+
- Batch reports
|
|
121
|
+
- Periodic updates
|
|
122
|
+
- Non-urgent changes
|
|
123
|
+
|
|
124
|
+
### Escalation
|
|
125
|
+
- Alert escalation
|
|
126
|
+
- No response follow-up
|
|
127
|
+
- Priority boosts
|
|
128
|
+
- Emergency alerts
|
|
129
|
+
|
|
130
|
+
## Commands
|
|
131
|
+
|
|
132
|
+
### Configure Channel
|
|
133
|
+
```
|
|
134
|
+
/omp:notifications configure {channel}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Test Notification
|
|
138
|
+
```
|
|
139
|
+
/omp:notifications test {channel}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### List Channels
|
|
143
|
+
```
|
|
144
|
+
/omp:notifications list
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Set Preferences
|
|
148
|
+
```
|
|
149
|
+
/omp:notifications set {type} {channel}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Output Format
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
## Notifications: {project}
|
|
156
|
+
|
|
157
|
+
### Configured Channels
|
|
158
|
+
| Channel | Status | Last Test |
|
|
159
|
+
|---------|--------|-----------|
|
|
160
|
+
| Telegram | OK | {date} |
|
|
161
|
+
| Discord | OK | {date} |
|
|
162
|
+
|
|
163
|
+
### Notification Preferences
|
|
164
|
+
|
|
165
|
+
#### Immediate
|
|
166
|
+
| Event | Channel | Enabled |
|
|
167
|
+
|-------|---------|---------|
|
|
168
|
+
| Error | Telegram | yes |
|
|
169
|
+
| Complete | Discord | yes |
|
|
170
|
+
|
|
171
|
+
#### Digest
|
|
172
|
+
| Schedule | Channel | Enabled |
|
|
173
|
+
|---------|---------|---------|
|
|
174
|
+
| Daily | Email | yes |
|
|
175
|
+
|
|
176
|
+
### Recent Notifications
|
|
177
|
+
- **{time}** — {event} -> {channel}
|
|
178
|
+
|
|
179
|
+
### Configuration Files
|
|
180
|
+
- `.omp/notifications/config.yaml`
|
|
181
|
+
- `.omp/notifications/templates/`
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Constraints
|
|
185
|
+
|
|
186
|
+
- Test after configuration
|
|
187
|
+
- Don't over-notify
|
|
188
|
+
- Respect quiet hours
|
|
189
|
+
- Secure sensitive tokens
|
|
190
|
+
- Provide unsubscribe
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omp-doctor
|
|
3
|
+
description: Diagnose and fix oh-my-githubcopilot installation issues
|
|
4
|
+
trigger: /omp:omp-doctor
|
|
5
|
+
level: 3
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# OMP Doctor Skill
|
|
9
|
+
|
|
10
|
+
## Task: Run Installation Diagnostics
|
|
11
|
+
|
|
12
|
+
You are the OMP Doctor — diagnose and fix installation issues for the oh-my-githubcopilot plugin.
|
|
13
|
+
|
|
14
|
+
### Step 1: Check Plugin Version
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Check installed plugin version
|
|
18
|
+
node -e "const p=require('path'),f=require('fs'),h=require('os').homedir(),b=p.join(h,'.config','github-copilot','plugins','oh-my-githubcopilot');try{const v=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));console.log('Installed:',v.length?v[v.length-1]:'(none)')}catch{console.log('Installed: (none)')}"
|
|
19
|
+
npm view oh-my-githubcopilot version 2>/dev/null || echo "Latest: (unavailable)"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Diagnosis**:
|
|
23
|
+
- If no version installed: CRITICAL - plugin not installed
|
|
24
|
+
- If INSTALLED != LATEST: WARN - outdated plugin
|
|
25
|
+
- If multiple versions exist: WARN - stale cache
|
|
26
|
+
|
|
27
|
+
### Step 2: Check plugin.json
|
|
28
|
+
|
|
29
|
+
Read `~/.config/github-copilot/plugin.json` and verify:
|
|
30
|
+
- `oh-my-githubcopilot` is listed as an active plugin
|
|
31
|
+
- The version entry matches the installed version
|
|
32
|
+
|
|
33
|
+
**Diagnosis**:
|
|
34
|
+
- If plugin.json missing: CRITICAL - plugin not registered
|
|
35
|
+
- If `oh-my-githubcopilot` not listed: CRITICAL - plugin not activated
|
|
36
|
+
- If version mismatch: WARN - version drift
|
|
37
|
+
|
|
38
|
+
### Step 3: Check Skills Directory
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
ls -la ~/.config/github-copilot/plugins/oh-my-githubcopilot/skills/ 2>/dev/null
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Diagnosis**:
|
|
45
|
+
- If skills/ missing or empty: CRITICAL - skills not installed
|
|
46
|
+
- If known skills are missing entries: WARN - incomplete skill set
|
|
47
|
+
|
|
48
|
+
**Known skill names** (check skills/ for these):
|
|
49
|
+
`autopilot`, `configure-notifications`, `deep-interview`, `ecomode`, `graphify`, `graphwiki`, `hud`, `learner`, `mcp-setup`, `note`, `omp-doctor`, `omp-plan`, `omp-reference`, `omp-setup`, `pipeline`, `ralph`, `release`, `research`, `setup`, `spending`, `swarm`, `team`, `trace`, `ultrawork`, `wiki`
|
|
50
|
+
|
|
51
|
+
### Step 4: Check Agents Directory
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
ls -la ~/.config/github-copilot/plugins/oh-my-githubcopilot/agents/ 2>/dev/null
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Diagnosis**:
|
|
58
|
+
- If agents/ missing: CRITICAL - agents not installed
|
|
59
|
+
- If known agents are missing: WARN - incomplete agent set
|
|
60
|
+
|
|
61
|
+
**Known agent names** (check agents/ for these):
|
|
62
|
+
`orchestrator`, `explorer`, `planner`, `executor`, `verifier`, `writer`, `reviewer`, `designer`, `researcher`, `tester`, `debugger`, `architect`, `security-reviewer`, `simplifier`, `test-engineer`, `critic`, `tracer`, `scientist`, `code-reviewer`, `document-specialist`, `qa-tester`, `git-master`, `analyst`
|
|
63
|
+
|
|
64
|
+
### Step 5: Check AGENTS.md
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
ls -la ~/.config/github-copilot/plugins/oh-my-githubcopilot/AGENTS.md 2>/dev/null
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Diagnosis**:
|
|
71
|
+
- If AGENTS.md missing: WARN - orchestration brain not found
|
|
72
|
+
|
|
73
|
+
### Step 6: Check for Stale Plugin Cache
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
node -e "const p=require('path'),f=require('fs'),h=require('os').homedir(),b=p.join(h,'.config','github-copilot','plugins','oh-my-githubcopilot');try{const v=f.readdirSync(b).filter(x=>/^\d/.test(x));console.log(v.length+' version(s):',v.join(', '))}catch{console.log('0 versions')}"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Diagnosis**:
|
|
80
|
+
- If > 1 version: WARN - multiple cached versions (cleanup recommended)
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Report Format
|
|
85
|
+
|
|
86
|
+
After running all checks, output a report:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
## OMP Doctor Report
|
|
90
|
+
|
|
91
|
+
### Summary
|
|
92
|
+
[HEALTHY / ISSUES FOUND]
|
|
93
|
+
|
|
94
|
+
### Checks
|
|
95
|
+
|
|
96
|
+
| Check | Status | Details |
|
|
97
|
+
|-------|--------|---------|
|
|
98
|
+
| Plugin Version | OK/WARN/CRITICAL | ... |
|
|
99
|
+
| plugin.json Registration | OK/CRITICAL | ... |
|
|
100
|
+
| Skills Directory | OK/WARN/CRITICAL | ... |
|
|
101
|
+
| Agents Directory | OK/WARN/CRITICAL | ... |
|
|
102
|
+
| AGENTS.md | OK/WARN | ... |
|
|
103
|
+
| Plugin Cache | OK/WARN | ... |
|
|
104
|
+
|
|
105
|
+
### Issues Found
|
|
106
|
+
1. [Issue description]
|
|
107
|
+
2. [Issue description]
|
|
108
|
+
|
|
109
|
+
### Recommended Fixes
|
|
110
|
+
[List fixes based on issues]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Auto-Fix (if user confirms)
|
|
116
|
+
|
|
117
|
+
If issues found, ask user: "Would you like me to fix these issues automatically?"
|
|
118
|
+
|
|
119
|
+
If yes, apply fixes:
|
|
120
|
+
|
|
121
|
+
### Fix: Outdated Plugin
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
npm install -g oh-my-githubcopilot@latest
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Fix: Stale Cache (multiple versions)
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
node -e "const p=require('path'),f=require('fs'),h=require('os').homedir(),b=p.join(h,'.config','github-copilot','plugins','oh-my-githubcopilot');try{const v=f.readdirSync(b).filter(x=>/^\d/.test(x)).sort((a,c)=>a.localeCompare(c,void 0,{numeric:true}));v.slice(0,-1).forEach(x=>f.rmSync(p.join(b,x),{recursive:true,force:true}));console.log('Removed',v.length-1,'old version(s)')}catch(e){console.log('No cache to clean')}"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Fix: Missing/Corrupt Installation
|
|
134
|
+
|
|
135
|
+
Re-run the setup skill:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
/omp:omp-setup
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Post-Fix
|
|
144
|
+
|
|
145
|
+
After applying fixes, inform user:
|
|
146
|
+
> Fixes applied. **Restart GitHub Copilot CLI** for changes to take effect.
|
package/skills/omp-plan/SKILL.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: omp-plan
|
|
3
|
+
description: OMP-aware strategic planning with interview, direct, consensus, and review modes
|
|
4
|
+
trigger: "plan:, /plan, /omp:plan, /omp-plan, --consensus"
|
|
5
|
+
autoinvoke: false
|
|
6
|
+
---
|
|
7
|
+
|
|
1
8
|
# Skill: OMP-Plan
|
|
2
9
|
|
|
3
10
|
## Metadata
|
|
@@ -5,13 +12,13 @@
|
|
|
5
12
|
| Field | Value |
|
|
6
13
|
|-------|-------|
|
|
7
14
|
| **ID** | `omp-plan` |
|
|
8
|
-
| **Keywords** | `plan:`, `/plan` |
|
|
15
|
+
| **Keywords** | `plan:`, `/plan`, `/omp:plan`, `/omp-plan`, `--consensus` |
|
|
9
16
|
| **Tier** | Execution Mode |
|
|
10
17
|
| **Source** | `src/skills/omp-plan.mts` |
|
|
11
18
|
|
|
12
19
|
## Description
|
|
13
20
|
|
|
14
|
-
Strategic planning mode with optional interview workflow. Delays implementation until plan is approved.
|
|
21
|
+
Strategic planning mode with optional interview workflow. Supports four modes: Interview (broad requests), Direct (detailed requests), Consensus (iterative Planner/Architect/Critic loop with RALPLAN-DR structured deliberation), and Review (Critic evaluation of an existing plan). Delays implementation until the plan is approved.
|
|
15
22
|
|
|
16
23
|
## Interface
|
|
17
24
|
|
|
@@ -33,3 +40,213 @@ export function deactivate(): void
|
|
|
33
40
|
## Implementation
|
|
34
41
|
|
|
35
42
|
Activates the `plan` strategic planning mode by spawning `bin/omp.mjs plan [args]`. No persistent resources are maintained.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Flags
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
omp-plan [--direct|--consensus|--review] [--interactive] [--deliberate] <task description>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
| Flag | Description |
|
|
53
|
+
|------|-------------|
|
|
54
|
+
| `--direct` | Skip interview, generate plan immediately |
|
|
55
|
+
| `--consensus` | Run Planner → Architect → Critic loop (RALPLAN-DR) |
|
|
56
|
+
| `--review` | Critic evaluation of an existing plan |
|
|
57
|
+
| `--interactive` | Enable user prompts at draft review and final approval steps (consensus mode) |
|
|
58
|
+
| `--deliberate` | Force deliberate RALPLAN-DR mode: adds pre-mortem + expanded test plan |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Mode Selection
|
|
63
|
+
|
|
64
|
+
| Mode | Trigger | Behavior |
|
|
65
|
+
|------|---------|----------|
|
|
66
|
+
| Interview | Default for broad requests | Interactive requirements gathering |
|
|
67
|
+
| Direct | `--direct`, or detailed request | Skip interview, generate plan directly |
|
|
68
|
+
| Consensus | `--consensus`, "ralplan" | Planner → Architect → Critic loop until agreement with RALPLAN-DR structured deliberation (short by default, `--deliberate` for high-risk); add `--interactive` for user prompts at draft and approval steps |
|
|
69
|
+
| Review | `--review`, "review this plan" | Critic evaluation of existing plan |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Interview Mode (broad/vague requests)
|
|
74
|
+
|
|
75
|
+
1. **Classify the request**: Broad (vague verbs, no specific files, touches 3+ areas) triggers interview mode
|
|
76
|
+
2. **Ask one focused question** using `AskUserQuestion` for preferences, scope, and constraints
|
|
77
|
+
3. **Gather codebase facts first**: Before asking "what patterns does your code use?", explore the codebase to find out, then ask informed follow-up questions
|
|
78
|
+
4. **Build on answers**: Each question builds on the previous answer
|
|
79
|
+
5. **Consult Analyst** for hidden requirements, edge cases, and risks
|
|
80
|
+
6. **Create plan** when the user signals readiness: "create the plan", "I'm ready", "make it a work plan"
|
|
81
|
+
|
|
82
|
+
**Question Classification**:
|
|
83
|
+
|
|
84
|
+
| Type | Examples | Action |
|
|
85
|
+
|------|----------|--------|
|
|
86
|
+
| Codebase Fact | "What patterns exist?", "Where is X?" | Explore first, do not ask user |
|
|
87
|
+
| User Preference | "Priority?", "Timeline?" | Ask user via AskUserQuestion |
|
|
88
|
+
| Scope Decision | "Include feature Y?" | Ask user |
|
|
89
|
+
| Requirement | "Performance constraints?" | Ask user |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Direct Mode (detailed requests)
|
|
94
|
+
|
|
95
|
+
1. **Quick Analysis**: Optional brief Analyst consultation
|
|
96
|
+
2. **Create plan**: Generate comprehensive work plan immediately
|
|
97
|
+
3. **Review** (optional): Critic review if requested
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Consensus Mode (`--consensus` / "ralplan")
|
|
102
|
+
|
|
103
|
+
**RALPLAN-DR modes**: **Short** (default, bounded structure) and **Deliberate** (for `--deliberate` or explicit high-risk requests: auth/security, data migration, destructive/irreversible changes, production incident, compliance/PII, public API breakage). Both modes keep the same Planner → Architect → Critic sequence and the same `AskUserQuestion` gates.
|
|
104
|
+
|
|
105
|
+
**Consensus mode runs fully automated by default**; add `--interactive` to enable user prompts at draft review (step 2) and final approval (step 6).
|
|
106
|
+
|
|
107
|
+
### Steps
|
|
108
|
+
|
|
109
|
+
1. **Planner** creates initial plan and a compact **RALPLAN-DR summary** before any Architect review. The summary **MUST** include:
|
|
110
|
+
- **Principles** (3-5)
|
|
111
|
+
- **Decision Drivers** (top 3)
|
|
112
|
+
- **Viable Options** (>=2) with bounded pros/cons for each option
|
|
113
|
+
- If only one viable option remains, an explicit **invalidation rationale** for alternatives that were rejected
|
|
114
|
+
- In **deliberate mode**: a **pre-mortem** (3 failure scenarios) and an **expanded test plan** covering unit / integration / e2e / observability
|
|
115
|
+
|
|
116
|
+
2. **User feedback** *(--interactive only)*: If running with `--interactive`, **MUST** use `AskUserQuestion` to present the draft plan **plus the RALPLAN-DR Principles / Decision Drivers / Options summary** with these options:
|
|
117
|
+
- **Proceed to review** — send to Architect and Critic for evaluation
|
|
118
|
+
- **Request changes** — return to step 1 with user feedback incorporated
|
|
119
|
+
- **Skip review** — go directly to final approval (step 6)
|
|
120
|
+
If NOT running with `--interactive`, automatically proceed to review (step 3).
|
|
121
|
+
|
|
122
|
+
3. **Architect** reviews for architectural soundness. Adopt the Architect role and review the plan for:
|
|
123
|
+
- Strongest steelman counterargument (antithesis) against the favored option
|
|
124
|
+
- At least one meaningful tradeoff tension
|
|
125
|
+
- A synthesis path when possible
|
|
126
|
+
- In deliberate mode: explicitly flag principle violations
|
|
127
|
+
|
|
128
|
+
**Wait for this step to complete before proceeding to step 4. Do NOT run steps 3 and 4 in parallel.**
|
|
129
|
+
|
|
130
|
+
> Invoke the architect agent to review the plan. If using a sub-agent: "Adopt the Architect role and review this plan for architectural soundness. Provide the strongest steelman antithesis against the favored option, at least one real tradeoff tension, and a synthesis path where possible."
|
|
131
|
+
|
|
132
|
+
4. **Critic** evaluates against quality criteria. Run only after step 3 is complete.
|
|
133
|
+
- Verify principle-option consistency
|
|
134
|
+
- Fair alternative exploration
|
|
135
|
+
- Risk mitigation clarity
|
|
136
|
+
- Testable acceptance criteria
|
|
137
|
+
- Concrete verification steps
|
|
138
|
+
- In deliberate mode: **MUST** reject missing/weak pre-mortem or missing/weak expanded test plan
|
|
139
|
+
|
|
140
|
+
> Invoke the critic agent to evaluate the plan. If using a sub-agent: "Adopt the Critic role and evaluate this plan. Verify principle-option consistency, fair alternative exploration, risk mitigation clarity, testable acceptance criteria, and concrete verification steps. Reject shallow alternatives, driver contradictions, vague risks, or weak verification."
|
|
141
|
+
|
|
142
|
+
5. **Re-review loop** (max 5 iterations): If Critic rejects, execute this closed loop:
|
|
143
|
+
a. Collect all rejection feedback from Architect + Critic
|
|
144
|
+
b. Pass feedback to Planner to produce a revised plan
|
|
145
|
+
c. **Return to Step 3** — Architect reviews the revised plan
|
|
146
|
+
d. **Return to Step 4** — Critic evaluates the revised plan
|
|
147
|
+
e. Repeat until Critic approves OR max 5 iterations reached
|
|
148
|
+
f. If max iterations reached without approval, present the best version to user via `AskUserQuestion` with note that expert consensus was not reached
|
|
149
|
+
|
|
150
|
+
6. **Apply improvements**: When reviewers approve with improvement suggestions, merge all accepted improvements into the plan file before proceeding. Final consensus output **MUST** include an **ADR** section with: Decision, Drivers, Alternatives considered, Why chosen, Consequences, Follow-ups.
|
|
151
|
+
a. Collect all improvement suggestions from Architect and Critic responses
|
|
152
|
+
b. Deduplicate and categorize the suggestions
|
|
153
|
+
c. Update the plan file in `.omp/plans/` with the accepted improvements
|
|
154
|
+
d. Note which improvements were applied in a brief changelog section at the end of the plan
|
|
155
|
+
|
|
156
|
+
7. On Critic approval *(--interactive only)*: If running with `--interactive`, use `AskUserQuestion` to present the plan with these options:
|
|
157
|
+
- **Approve and implement via team** (Recommended) — proceed to implementation via `omp:team`
|
|
158
|
+
- **Approve and execute via ralph** — proceed to implementation via `omp:ralph`
|
|
159
|
+
- **Clear context and implement** — compact the context window first, then start fresh implementation via `omp:ralph` with the saved plan file
|
|
160
|
+
- **Request changes** — return to step 1 with user feedback
|
|
161
|
+
- **Reject** — discard the plan entirely
|
|
162
|
+
If NOT running with `--interactive`, output the final approved plan and stop. Do NOT auto-execute.
|
|
163
|
+
|
|
164
|
+
8. *(--interactive only)* User chooses via the structured `AskUserQuestion` UI (never ask for approval in plain text).
|
|
165
|
+
|
|
166
|
+
9. *(--interactive only)* On user approval:
|
|
167
|
+
- **Approve and implement via team**: Invoke `omp:team` with the approved plan path from `.omp/plans/` as context. Do NOT implement directly.
|
|
168
|
+
- **Approve and execute via ralph**: Invoke `omp:ralph` with the approved plan path from `.omp/plans/` as context. Do NOT implement directly.
|
|
169
|
+
- **Clear context and implement**: Compact the context window first, then invoke `omp:ralph` with the approved plan path.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## RALPLAN-DR Short Mode Workflow
|
|
174
|
+
|
|
175
|
+
Used by default in consensus mode. Bounded structure with four mandatory sections:
|
|
176
|
+
|
|
177
|
+
1. **Principles** (3-5 guiding constraints for this decision)
|
|
178
|
+
2. **Decision Drivers** (top 3 criteria that will determine the best option)
|
|
179
|
+
3. **Viable Options** (>=2) — for each option:
|
|
180
|
+
- One-sentence description
|
|
181
|
+
- Pros (2-3 bullets)
|
|
182
|
+
- Cons (2-3 bullets)
|
|
183
|
+
4. **Invalidation rationale** (if only one viable option remains after analysis)
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## RALPLAN-DR Deliberate Mode Workflow
|
|
188
|
+
|
|
189
|
+
Enabled with `--deliberate` or when the request explicitly signals high risk. Adds to the short mode:
|
|
190
|
+
|
|
191
|
+
- **Pre-mortem**: 3 specific failure scenarios (what could go wrong, how to detect it)
|
|
192
|
+
- **Expanded Test Plan**: unit / integration / e2e / observability layers
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Review Mode (`--review`)
|
|
197
|
+
|
|
198
|
+
1. Read plan file from `.omp/plans/`
|
|
199
|
+
2. Adopt the Critic role to evaluate the plan (or invoke critic agent)
|
|
200
|
+
3. Return verdict: APPROVED, REVISE (with specific feedback), or REJECT (replanning required)
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Plan Output Format
|
|
205
|
+
|
|
206
|
+
Every plan includes:
|
|
207
|
+
- Requirements Summary
|
|
208
|
+
- Acceptance Criteria (testable, 90%+ concrete)
|
|
209
|
+
- Implementation Steps (with file references, 80%+ claims cite file/line)
|
|
210
|
+
- Risks and Mitigations
|
|
211
|
+
- Verification Steps
|
|
212
|
+
- For consensus/ralplan: **RALPLAN-DR summary** (Principles, Decision Drivers, Options)
|
|
213
|
+
- For consensus/ralplan final output: **ADR** (Decision, Drivers, Alternatives considered, Why chosen, Consequences, Follow-ups)
|
|
214
|
+
- For deliberate consensus mode: **Pre-mortem (3 scenarios)** and **Expanded Test Plan** (unit/integration/e2e/observability)
|
|
215
|
+
|
|
216
|
+
Plans are saved to `.omp/plans/`. Drafts go to `.omp/drafts/`.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Execution Policy
|
|
221
|
+
|
|
222
|
+
- Auto-detect interview vs direct mode based on request specificity
|
|
223
|
+
- Ask one question at a time during interviews — never batch multiple questions
|
|
224
|
+
- Gather codebase facts via exploration before asking the user about them
|
|
225
|
+
- Plans must meet quality standards: 80%+ claims cite file/line, 90%+ criteria are testable
|
|
226
|
+
- Consensus mode runs fully automated by default; add `--interactive` to enable user prompts
|
|
227
|
+
- Consensus mode uses RALPLAN-DR short mode by default; switch to deliberate mode with `--deliberate` or when the request signals high risk
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Final Checklist
|
|
232
|
+
|
|
233
|
+
- [ ] Plan has testable acceptance criteria (90%+ concrete)
|
|
234
|
+
- [ ] Plan references specific files/lines where applicable (80%+ claims)
|
|
235
|
+
- [ ] All risks have mitigations identified
|
|
236
|
+
- [ ] No vague terms without metrics ("fast" → "p99 < 200ms")
|
|
237
|
+
- [ ] Plan saved to `.omp/plans/`
|
|
238
|
+
- [ ] In consensus mode: RALPLAN-DR summary includes 3-5 principles, top 3 drivers, and >=2 viable options (or explicit invalidation rationale)
|
|
239
|
+
- [ ] In consensus mode final output: ADR section included (Decision / Drivers / Alternatives considered / Why chosen / Consequences / Follow-ups)
|
|
240
|
+
- [ ] In deliberate consensus mode: pre-mortem (3 scenarios) + expanded test plan (unit/integration/e2e/observability) included
|
|
241
|
+
- [ ] In consensus mode with `--interactive`: user explicitly approved before any execution; without `--interactive`: plan output only, no auto-execution
|
|
242
|
+
- [ ] **CRITICAL — Consensus mode agent calls MUST be sequential, never parallel.** Always await Architect review before issuing the Critic evaluation.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Escalation and Stop Conditions
|
|
247
|
+
|
|
248
|
+
- Stop interviewing when requirements are clear enough to plan — do not over-interview
|
|
249
|
+
- In consensus mode, stop after 5 Planner/Architect/Critic iterations and present the best version
|
|
250
|
+
- Consensus mode without `--interactive` outputs the final plan and stops; with `--interactive`, requires explicit user approval before any implementation begins
|
|
251
|
+
- If the user says "just do it" or "skip planning", transition directly to `omp:ralph` for execution — do NOT implement directly in the planning agent
|
|
252
|
+
- Escalate to the user when there are irreconcilable trade-offs that require a business decision
|