oh-my-githubcopilot 1.5.7 → 1.8.0-alpha.021bf87
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 +27 -5
- package/AGENTS.md +78 -9
- package/CHANGELOG.md +92 -0
- 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 -175
- 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/bin/omp.mjs +423 -19
- package/bin/omp.mjs.map +4 -4
- package/dist/hooks/keyword-detector.mjs +18 -3
- package/dist/hooks/keyword-detector.mjs.map +2 -2
- package/dist/mcp/server.mjs +28 -12
- package/dist/mcp/server.mjs.map +2 -2
- package/hooks/hooks.json +1 -1
- package/package.json +3 -2
- package/plugin.json +27 -5
- package/skills/ai-slop-cleaner/SKILL.md +137 -0
- package/skills/doctor/SKILL.md +188 -0
- package/skills/graph-context/SKILL.md +119 -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/notifications/SKILL.md +190 -0
- package/skills/omp-doctor/SKILL.md +146 -0
- package/skills/omp-plan/SKILL.md +215 -4
- package/skills/omp-reference/SKILL.md +174 -0
- package/skills/ralplan/SKILL.md +148 -0
- package/skills/research/SKILL.md +149 -0
- package/skills/session/SKILL.md +220 -0
- package/skills/skillify/SKILL.md +66 -0
- package/skills/tdd/SKILL.md +246 -0
|
@@ -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
|