oh-my-copilot 4.13.21 → 4.13.54

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.
Files changed (219) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +8 -0
  4. package/agents/code-reviewer.agent.md +24 -6
  5. package/agents/designer.agent.md +12 -0
  6. package/bridge/cli.cjs +2231 -1222
  7. package/bridge/mcp-server.cjs +678 -261
  8. package/bridge/runtime-cli.cjs +55 -8
  9. package/bridge/team.js +507 -38
  10. package/dist/__tests__/agent-registry.test.js +92 -1
  11. package/dist/__tests__/agent-registry.test.js.map +1 -1
  12. package/dist/__tests__/auto-slash-aliases.test.js +6 -6
  13. package/dist/__tests__/auto-slash-aliases.test.js.map +1 -1
  14. package/dist/__tests__/auto-update.test.js +132 -2
  15. package/dist/__tests__/auto-update.test.js.map +1 -1
  16. package/dist/__tests__/bedrock-model-routing.test.js +18 -17
  17. package/dist/__tests__/bedrock-model-routing.test.js.map +1 -1
  18. package/dist/__tests__/delegation-enforcer.test.js +46 -6
  19. package/dist/__tests__/delegation-enforcer.test.js.map +1 -1
  20. package/dist/__tests__/hooks/session-end-cleanup.test.d.ts +2 -0
  21. package/dist/__tests__/hooks/session-end-cleanup.test.d.ts.map +1 -0
  22. package/dist/__tests__/hooks/session-end-cleanup.test.js +93 -0
  23. package/dist/__tests__/hooks/session-end-cleanup.test.js.map +1 -0
  24. package/dist/__tests__/hud/stdin.test.d.ts +2 -0
  25. package/dist/__tests__/hud/stdin.test.d.ts.map +1 -0
  26. package/dist/__tests__/hud/stdin.test.js +556 -0
  27. package/dist/__tests__/hud/stdin.test.js.map +1 -0
  28. package/dist/__tests__/model-routing-override-three-site-sync.test.d.ts +2 -0
  29. package/dist/__tests__/model-routing-override-three-site-sync.test.d.ts.map +1 -0
  30. package/dist/__tests__/model-routing-override-three-site-sync.test.js +75 -0
  31. package/dist/__tests__/model-routing-override-three-site-sync.test.js.map +1 -0
  32. package/dist/__tests__/non-claude-provider-detection.test.js +37 -0
  33. package/dist/__tests__/non-claude-provider-detection.test.js.map +1 -1
  34. package/dist/__tests__/package-dir-resolution-regression.test.js +25 -0
  35. package/dist/__tests__/package-dir-resolution-regression.test.js.map +1 -1
  36. package/dist/__tests__/pre-tool-enforcer.test.js +304 -0
  37. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -1
  38. package/dist/__tests__/session-start-script-context.test.js +121 -0
  39. package/dist/__tests__/session-start-script-context.test.js.map +1 -1
  40. package/dist/__tests__/setup-claude-md-script.test.js +44 -1
  41. package/dist/__tests__/setup-claude-md-script.test.js.map +1 -1
  42. package/dist/__tests__/skills.test.js +77 -7
  43. package/dist/__tests__/skills.test.js.map +1 -1
  44. package/dist/__tests__/wiki-hook-output-format.test.d.ts +2 -0
  45. package/dist/__tests__/wiki-hook-output-format.test.d.ts.map +1 -0
  46. package/dist/__tests__/wiki-hook-output-format.test.js +59 -0
  47. package/dist/__tests__/wiki-hook-output-format.test.js.map +1 -0
  48. package/dist/agents/definitions.d.ts.map +1 -1
  49. package/dist/agents/definitions.js +2 -1
  50. package/dist/agents/definitions.js.map +1 -1
  51. package/dist/autoresearch/__tests__/decide-outcome.test.d.ts +2 -0
  52. package/dist/autoresearch/__tests__/decide-outcome.test.d.ts.map +1 -0
  53. package/dist/autoresearch/__tests__/decide-outcome.test.js +69 -0
  54. package/dist/autoresearch/__tests__/decide-outcome.test.js.map +1 -0
  55. package/dist/autoresearch/runtime.d.ts.map +1 -1
  56. package/dist/autoresearch/runtime.js +16 -2
  57. package/dist/autoresearch/runtime.js.map +1 -1
  58. package/dist/cli/__tests__/launch.test.js +23 -0
  59. package/dist/cli/__tests__/launch.test.js.map +1 -1
  60. package/dist/cli/__tests__/self-improve-paths.test.js +3 -2
  61. package/dist/cli/__tests__/self-improve-paths.test.js.map +1 -1
  62. package/dist/cli/__tests__/team.test.js +100 -0
  63. package/dist/cli/__tests__/team.test.js.map +1 -1
  64. package/dist/cli/commands/__tests__/team-role-shorthand.test.js +30 -0
  65. package/dist/cli/commands/__tests__/team-role-shorthand.test.js.map +1 -1
  66. package/dist/cli/commands/__tests__/team.test.js +48 -1
  67. package/dist/cli/commands/__tests__/team.test.js.map +1 -1
  68. package/dist/cli/commands/team.d.ts +2 -0
  69. package/dist/cli/commands/team.d.ts.map +1 -1
  70. package/dist/cli/commands/team.js +9 -2
  71. package/dist/cli/commands/team.js.map +1 -1
  72. package/dist/cli/launch.d.ts.map +1 -1
  73. package/dist/cli/launch.js +7 -0
  74. package/dist/cli/launch.js.map +1 -1
  75. package/dist/cli/team.d.ts.map +1 -1
  76. package/dist/cli/team.js +34 -3
  77. package/dist/cli/team.js.map +1 -1
  78. package/dist/config/__tests__/loader.test.js +35 -4
  79. package/dist/config/__tests__/loader.test.js.map +1 -1
  80. package/dist/config/__tests__/models.test.js +126 -3
  81. package/dist/config/__tests__/models.test.js.map +1 -1
  82. package/dist/config/models.d.ts +8 -0
  83. package/dist/config/models.d.ts.map +1 -1
  84. package/dist/config/models.js +119 -8
  85. package/dist/config/models.js.map +1 -1
  86. package/dist/features/auto-update.d.ts.map +1 -1
  87. package/dist/features/auto-update.js +53 -5
  88. package/dist/features/auto-update.js.map +1 -1
  89. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  90. package/dist/features/delegation-enforcer.js +10 -9
  91. package/dist/features/delegation-enforcer.js.map +1 -1
  92. package/dist/hooks/__tests__/bridge-routing.test.js +1 -0
  93. package/dist/hooks/__tests__/bridge-routing.test.js.map +1 -1
  94. package/dist/hooks/autopilot/enforcement.d.ts.map +1 -1
  95. package/dist/hooks/autopilot/enforcement.js +19 -0
  96. package/dist/hooks/autopilot/enforcement.js.map +1 -1
  97. package/dist/hooks/bridge.d.ts.map +1 -1
  98. package/dist/hooks/bridge.js +135 -4
  99. package/dist/hooks/bridge.js.map +1 -1
  100. package/dist/hooks/persistent-mode/index.d.ts +6 -0
  101. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  102. package/dist/hooks/persistent-mode/index.js +96 -0
  103. package/dist/hooks/persistent-mode/index.js.map +1 -1
  104. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js +152 -23
  105. package/dist/hooks/persistent-mode/stop-hook-blocking.test.js.map +1 -1
  106. package/dist/hooks/session-end/index.d.ts +9 -2
  107. package/dist/hooks/session-end/index.d.ts.map +1 -1
  108. package/dist/hooks/session-end/index.js +90 -35
  109. package/dist/hooks/session-end/index.js.map +1 -1
  110. package/dist/hud/stdin.d.ts +12 -1
  111. package/dist/hud/stdin.d.ts.map +1 -1
  112. package/dist/hud/stdin.js +123 -18
  113. package/dist/hud/stdin.js.map +1 -1
  114. package/dist/hud/types.d.ts +1 -0
  115. package/dist/hud/types.d.ts.map +1 -1
  116. package/dist/hud/types.js.map +1 -1
  117. package/dist/installer/__tests__/session-start-template.test.d.ts +2 -0
  118. package/dist/installer/__tests__/session-start-template.test.d.ts.map +1 -0
  119. package/dist/installer/__tests__/session-start-template.test.js +174 -0
  120. package/dist/installer/__tests__/session-start-template.test.js.map +1 -0
  121. package/dist/lib/__tests__/mode-state-io.test.js +75 -12
  122. package/dist/lib/__tests__/mode-state-io.test.js.map +1 -1
  123. package/dist/lib/mode-state-io.d.ts +11 -0
  124. package/dist/lib/mode-state-io.d.ts.map +1 -1
  125. package/dist/lib/mode-state-io.js +64 -0
  126. package/dist/lib/mode-state-io.js.map +1 -1
  127. package/dist/lib/worktree-paths.d.ts +12 -0
  128. package/dist/lib/worktree-paths.d.ts.map +1 -1
  129. package/dist/lib/worktree-paths.js +75 -0
  130. package/dist/lib/worktree-paths.js.map +1 -1
  131. package/dist/planning/__tests__/artifacts.test.d.ts +2 -0
  132. package/dist/planning/__tests__/artifacts.test.d.ts.map +1 -0
  133. package/dist/planning/__tests__/artifacts.test.js +486 -0
  134. package/dist/planning/__tests__/artifacts.test.js.map +1 -0
  135. package/dist/planning/artifact-names.d.ts +13 -0
  136. package/dist/planning/artifact-names.d.ts.map +1 -0
  137. package/dist/planning/artifact-names.js +108 -0
  138. package/dist/planning/artifact-names.js.map +1 -0
  139. package/dist/planning/artifacts.d.ts +47 -0
  140. package/dist/planning/artifacts.d.ts.map +1 -0
  141. package/dist/planning/artifacts.js +221 -0
  142. package/dist/planning/artifacts.js.map +1 -0
  143. package/dist/team/__tests__/api-interop.compatibility.test.js +194 -5
  144. package/dist/team/__tests__/api-interop.compatibility.test.js.map +1 -1
  145. package/dist/team/__tests__/model-contract.test.js +92 -2
  146. package/dist/team/__tests__/model-contract.test.js.map +1 -1
  147. package/dist/team/__tests__/runtime-v2.dispatch.test.js +30 -0
  148. package/dist/team/__tests__/runtime-v2.dispatch.test.js.map +1 -1
  149. package/dist/team/__tests__/scaling.test.js +39 -1
  150. package/dist/team/__tests__/scaling.test.js.map +1 -1
  151. package/dist/team/__tests__/worker-bootstrap.test.js +6 -0
  152. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
  153. package/dist/team/api-interop.d.ts.map +1 -1
  154. package/dist/team/api-interop.js +89 -2
  155. package/dist/team/api-interop.js.map +1 -1
  156. package/dist/team/delegation-evidence.d.ts +5 -0
  157. package/dist/team/delegation-evidence.d.ts.map +1 -0
  158. package/dist/team/delegation-evidence.js +29 -0
  159. package/dist/team/delegation-evidence.js.map +1 -0
  160. package/dist/team/model-contract.d.ts +8 -0
  161. package/dist/team/model-contract.d.ts.map +1 -1
  162. package/dist/team/model-contract.js +13 -0
  163. package/dist/team/model-contract.js.map +1 -1
  164. package/dist/team/runtime-v2.d.ts +2 -1
  165. package/dist/team/runtime-v2.d.ts.map +1 -1
  166. package/dist/team/runtime-v2.js +3 -1
  167. package/dist/team/runtime-v2.js.map +1 -1
  168. package/dist/team/state/tasks.d.ts +4 -1
  169. package/dist/team/state/tasks.d.ts.map +1 -1
  170. package/dist/team/state/tasks.js +38 -1
  171. package/dist/team/state/tasks.js.map +1 -1
  172. package/dist/team/team-ops.d.ts +4 -1
  173. package/dist/team/team-ops.d.ts.map +1 -1
  174. package/dist/team/team-ops.js +2 -2
  175. package/dist/team/team-ops.js.map +1 -1
  176. package/dist/team/types.d.ts +22 -1
  177. package/dist/team/types.d.ts.map +1 -1
  178. package/dist/team/types.js.map +1 -1
  179. package/dist/team/worker-bootstrap.d.ts.map +1 -1
  180. package/dist/team/worker-bootstrap.js +6 -1
  181. package/dist/team/worker-bootstrap.js.map +1 -1
  182. package/dist/tools/__tests__/state-tools.test.js +322 -5
  183. package/dist/tools/__tests__/state-tools.test.js.map +1 -1
  184. package/dist/tools/__tests__/wiki-tools-working-directory.test.d.ts +2 -0
  185. package/dist/tools/__tests__/wiki-tools-working-directory.test.d.ts.map +1 -0
  186. package/dist/tools/__tests__/wiki-tools-working-directory.test.js +66 -0
  187. package/dist/tools/__tests__/wiki-tools-working-directory.test.js.map +1 -0
  188. package/dist/tools/state-tools.d.ts +3 -10
  189. package/dist/tools/state-tools.d.ts.map +1 -1
  190. package/dist/tools/state-tools.js +393 -91
  191. package/dist/tools/state-tools.js.map +1 -1
  192. package/dist/tools/wiki-tools.js +8 -8
  193. package/dist/tools/wiki-tools.js.map +1 -1
  194. package/docs/GETTING-STARTED.md +7 -0
  195. package/docs/REFERENCE.md +5 -5
  196. package/docs/copilot-instructions.md +1 -1
  197. package/package.json +1 -1
  198. package/scripts/lib/model-routing-override-message.mjs +21 -0
  199. package/scripts/persistent-mode.cjs +107 -0
  200. package/scripts/persistent-mode.mjs +102 -0
  201. package/scripts/post-tool-verifier.mjs +1 -0
  202. package/scripts/pre-tool-enforcer.mjs +163 -2
  203. package/scripts/session-start.mjs +63 -0
  204. package/scripts/setup-copilot-instructions.sh +12 -2
  205. package/scripts/wiki-pre-compact.mjs +1 -4
  206. package/skills/configure-notifications/SKILL.md +3 -3
  207. package/skills/deep-dive/SKILL.md +52 -4
  208. package/skills/deep-interview/SKILL.md +109 -15
  209. package/skills/mcp-setup/SKILL.md +60 -45
  210. package/skills/omc-setup/SKILL.md +3 -3
  211. package/skills/omc-setup/phases/01-install-claude-md.md +1 -1
  212. package/skills/omc-setup/phases/04-welcome.md +8 -8
  213. package/skills/plan/SKILL.md +1 -1
  214. package/skills/project-session-manager/SKILL.md +2 -2
  215. package/skills/project-session-manager/psm.sh +1 -1
  216. package/skills/ralplan/SKILL.md +2 -2
  217. package/templates/hooks/lib/model-routing-override-message.mjs +21 -0
  218. package/templates/hooks/persistent-mode.mjs +66 -0
  219. package/templates/hooks/session-start.mjs +62 -0
