@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 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. Contractor: The Lead Systems Engineer
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, the Contractor 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.
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/contractor/index.ts"><code>contractor/index.ts</code></a>
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
- ### 03. PreFlight: The Risk Analyst
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
- ### 04. Verification: The Launch Committer
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
- ### 05. Orchestrator: The Flight Director
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
- ### 06. Explorer: The Telemetry Scout
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
- ### 07. Oracle: The Principal Architect
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
- ### 08. Librarian: The Data Archivist
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
- ### 09. Designer: The Interface Specialist
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
- ### 10. Fixer: The Systems Integrator
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.11",
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).*