@frenchtoastman/oh-my-groundcontrol 0.0.11 → 0.0.13
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 +11 -11
- package/dist/index.js +21 -0
- package/package.json +1 -1
- package/src/skills/commit-protocol/SKILL.md +87 -0
package/README.md
CHANGED
|
@@ -86,7 +86,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
86
86
|
|
|
87
87
|
---
|
|
88
88
|
|
|
89
|
-
### 01.
|
|
89
|
+
### 01. Groundcontrol: The Lead Systems Engineer
|
|
90
90
|
|
|
91
91
|
<table>
|
|
92
92
|
<tr>
|
|
@@ -94,7 +94,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
94
94
|
<sub><i>Designs the mission architecture.</i></sub>
|
|
95
95
|
</td>
|
|
96
96
|
<td width="70%" valign="top">
|
|
97
|
-
Operating from the engineering drafting boards,
|
|
97
|
+
Operating from the engineering drafting boards, Groundcontrol shapes the mission blueprint before a single line of code is written. They conduct rigorous requirements gathering, consult on system constraints, and deliver decision-complete schematics to ensure the objective is achievable. No system is built without their approved plan.
|
|
98
98
|
</td>
|
|
99
99
|
</tr>
|
|
100
100
|
<tr>
|
|
@@ -104,7 +104,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
104
104
|
</tr>
|
|
105
105
|
<tr>
|
|
106
106
|
<td colspan="2">
|
|
107
|
-
<b>Prompt:</b> <a href="src/agents/
|
|
107
|
+
<b>Prompt:</b> <a href="src/agents/groundcontrol/index.ts"><code>contractor/index.ts</code></a>
|
|
108
108
|
</td>
|
|
109
109
|
</tr>
|
|
110
110
|
<tr>
|
|
@@ -116,7 +116,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
119
|
-
###
|
|
119
|
+
### 02. PreFlight: The Risk Analyst
|
|
120
120
|
|
|
121
121
|
<table>
|
|
122
122
|
<tr>
|
|
@@ -146,7 +146,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
146
146
|
|
|
147
147
|
---
|
|
148
148
|
|
|
149
|
-
###
|
|
149
|
+
### 03. Verification: The Launch Committer
|
|
150
150
|
|
|
151
151
|
<table>
|
|
152
152
|
<tr>
|
|
@@ -183,7 +183,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
183
183
|
|
|
184
184
|
---
|
|
185
185
|
|
|
186
|
-
###
|
|
186
|
+
### 04. Orchestrator: The Flight Director
|
|
187
187
|
|
|
188
188
|
<table>
|
|
189
189
|
<tr>
|
|
@@ -213,7 +213,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
213
213
|
|
|
214
214
|
---
|
|
215
215
|
|
|
216
|
-
###
|
|
216
|
+
### 05. Explorer: The Telemetry Scout
|
|
217
217
|
|
|
218
218
|
<table>
|
|
219
219
|
<tr>
|
|
@@ -243,7 +243,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
243
243
|
|
|
244
244
|
---
|
|
245
245
|
|
|
246
|
-
###
|
|
246
|
+
### 06. Oracle: The Principal Architect
|
|
247
247
|
|
|
248
248
|
<table>
|
|
249
249
|
<tr>
|
|
@@ -273,7 +273,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
273
273
|
|
|
274
274
|
---
|
|
275
275
|
|
|
276
|
-
###
|
|
276
|
+
### 07. Librarian: The Data Archivist
|
|
277
277
|
|
|
278
278
|
<table>
|
|
279
279
|
<tr>
|
|
@@ -303,7 +303,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
303
303
|
|
|
304
304
|
---
|
|
305
305
|
|
|
306
|
-
###
|
|
306
|
+
### 08. Designer: The Interface Specialist
|
|
307
307
|
|
|
308
308
|
<table>
|
|
309
309
|
<tr>
|
|
@@ -333,7 +333,7 @@ The principles driving our agent behavior are extracted directly from the [NASA
|
|
|
333
333
|
|
|
334
334
|
---
|
|
335
335
|
|
|
336
|
-
###
|
|
336
|
+
### 09. Fixer: The Systems Integrator
|
|
337
337
|
|
|
338
338
|
<table>
|
|
339
339
|
<tr>
|
package/dist/index.js
CHANGED
|
@@ -20936,6 +20936,11 @@ var ORACLE_PROMPT = `You are Oracle - a strategic technical advisor.
|
|
|
20936
20936
|
- Focus on strategy, not execution
|
|
20937
20937
|
- Point to specific files/lines when relevant
|
|
20938
20938
|
|
|
20939
|
+
**Root Cause Analysis (5 Whys)**:
|
|
20940
|
+
- When investigating complex, recurring, or systemic bugs, explicitly execute a formal "5 Whys" Root Cause Analysis.
|
|
20941
|
+
- Present this as a numbered list, drilling down 5 layers past the symptom to identify the core architectural or process failure.
|
|
20942
|
+
- *Early Exit*: Do not use 5 Whys for simple syntax errors, obvious typos, or known external service outages.
|
|
20943
|
+
|
|
20939
20944
|
**NASA Guardrails (High-Reliability Mode)**:
|
|
20940
20945
|
- **Destructive Pause**: Stop and request explicit user confirmation before irreversible actions (e.g., force pushing, bulk deletions).
|
|
20941
20946
|
- **Pre-Flight Verification**: Always run linters/typechecks (\`bun run check:ci\`, \`bun run typecheck\`) to validate changes before concluding.
|
|
@@ -21437,6 +21442,15 @@ Architecture | Research]
|
|
|
21437
21442
|
|
|
21438
21443
|
---
|
|
21439
21444
|
|
|
21445
|
+
## INTERNAL REASONING: INVISIBLE 5 WHYS
|
|
21446
|
+
|
|
21447
|
+
When gathering requirements or defining scope, adopt a "5 Whys" mindset to uncover the root intent behind a user's request (e.g., if they ask for a caching layer, determine if the root issue is an N+1 query).
|
|
21448
|
+
- **MUST**: Use internal Chain-of-Thought (or careful lateral questioning) to drill down up to 5 layers deep to find the true requirement.
|
|
21449
|
+
- **MUST NOT**: Literally ask the user "Why?" repeatedly. Do not badger the user.
|
|
21450
|
+
- **EXIT STRATEGY**: If the root cause is obvious, or if the user explicitly demands immediate execution ("just build it"), abort the probing and proceed with current context.
|
|
21451
|
+
|
|
21452
|
+
---
|
|
21453
|
+
|
|
21440
21454
|
## CRITICAL RULES
|
|
21441
21455
|
|
|
21442
21456
|
**NEVER**:
|
|
@@ -21556,6 +21570,11 @@ is enough.
|
|
|
21556
21570
|
**FAIL only if**: Tasks lack QA scenarios, or scenarios are
|
|
21557
21571
|
unexecutable ("verify it works", "check the page").
|
|
21558
21572
|
|
|
21573
|
+
### 5. Assumption Stress-Testing (Invisible 5 Whys)
|
|
21574
|
+
- Internally use a "5 Whys" approach to stress-test the plan's assumptions (e.g., "Why will this step succeed? Because the API is available. Why is it available?").
|
|
21575
|
+
- Use this strictly as an internal mental model to identify fragile logical leaps.
|
|
21576
|
+
- Do not output the 5 Whys in your response. Only flag a BLOCKER if the assumption fails critically.
|
|
21577
|
+
|
|
21559
21578
|
---
|
|
21560
21579
|
|
|
21561
21580
|
## What You Do NOT Check
|
|
@@ -21719,6 +21738,8 @@ need figuring out. Fail only if zero context.
|
|
|
21719
21738
|
**Critical blockers**: Missing info that would completely stop work,
|
|
21720
21739
|
or contradictions. Minor ambiguities are NOT blockers.
|
|
21721
21740
|
|
|
21741
|
+
**Assumption stress-testing (Invisible 5 Whys)**: Internally use a 5 Whys approach to stress-test plan assumptions. Do not output the 5 Whys. Only flag if an assumption fails critically.
|
|
21742
|
+
|
|
21722
21743
|
**QA scenario executability**: Does each task have QA scenarios with
|
|
21723
21744
|
tool + steps + expected results? Missing or vague QA scenarios are
|
|
21724
21745
|
blockers.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frenchtoastman/oh-my-groundcontrol",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "An OpenCode plugin for multi-agent orchestration for structured planning with NASA-style guardrails.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit-protocol
|
|
3
|
+
description: Write concise commit messages with required type(scope) prefix based on current changes and user input.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Commit Protocol Skill
|
|
7
|
+
|
|
8
|
+
You enforce a strict, NASA-inspired "Traceability First" format for git commit messages.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
**Always active.** You MUST use this exact format every time you create a git commit.
|
|
13
|
+
|
|
14
|
+
## Protocol Template
|
|
15
|
+
|
|
16
|
+
All commits must exactly match the following structure. Pay strict attention to the character limits.
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
type(Component): <Brief, imperative summary under 50 chars>
|
|
20
|
+
|
|
21
|
+
Description:
|
|
22
|
+
<Brief 1-2 sentence explanation of why this change is necessary and what it accomplishes. Wrapped at 72 chars.>
|
|
23
|
+
|
|
24
|
+
Changes:
|
|
25
|
+
- <Change 1>
|
|
26
|
+
- <Change 2>
|
|
27
|
+
|
|
28
|
+
Traceability:
|
|
29
|
+
- Traces to: [Issue # / REQ ID / None]
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 1. Type
|
|
33
|
+
Must be one of the following:
|
|
34
|
+
- `feat`: A new feature
|
|
35
|
+
- `fix`: A bug fix
|
|
36
|
+
- `docs`: Documentation only changes
|
|
37
|
+
- `style`: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
|
|
38
|
+
- `refactor`: A code change that neither fixes a bug nor adds a feature
|
|
39
|
+
- `test`: Adding missing tests or correcting existing tests
|
|
40
|
+
- `chore`: Changes to the build process or auxiliary tools and libraries such as documentation generation
|
|
41
|
+
|
|
42
|
+
### 2. Component
|
|
43
|
+
The module or component being modified.
|
|
44
|
+
- If modifying a specific component, use its name (e.g., `api`, `ui`, `auth`).
|
|
45
|
+
- If the commit spans multiple components or is repository-wide, use `(global)` or `(core)`.
|
|
46
|
+
|
|
47
|
+
### 3. Summary Line
|
|
48
|
+
- Must use imperative mood ("Add feature", not "Added feature").
|
|
49
|
+
- Must not end with a period.
|
|
50
|
+
- Must be strictly under 50 characters (including the `type(Component): ` prefix).
|
|
51
|
+
|
|
52
|
+
### 4. Description
|
|
53
|
+
- Explain *why* the change is necessary and *what* it accomplishes.
|
|
54
|
+
- Wrap text at 72 characters.
|
|
55
|
+
|
|
56
|
+
### 5. Changes
|
|
57
|
+
- A bulleted list of the specific technical changes made.
|
|
58
|
+
|
|
59
|
+
### 6. Traceability
|
|
60
|
+
- If resolving a specific issue or requirement, state it (e.g., `Issue #42` or `REQ-001`).
|
|
61
|
+
- If no specific tracking ID exists, state `None`.
|
|
62
|
+
|
|
63
|
+
## Examples
|
|
64
|
+
|
|
65
|
+
### Good Example
|
|
66
|
+
```
|
|
67
|
+
fix(auth): Prevent token leak on session timeout
|
|
68
|
+
|
|
69
|
+
Description:
|
|
70
|
+
The previous implementation kept the JWT in memory after the session
|
|
71
|
+
timeout event fired, leaving a brief window where it could be extracted.
|
|
72
|
+
|
|
73
|
+
Changes:
|
|
74
|
+
- Cleared token state immediately on timeout event trigger
|
|
75
|
+
- Added test coverage for session expiry cleanup
|
|
76
|
+
|
|
77
|
+
Traceability:
|
|
78
|
+
- Traces to: Issue #128
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Bad Example (Do Not Do This)
|
|
82
|
+
```
|
|
83
|
+
Fixed a bug in the auth system where tokens were leaking
|
|
84
|
+
|
|
85
|
+
I went in and found that the JWT was staying in memory after the session timed out. I fixed it by clearing the state earlier. Also added some tests.
|
|
86
|
+
```
|
|
87
|
+
*(Reason: Missing type, component, description block, bulleted changes, traceability, and summary exceeds 50 chars).*
|