@@ -2,8 +2,8 @@
2
2
  name: deep-interview
3
3
  description: Socratic deep interview with mathematical ambiguity gating before autonomous execution
4
4
  argument-hint: "[--quick|--standard|--deep] [--autoresearch] <idea or vague description>"
5
- pipeline: [deep-interview, omc-plan, autopilot]
6
- next-skill: omc-plan
5
+ pipeline: [deep-interview, plan, autopilot]
6
+ next-skill: plan
7
7
  next-skill-args: --consensus --direct
8
8
  handoff: .omcp/specs/deep-interview-{slug}.md
9
9
  level: 3
@@ -39,10 +39,12 @@ Inspired by the [Ouroboros project](https://github.com/Q00/ouroboros) which demo
39
39
  <Execution_Policy>
40
40
  - Ask ONE question at a time -- never batch multiple questions
41
41
  - Target the WEAKEST clarity dimension with each question
42
+ - Before Round 1 ambiguity scoring, run a one-time Round 0 topology enumeration gate that confirms the top-level component list and locks it into state
42
43
  - Make weakest-dimension targeting explicit every round: name the weakest dimension, state its score/gap, and explain why the next question is aimed there
43
44
  - Gather codebase facts via `explore` agent BEFORE asking the user about them
44
45
  - For brownfield confirmation questions, cite the repo evidence that triggered the question (file path, symbol, or pattern) instead of asking the user to rediscover it
45
46
  - Score ambiguity after every answer -- display the score transparently
47
+ - When the locked topology has multiple active components, score and target each component explicitly so depth-first clarity on one component cannot hide ambiguity in siblings
46
48
  - Keep prompt payloads budgeted: summarize or trim oversized initial context/history before composing question, scoring, spec, or handoff prompts
47
49
  - If the user's initial context is oversized, create a concise prompt-safe summary first and wait for that summary before ambiguity scoring, question generation, or downstream execution handoff
48
50
  - Do not proceed to execution until ambiguity ≤ the resolved threshold for this run
@@ -103,6 +105,13 @@ When arguments include `--autoresearch`, Deep Interview becomes the zero-learnin
103
105
  "current_ambiguity": 1.0,
104
106
  "threshold": <resolvedThreshold>,
105
107
  "codebase_context": null,
108
+ "topology": {
109
+ "status": "pending|confirmed|legacy_missing",
110
+ "confirmed_at": null,
111
+ "components": [],
112
+ "deferrals": [],
113
+ "last_targeted_component_id": null
114
+ },
106
115
  "challenge_modes_used": [],
107
116
  "ontology_snapshots": []
108
117
  }
