oh-my-githubcopilot 1.5.7 → 1.8.0-alpha.afa30a7

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.
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: ralplan
3
+ description: Consensus planning entrypoint that auto-gates vague ralph/autopilot/team requests before execution
4
+ trigger: "/omp:ralplan"
5
+ autoinvoke: false
6
+ ---
7
+
8
+ # Ralplan (Consensus Planning Alias)
9
+
10
+ Ralplan is a shorthand alias for `/omp:plan --consensus`. It triggers iterative planning with Planner, Architect, and Critic agents until consensus is reached, with **RALPLAN-DR structured deliberation** (short mode by default, deliberate mode for high-risk work).
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /omp:ralplan "task description"
16
+ ```
17
+
18
+ ## Flags
19
+
20
+ - `--interactive`: Enables user prompts at key decision points (draft review in step 2 and final approval in step 6). Without this flag the workflow runs fully automated — Planner → Architect → Critic loop — and outputs the final plan without asking for confirmation.
21
+ - `--deliberate`: Forces deliberate mode for high-risk work. Adds pre-mortem (3 scenarios) and expanded test planning (unit/integration/e2e/observability). Without this flag, deliberate mode can still auto-enable when the request explicitly signals high risk (auth/security, migrations, destructive changes, production incidents, compliance/PII, public API breakage).
22
+
23
+ ## Usage with interactive mode
24
+
25
+ ```
26
+ /omp:ralplan --interactive "task description"
27
+ ```
28
+
29
+ ## Behavior
30
+
31
+ This skill invokes the Plan skill in consensus mode:
32
+
33
+ ```
34
+ /omp:plan --consensus <arguments>
35
+ ```
36
+
37
+ The consensus workflow:
38
+ 1. **Planner** creates initial plan and a compact **RALPLAN-DR summary** before review:
39
+ - Principles (3-5)
40
+ - Decision Drivers (top 3)
41
+ - Viable Options (>=2) with bounded pros/cons
42
+ - If only one viable option remains, explicit invalidation rationale for alternatives
43
+ - Deliberate mode only: pre-mortem (3 scenarios) + expanded test plan (unit/integration/e2e/observability)
44
+ 2. **User feedback** *(--interactive only)*: If `--interactive` is set, use `AskUserQuestion` to present the draft plan **plus the Principles / Drivers / Options summary** before review (Proceed to review / Request changes / Skip review). Otherwise, automatically proceed to review.
45
+ 3. **Architect** reviews for architectural soundness and must provide the strongest steelman antithesis, at least one real tradeoff tension, and (when possible) synthesis — **await completion before step 4**. In deliberate mode, Architect should explicitly flag principle violations.
46
+
47
+ > Adopt the Architect role: "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."
48
+
49
+ 4. **Critic** evaluates against quality criteria — run only after step 3 completes. Critic must enforce principle-option consistency, fair alternatives, risk mitigation clarity, testable acceptance criteria, and concrete verification steps. In deliberate mode, Critic must reject missing/weak pre-mortem or expanded test plan.
50
+
51
+ > Adopt the Critic role: "Evaluate this plan. Verify principle-option consistency, fair alternative exploration, risk mitigation clarity, testable acceptance criteria, and concrete verification steps. Explicitly reject shallow alternatives, driver contradictions, vague risks, or weak verification."
52
+
53
+ 5. **Re-review loop** (max 5 iterations): Any non-`APPROVE` Critic verdict (`ITERATE` or `REJECT`) MUST run the same full closed loop:
54
+ a. Collect Architect + Critic feedback
55
+ b. Revise the plan with Planner
56
+ c. Return to Architect review
57
+ d. Return to Critic evaluation
58
+ e. Repeat this loop until Critic returns `APPROVE` or 5 iterations are reached
59
+ f. If 5 iterations are reached without `APPROVE`, present the best version to the user
60
+ 6. On Critic approval *(--interactive only)*: If `--interactive` is set, use `AskUserQuestion` to present the plan with approval options:
61
+ - **Approve and implement via team** (Recommended) — proceed via `omp:team`
62
+ - **Approve and execute via ralph** — proceed via `omp:ralph`
63
+ - **Clear context and implement** — compact context first, then `omp:ralph` with the saved plan file
64
+ - **Request changes** — return to step 1
65
+ - **Reject** — discard the plan entirely
66
+ Final plan must include ADR (Decision, Drivers, Alternatives considered, Why chosen, Consequences, Follow-ups).
67
+ Otherwise (non-interactive), output the final plan and stop.
68
+ 7. *(--interactive only)* User chooses: Approve (team or ralph), Request changes, or Reject
69
+ 8. *(--interactive only)* On approval: invoke `omp:team` for parallel team execution (recommended) or `omp:ralph` for sequential execution — never implement directly
70
+
71
+ > **Important:** Steps 3 and 4 MUST run sequentially. Do NOT issue both agent reviews in the same parallel batch. Always await the Architect result before issuing the Critic evaluation.
72
+
73
+ Follow the omp-plan skill's full documentation for consensus mode details.
74
+
75
+ ---
76
+
77
+ ## Pre-Execution Gate
78
+
79
+ ### Why the Gate Exists
80
+
81
+ Execution modes (omp:ralph, omp:autopilot, omp:team, omp:ultrawork) spin up heavy multi-agent orchestration. When launched on a vague request like "ralph improve the app", agents have no clear target — they waste cycles on scope discovery that should happen during planning, often delivering partial or misaligned work that requires rework.
82
+
83
+ The ralplan-first gate intercepts underspecified execution requests and redirects them through the ralplan consensus planning workflow. This ensures:
84
+ - **Explicit scope**: A PRD defines exactly what will be built
85
+ - **Test specification**: Acceptance criteria are testable before code is written
86
+ - **Consensus**: Planner, Architect, and Critic agree on the approach
87
+ - **No wasted execution**: Agents start with a clear, bounded task
88
+
89
+ ### Good vs Bad Prompts
90
+
91
+ **Passes the gate** (specific enough for direct execution):
92
+ - `ralph fix the null check in src/hooks/bridge.ts:326`
93
+ - `autopilot implement issue #42`
94
+ - `team add validation to function processKeywordDetector`
95
+ - `ralph do:\n1. Add input validation\n2. Write tests\n3. Update README`
96
+ - `ultrawork add the user model in src/models/user.ts`
97
+
98
+ **Gated — redirected to ralplan** (needs scoping first):
99
+ - `ralph fix this`
100
+ - `autopilot build the app`
101
+ - `team improve performance`
102
+ - `ralph add authentication`
103
+ - `ultrawork make it better`
104
+
105
+ **Bypass the gate** (when you know what you want):
106
+ - `force: ralph refactor the auth module`
107
+ - `! autopilot optimize everything`
108
+
109
+ ### When the Gate Does NOT Trigger
110
+
111
+ The gate auto-passes when it detects **any** concrete signal. You do not need all of them — one is enough:
112
+
113
+ | Signal Type | Example prompt | Why it passes |
114
+ |---|---|---|
115
+ | File path | `ralph fix src/hooks/bridge.ts` | References a specific file |
116
+ | Issue/PR number | `ralph implement #42` | Has a concrete work item |
117
+ | camelCase symbol | `ralph fix processKeywordDetector` | Names a specific function |
118
+ | PascalCase symbol | `ralph update UserModel` | Names a specific class |
119
+ | snake_case symbol | `team fix user_model` | Names a specific identifier |
120
+ | Test runner | `ralph npm test && fix failures` | Has an explicit test target |
121
+ | Numbered steps | `ralph do:\n1. Add X\n2. Test Y` | Structured deliverables |
122
+ | Acceptance criteria | `ralph add login - acceptance criteria: ...` | Explicit success definition |
123
+ | Error reference | `ralph fix TypeError in auth` | Specific error to address |
124
+ | Code block | `ralph add: \`\`\`ts ... \`\`\`` | Concrete code provided |
125
+ | Escape prefix | `force: ralph do it` or `! ralph do it` | Explicit user override |
126
+
127
+ ### End-to-End Flow Example
128
+
129
+ 1. User types: `ralph add user authentication`
130
+ 2. Gate detects: execution keyword (`ralph`) + underspecified prompt (no files, functions, or test spec)
131
+ 3. Gate redirects to **ralplan** with message explaining the redirect
132
+ 4. Ralplan consensus runs:
133
+ - **Planner** creates initial plan (which files, what auth method, what tests)
134
+ - **Architect** reviews for soundness
135
+ - **Critic** validates quality and testability
136
+ 5. On consensus approval, user chooses execution path:
137
+ - **omp:team**: parallel coordinated agents (recommended)
138
+ - **omp:ralph**: sequential execution with verification
139
+ 6. Execution begins with a clear, bounded plan
140
+
141
+ ### Troubleshooting
142
+
143
+ | Issue | Solution |
144
+ |-------|----------|
145
+ | Gate fires on a well-specified prompt | Add a file reference, function name, or issue number to anchor the request |
146
+ | Want to bypass the gate | Prefix with `force:` or `!` (e.g., `force: ralph fix it`) |
147
+ | Gate does not fire on a vague prompt | The gate only catches prompts with <=15 effective words and no concrete anchors; add more detail or use `/omp:ralplan` explicitly |
148
+ | Redirected to ralplan but want to skip planning | In the ralplan workflow, say "just do it" or "skip planning" to transition directly to execution |
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: research
3
+ description: Research and investigation skills. Use for "research this", "investigate", "find out", "autoresearch:", and "deep dive".
4
+ trigger: /omp:research
5
+ autoinvoke: false
6
+ ---
7
+
8
+ ## Skill: research
9
+
10
+ Conduct thorough research and investigation on topics.
11
+
12
+ ## When to Use
13
+
14
+ - Unknown or unfamiliar topics
15
+ - Need comprehensive understanding
16
+ - Fact-finding missions
17
+ - Competitive analysis
18
+ - Technology evaluation
19
+
20
+ ## Research Process
21
+
22
+ ### 1. Define Scope
23
+ - What do we need to know?
24
+ - How deep to go?
25
+ - What sources to check?
26
+ - Timeline constraints
27
+
28
+ ### 2. Gather Sources
29
+ - Official documentation
30
+ - Expert opinions
31
+ - Community discussions
32
+ - Real-world usage
33
+
34
+ ### 3. Synthesize
35
+ - Extract key information
36
+ - Identify patterns
37
+ - Note contradictions
38
+ - Build understanding
39
+
40
+ ### 4. Analyze
41
+ - Compare options
42
+ - Evaluate trade-offs
43
+ - Assess quality
44
+ - Rate confidence
45
+
46
+ ### 5. Present
47
+ - Clear findings
48
+ - Source attribution
49
+ - Confidence levels
50
+ - Recommendations
51
+
52
+ ## Source Types
53
+
54
+ ### Primary Sources
55
+ - Official documentation
56
+ - Source code
57
+ - API specifications
58
+ - Original research
59
+
60
+ ### Secondary Sources
61
+ - Expert blogs
62
+ - Technical articles
63
+ - Tutorial content
64
+ - Community posts
65
+
66
+ ### Social Proof
67
+ - Usage statistics
68
+ - Adoption rates
69
+ - Community size
70
+ - Support availability
71
+
72
+ ## Research Methods
73
+
74
+ ### Code Archaeology
75
+ - Read source code
76
+ - Trace execution
77
+ - Find patterns
78
+ - Understand internals
79
+
80
+ ### Documentation Mining
81
+ - API docs
82
+ - README files
83
+ - Change logs
84
+ - Migration guides
85
+
86
+ ### Web Research
87
+ - Search engines
88
+ - Specialized forums
89
+ - Stack Overflow
90
+ - GitHub issues
91
+
92
+ ### Expert Consultation
93
+ - Ask practitioners
94
+ - Find case studies
95
+ - Get benchmarks
96
+ - Collect opinions
97
+
98
+ ## Agent Routing
99
+
100
+ Delegate research tasks to the `researcher` agent (standard tier). For deep code archaeology, use the `explorer` agent. For architecture trade-offs, escalate to the `architect` agent.
101
+
102
+ State for in-progress research is stored under `.omp/research/`.
103
+
104
+ ## Output Format
105
+
106
+ ```
107
+ ## Research: {topic}
108
+
109
+ ### Scope
110
+ **Questions:** {what we need to know}
111
+ **Depth:** {surface/deep/comprehensive}
112
+ **Timeline:** {constraints}
113
+
114
+ ### Sources Consulted
115
+ | Source | Type | Relevance | Confidence |
116
+ |--------|------|-----------|------------|
117
+ | {source} | {type} | High | High |
118
+
119
+ ### Findings
120
+
121
+ #### Topic 1: {title}
122
+ **Summary:** {what we learned}
123
+ **Source:** {source}
124
+ **Confidence:** {level}
125
+
126
+ #### Topic 2: {title}
127
+ ...
128
+
129
+ ### Analysis
130
+ {comparisons and synthesis}
131
+
132
+ ### Recommendations
133
+ 1. **{rec}** — {rationale}
134
+
135
+ ### Confidence
136
+ - **Overall:** {level}
137
+ - **Gaps:** {what we don't know}
138
+
139
+ ### Further Research
140
+ {what would improve confidence}
141
+ ```
142
+
143
+ ## Constraints
144
+
145
+ - Verify information independently
146
+ - Note source quality
147
+ - Be clear about confidence
148
+ - Avoid bias in selection
149
+ - Cite your sources
@@ -0,0 +1,220 @@
1
+ ---
2
+ name: session
3
+ description: Worktree and tmux session management. Use for "new session", "worktree", "tmux", and "session management".
4
+ trigger: "session:, /session, /omp:session"
5
+ autoinvoke: false
6
+ ---
7
+ # Skill: Session
8
+
9
+ ## Metadata
10
+
11
+ | Field | Value |
12
+ |-------|-------|
13
+ | **ID** | `session` |
14
+ | **Keywords** | `session:`, `/session` |
15
+ | **Tier** | Developer Tool |
16
+ | **Source** | `src/skills/session.mts` |
17
+
18
+ ## Description
19
+
20
+ Manage development sessions with git worktrees and tmux. Create, attach, detach, list, and end sessions with isolated worktrees for parallel development.
21
+
22
+ ## Differentiation from psm
23
+
24
+ | Aspect | session | psm |
25
+ |--------|---------|-----|
26
+ | **Scope** | Git worktrees + tmux sessions for development isolation | OMP Plugin State Manager — inspect and update plugin runtime state |
27
+ | **Manages** | Branches, worktrees, tmux windows/panes, session lifecycle | OMP internal state, session metadata, plugin config values |
28
+ | **Use when** | You need to create/switch/end a development context | You need to inspect or modify OMP's running plugin state |
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 session [args]`. No persistent resources are maintained.
50
+
51
+ ## When to Use
52
+
53
+ - Creating new branches
54
+ - Managing multiple tasks
55
+ - Isolating work
56
+ - Session recovery
57
+ - Parallel development
58
+
59
+ ## Session Types
60
+
61
+ ### Development Session
62
+ - Feature work
63
+ - Bug fixes
64
+ - Single focused task
65
+
66
+ ### Exploration Session
67
+ - Research
68
+ - Prototyping
69
+ - Proof of concept
70
+
71
+ ### Review Session
72
+ - Code review
73
+ - Pair programming
74
+ - Pair review
75
+
76
+ ## Worktree Management
77
+
78
+ ### Create Worktree
79
+ ```bash
80
+ git worktree add {path} {branch}
81
+ ```
82
+
83
+ ### List Worktrees
84
+ ```bash
85
+ git worktree list
86
+ ```
87
+
88
+ ### Remove Worktree
89
+ ```bash
90
+ git worktree remove {path}
91
+ ```
92
+
93
+ ### Worktree for Feature
94
+ ```
95
+ {project}-feature-{name}
96
+ ```
97
+
98
+ ## Tmux Session Management
99
+
100
+ ### Session Structure
101
+ ```
102
+ session:{project}
103
+ └── window:feature-{name}
104
+ └── pane: editor
105
+ └── pane: terminal
106
+ └── pane: tests
107
+ ```
108
+
109
+ ### Commands
110
+ ```bash
111
+ # Create session
112
+ tmux new-session -s {name} -d
113
+
114
+ # Attach
115
+ tmux attach -t {name}
116
+
117
+ # List
118
+ tmux list-sessions
119
+
120
+ # Kill
121
+ tmux kill-session -t {name}
122
+ ```
123
+
124
+ ## Session Workflow
125
+
126
+ ### Start New Feature
127
+ 1. Create worktree
128
+ 2. Start tmux session
129
+ 3. Set up windows/panes
130
+ 4. Track session info
131
+ 5. Begin work
132
+
133
+ ### Switch Context
134
+ 1. Detach current session
135
+ 2. Attach target session
136
+ 3. Resume work
137
+
138
+ ### End Session
139
+ 1. Commit changes
140
+ 2. Push if needed
141
+ 3. Clean up tmux
142
+ 4. Optionally remove worktree
143
+ 5. Log session summary
144
+
145
+ ## Commands
146
+
147
+ ### Start Session
148
+ ```
149
+ /omp:session start {name}
150
+ ```
151
+
152
+ ### Attach Session
153
+ ```
154
+ /omp:session attach {name}
155
+ ```
156
+
157
+ ### Detach Session
158
+ ```
159
+ /omp:session detach
160
+ ```
161
+
162
+ ### List Sessions
163
+ ```
164
+ /omp:session list
165
+ ```
166
+
167
+ ### End Session
168
+ ```
169
+ /omp:session end {name}
170
+ ```
171
+
172
+ ### Create Worktree
173
+ ```
174
+ /omp:session worktree create {branch} {path}
175
+ ```
176
+
177
+ ## State
178
+
179
+ Session state is stored in `.omp/sessions/`. Each session has a JSON record with worktree path, branch, tmux session name, and timestamps.
180
+
181
+ ## Output Format
182
+
183
+ ```
184
+ ## Session: {name}
185
+
186
+ ### Type
187
+ {type}
188
+
189
+ ### Worktree
190
+ **Path:** {path}
191
+ **Branch:** {branch}
192
+ **Status:** {clean|dirty}
193
+
194
+ ### Tmux
195
+ **Session:** {tmux-session}
196
+ **Windows:** {n}
197
+ **Created:** {date}
198
+ **Last active:** {date}
199
+
200
+ ### Windows
201
+ | Window | Panes | Current |
202
+ |--------|-------|---------|
203
+ | {name} | {n} | {yes/no} |
204
+
205
+ ### Recent Sessions
206
+ | Name | Type | Last Active | Status |
207
+ |------|------|-------------|--------|
208
+ | {name} | {type} | {date} | {active/ended} |
209
+
210
+ ### Session Notes
211
+ {notes}
212
+ ```
213
+
214
+ ## Constraints
215
+
216
+ - Clean up completed sessions
217
+ - Don't forget worktree paths
218
+ - Keep session names unique
219
+ - Document session purpose
220
+ - Backup before major changes
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: skillify
3
+ description: Turn a repeatable workflow from the current session into a reusable OMP skill draft
4
+ triggers:
5
+ - /omp:skillify
6
+ ---
7
+
8
+ # Skillify
9
+
10
+ Use this skill when the current session uncovered a repeatable workflow that should become a reusable OMP skill.
11
+
12
+ ## Goal
13
+ Capture a successful multi-step workflow as a concrete skill draft instead of rediscovering it later.
14
+
15
+ ## Workflow
16
+ 1. Identify the repeatable task the session accomplished.
17
+ 2. Extract:
18
+ - inputs
19
+ - ordered steps
20
+ - success criteria
21
+ - constraints / pitfalls
22
+ - best target location for the skill
23
+ 3. Decide whether the workflow belongs as:
24
+ - a repo built-in skill (in `skills/` directory of oh-my-githubcopilot)
25
+ - a project learned skill (in `.omp/skills/<skill-name>.md`)
26
+ - documentation only
27
+ 4. When drafting a learned skill file, output a complete skill file that starts with YAML frontmatter.
28
+ - Never emit plain markdown-only skill files.
29
+ - Minimum frontmatter:
30
+ ```yaml
31
+ ---
32
+ name: <skill-name>
33
+ description: <one-line description>
34
+ triggers:
35
+ - /omp:<skill-name>
36
+ - <keyword-trigger>
37
+ ---
38
+ ```
39
+ - Write learned/project skills to:
40
+ - `.omp/skills/<skill-name>.md`
41
+ - Write repo built-in skills to:
42
+ - `skills/<skill-name>/SKILL.md` in the oh-my-githubcopilot repo
43
+ - `src/skills/<skill-name>.mts` in the oh-my-githubcopilot repo
44
+ 5. Draft the rest of the skill file with clear triggers, steps, and success criteria.
45
+ 6. Point out anything still too fuzzy to encode safely.
46
+
47
+ ## State Paths
48
+
49
+ OMP state uses the `.omp/` prefix:
50
+ - `.omp/skills/` — project-local learned skills
51
+ - `.omp/state/` — runtime state
52
+ - `.omp/notepad.md` — working notepad
53
+
54
+ ## Rules
55
+ - Only capture workflows that are actually repeatable.
56
+ - Keep the skill practical and scoped.
57
+ - Prefer explicit success criteria over vague prose.
58
+ - If the workflow still has unresolved branching decisions, note them before drafting.
59
+ - Use `omp:` prefix for all skill references, never `omc:` or `oma:`.
60
+ - Do not output model parameters (haiku/sonnet/opus) in skill files.
61
+
62
+ ## Output
63
+ - Proposed skill name
64
+ - Target location (repo built-in or `.omp/skills/`)
65
+ - Draft workflow structure
66
+ - Open questions, if any