@@ -117,6 +126,69 @@ When arguments include `--autoresearch`, Deep Interview becomes the zero-learnin
117
126
  > **Project type:** {greenfield|brownfield}
118
127
  > **Current ambiguity:** 100% (we haven't started yet)
119
128
 
129
+ ## Round 0: Topology Enumeration Gate
130
+
131
+ Run this gate exactly once after Phase 1 initialization and before any Phase 2 ambiguity scoring. The goal is to lock the **shape** of the user's scope before depth-first Socratic questioning can overfit to the most-described component.
132
+
133
+ 1. **Enumerate candidate top-level components** from the prompt-safe initial idea and brownfield context:
134
+ - Extract top-level verbs/nouns, workstreams, surfaces, integrations, or deliverables that can succeed or fail independently.
135
+ - Prefer 1-6 components. If more than 6 candidates appear, group siblings at the highest useful level and note the grouping rationale.
136
+ - Do not treat implementation tasks, fields, or sub-features as top-level components unless the user framed them as independent outcomes.
137
+ 2. **Ask one confirmation question** before Round 1:
138
+
139
+ ```
140
+ Round 0 | Topology confirmation | Ambiguity: not scored yet
141
+
142
+ I'm reading this as {N} top-level component(s):
143
+ 1. {component_name}: {one_sentence_description}
144
+ 2. ...
145
+
146
+ Is that topology right? Should any component be added, removed, merged, split, or explicitly deferred?
147
+ ```
148
+
149
+ Options should include contextually relevant choices such as **Looks right**, **Add/remove/merge components**, **Defer one or more components**, plus free-text. This is the only pre-scoring question and preserves the one-question-per-round rule.
150
+
151
+ 3. **Lock topology into state** after the answer. Store a normalized component list and confirmation timestamp:
152
+
153
+ ```json
154
+ {
155
+ "topology": {
156
+ "status": "confirmed",
157
+ "confirmed_at": "<ISO-8601 timestamp>",
158
+ "components": [
159
+ {
160
+ "id": "component-slug",
161
+ "name": "Component Name",
162
+ "description": "Confirmed top-level outcome",
163
+ "status": "active|deferred",
164
+ "evidence": ["initial prompt phrase or brownfield citation"],
165
+ "clarity_scores": {
166
+ "goal": null,
167
+ "constraints": null,
168
+ "criteria": null,
169
+ "context": null
170
+ },
171
+ "weakest_dimension": null
172
+ }
173
+ ],
174
+ "deferrals": [
175
+ {
176
+ "component_id": "component-slug",
177
+ "reason": "User-confirmed deferral reason",
178
+ "confirmed_at": "<ISO-8601 timestamp>"
179
+ }
180
+ ],
181
+ "last_targeted_component_id": null
182
+ }
183
+ }
184
+ ```
185
+
186
+ 4. **Legacy state migration:** When resuming an existing `deep-interview` state file that lacks `topology`, treat it as `"status": "legacy_missing"`. If no final `spec_path` exists yet, run Round 0 before the next ambiguity scoring pass and then continue with the existing transcript. If a final spec already exists, do not rewrite history; note in any handoff that topology was not captured for that legacy interview.
187
+
188
+ 5. **Single-component pass-through:** If the user confirms one active component, Phase 2 proceeds with the existing flow while still carrying `topology.components[0]` into scoring and spec output.
189
+
190
+ 6. **Four-component fixture shape:** For an initial idea such as "Build an intake pipeline that ingests CSVs, normalizes records, provides a detailed reviewer UI with inline comments and approvals, and exports audit-ready reports," Round 0 should surface all four top-level components — `Ingestion`, `Normalization`, `Review UI`, and `Export` — even though `Review UI` is the one detailed component. The detailed `Review UI` component must not collapse or stand in for the less-detailed sibling components. Phase 2 must ask follow-up questions until every active component has sufficient goal/constraint/criteria clarity. Phase 4 must cover each confirmed component in `## Topology` or explicitly list a user-confirmed deferral for that component.
191
+
120
192
  ## Phase 2: Interview Loop
121
193
 
122
194
  Repeat until `ambiguity ≤ threshold` OR user exits early:
@@ -129,13 +201,15 @@ Build the question generation prompt with:
129
201
  - Current clarity scores per dimension (which is weakest?)
130
202
  - Challenge agent mode (if activated -- see Phase 3)
131
203
  - Brownfield codebase context (if applicable), summarized to cited paths/symbols/patterns instead of raw dumps
204
+ - Locked topology from Round 0, including active components, deferred components, prior per-component scores, and `last_targeted_component_id`
132
205
 
133
206
  If any prompt input is too large, summarize it first and then continue from the summary. Do not ask the next `AskUserQuestion`, score ambiguity, or hand off to execution from an over-budget raw transcript.
134
207
 
135
208
  **Question targeting strategy:**
136
- - Identify the dimension with the LOWEST clarity score
137
- - Generate a question that specifically improves that dimension
138
- - State, in one sentence before the question, why this dimension is now the bottleneck to reducing ambiguity
209
+ - Identify the active component + dimension pair with the LOWEST clarity score across the locked topology
210
+ - When N > 1 active components are tied or similarly weak, rotate targeting across active components rather than asking repeatedly about the last targeted component; update `topology.last_targeted_component_id` after each question
211
+ - Generate a question that specifically improves that component's weakest dimension
212
+ - State, in one sentence before the question, why this component/dimension pair is now the bottleneck to reducing ambiguity
139
213
  - Questions should expose ASSUMPTIONS, not gather feature lists
140
214
  - If the scope is still conceptually fuzzy (entities keep shifting, the user is naming symptoms, or the core noun is unstable), switch to an ontology-style question that asks what the thing fundamentally IS before returning to feature/detail questions
141
215
 
@@ -153,7 +227,7 @@ If any prompt input is too large, summarize it first and then continue from the
153
227
  Use `AskUserQuestion` with the generated question. Present it clearly with the current ambiguity context:
154
228
 
155
229
  ```
156
- Round {n} | Targeting: {weakest_dimension} | Why now: {one_sentence_targeting_rationale} | Ambiguity: {score}%
230
+ Round {n} | Component: {target_component_name} | Targeting: {weakest_dimension} | Why now: {one_sentence_targeting_rationale} | Ambiguity: {score}%
157
231
 
158
232
  {question}
159
233
  ```
@@ -167,13 +241,18 @@ After receiving the user's answer, score clarity across all dimensions.
167
241
  **Scoring prompt** (use opus model, temperature 0.1 for consistency):
168
242
 
169
243
  ```
170
- Given the following interview transcript for a {greenfield|brownfield} project, score clarity on each dimension from 0.0 to 1.0. If the initial context or transcript was summarized for prompt safety, score from that summary plus the preserved round decisions/gaps; do not re-expand raw oversized context.
244
+ Given the following interview transcript for a {greenfield|brownfield} project, score clarity on each dimension from 0.0 to 1.0. If the initial context or transcript was summarized for prompt safety, score from that summary plus the preserved round decisions/gaps; do not re-expand raw oversized context. Honor the locked Round 0 topology: score every active component independently and never drop confirmed sibling components just because one component is already clear.
171
245
 
172
246
  Original idea or prompt-safe initial-context summary: {idea_or_initial_context_summary}
173
247
 
174
248
  Transcript or prompt-safe transcript summary:
175
249
  {all rounds Q&A or summarized transcript}
176
250
 
251
+ Locked topology:
252
+ {state.topology.components and state.topology.deferrals}
253
+
254
+ Score each active component on each dimension, then provide the overall dimension scores as the minimum or coverage-weighted weakest score across active components. Deferred components are excluded from ambiguity math but must remain listed in topology and the final spec.
255
+
177
256
  Score each dimension:
178
257
  1. Goal Clarity (0.0-1.0): Is the primary objective unambiguous? Can you state it in one sentence without qualifiers? Can you name the key entities (nouns) and their relationships (verbs) without ambiguity?
179
258
  2. Constraint Clarity (0.0-1.0): Are the boundaries, limitations, and non-goals clear?
@@ -186,8 +265,10 @@ For each dimension provide:
186
265
  - gap: what's still unclear (if score < 0.9)
187
266
 
188
267
  Also identify:
189
- - weakest_dimension: the single lowest-confidence dimension this round
190
- - weakest_dimension_rationale: one sentence explaining why it is the highest-leverage target for the next question
268
+ - weakest_component_id: the active component with the lowest clarity after applying rotation across components when N > 1
269
+ - weakest_dimension: the single lowest-confidence dimension for that component this round
270
+ - weakest_dimension_rationale: one sentence explaining why this component/dimension pair is the highest-leverage target for the next question
271
+ - component_scores: object keyed by component id, with per-dimension scores and gaps
191
272
 
192
273
  5. Ontology Extraction: Identify all key entities (nouns) discussed in the transcript.
193
274
 
@@ -239,16 +320,18 @@ Round {n} complete.
239
320
  | Context (brownfield) | {s} | {w} | {s*w} | {gap or "Clear"} |
240
321
  | **Ambiguity** | | | **{score}%** | |
241
322
 
323
+ **Topology:** Targeted {target_component_name} | Active: {active_component_count} | Deferred: {deferred_component_count} | Next rotation after: {last_targeted_component_id}
324
+
242
325
  **Ontology:** {entity_count} entities | Stability: {stability_ratio} | New: {new} | Changed: {changed} | Stable: {stable}
243
326
 
244
- **Next target:** {weakest_dimension} — {weakest_dimension_rationale}
327
+ **Next target:** {target_component_name} / {weakest_dimension} — {weakest_dimension_rationale}
245
328
 
246
329
  {score <= threshold ? "Clarity threshold met! Ready to proceed." : "Focusing next question on: {weakest_dimension}"}
247
330
  ```
248
331
 
249
332
  ### Step 2e: Update State
250
333
 
251
- Update interview state with the new round and scores via `state_write`.
334
+ Update interview state with the new round, global scores, per-component `topology.components[].clarity_scores`, `topology.components[].weakest_dimension`, ontology snapshot, and `topology.last_targeted_component_id` via `state_write`.
252
335
 
253
336
  ### Step 2f: Check Soft Limits
254
337
 
@@ -310,8 +393,15 @@ Spec structure:
310
393
  | **Total Clarity** | | | **{total}** |
311
394
  | **Ambiguity** | | | **{1-total}** |
312
395
 
396
+ ## Topology
397
+ {List every Round 0 confirmed top-level component. Active components must have coverage notes; deferred components must include the user-confirmed deferral reason and timestamp.}
398
+
399
+ | Component | Status | Description | Coverage / Deferral Note |
400
+ |-----------|--------|-------------|--------------------------|
401
+ | {component.name} | {active|deferred} | {component.description} | {covered acceptance criteria or deferral reason} |
402
+
313
403
  ## Goal
314
- {crystal-clear goal statement derived from interview}
404
+ {crystal-clear goal statement derived from interview, covering every active topology component}
315
405
 
316
406
  ## Constraints
317
407
  - {constraint 1}
@@ -379,7 +469,7 @@ After the spec is written, present execution options via `AskUserQuestion`:
379
469
 
380
470
  1. **Ralplan → Autopilot (Recommended)**
381
471
  - Description: "3-stage pipeline: consensus-refine this spec with Planner/Architect/Critic, then execute with full autopilot. Maximum quality."
382
- - Action: Invoke `Skill("oh-my-copilot:omc-plan")` with `--consensus --direct` flags and the spec file path as context. The `--direct` flag skips the omc-plan skill's interview phase (the deep interview already gathered requirements), while `--consensus` triggers the Planner/Architect/Critic loop. When consensus completes and produces a plan in `.omcp/plans/`, invoke `Skill("oh-my-copilot:autopilot")` with the consensus plan as Phase 0+1 output — autopilot skips both Expansion and Planning, starting directly at Phase 2 (Execution).
472
+ - Action: Invoke `Skill("oh-my-copilot:plan")` with `--consensus --direct` flags and the spec file path as context. The `--direct` flag skips the omc-plan skill's interview phase (the deep interview already gathered requirements), while `--consensus` triggers the Planner/Architect/Critic loop. When consensus completes and produces a plan in `.omcp/plans/`, invoke `Skill("oh-my-copilot:autopilot")` with the consensus plan as Phase 0+1 output — autopilot skips both Expansion and Planning, starting directly at Phase 2 (Execution).
383
473
  - Pipeline: `deep-interview spec → omc-plan --consensus --direct → autopilot execution`
384
474
 
385
475
  2. **Execute with autopilot (skip ralplan)**
@@ -431,6 +521,7 @@ Skipping any stage is possible but reduces quality assurance:
431
521
  - Preserve the AskUserQuestion path for OMC-native interaction; do not introduce OMX-only structured-question transport into this skill
432
522
  - Use `Task(subagent_type="oh-my-copilot:explore", model="haiku")` for brownfield codebase exploration (run BEFORE asking user about codebase)
433
523
  - Use opus model (temperature 0.1) for ambiguity scoring — consistency is critical
524
+ - Round 0 topology confirmation happens before ambiguity scoring; Phase 2 scoring must honor locked topology and rotate targeting across active components when more than one is present
434
525
  - Use `state_write` / `state_read` for interview state persistence
435
526
  - Use `Write` tool to save the final spec to `.omcp/specs/deep-interview-{slug}.md` exactly; use `.omcp/state/` or `state_write` for ephemeral artifacts
436
527
  - Use `Skill()` to bridge to execution modes — never implement directly
@@ -555,14 +646,17 @@ Why bad: 45% ambiguity means nearly half the requirements are unclear. The mathe
555
646
  - [ ] Every round explicitly names the weakest dimension and why it is the next target
556
647
  - [ ] Challenge agents activated at correct thresholds (round 4, 6, 8)
557
648
  - [ ] Spec file written to `.omcp/specs/deep-interview-{slug}.md` exactly; ephemeral artifacts stayed under `.omcp/state/` or `state_write`
558
- - [ ] Spec includes: goal, constraints, acceptance criteria, clarity breakdown, transcript
649
+ - [ ] Spec includes: topology, goal, constraints, acceptance criteria, clarity breakdown, transcript
559
650
  - [ ] Execution bridge presented via AskUserQuestion
560
651
  - [ ] Selected execution mode invoked via Skill() (never direct implementation)
561
652
  - [ ] If 3-stage pipeline selected: omc-plan --consensus --direct invoked, then autopilot with consensus plan
562
653
  - [ ] State cleaned up after execution handoff
563
654
  - [ ] Brownfield confirmation questions cite repo evidence (file/path/pattern) before asking the user to decide
564
655
  - [ ] Scope-fuzzy tasks can trigger ontology-style questioning to stabilize the core entity before feature elaboration
565
- - [ ] Per-round ambiguity report includes Ontology row with entity count and stability ratio
656
+ - [ ] Round 0 topology gate completed before ambiguity scoring and persisted `topology.confirmed_at`
657
+ - [ ] Per-round ambiguity report includes Topology target/coverage and Ontology row with entity count and stability ratio
658
+ - [ ] Multi-component interviews rotate targeting across active components when N > 1
659
+ - [ ] Spec includes Topology section with confirmed active components and user-confirmed deferrals
566
660
  - [ ] Spec includes Ontology (Key Entities) table and Ontology Convergence section
567
661
  </Final_Checklist>
568
662
 
@@ -1,27 +1,26 @@
1
1
  ---
2
2
  name: mcp-setup
3
3
  description: Configure popular MCP servers for enhanced agent capabilities
4
- level: 2
5
4
  ---
6
5
 
7
6
  # MCP Setup
8
7
 
9
- Configure Model Context Protocol (MCP) servers to extend Claude Code's capabilities with external tools like web search, file system access, and GitHub integration.
8
+ Configure Model Context Protocol (MCP) servers to extend Copilot CLI's capabilities with external tools like web search, token optimization, and DevOps integration.
10
9
 
11
10
  ## Overview
12
11
 
13
- MCP servers provide additional tools that Claude Code agents can use. This skill helps you configure popular MCP servers using the `claude mcp add` command-line interface.
12
+ MCP servers provide additional tools that Copilot CLI agents can use. This skill helps you configure popular MCP servers using the `copilot mcp add` command-line interface.
14
13
 
15
14
  ## Step 1: Choose a Setup Path
16
15
 
17
- Use **AskUserQuestion** with **one question at a time** and **no more than 3 options per question**. Recent Claude Code builds reject larger option payloads as invalid tool parameters, so keep the MCP selection flow staged.
16
+ Use **AskUserQuestion** with **one question at a time** and **no more than 3 options per question**. Recent Copilot CLI builds reject larger option payloads as invalid tool parameters, so keep the MCP selection flow staged.
18
17
 
19
18
  ### Step 1.1: First menu
20
19
 
21
20
  **Question:** "What kind of MCP setup would you like?"
22
21
 
23
22
  **Options:**
24
- 1. **Recommended starter setup** - Fast path for the most common OMC MCP additions
23
+ 1. **Recommended starter setup** - Fast path for the most common OMCP MCP additions
25
24
  2. **Individual popular server** - Pick one built-in server from a short follow-up menu
26
25
  3. **Custom server** - Add your own stdio or HTTP MCP server
27
26
 
@@ -33,8 +32,8 @@ Ask a follow-up **AskUserQuestion**:
33
32
 
34
33
  **Options:**
35
34
  1. **Context7 only (Recommended)** - Zero-config docs/context server
36
- 2. **Context7 + Exa** - Docs/context plus enhanced web search
37
- 3. **Full recommended bundle** - Context7, Exa, Filesystem, and GitHub
35
+ 2. **Context7 + lean-ctx** - Docs/context plus token-saving compression layer
36
+ 3. **Full recommended bundle** - Context7, lean-ctx, Exa, and GitHub
38
37
 
39
38
  Map that choice to the server list you will configure.
40
39
 
@@ -46,17 +45,17 @@ Ask a follow-up **AskUserQuestion**:
46
45
 
47
46
  **Options:**
48
47
  1. **Context7 (Recommended)** - Documentation and code context from popular libraries
49
- 2. **Exa Web Search** - Enhanced web search (replaces built-in websearch)
50
- 3. **More server choices** - Filesystem, GitHub, or the full recommended bundle
48
+ 2. **lean-ctx** - Token-saving compression layer for Read/Grep/Bash tools
49
+ 3. **More server choices** - Exa, GitHub, Azure DevOps, or the full recommended bundle
51
50
 
52
51
  If the user chooses **More server choices**, ask one more **AskUserQuestion**:
53
52
 
54
53
  **Question:** "Which additional MCP option do you want?"
55
54
 
56
55
  **Options:**
57
- 1. **Filesystem (Recommended)** - Extended file system access with additional capabilities
58
- 2. **GitHub** - GitHub API integration for issues, PRs, and repository management
59
- 3. **Full recommended bundle** - Configure Context7, Exa, Filesystem, and GitHub together
56
+ 1. **Exa Web Search** - Enhanced web search (replaces built-in websearch)
57
+ 2. **GitHub / Azure DevOps** - Repository and project management integration
58
+ 3. **Full recommended bundle** - Configure Context7, lean-ctx, Exa, and GitHub together
60
59
 
61
60
  ### Step 1.4: If the user chooses "Custom server"
62
61
 
@@ -75,13 +74,9 @@ Do you have an Exa API key?
75
74
  - Enter your API key, or type 'skip' to configure later
76
75
  ```
77
76
 
78
- ### For Filesystem:
79
- Ask for allowed directories:
80
- ```
81
- Which directories should the filesystem MCP have access to?
82
- Default: Current working directory
83
- Enter comma-separated paths, or press Enter for default
84
- ```
77
+ ### For lean-ctx:
78
+ No API key required. Installs automatically. Saves 60-80% input tokens via caching and compression.
79
+ More info: https://github.com/yvgude/lean-ctx
85
80
 
86
81
  ### For GitHub:
87
82
  Ask for token:
@@ -92,46 +87,64 @@ Do you have a GitHub Personal Access Token?
92
87
  - Enter your token, or type 'skip' to configure later
93
88
  ```
94
89
 
90
+ ### For Azure DevOps:
91
+ Ask for organization:
92
+ ```
93
+ What is your Azure DevOps organization URL?
94
+ - Example: https://dev.azure.com/my-org
95
+ - Enter your organization URL, or type 'skip' to configure later
96
+ ```
97
+ More info: https://github.com/microsoft/azure-devops-mcp
98
+
95
99
  ## Step 3: Add MCP Servers Using CLI
96
100
 
97
- Use the `claude mcp add` command to configure each MCP server. The CLI automatically handles settings.json updates and merging.
101
+ Use the `copilot mcp add` command to configure each MCP server. The CLI automatically handles settings.json updates and merging.
98
102
 
99
103
  ### Context7 Configuration:
100
104
  ```bash
101
- claude mcp add context7 -- npx -y @upstash/context7-mcp
105
+ copilot mcp add context7 -- npx -y @upstash/context7-mcp
102
106
  ```
103
107
 
104
108
  ### Exa Web Search Configuration:
105
109
  ```bash
106
- claude mcp add -e EXA_API_KEY=<user-provided-key> exa -- npx -y exa-mcp-server
110
+ copilot mcp add -e EXA_API_KEY=<user-provided-key> exa -- npx -y exa-mcp-server
107
111
  ```
108
112
 
109
- ### Filesystem Configuration:
113
+ ### lean-ctx Configuration:
110
114
  ```bash
111
- claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem <allowed-directories>
115
+ npm install -g lean-ctx-bin && lean-ctx setup
112
116
  ```
117
+ > Note: lean-ctx uses its own installer (`lean-ctx setup`) which auto-configures shell and all detected editors. It hooks into existing tools (Read, Grep, Bash) to compress and cache results automatically.
118
+
113
119
 
114
120
  ### GitHub Configuration:
115
121
 
116
122
  **Option 1: Docker (local)**
117
123
  ```bash
118
- claude mcp add -e GITHUB_PERSONAL_ACCESS_TOKEN=<user-provided-token> github -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
124
+ copilot mcp add -e GITHUB_PERSONAL_ACCESS_TOKEN=<user-provided-token> github -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
119
125
  ```
120
126
 
121
127
  **Option 2: HTTP (remote)**
122
128
  ```bash
123
- claude mcp add --transport http github https://api.githubcopilot.com/mcp/
129
+ copilot mcp add --transport http github https://api.githubcopilot.com/mcp/
124
130
  ```
125
131
 
126
132
  > Note: Docker option requires Docker installed. HTTP option is simpler but may have different capabilities.
127
133
 
134
+ ### Azure DevOps Configuration:
135
+ ```bash
136
+ copilot mcp add azure-devops -- npx -y @microsoft/azure-devops-mcp
137
+ ```
138
+
139
+ > Note: Requires Azure DevOps authentication. Run `az login` first or configure a PAT. See https://github.com/microsoft/azure-devops-mcp for setup details.
140
+
128
141
  ## Step 4: Verify Installation
129
142
 
130
143
  After configuration, verify the MCP servers are properly set up:
131
144
 
132
145
  ```bash
133
146
  # List configured MCP servers
134
- claude mcp list
147
+ copilot mcp list
135
148
  ```
136
149
 
137
150
  This will display all configured MCP servers and their status.
@@ -145,26 +158,27 @@ CONFIGURED SERVERS:
145
158
  [List the servers that were configured]
146
159
 
147
160
  NEXT STEPS:
148
- 1. Restart Claude Code for changes to take effect
161
+ 1. Restart Copilot CLI for changes to take effect
149
162
  2. The configured MCP tools will be available to all agents
150
- 3. Run `claude mcp list` to verify configuration
163
+ 3. Run `copilot mcp list` to verify configuration
151
164
 
152
165
  USAGE TIPS:
153
166
  - Context7: Ask about library documentation (e.g., "How do I use React hooks?")
154
167
  - Exa: Use for web searches (e.g., "Search the web for latest TypeScript features")
155
- - Filesystem: Extended file operations beyond the working directory
168
+ - lean-ctx: Automatic — compresses Read/Grep/Bash results to save tokens
156
169
  - GitHub: Interact with GitHub repos, issues, and PRs
170
+ - Azure DevOps: Manage work items, pipelines, repos, and wikis
157
171
 
158
172
  TROUBLESHOOTING:
159
- - If MCP servers don't appear, run `claude mcp list` to check status
173
+ - If MCP servers don't appear, run `copilot mcp list` to check status
160
174
  - Ensure you have Node.js 18+ installed for npx-based servers
161
175
  - For GitHub Docker option, ensure Docker is installed and running
162
176
  - Run /oh-my-copilot:omc-doctor to diagnose issues
163
177
 
164
178
  MANAGING MCP SERVERS:
165
- - Add more servers: /oh-my-copilot:mcp-setup or `claude mcp add ...`
166
- - List servers: `claude mcp list`
167
- - Remove a server: `claude mcp remove <server-name>`
179
+ - Add more servers: /oh-my-copilot:mcp-setup or `copilot mcp add ...`
180
+ - List servers: `copilot mcp list`
181
+ - Remove a server: `copilot mcp remove <server-name>`
168
182
  ```
169
183
 
170
184
  ## Custom MCP Server
@@ -179,24 +193,24 @@ Ask for:
179
193
  5. Environment variables (optional, key=value pairs)
180
194
  6. HTTP headers (optional, for http transport only)
181
195
 
182
- Then construct and run the appropriate `claude mcp add` command:
196
+ Then construct and run the appropriate `copilot mcp add` command:
183
197
 
184
198
  **For stdio servers:**
185
199
  ```bash
186
200
  # Without environment variables
187
- claude mcp add <server-name> -- <command> [args...]
201
+ copilot mcp add <server-name> -- <command> [args...]
188
202
 
189
203
  # With environment variables
190
- claude mcp add -e KEY1=value1 -e KEY2=value2 <server-name> -- <command> [args...]
204
+ copilot mcp add -e KEY1=value1 -e KEY2=value2 <server-name> -- <command> [args...]
191
205
  ```
192
206
 
193
207
  **For HTTP servers:**
194
208
  ```bash
195
209
  # Basic HTTP server
196
- claude mcp add --transport http <server-name> <url>
210
+ copilot mcp add --transport http <server-name> <url>
197
211
 
198
212
  # HTTP server with headers
199
- claude mcp add --transport http --header "Authorization: Bearer <token>" <server-name> <url>
213
+ copilot mcp add --transport http --header "Authorization: Bearer <token>" <server-name> <url>
200
214
  ```
201
215
 
202
216
  ### Company-context convention
@@ -206,7 +220,7 @@ If the custom server is meant to provide organization-specific reference materia
206
220
  Example local registration:
207
221
 
208
222
  ```bash
209
- claude mcp add company-context -- node examples/vendor-mcp-server/server.mjs
223
+ copilot mcp add company-context -- node examples/vendor-mcp-server/server.mjs
210
224
  ```
211
225
 
212
226
  Then point OMC at the full tool name in `.copilot/omg.jsonc` or `~/.config/copilot-omg/config.jsonc`:
@@ -227,19 +241,20 @@ This remains advisory prompt context, not runtime enforcement.
227
241
  ### MCP Server Not Loading
228
242
  - Ensure Node.js 18+ is installed
229
243
  - Check that npx is available in PATH
230
- - Run `claude mcp list` to verify server status
244
+ - Run `copilot mcp list` to verify server status
231
245
  - Check server logs for errors
232
246
 
233
247
  ### API Key Issues
234
248
  - Exa: Verify key at https://dashboard.exa.ai
235
249
  - GitHub: Ensure token has required scopes (repo, read:org)
236
- - Re-run `claude mcp add` with correct credentials if needed
250
+ - Azure DevOps: Run `az login` or check PAT permissions
251
+ - Re-run `copilot mcp add` with correct credentials if needed
237
252
 
238
253
  ### Agents Still Using Built-in Tools
239
- - Restart Claude Code after configuration
254
+ - Restart Copilot CLI after configuration
240
255
  - The built-in websearch will be deprioritized when exa is configured
241
- - Run `claude mcp list` to confirm servers are active
256
+ - Run `copilot mcp list` to confirm servers are active
242
257
 
243
258
  ### Removing or Updating a Server
244
- - Remove: `claude mcp remove <server-name>`
259
+ - Remove: `copilot mcp remove <server-name>`
245
260
  - Update: Remove the old server, then add it again with new configuration
@@ -79,7 +79,7 @@ EXAMPLES:
79
79
  /oh-my-copilot:omc-setup --global # Update all projects
80
80
  /oh-my-copilot:omc-setup --force # Re-run full setup wizard
81
81
 
82
- For more info: https://github.com/Yeachan-Heo/oh-my-copilot
82
+ For more info: https://github.com/RobinNorberg/oh-my-copilot
83
83
  ```
84
84
 
85
85
  ## Pre-Setup Check: Already Configured?
@@ -156,13 +156,13 @@ bash "${CLAUDE_PLUGIN_ROOT}/scripts/setup-progress.sh" clear
156
156
  ## Phase Execution
157
157
 
158
158
  ### For `--local` or `--global` flags:
159
- Read the file at `${CLAUDE_PLUGIN_ROOT}/skills/omc-setup/phases/01-install-claude-md.md` and follow its instructions.
159
+ Read the file at `${CLAUDE_PLUGIN_ROOT}/skills/omc-setup/phases/01-install-copilot-instructions.md` and follow its instructions.
160
160
  (The phase file handles early exit for flag mode.)
161
161
 
162
162
  ### For full setup (default or --force):
163
163
  Execute phases sequentially. For each phase, read the corresponding file and follow its instructions:
164
164
 
165
- 1. **Phase 1 - Install CLAUDE.md**: Read `${CLAUDE_PLUGIN_ROOT}/skills/omc-setup/phases/01-install-claude-md.md` and follow its instructions.
165
+ 1. **Phase 1 - Install copilot-instructions.md**: Read `${CLAUDE_PLUGIN_ROOT}/skills/omc-setup/phases/01-install-copilot-instructions.md` and follow its instructions.
166
166
 
167
167
  2. **Phase 2 - Environment Configuration**: Read `${CLAUDE_PLUGIN_ROOT}/skills/omc-setup/phases/02-configure.md` and follow its instructions. Phase 2 must delegate HUD/statusLine setup to the `hud` skill; do not generate or patch `statusLine` paths inline here.
168
168
 
@@ -46,7 +46,7 @@ For `local` installs inside a git repository, the script also seeds `.git/info/e
46
46
 
47
47
  **FALLBACK** if curl fails:
48
48
  Tell user to manually download from:
49
- https://raw.githubusercontent.com/Yeachan-Heo/oh-my-copilot/main/docs/CLAUDE.md
49
+ https://raw.githubusercontent.com/RobinNorberg/oh-my-copilot/main/docs/CLAUDE.md
50
50
 
51
51
  **Note**: The downloaded CLAUDE.md includes Context Persistence instructions with `<remember>` tags for surviving conversation compaction.
52
52
 
@@ -134,7 +134,7 @@ gh auth status &>/dev/null
134
134
  **Before prompting, check if the repository is already starred:**
135
135
 
136
136
  ```bash
137
- gh api user/starred/Yeachan-Heo/oh-my-copilot &>/dev/null
137
+ gh api user/starred/RobinNorberg/oh-my-copilot &>/dev/null
138
138
  ```
139
139
 
140
140
  **If already starred (exit code 0):**
@@ -147,15 +147,15 @@ Use AskUserQuestion:
147
147
 
148
148
  **Question:** "If you're enjoying oh-my-copilot, would you like to support the project by starring it on GitHub?"
149
149
 
150
- **Options:**
151
- 1. **Yes, star it!** - Star the repository
152
- 2. **No thanks** - Skip without further prompts
153
- 3. **Maybe later** - Skip without further prompts
150
+ **Options** (list in this exact order — Copilot CLI preselects the first option):
151
+ 1. **Yes, star it! (Recommended)** - Star the repository
152
+ 2. **Maybe later** - Skip without further prompts
153
+ 3. **No thanks** - Skip without further prompts
154
154
 
155
- If user chooses "Yes, star it!":
155
+ If user chooses "Yes, star it! (Recommended)":
156
156
 
157
157
  ```bash
158
- gh api -X PUT /user/starred/Yeachan-Heo/oh-my-copilot 2>/dev/null && echo "Thanks for starring!" || true
158
+ gh api -X PUT /user/starred/RobinNorberg/oh-my-copilot 2>/dev/null && echo "Thanks for starring!" || true
159
159
  ```
160
160
 
161
161
  **Note:** Fail silently if the API call doesn't work - never block setup completion.
@@ -165,7 +165,7 @@ gh api -X PUT /user/starred/Yeachan-Heo/oh-my-copilot 2>/dev/null && echo "Thank
165
165
  ```bash
166
166
  echo ""
167
167
  echo "If you enjoy oh-my-copilot, consider starring the repo:"
168
- echo " https://github.com/Yeachan-Heo/oh-my-copilot"
168
+ echo " https://github.com/RobinNorberg/oh-my-copilot"
169
169
  echo ""
170
170
  ```
171
171
 
@@ -2,7 +2,7 @@
2
2
  name: omc-plan
3
3
  description: Strategic planning with optional interview workflow
4
4
  argument-hint: "[--direct|--consensus|--review] [--interactive] [--deliberate] <task description>"
5
- pipeline: [deep-interview, omc-plan, autopilot]
5
+ pipeline: [deep-interview, plan, autopilot]
6
6
  next-skill: autopilot
7
7
  handoff: .omcp/plans/ralplan-*.md
8
8
  level: 4
@@ -50,7 +50,7 @@ Supported formats:
50
50
  {
51
51
  "aliases": {
52
52
  "omc": {
53
- "repo": "Yeachan-Heo/oh-my-copilot",
53
+ "repo": "RobinNorberg/oh-my-copilot",
54
54
  "local": "~/Workspace/oh-my-copilot",
55
55
  "default_base": "main"
56
56
  }
@@ -564,7 +564,7 @@ if [[ ! -f ~/.psm/projects.json ]]; then
564
564
  {
565
565
  "aliases": {
566
566
  "omc": {
567
- "repo": "Yeachan-Heo/oh-my-copilot",
567
+ "repo": "RobinNorberg/oh-my-copilot",
568
568
  "local": "~/Workspace/oh-my-copilot",
569
569
  "default_base": "main"
570
570
  }
@@ -85,7 +85,7 @@ Reference formats:
85
85
 
86
86
  Examples:
87
87
  psm review omc#123
88
- psm fix Yeachan-Heo/oh-my-copilot#42
88
+ psm fix RobinNorberg/oh-my-copilot#42
89
89
  psm feature omc add-webhooks
90
90
  psm list
91
91
  psm attach omc:pr-123
@@ -7,7 +7,7 @@ level: 4
7
7
 
8
8
  # Ralplan (Consensus Planning Alias)
9
9
 
10
- Ralplan is a shorthand alias for `/oh-my-copilot:omc-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).
10
+ Ralplan is a shorthand alias for `/oh-my-copilot: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
11
 
12
12
  ## Usage
13
13
 
@@ -33,7 +33,7 @@ Ralplan is a shorthand alias for `/oh-my-copilot:omc-plan --consensus`. It trigg
33
33
  This skill invokes the Plan skill in consensus mode:
34
34
 
35
35
  ```
36
- /oh-my-copilot:omc-plan --consensus <arguments>
36
+ /oh-my-copilot:plan --consensus <arguments>
37
37
  ```
38
38
 
39
39
  The consensus workflow: