orbitmap 0.4.2 → 0.4.4

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 (164) hide show
  1. package/README.md +112 -18
  2. package/dist/adapters/cloud.d.ts +63 -21
  3. package/dist/adapters/cloud.js +108 -29
  4. package/dist/adapters/cloud.js.map +1 -1
  5. package/dist/adapters/factory.d.ts +3 -0
  6. package/dist/adapters/factory.js +8 -1
  7. package/dist/adapters/factory.js.map +1 -1
  8. package/dist/adapters/local/adapter.d.ts +17 -20
  9. package/dist/adapters/local/adapter.js +28 -21
  10. package/dist/adapters/local/adapter.js.map +1 -1
  11. package/dist/adapters/local/context.d.ts +1 -1
  12. package/dist/adapters/local/context.js +10 -2
  13. package/dist/adapters/local/context.js.map +1 -1
  14. package/dist/adapters/local/entities/planning.d.ts +5 -1
  15. package/dist/adapters/local/entities/planning.js +16 -3
  16. package/dist/adapters/local/entities/planning.js.map +1 -1
  17. package/dist/adapters/local/entities/tasks.d.ts +9 -1
  18. package/dist/adapters/local/entities/tasks.js +47 -5
  19. package/dist/adapters/local/entities/tasks.js.map +1 -1
  20. package/dist/adapters/local/entities/work-items.d.ts +14 -30
  21. package/dist/adapters/local/entities/work-items.js +63 -47
  22. package/dist/adapters/local/entities/work-items.js.map +1 -1
  23. package/dist/adapters/local/rules.d.ts +4 -4
  24. package/dist/adapters/local/rules.js +4 -19
  25. package/dist/adapters/local/rules.js.map +1 -1
  26. package/dist/adapters/local/shapes.d.ts +27 -7
  27. package/dist/adapters/local/shapes.js +41 -5
  28. package/dist/adapters/local/shapes.js.map +1 -1
  29. package/dist/adapters/local/store.d.ts +55 -6
  30. package/dist/adapters/local/store.js +122 -8
  31. package/dist/adapters/local/store.js.map +1 -1
  32. package/dist/adapters/local/types.d.ts +11 -2
  33. package/dist/adapters/local/types.js +9 -2
  34. package/dist/adapters/local/types.js.map +1 -1
  35. package/dist/adapters/types.d.ts +30 -20
  36. package/dist/agent-instructions.d.ts +43 -12
  37. package/dist/agent-instructions.js +1133 -170
  38. package/dist/agent-instructions.js.map +1 -1
  39. package/dist/area-directories.d.ts +75 -0
  40. package/dist/area-directories.js +162 -0
  41. package/dist/area-directories.js.map +1 -0
  42. package/dist/area-grouping.d.ts +55 -0
  43. package/dist/area-grouping.js +72 -0
  44. package/dist/area-grouping.js.map +1 -0
  45. package/dist/commands/areas.js +30 -2
  46. package/dist/commands/areas.js.map +1 -1
  47. package/dist/commands/assign.d.ts +1 -0
  48. package/dist/commands/assign.js +2 -0
  49. package/dist/commands/assign.js.map +1 -1
  50. package/dist/commands/context.d.ts +95 -0
  51. package/dist/commands/context.js +104 -2
  52. package/dist/commands/context.js.map +1 -1
  53. package/dist/commands/create.d.ts +1 -0
  54. package/dist/commands/create.js +19 -14
  55. package/dist/commands/create.js.map +1 -1
  56. package/dist/commands/dep.js +5 -8
  57. package/dist/commands/dep.js.map +1 -1
  58. package/dist/commands/doc-import.d.ts +1 -0
  59. package/dist/commands/doc-import.js +8 -26
  60. package/dist/commands/doc-import.js.map +1 -1
  61. package/dist/commands/doc-patch.js +16 -52
  62. package/dist/commands/doc-patch.js.map +1 -1
  63. package/dist/commands/doc-share.js +4 -0
  64. package/dist/commands/doc-share.js.map +1 -1
  65. package/dist/commands/doc-update.js +4 -8
  66. package/dist/commands/doc-update.js.map +1 -1
  67. package/dist/commands/doc.js +7 -12
  68. package/dist/commands/doc.js.map +1 -1
  69. package/dist/commands/docs-cache.js +23 -10
  70. package/dist/commands/docs-cache.js.map +1 -1
  71. package/dist/commands/docs.js +29 -10
  72. package/dist/commands/docs.js.map +1 -1
  73. package/dist/commands/get.js +8 -10
  74. package/dist/commands/get.js.map +1 -1
  75. package/dist/commands/ideas.d.ts +3 -1
  76. package/dist/commands/ideas.js +26 -49
  77. package/dist/commands/ideas.js.map +1 -1
  78. package/dist/commands/init.d.ts +24 -1
  79. package/dist/commands/init.js +0 -0
  80. package/dist/commands/init.js.map +1 -1
  81. package/dist/commands/intent.d.ts +16 -0
  82. package/dist/commands/intent.js +61 -18
  83. package/dist/commands/intent.js.map +1 -1
  84. package/dist/commands/issues.d.ts +3 -1
  85. package/dist/commands/issues.js +47 -72
  86. package/dist/commands/issues.js.map +1 -1
  87. package/dist/commands/log.d.ts +14 -2
  88. package/dist/commands/log.js +35 -20
  89. package/dist/commands/log.js.map +1 -1
  90. package/dist/commands/mission.d.ts +8 -0
  91. package/dist/commands/mission.js +58 -18
  92. package/dist/commands/mission.js.map +1 -1
  93. package/dist/commands/orbit.d.ts +7 -1
  94. package/dist/commands/orbit.js +13 -24
  95. package/dist/commands/orbit.js.map +1 -1
  96. package/dist/commands/setup-agent.d.ts +97 -4
  97. package/dist/commands/setup-agent.js +273 -40
  98. package/dist/commands/setup-agent.js.map +1 -1
  99. package/dist/commands/setup-mcp.d.ts +2 -0
  100. package/dist/commands/setup-mcp.js +17 -40
  101. package/dist/commands/setup-mcp.js.map +1 -1
  102. package/dist/commands/start.d.ts +43 -0
  103. package/dist/commands/start.js +158 -3
  104. package/dist/commands/start.js.map +1 -1
  105. package/dist/commands/status.d.ts +1 -0
  106. package/dist/commands/status.js +5 -15
  107. package/dist/commands/status.js.map +1 -1
  108. package/dist/commands/subtask.d.ts +1 -0
  109. package/dist/commands/subtask.js +9 -2
  110. package/dist/commands/subtask.js.map +1 -1
  111. package/dist/commands/task-edit-content.js +4 -8
  112. package/dist/commands/task-edit-content.js.map +1 -1
  113. package/dist/commands/task.d.ts +7 -0
  114. package/dist/commands/task.js +5 -2
  115. package/dist/commands/task.js.map +1 -1
  116. package/dist/commands/tasks.d.ts +35 -0
  117. package/dist/commands/tasks.js +45 -9
  118. package/dist/commands/tasks.js.map +1 -1
  119. package/dist/commands/vibes.d.ts +3 -1
  120. package/dist/commands/vibes.js +41 -31
  121. package/dist/commands/vibes.js.map +1 -1
  122. package/dist/config.d.ts +11 -0
  123. package/dist/config.js +14 -1
  124. package/dist/config.js.map +1 -1
  125. package/dist/doc-cache.d.ts +74 -5
  126. package/dist/doc-cache.js +106 -22
  127. package/dist/doc-cache.js.map +1 -1
  128. package/dist/enums.d.ts +26 -0
  129. package/dist/enums.js +53 -0
  130. package/dist/enums.js.map +1 -0
  131. package/dist/errors.d.ts +67 -0
  132. package/dist/errors.js +82 -0
  133. package/dist/errors.js.map +1 -1
  134. package/dist/index.js +169 -60
  135. package/dist/index.js.map +1 -1
  136. package/dist/mcp-config.d.ts +42 -1
  137. package/dist/mcp-config.js +82 -2
  138. package/dist/mcp-config.js.map +1 -1
  139. package/dist/oauth.js +10 -10
  140. package/dist/output.d.ts +12 -0
  141. package/dist/output.js +39 -1
  142. package/dist/output.js.map +1 -1
  143. package/dist/paths.d.ts +40 -0
  144. package/dist/paths.js +174 -9
  145. package/dist/paths.js.map +1 -1
  146. package/dist/project-config.d.ts +42 -1
  147. package/dist/project-config.js +51 -0
  148. package/dist/project-config.js.map +1 -1
  149. package/dist/work-log.d.ts +104 -0
  150. package/dist/work-log.js +181 -0
  151. package/dist/work-log.js.map +1 -0
  152. package/dist/workspace-resolve.d.ts +179 -9
  153. package/dist/workspace-resolve.js +288 -20
  154. package/dist/workspace-resolve.js.map +1 -1
  155. package/dist/write-target.d.ts +56 -0
  156. package/dist/write-target.js +170 -0
  157. package/dist/write-target.js.map +1 -0
  158. package/package.json +3 -2
  159. package/dist/commands/create-project.d.ts +0 -6
  160. package/dist/commands/create-project.js +0 -28
  161. package/dist/commands/create-project.js.map +0 -1
  162. package/dist/commands/projects.d.ts +0 -3
  163. package/dist/commands/projects.js +0 -28
  164. package/dist/commands/projects.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/adapters/local/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/adapters/local/store.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,15 @@ export type Iso8601 = string;
15
15
  export interface LocalRecord {
16
16
  [key: string]: unknown;
17
17
  }
18
- /** Local format version written into `workspace.yml`. */
19
- export declare const LOCAL_SCHEMA_VERSION = 1;
18
+ /**
19
+ * Local format version written into `workspace.yml`.
20
+ *
21
+ * - **1** — the PoC layout (spec §4.1), documents in `documents/`.
22
+ * - **2** — documents live in `docs/`, the same directory (and format) the doc cache uses in
23
+ * cloud mode, so there is exactly one copy of a document per machine (IN-rwb5qu).
24
+ * `LocalStore.migrate()` moves an older workspace over on the next command.
25
+ */
26
+ export declare const LOCAL_SCHEMA_VERSION = 2;
20
27
  /** Entity-number counters kept in `workspace.yml` (spec §4.2). */
21
28
  export interface WorkspaceCounters {
22
29
  task: number;
@@ -173,6 +180,8 @@ export interface IntentRecord extends LocalRecord {
173
180
  intent_number: string;
174
181
  name: string;
175
182
  status: IntentStatus;
183
+ design: string | null;
184
+ plan: string | null;
176
185
  mission: string | null;
177
186
  mission_position: number | null;
178
187
  orbit: null;
@@ -10,8 +10,15 @@
10
10
  * cycle instead of being silently dropped.
11
11
  */
12
12
  // ── Workspace and area headers ──────────────────────────────────────────────
13
- /** Local format version written into `workspace.yml`. */
14
- export const LOCAL_SCHEMA_VERSION = 1;
13
+ /**
14
+ * Local format version written into `workspace.yml`.
15
+ *
16
+ * - **1** — the PoC layout (spec §4.1), documents in `documents/`.
17
+ * - **2** — documents live in `docs/`, the same directory (and format) the doc cache uses in
18
+ * cloud mode, so there is exactly one copy of a document per machine (IN-rwb5qu).
19
+ * `LocalStore.migrate()` moves an older workspace over on the next command.
20
+ */
21
+ export const LOCAL_SCHEMA_VERSION = 2;
15
22
  /** Entity-number prefixes — identical to the server format (spec §4.4). */
16
23
  export const ENTITY_PREFIXES = {
17
24
  task: 'TS',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/local/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,+EAA+E;AAE/E,yDAAyD;AACzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAoDtC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAA+B;IACxD,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzE,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/local/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAoDtC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,cAAc,GAA+B;IACxD,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEzE,wEAAwE;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC3D,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC"}
@@ -6,6 +6,7 @@
6
6
  * the raw Agent API envelope shapes (`{ data: ... }`), unwrapped by the
7
7
  * command modules, never by the adapter.
8
8
  */
9
+ import type { WorkLogEntry } from '../work-log.js';
9
10
  export interface WorkspaceAdapter {
10
11
  getContext(areaId?: string): Promise<unknown>;
11
12
  /**
@@ -72,6 +73,16 @@ export interface WorkspaceAdapter {
72
73
  }): Promise<unknown>;
73
74
  removeTaskDependency(taskId: string, targetTaskId: string, type?: string): Promise<unknown>;
74
75
  logWork(taskId: string, type: string, content: string, metadata?: Record<string, unknown>): Promise<unknown>;
76
+ /**
77
+ * `POST /intents/{id_or_number}/logs` — a work log entry against an intent.
78
+ *
79
+ * A separate method rather than a `target` parameter on {@link WorkspaceAdapter.logWork}:
80
+ * the task route needs `/tasks/by-number/{n}` resolution first and the other two do not
81
+ * (the server resolves their display numbers inline), so the three genuinely differ.
82
+ */
83
+ logIntentWork(idOrNumber: string, type: string, content: string, metadata?: Record<string, unknown>): Promise<unknown>;
84
+ /** `POST /missions/{id_or_number}/logs` — a work log entry against a mission. */
85
+ logMissionWork(idOrNumber: string, type: string, content: string, metadata?: Record<string, unknown>): Promise<unknown>;
75
86
  getDocuments(options?: {
76
87
  type?: string;
77
88
  search?: string;
@@ -178,28 +189,17 @@ export interface WorkspaceAdapter {
178
189
  severity?: string;
179
190
  limit?: string;
180
191
  }): Promise<unknown>;
192
+ /** `GET /issues/{id_or_number}` — uuid, bare code or `IS-xxxxxx`; the server resolves it. */
181
193
  getIssue(idOrNumber: string): Promise<unknown>;
182
- getIssueByNumber(issueNumber: string): Promise<unknown>;
183
- resolveIssueByNumber(issueNumber: string, data: {
184
- status: string;
185
- resolution?: string;
186
- resolved_by_task_id?: string;
187
- }): Promise<unknown>;
188
- resolveIssue(idOrNumber: string, data: {
189
- status: string;
190
- resolution?: string;
191
- resolved_by_task_id?: string;
192
- }): Promise<unknown>;
194
+ /**
195
+ * `PATCH /issues/{id_or_number}/status` — also backs `issue resolve`; the API has no
196
+ * `/issues/{id}/resolve` route.
197
+ */
193
198
  updateIssueStatus(idOrNumber: string, data: {
194
199
  status: string;
195
200
  resolution?: string;
196
201
  resolved_task_id?: string;
197
202
  }): Promise<unknown>;
198
- updateIssueStatusByNumber(issueNumber: string, data: {
199
- status: string;
200
- resolution?: string;
201
- resolved_task_id?: string;
202
- }): Promise<unknown>;
203
203
  logVibe(data: {
204
204
  content: string;
205
205
  type: string;
@@ -223,20 +223,18 @@ export interface WorkspaceAdapter {
223
223
  priority?: string;
224
224
  limit?: string;
225
225
  }): Promise<unknown>;
226
+ /** `GET /ideas/{id_or_number}` — uuid, bare code or `ID-xxxxxx`; the server resolves it. */
226
227
  getIdea(idOrNumber: string): Promise<unknown>;
227
- getIdeaByNumber(ideaNumber: string): Promise<unknown>;
228
228
  createIdea(data: {
229
229
  content: string;
230
230
  title?: string;
231
231
  priority?: string;
232
232
  metadata?: Record<string, unknown>;
233
233
  }): Promise<unknown>;
234
+ /** `PATCH /ideas/{id_or_number}/status`. */
234
235
  updateIdeaStatus(idOrNumber: string, data: {
235
236
  status: string;
236
237
  }): Promise<unknown>;
237
- updateIdeaStatusByNumber(ideaNumber: string, data: {
238
- status: string;
239
- }): Promise<unknown>;
240
238
  listOrbits(options?: {
241
239
  areaId?: string;
242
240
  workspaceId?: string;
@@ -280,13 +278,22 @@ export interface WorkspaceAdapter {
280
278
  createIntent(data: {
281
279
  name: string;
282
280
  outcome?: string;
281
+ design?: string;
282
+ plan?: string;
283
283
  status?: string;
284
284
  area_id?: string;
285
285
  }): Promise<unknown>;
286
+ /**
287
+ * `logs` is the status-transition batch: entries written verbatim, in order, inside the
288
+ * same transaction as the update. The API rejects a status change that carries none (422).
289
+ */
286
290
  updateIntent(idOrNumber: string, data: {
287
291
  name?: string;
288
292
  outcome?: string;
293
+ design?: string;
294
+ plan?: string;
289
295
  status?: string;
296
+ logs?: WorkLogEntry[];
290
297
  }): Promise<unknown>;
291
298
  linkIntentItem(idOrNumber: string, data: {
292
299
  item_type: string;
@@ -314,10 +321,13 @@ export interface WorkspaceAdapter {
314
321
  description?: string;
315
322
  outcome?: string;
316
323
  end_date?: string;
324
+ logs?: WorkLogEntry[];
317
325
  }): Promise<unknown>;
326
+ /** `logs` as on {@link WorkspaceAdapter.updateIntent} — this route IS the mission's gate. */
318
327
  setMissionStatus(idOrNumber: string, data: {
319
328
  status: string;
320
329
  move_target_mission_id?: string;
330
+ logs?: WorkLogEntry[];
321
331
  }): Promise<unknown>;
322
332
  linkMissionItem(idOrNumber: string, data: {
323
333
  item_type: string;
@@ -3,13 +3,18 @@ export declare const MARKER_END = "<!-- ORBITMAP_END -->";
3
3
  /** The core skill name (entry point). Kept for backwards compatibility. */
4
4
  export declare const SKILL_NAME = "orbitmap";
5
5
  export declare const SKILL_ORBITMAP_FRONTMATTER = "---\nname: orbitmap\ndescription: >\n OrbitMap project management via the orbitmap CLI. Use when the user mentions OrbitMap,\n orbit, tasks, backlog, missions, intents, ideas, issues, vibes, or asks to track,\n plan, or log work. Entry point: object model, context resolution, command reference.\n---";
6
- export declare const SKILL_ORBITMAP_BODY = "# OrbitMap CLI \u2014 core\n\nOrbitMap is an agentic project management platform. You interact with it exclusively\nthrough the `orbitmap` CLI (run with `npx orbitmap \u2026` if not on PATH). The CLI works\nidentically in cloud mode and local-files mode \u2014 never assume which one is active, and\nnever read or write the workspace's data files directly. The CLI is the only interface.\n\n## General behaviour\n- Always prioritise the user's direct request. If the user asks you to do something\n (read a file, write code, answer a question), handle that first.\n- Only interact with OrbitMap when the user explicitly asks you to (e.g. \"check my\n tasks\", \"start a task\", \"what's on my backlog\", \"log this idea\").\n- When the user mentions OrbitMap, orbit, task, backlog, or project-management concepts\n in the context of tracking work, use `orbitmap` commands to handle the request.\n\n## Object model\n- Workspace = team level. Area = repo-level scope (formerly Project) \u2014 tasks, vibes and\n most issues live in an area. Mission (MS-) = time-boxed workspace focus; at most one\n active. Intent (IN-) = workspace-level goal grouping tasks/issues. Idea (ID-) = future\n possibility, not a problem. Issue (IS-) = problem/bug. Vibe (VB-) = ad-hoc work log\n outside a task. Task (TS-) = unit of work.\n- Entity numbers (TS-xxxxxx etc.) are accepted by every command that takes an id.\n\n## Context\n- Area resolves automatically (config/env). Override per call with `--area <slug>`.\n- If a command fails asking for area context, run `orbitmap areas` to list areas, then\n retry with `--area`.\n- `orbitmap context` shows who you are, the workspace, and the active area. Run it when\n unsure.\n\n## Task statuses\nbacklog, todo, in_progress, in_review, review_changes, done, blocked.\n`orbitmap tasks` defaults to todo,in_progress. Ask for others explicitly, e.g.\n`orbitmap tasks --status backlog` when the user asks about the backlog.\n\n## Command reference (all commands accept --json)\n- Context: `orbitmap context`, `orbitmap areas`, `orbitmap overview`\n- Tasks: `orbitmap tasks [--status s1,s2]`, `orbitmap task TS-x`, `orbitmap get <ID>`,\n `orbitmap start [TS-x]`, `orbitmap status TS-x <status> [--delivery <d>]`,\n `orbitmap create \"title\" [--intent IN-x|--mission MS-x] [--priority p]`,\n `orbitmap subtask TS-parent \"title\"`, `orbitmap assign TS-x [agent]`,\n `orbitmap dep add|remove TS-a TS-b`, `orbitmap log TS-x \"msg\" --type <t>`\n- Issues: `orbitmap issue register|list|show|status|resolve`\n- Ideas: `orbitmap idea add|list|show|status`\n- Vibes: `orbitmap vibe log|list|show`\n- Missions: `orbitmap mission list|show|create|update|status|link|unlink`\n- Intents: `orbitmap intent list|show|create|update|link|unlink`\n- Documents: `orbitmap docs`, `orbitmap doc <slug> [--section \"## H\"|--full]`,\n `orbitmap doc-import`, `orbitmap doc-update`\n\n## Error handling\n- If OrbitMap is unreachable (network down / workspace directory unavailable), inform\n the user and continue the primary work without logging. Do NOT retry failed orbitmap\n calls in a loop \u2014 report the issue and proceed with the task.";
7
- export declare const SKILL_WORKING_FRONTMATTER = "---\nname: orbitmap-working\ndescription: >\n Working on OrbitMap tasks: starting/resuming, logging work, decisions and blockers,\n finishing with the correct status, git branches and delivery status. Use whenever\n implementing, resuming, or finishing a tracked task.\n---";
8
- export declare const SKILL_WORKING_BODY = "# Working on OrbitMap tasks\n\n## Task workflow (on user request)\nWhen the user asks you to work on tasks:\n1. `orbitmap tasks --status in_progress` \u2014 check for unfinished work.\n2. If found \u2192 `orbitmap task TS-x` \u2192 read the work log \u2192 resume from the resume point.\n3. If not \u2192 `orbitmap start` \u2014 auto-picks the first todo task, sets it in_progress and\n prints full context (description, agent_instructions, logs).\n4. If no tasks \u2192 inform the user.\nUse `orbitmap start TS-x` to begin a specific task; `orbitmap task TS-x` only inspects.\n\n## Rules\n- Work on ONE task at a time.\n- Always read agent_instructions from the task before implementing. Task-level\n agent_instructions take precedence over area-level instructions.\n- Only work on subtasks assigned to you; do not pick up other agents' subtasks.\n- Do NOT mark a parent task done while it has unfinished subtasks, unless the user\n explicitly asks.\n\n## Logging\n- `orbitmap log TS-x \"\u2026\" --type note|code_change|decision|blocker` \u2014 work WITHIN a task.\n- `orbitmap vibe log \"\u2026\" --type discovery|exploration|fix` \u2014 ad-hoc work outside a task.\n- Use `--type decision` when you pick between approaches, reject an alternative, or lock\n in a non-obvious assumption \u2014 record the choice AND the why, not just the outcome.\n- `orbitmap idea add` \u2014 future possibilities, NOT problems (problems \u2192\n `orbitmap issue register`).\n- Keep log content concrete, concise, and useful for someone resuming work later.\n\n## End of session or task \u2014 MANDATORY\n- Task finished \u2192 default to **in_review** so a human verifies before closing:\n `orbitmap log TS-x \"Ready for review: \u2026\" --type note` then\n `orbitmap status TS-x in_review`.\n- Task finished AND the user's prompt or the task's agent_instructions explicitly say to\n close without review \u2192 `orbitmap log TS-x \"Summary: \u2026\" --type note` then\n `orbitmap status TS-x done`.\n- Blocked by an external dependency you cannot resolve (waiting on another task, missing\n access/credentials, unclear requirements, failing external service) \u2192\n `orbitmap log TS-x \"Blocked: <reason>\" --type blocker` then\n `orbitmap status TS-x blocked`.\n- Session ending, task not done but NOT blocked \u2192 `orbitmap log TS-x \"Resume point: \u2026\"\n --type note` \u2014 leave status in_progress.\n- NEVER leave a task without a final log entry.\n\n### Status decision guide\n- **in_review**: work is finished. THE DEFAULT for completed work. The requester should\n verify before closing.\n- **done**: only when the prompt or task agent_instructions explicitly allow closing\n without review (\"auto-close\", \"mark as done\", \"no review needed\"). A user saying \"do\n this task\" is NOT permission to auto-close.\n- **blocked**: an external factor outside your control stops you. Always log the\n specific blocker.\n- **in_progress** (keep): session ends but you can resume autonomously next time.\n\n## Git workflow\n- When the task context contains a branch_name, create or switch to it:\n `git checkout -b <branch_name>` (or `git checkout <branch_name>` if it exists).\n- If the task has NO branch_name, work on the current branch \u2014 do not create one.\n- Do NOT work directly on main/master/develop unless the task has no branch_name and you\n are already on a feature branch.\n\n## Delivery flow\n- Commit messages: prefix the entity number with its type tag \u2014\n `[TS-r5d8zf] Add delivery status field` (also `[IS-\u2026]`, `[ID-\u2026]`, `[VB-\u2026]`).\n- When you committed/pushed code during the task, finish with\n `orbitmap status TS-x <status> --delivery on_branch`.\n- When the user asks what's in a branch/PR: `git log target..source --oneline`, parse\n `[TS-\u2026]`/`[IS-\u2026]` tags, report the matched entities.\n- When the user reports a merge or release: update the relevant tasks with\n `--delivery merged` or `--delivery released`.\n\n## Planning mode (agents with a plan mode)\nWhen you create an implementation plan for a tracked task, you MUST include OrbitMap\nlifecycle steps as explicit plan items:\n- First step: reference the OrbitMap task number and title.\n- Last steps, always: (1) `orbitmap log` with a summary of all changes; (2)\n `orbitmap status` set per the status decision guide (or a resume-point log if\n incomplete).\n\n## Example: completing a task (default \u2192 in_review)\n1. `orbitmap tasks --status in_progress` \u2192 empty\n2. `orbitmap start` \u2192 task context\n3. read agent_instructions; implement; run tests; commit with `[TS-x]` prefix\n4. `orbitmap log TS-x \"Implemented X by doing Y\" --type code_change`\n5. `orbitmap log TS-x \"Ready for review: all tests pass.\" --type note`\n6. `orbitmap status TS-x in_review --delivery on_branch`";
9
- export declare const SKILL_PLANNING_FRONTMATTER = "---\nname: orbitmap-planning\ndescription: >\n Planning with OrbitMap: missions (time-boxed focus), intents (goals grouping work),\n promoting ideas to tasks, triaging issues, decomposing work into tasks and subtasks.\n Use for \"plan\", \"roadmap\", \"mission\", \"intent\", \"break this down\", idea or issue\n triage requests.\n---";
10
- export declare const SKILL_PLANNING_BODY = "# Planning in OrbitMap\n\n## Hierarchy\nMission (MS-) \u2192 Intent (IN-) \u2192 Task (TS-) / Issue (IS-). Missions and intents are\nworkspace-level; tasks live in areas. An intent groups the tasks/issues that realise one\ngoal; a mission time-boxes a set of intents (and directly-attached items) toward an\noutcome. At most ONE mission is active at a time.\n\n## Missions\n- `orbitmap mission list` / `orbitmap mission show MS-x`\n- `orbitmap mission create \"name\" [--outcome \"\u2026\"] [--start d] [--end d]`\n- `orbitmap mission status MS-x active|completed|cancelled` \u2014 activating fails while\n another mission is active; complete or cancel it first.\n- `orbitmap mission link MS-x IN-y|TS-y|IS-y|ID-y` / `mission unlink` \u2014 attach items.\n\n## Intents\n- `orbitmap intent create \"name\" [--mission MS-x]`, statuses:\n new \u2192 design \u2192 plan \u2192 build \u2192 done (or cancelled); update with\n `orbitmap intent update IN-x --status build`.\n- `orbitmap intent link IN-x TS-y|IS-y` attaches work items to the intent.\n- RULE (intent-exclusive): an item linked to an intent gets its mission THROUGH the\n intent \u2014 never set a direct mission on a task/issue that has an intent. The CLI\n enforces this; do not fight it.\n\n## Planning workflow (recommended when the user asks to plan a body of work)\n1. Clarify the outcome \u2192 `orbitmap mission create` (or pick the active mission).\n2. Split into goals \u2192 `orbitmap intent create` per goal, `mission link` them.\n3. Decompose each intent into concrete tasks \u2192\n `orbitmap create \"title\" --intent IN-x [--priority p]`, subtasks via\n `orbitmap subtask`.\n4. Wire ordering constraints \u2192 `orbitmap dep add TS-a TS-b` (a depends on b).\n5. Review: `orbitmap mission show MS-x` and `orbitmap overview`.\n\n## Ideas (opportunities, not problems)\n- Capture: `orbitmap idea add \"\u2026\" [--priority p]`.\n- Review: `orbitmap idea list` (default pending).\n- Promote to work: analyse the codebase first, then `orbitmap create \"task title\"\n --intent \u2026` referencing the idea in the description, then\n `orbitmap idea status ID-x used`. Reject with `\u2026 rejected`.\n\n## Issues (problems)\n- Report: `orbitmap issue register \"title\" --severity critical|high|medium|low\n [--description \"\u2026\"]`.\n- Start investigating: `orbitmap issue status IS-x investigating`.\n- Convert to work: `orbitmap create` a fix task, link it, and resolve with\n `orbitmap issue resolve IS-x --task TS-y --resolution \"\u2026\"` (or status wont_fix /\n duplicate with a reason).";
6
+ export declare const SKILL_ORBITMAP_BODY = "# OrbitMap CLI \u2014 core\n\nOrbitMap is an agentic project management platform. You interact with it exclusively\nthrough the `orbitmap` CLI (run with `npx orbitmap \u2026` if not on PATH). The CLI works\nidentically in cloud mode and local-files mode \u2014 never assume which one is active, and\nnever read or write the workspace's data files directly. The CLI is the only interface.\n\n## Goal\nOperate OrbitMap correctly: always start from `orbitmap context`, act on the active mission\nand open intents, write every item to the area the work belongs to, and go through the CLI\nonly \u2014 never the data files.\n\n**Interface:** every action below is an OrbitMap operation \u2014 run the `orbitmap` CLI command\nshown, or its equivalent MCP tool when this session uses MCP; `orbitmap <cmd> --help` and the\nMCP tool schemas are the authority. Never edit the workspace data files directly.\n\n## General behaviour\n- Always prioritise the user's direct request. If the user asks you to do something\n (read a file, write code, answer a question), handle that first.\n- Only interact with OrbitMap when the user explicitly asks you to (e.g. \"check my\n tasks\", \"start a task\", \"what's on my backlog\", \"log this idea\").\n- When the user mentions OrbitMap, orbit, task, backlog, or project-management concepts\n in the context of tracking work, use `orbitmap` commands to handle the request.\n\n## Object model\n- Workspace = team level. Area = repo-level scope (formerly Project) \u2014 tasks, vibes and\n most issues live in an area. Mission (MS-) = time-boxed workspace focus; at most one\n active. Intent (IN-) = workspace-level goal grouping tasks/issues. Idea (ID-) = future\n possibility, not a problem. Issue (IS-) = problem/bug. Vibe (VB-) = ad-hoc work log\n outside a task. Task (TS-) = unit of work.\n- Entity numbers (TS-xxxxxx etc.) are accepted by every command that takes an id.\n\n## Context\n- START HERE, always: `orbitmap context`. `orbitmap context` is authoritative and returns\n in ONE call everything a session needs \u2014 the agent, the workspace, the areas you work in,\n the active mission, open intents, your tasks and the documents. Never list areas and never\n ask the user \"which area?\" before you have read it.\n- You work in a WORKSPACE, not inside a single area. Missions, intents\n and documents are workspace-level and take no area \u2014 a document is exactly ONE copy,\n global to the workspace, never per-area. Tasks, vibes, issues and ideas are\n AREA-scoped.\n- Missions and intents outrank individual tasks. Asked to work on \"what matters\", take the\n active mission and open intents from context and pick work that serves them.\n- The area follows from the directory, never from a question to the user:\n `.orbitmap/config.json` maps directories \u2192 area slugs at the workspace root, and each\n area directory carries its own `.orbitmap/config.json` marker naming its area. That\n config is the only source of truth \u2014 never hard-code area names anywhere.\n So: do area-scoped work from the directory it belongs to and let the CLI resolve it.\n- `--area <slug>` is an OVERRIDE for a single call, not part of normal usage \u2014 reach for it\n only to read or write outside the area the current directory resolves to.\n- If a command fails with `AREA_CONTEXT_REQUIRED`, its details list the mapped\n directories: cd into the right one, or retry with `--area <slug>`.\n- WRITES: the resolved area is a default for *reading*, never a statement of where the\n work belongs. Before creating anything area-scoped (task, subtask, issue, vibe),\n derive the target area from the work itself (which repo/package it lives in) and pass\n `--area <slug>` if that differs from the area the CLI echoes. If the work itself is\n genuinely ambiguous, ASK THE USER; do not guess. There is no\n `move` command: a write in the wrong area has to be recreated.\n- Every write echoes its scope on stderr: `creates in area <slug> (source: \u2026)` when it\n creates an object, `scoped to area <slug> (source: \u2026)` when it changes one by id. A\n `source` of `global ~/.orbitmap/config.json` is a machine-wide leftover that nothing\n here chose \u2014 treat it as unconfirmed and pass `--area` explicitly.\n\n## Task statuses\nbacklog, todo, in_progress, in_review, review_changes, done, blocked.\n`orbitmap tasks` defaults to todo,in_progress. Ask for others explicitly, e.g.\n`orbitmap tasks --status backlog` when the user asks about the backlog.\n\n## Command reference (all commands accept --json)\n- Context: `orbitmap context` (start here), `orbitmap overview`, `orbitmap areas`\n (rarely needed \u2014 context already lists the areas you work in)\n- Tasks: `orbitmap tasks [--status s1,s2]`, `orbitmap task TS-x`, `orbitmap get <ID>`,\n `orbitmap start [TS-x]`, `orbitmap status TS-x <status> [--delivery <d>]`,\n `orbitmap create \"title\" [--intent IN-x|--mission MS-x] [--priority p]`,\n `orbitmap subtask TS-parent \"title\"`, `orbitmap assign TS-x [agent]`,\n `orbitmap dep add|remove TS-a TS-b`, `orbitmap log TS-x \"msg\" --type <t>`\n- Issues: `orbitmap issue register|list|show|status|resolve`\n- Ideas: `orbitmap idea add|list|show|status`\n- Vibes: `orbitmap vibe log|list|show`\n- Missions: `orbitmap mission list|show|create|update|status|link|unlink`\n- Intents: `orbitmap intent list|show|create|update|link|unlink`\n- Documents: `orbitmap docs`, `orbitmap doc <slug> [--section \"## H\"|--full]`,\n `orbitmap doc-import`, `orbitmap doc-update`\n\n## Error handling\n- If OrbitMap is unreachable (network down / workspace directory unavailable), inform\n the user and continue the primary work without logging. Do NOT retry failed orbitmap\n calls in a loop \u2014 report the issue and proceed with the task.";
7
+ export declare const SKILL_EXECUTE_FRONTMATTER = "---\nname: orbitmap-execute\ndescription: >\n Executing OrbitMap work \u2014 the fourth gate of the product-building flow. Two flows:\n \"execute IN-x\" delivers a whole planned intent in the background (parallel worker\n waves, per-task tests, the intent test, an impact pass against a baseline, a\n goal-based fix loop, everything ending in_review on an intent branch \u2014 merging stays\n the user's), and \"work on TS-x\" runs a single tracked task (starting/resuming,\n logging, finishing with the correct status, git branches and delivery status). Use\n whenever executing a planned intent or implementing, resuming, or finishing a\n tracked task.\n---";
8
+ export declare const SKILL_EXECUTE_BODY = "# Executing OrbitMap work\n\n## Goal\nDeliver work and leave Orb an accurate record. Flow A takes a PLANNED intent to delivered:\nevery task built and tested, the intent test and an impact pass green against a pre-run\nbaseline, all tasks `in_review` on an intent branch \u2014 merging and closing stay the user's.\nFlow B takes ONE tracked task from start to a correct finish. Both end with the right\nstatuses, delivery and worklog so the next agent can resume.\n\n**Interface:** every action below is an OrbitMap operation \u2014 run the `orbitmap` CLI command\nshown, or its equivalent MCP tool when this session uses MCP; `orbitmap <cmd> --help` and the\nMCP tool schemas are the authority. Never edit the workspace data files directly.\n\n## Choosing a flow\n- \"execute IN-x\", \"deliver this intent\", \"run the plan\" \u2192 **Flow A** (orchestration).\n- \"work on TS-x\", \"start a task\", a vague \"work on what's important\" \u2192 **Flow B**.\n- Flow A dispatches workers that follow `references/worker-contract.md` (shipped next to\n this file) \u2014 a worker reads that contract, not this skill.\n\n## Key principles\n- **The contract is the outcome, not a checklist.** The run works as long as needed to\n deliver the intent with all gates green \u2014 never \"tried N times, giving up\".\n- **Autonomy: decide and log.** A judgment call within the design \u2192 decide, keep going,\n log it if it passes the keep/drop test. A stuck task \u2192 `blocked` with a logged blocker\n while the REST of the intent continues. Interrupt the user ONLY for intent-level risk: a\n design contradiction, an unfixable intent test. Never a silent skip; never the whole run\n dying for one task.\n- **No new bugs, checkably.** Capture a test BASELINE before touching anything. A\n regression is a failure NOT in the baseline \u2014 pre-existing failures/flakes are neither\n blamed on the run nor silently counted green. What the run broke, the run fixes.\n- **Merging is human.** The run holds commit authority only \u2014 never merge, never push to\n the default branch, never close tasks or the intent as `done`. The branch is the user's\n review boundary.\n- **Distrust and verify.** Instructions age; the tree is the truth. Re-grep any claim a\n task's instructions make about the code (\"X lives in Y\", \"verified list of call sites\")\n before relying on it.\n- **The orchestrator owns shared state.** Workers never run git, never write OrbitMap,\n never use the shared test DB, never format, never change dependencies \u2014 commits, logs,\n statuses, formatting and test gates all happen at fold time, in the orchestrator.\n- **Never end the run to wait.** Shared gates QUEUE safely: run them in the foreground\n and wait on the command (generous timeout); an overrun that gets backgrounded resumes\n you on completion. Ending your turn is only for: run COMPLETE, or hard-blocked and\n logged \u2014 a background run that yields to \"wait for a signal\" is a dead run.\n\n## Flow A \u2014 execute IN-x (whole intent)\n1. **Premise check.** `orbitmap intent show IN-x`: it must exist, be at status `build`,\n and have tasks with agent_instructions. Anything missing \u2192 refuse politely and point at\n the missing gate (`orbitmap-brainstorm` for no outcome, `orbitmap-design` for no\n design, `orbitmap-plan` for no tasks). Read the outcome, design, plan field and work\n log in full \u2014 they are the run's spec.\n2. **Repos & baseline.** The touched repos follow from the tasks' areas \u2014 an intent may\n span several. Resolve each area to a directory in this order: the workspace's mapped\n directories (`orbitmap context` / `.orbitmap/config.json`), the workspace or repo\n CLAUDE.md (repo tables), the area's own description (`orbitmap areas` \u2014 descriptions\n often name the repo). NEVER guess a directory: an unmappable area blocks its tasks and\n their dependents, logged, while the rest of the run continues. Each repo's BASE branch\n is where its work lands per the workspace docs (e.g. develop); undocumented \u2192 the\n repo's current default branch, decide-and-log. Then run each touched repo's full gate\n once; record suite counts and every pre-existing failure/flake. Reuse a baseline when\n the repo's HEAD already has a green result recorded this session. A gate that cannot\n COMPLETE (a pre-existing hang) is itself a finding: register it as an issue, then\n baseline by subsets so every suite is still covered, and compare like with like.\n3. **Branch.** In each touched repo, create `intent/<IN-number>-<name-slug>` (e.g.\n `intent/7bcc4y-execute-skill-v2`) from its base branch (step 2). Honor a task's own\n `branch_name` only when that task genuinely needs isolation.\n4. **Wave loop** \u2014 repeat while runnable tasks remain:\n - Ready-set: unstarted tasks whose dependencies are all folded; `blocked` tasks and\n tasks depending on them drop out (log a blocker on those left unrunnable).\n - Size the wave by GATE CONTENTION, not a constant: tasks needing the shared test DB\n \u22644 concurrent (the gate serialises anyway); light, file-disjoint tasks (docs,\n separate repos) as wide as the ready-set \u2014 10+ is fine.\n - Dispatch one worker (subagent) per task. Prompt = the task number, its\n agent_instructions PASTED VERBATIM (workers get no CLI credentials \u2014 never make one\n fetch its own spec), the repo path, the exact files it owns, and one line: \"Follow\n references/worker-contract.md of the orbitmap-execute skill.\" Worktree isolation\n ONLY when same-repo tasks in the wave overlap on files; otherwise slice the wave\n file-disjoint in one tree; cross-repo needs nothing.\n - FOLD the workers' results sequentially in dependency order, a gate between folds:\n integrate one task \u2192 scoped tests \u2192 formatter \u2192 commit `[TS-x] \u2026` (one commit may\n carry several tasks that verify as one unit) \u2192 log per the keep/drop test \u2192\n `orbitmap status TS-x in_review --delivery on_branch`.\n - A task neither the worker nor the fold can save \u2192 `orbitmap log TS-x \"Blocked: \u2026\"\n --type blocker` + `orbitmap status TS-x blocked` \u2014 the run CONTINUES without it.\n Its dependents leave the ready-set with their own logged blocker but KEEP their\n status (backlog): they are waiting, not failed.\n - Recompute the ready-set; next wave.\n5. **Intent test.** The plan gate guarantees an intent-level test task; run it LAST \u2014\n and run it AS THE ORCHESTRATOR, never a worker: it needs the shared gates and the\n live app, exactly what the worker contract forbids workers.\n6. **Impact pass.** Full gate per touched repo, diffed against the baseline \u2014 a regression\n is a failure not in the baseline. When an API response shape moved, also run the\n contract-coupling steps (regenerate the committed spec, refresh the consumer's vendored\n fixtures) before judging the gates.\n7. **Fix loop.** Every regression or intent-test failure \u2192 a fix, gated by scoped tests;\n after the LAST fix the full pass runs again. NO round cap \u2014 loop until every task is\n delivered or honestly blocked and the gates are green vs baseline. An unfixable intent\n test or a design contradiction \u2192 STOP and ask the user: that is intent-level risk, the\n one thing that interrupts.\n8. **Report + resume note.** Leave every repo checked out on its BASE branch \u2014 the\n intent branch is named in the report, not left underfoot. Report in chat: what\n shipped, what was decided, what is blocked and why, deviations from the plan, gate\n results vs baseline. Write ONE resume\n point: `orbitmap log IN-x \"Resume point: \u2026\" --type note`. The intent STAYS `build`;\n merging and closing are the USER'S. The merge EVENT \u2014 whoever performs it \u2014 is what\n later flips the tasks to `--delivery merged`.\n\n**No subagent runtime?** Same flow, serial: do steps 4\u20137 yourself, task by task, with the\nworker contract as your own build rules. The contract is the outcome, not the parallelism.\n\n## Process flow (Flow A)\n```dot\ndigraph orbitmap_execute {\n \"Premise: intent at build, tasks with instructions?\" [shape=diamond];\n \"Refuse politely; point at the missing gate\" [shape=box];\n \"Baseline: full gate per touched repo, results recorded\" [shape=box];\n \"Branch intent/<number>-<slug> per touched repo\" [shape=box];\n \"Compute ready-set from dependency edges\" [shape=box];\n \"Size wave by gate contention; dispatch workers (worktrees only on file overlap)\" [shape=box];\n \"Fold sequentially, gate between folds: scoped tests, format, commit [TS-x], log, in_review on_branch\" [shape=box];\n \"Stuck task: blocked + logged blocker; run continues\" [shape=box];\n \"Runnable tasks remain?\" [shape=diamond];\n \"Run the intent test task (last)\" [shape=box];\n \"Impact pass: full gate per repo, diff vs baseline (+contract steps)\" [shape=box];\n \"Regressions or intent-test failures?\" [shape=diamond];\n \"Fix findings, scoped tests per fix\" [shape=box];\n \"Intent-level risk: stop and ask the user\" [shape=box];\n \"Report + resume note; intent stays build; user merges\" [shape=doublecircle];\n\n \"Premise: intent at build, tasks with instructions?\" -> \"Refuse politely; point at the missing gate\" [label=\"no\"];\n \"Premise: intent at build, tasks with instructions?\" -> \"Baseline: full gate per touched repo, results recorded\" [label=\"yes\"];\n \"Baseline: full gate per touched repo, results recorded\" -> \"Branch intent/<number>-<slug> per touched repo\";\n \"Branch intent/<number>-<slug> per touched repo\" -> \"Compute ready-set from dependency edges\";\n \"Compute ready-set from dependency edges\" -> \"Size wave by gate contention; dispatch workers (worktrees only on file overlap)\";\n \"Size wave by gate contention; dispatch workers (worktrees only on file overlap)\" -> \"Fold sequentially, gate between folds: scoped tests, format, commit [TS-x], log, in_review on_branch\";\n \"Size wave by gate contention; dispatch workers (worktrees only on file overlap)\" -> \"Stuck task: blocked + logged blocker; run continues\" [label=\"worker stuck\"];\n \"Stuck task: blocked + logged blocker; run continues\" -> \"Runnable tasks remain?\";\n \"Fold sequentially, gate between folds: scoped tests, format, commit [TS-x], log, in_review on_branch\" -> \"Runnable tasks remain?\";\n \"Runnable tasks remain?\" -> \"Compute ready-set from dependency edges\" [label=\"yes\"];\n \"Runnable tasks remain?\" -> \"Run the intent test task (last)\" [label=\"no\"];\n \"Run the intent test task (last)\" -> \"Impact pass: full gate per repo, diff vs baseline (+contract steps)\";\n \"Impact pass: full gate per repo, diff vs baseline (+contract steps)\" -> \"Regressions or intent-test failures?\";\n \"Regressions or intent-test failures?\" -> \"Fix findings, scoped tests per fix\" [label=\"yes\"];\n \"Fix findings, scoped tests per fix\" -> \"Impact pass: full gate per repo, diff vs baseline (+contract steps)\" [label=\"re-run\"];\n \"Fix findings, scoped tests per fix\" -> \"Intent-level risk: stop and ask the user\" [label=\"unfixable / contradiction\"];\n \"Regressions or intent-test failures?\" -> \"Report + resume note; intent stays build; user merges\" [label=\"no\"];\n}\n```\n\n## Flow B \u2014 work on TS-x (single task)\n1. `orbitmap context` \u2014 workspace, areas, active mission, open intents and your tasks in\n one call. Never ask which area; never list areas first.\n2. Unfinished work in context (or `orbitmap tasks --status in_progress`) \u2192\n `orbitmap task TS-x` \u2192 read the work log \u2192 resume from the resume point.\n3. Otherwise pick work serving the active mission / open intents, or `orbitmap start` \u2014\n auto-picks the first todo task, sets it in_progress and prints full context.\n `orbitmap start TS-x` begins a specific task; `orbitmap task TS-x` only inspects.\n Nothing to pick up \u2192 inform the user.\n4. Read agent_instructions before implementing \u2014 task-level overrides area-level \u2014 then\n distrust-and-verify their claims against the tree.\n5. Work on ONE task at a time. Implement, run the task's tests, commit `[TS-x] \u2026`.\n6. Log as you work (below); finish per \"End of session or task\".\n\n## Logging (both flows)\n- `orbitmap log TS-x \"\u2026\" --type note|code_change|decision|blocker` \u2014 work WITHIN a task.\n- `orbitmap vibe log \"\u2026\" --type discovery|exploration|fix` \u2014 ad-hoc work outside a task.\n- `orbitmap idea add` \u2014 future possibilities, NOT problems (problems \u2192\n `orbitmap issue register`).\n- `note` is the CATCH-ALL: anything useful that is not a `code_change`, `decision` or\n `blocker` goes in as `note`, with `--meta` carrying any unusual structure. There is\n deliberately NO `other` type. NEVER write `status_change` \u2014 the server authors it on\n every transition and the API rejects it from clients.\n- KEEP/DROP TEST \u2014 log a `decision` when ANY of these is true: an alternative was\n considered and REJECTED (record which, and why it lost); a non-obvious assumption or\n constraint was LOCKED IN; a choice was made that a later reader would otherwise\n re-litigate. Do NOT log: restating the outcome, design or plan (they are already\n fields on the intent); confirming something already written down elsewhere; mechanical\n facts recoverable from git, CI or the tracker (test counts, file lists, commit hashes);\n progress narration (\"started X\", \"working on Y\").\n KEEP \u2192 \"Parallelised the build across four subagents; the Laravel slices were split by\n file ownership to avoid collisions in one working tree.\" \u2014 records the rejected\n alternative (one agent per repo) and why it lost.\n DROP \u2192 \"make verify green at 2415 passed after merging all four agents.\" \u2014 a mechanical\n fact already in the commit message and the CI output.\n- Promote to the parent intent \u2014 TWO filters, BOTH must pass: the entry is a `decision` or\n `blocker` (never `note`/`code_change`), AND it passes the keep/drop test. Then ALSO\n write a SECOND, separately-worded entry for a reader who never saw the task:\n `orbitmap log IN-x \"<the decision and why>\" --type decision --meta\n '{\"source\":{\"type\":\"task\",\"id\":\"<task-uuid>\"}}'` (fall back to the TS- number if you\n lack the UUID). Two distinct entries, never one shared row.\n\n## End of session or task \u2014 MANDATORY\n- Task finished \u2192 default to **in_review** so a human verifies before closing:\n `orbitmap log TS-x \"Ready for review: \u2026\" --type note` then\n `orbitmap status TS-x in_review` (add `--delivery on_branch` when code was committed).\n- Task finished AND the user's prompt or the task's agent_instructions explicitly say to\n close without review \u2192 log a summary `note`, then `orbitmap status TS-x done`.\n- Blocked by something outside your control \u2192 `orbitmap log TS-x \"Blocked: <reason>\"\n --type blocker` then `orbitmap status TS-x blocked`.\n- Session ending, task unfinished but NOT blocked \u2192 `orbitmap log TS-x \"Resume point: \u2026\"\n --type note` \u2014 leave status in_progress.\n- NEVER leave a task without a final log entry.\n- Closing the intent (ONLY when the user explicitly asks \u2014 Flow A never does) \u2192 the\n transition must carry the build phase's entries (`--log <type>:<content>` is\n repeatable): `orbitmap intent update IN-x --status done --log code_change:\"<what was\n built>\" --log note:\"<what remains>\"`. A transition carrying no `--log` is REFUSED (422)\n and writes nothing at all.\n\n### Status decision guide\n- **in_review**: work finished. THE DEFAULT \u2014 the requester verifies before closing.\n- **done**: only when the prompt or agent_instructions explicitly allow closing without\n review. \"Do this task\" is NOT permission to auto-close.\n- **blocked**: an external factor stops you. Always log the specific blocker.\n- **in_progress** (keep): session ends but you can resume autonomously next time.\n\n## Git & delivery\n- Flow B: when the task context carries a `branch_name`, create or switch to it; without\n one, stay on the current branch \u2014 and never work directly on main/master/develop.\n- Commit messages: prefix the entity number with its type tag \u2014\n `[TS-r5d8zf] Add delivery status field` (also `[IS-\u2026]`, `[ID-\u2026]`, `[VB-\u2026]`).\n- Committed/pushed code during a task \u2192 finish with `--delivery on_branch`.\n- Asked what's in a branch/PR: `git log target..source --oneline`, parse the `[TS-\u2026]`\n tags, report the matched entities.\n- The delivery status follows the merge/release EVENT, whoever performs it: on a merge\n update the affected tasks with `--delivery merged`; on a release, `--delivery released`.\n\n## Rules\n- Flow A never merges, never pushes to the default branch, never closes tasks or the\n intent as `done` \u2014 the run ends at `in_review` on the intent branch, intent at `build`.\n- Baseline before any change; \"no new bugs\" = no failure absent from the baseline.\n- The fix loop is goal-based \u2014 no round cap; termination is delivered-or-blocked plus\n green gates, never a retry budget.\n- Decide-and-log within the design; `blocked` + continue for a stuck task; interrupt the\n user only for intent-level risk. Never a silent skip.\n- Workers follow `references/worker-contract.md`: no git, no OrbitMap writes, no shared\n test DB, no formatter, no dependency changes \u2014 the orchestrator owns all of those.\n- Flow B works on ONE task at a time.\n- Always read agent_instructions before implementing, then re-verify their claims against\n the tree (distrust-and-verify).\n- Agents with a plan mode: an implementation plan for a tracked task MUST include the\n lifecycle as explicit steps \u2014 first the task number/title, last the final `orbitmap log`\n + `orbitmap status` per the status decision guide.\n- NEVER leave a task without a final log entry; never author `status_change`; an intent\n transition without `--log` entries is refused (422).";
9
+ export declare const SKILL_EXECUTE_REFERENCES: Readonly<Record<string, string>>;
10
+ export declare const SKILL_PLAN_FRONTMATTER = "---\nname: orbitmap-plan\ndescription: >\n Planning an intent's design into executable tasks in OrbitMap \u2014 the third gate of the\n product-building flow (after design). Decomposes the agreed design into Orb-hierarchy\n tasks that provably cover the intent: tests per task + an intent-level test, a coverage\n hard-gate, correct-area placement, self-contained context/doc-grounded agent_instructions,\n cross-task notes in the intent plan field, and a doc-update-after-green step; then creates\n the tasks and hands off to orbitmap-execute. Use for \"plan this intent\", \"break this down\n into tasks\", an intent entering `plan` status \u2014 and for general planning (missions,\n intents, promoting ideas, triaging issues).\n---";
11
+ export declare const SKILL_PLAN_BODY = "# Planning a design into executable tasks\n\n## Goal\nProduce the intent's PLAN \u2014 a validated set of executable Orb tasks (with tests and\ndependencies) that fully covers the design \u2014 and create those tasks. The task set plus the\nplan-field notes are this gate's one deliverable.\n\n**Interface:** every action below is an OrbitMap operation \u2014 run the `orbitmap` CLI command\nshown, or its equivalent MCP tool when this session uses MCP; `orbitmap <cmd> --help` and the\nMCP tool schemas are the authority. Never edit the workspace data files directly.\n\n## The outcome is the north star; the design is its communication form\nThe tasks you plan exist to REALISE the intent's OUTCOME \u2014 the outcome is the north star,\nthe direction everything heads toward. The design is NOT the end; it is the agreed\ncommunication form that expresses HOW the outcome gets built. So plan against the design,\nbut keep the outcome as the test: every task, and the plan as a whole, must move the\noutcome closer \u2014 and if the design and the outcome ever disagree, the OUTCOME wins; surface\nthe gap rather than planning to a design that misses it. Read the outcome AND the design\nfirst; every task traces back to both. If the design is missing or too thin to plan against\n(the intent has not been through the design gate), STOP and step aside to `orbitmap-design`\n\u2014 do not decompose an unsettled design.\n\n## The plan field may hold seed notes\nThe intent's `plan` field may already carry seed notes \u2014 build-order, task ideas and\nexecution risks that the `orbitmap-brainstorm` gate (or the user) filed there earlier. If\nit does, read them FIRST and treat them as your HIGHEST-PRIORITY input: the USER-marked\nnotes outrank your own ideas and any agent notes. Absorb them into the plan you build, then\nlet your finished plan-field write REPLACE them (absorb, then replace). If the field already\nholds a real plan (notes + summary) instead of seed notes, treat it as an existing plan to\nrefine.\n\n## Key principles\n- **Cover the whole design.** The plan is complete only when every part of the design maps\n to at least one task and the task set, executed, delivers the outcome. Under-coverage is\n the main failure mode \u2014 the coverage check is a HARD GATE, not a nicety.\n- **Every task is testable, and the intent is tested.** Each task carries its own tests;\n the intent gets ONE test that proves the whole outcome.\n- **Every task is self-contained.** A fresh execute-agent with ZERO prior context must\n succeed from the task alone \u2014 so its `agent_instructions` carry the task's own summary,\n the Orb context and doc pointers it needs, and its acceptance/tests.\n- **Flat tasks, no subtasks.** Decompose into a flat list of tasks; this gate does NOT use\n subtasks. Express structure through dependencies, not nesting.\n- **Dependencies live in two places.** Wire the Orb dependency EDGE (`orbitmap dep add`) so\n `orbitmap-execute` can compute the ready-set and order/parallelise work \u2014 AND name the\n blocker and WHY inside the dependent task's own instructions (\"depends on TS-x: needs the\n schema it produces\"), so a zero-context agent sees it without querying the graph.\n- **Right area.** Derive each task's area from the work itself (which repo/package), not\n from where you happen to be; pass `--area <slug>` when it differs.\n- **Ground in verified reality.** Read the design, the relevant doc bodies and the repo\n before decomposing \u2014 never plan against a stale or assumed state.\n- **Know the neighbourhood.** Reuse or extend the intent's EXISTING tasks \u2014 never silently\n re-decompose work that already exists.\n- **One question at a time; ask sparingly; prefer multiple choice.** When you must ask,\n offer enumerable options with a recommended default; open questions are a last resort.\n\n## Hierarchy\nMission (MS-) \u2192 Intent (IN-) \u2192 Task (TS-) / Issue (IS-). Missions and intents are\nworkspace-level and take no area; tasks and issues are area-scoped. An intent groups the\ntasks/issues that realise one goal; a mission time-boxes a set of intents toward an\noutcome. At most ONE mission is active at a time. RULE (intent-exclusive): an item linked\nto an intent gets its mission THROUGH the intent \u2014 never set a direct mission on a\ntask/issue that has an intent; the CLI enforces this.\n\n## Dependencies\n- **Two layers, always.** The Orb dependency EDGE (`orbitmap dep add TS-a TS-b` \u2014 a\n depends on b) is machine-readable, so `orbitmap-execute` computes the ready-set, orders\n work, and runs independent tasks in parallel. The one-line \"depends on TS-x: <why>\" in\n the dependent task's `agent_instructions` is what a zero-context agent reads without\n querying the graph. Do both for every dependency.\n- **Only REAL blockers.** Add an edge only when a task genuinely cannot start until another\n is done \u2014 it needs that task's output (a schema, an interface, a bumped contract). Never\n encode mere preference or \"feels tidier\" ordering: false dependencies serialise work that\n could have run in parallel.\n- **Depend on the smallest thing.** If a task needs just one artifact from its predecessor,\n say exactly that in the note; do not over-couple whole tasks when one output suffices.\n- **Keep the DAG shallow and wide.** Prefer many independent tasks over a long chain \u2014 a\n deep chain forces serial execution and slows the whole intent. Split or re-cut to widen\n where the design allows.\n- **At least one ready task.** Some task must have NO dependencies \u2014 that is where execution\n starts. A plan where everything depends on something else cannot begin; re-cut it.\n- **No cycles.** If A depends on B and B on A, the task boundaries are wrong \u2014 re-cut them.\n- **Cross-area dependencies are first-class.** Provider-before-consumer across repos (e.g. a\n contract/schema change in one area before the tasks that re-vendor it in others) is a real\n edge \u2014 wire it even though the tasks live in different areas.\n\n## Flow\n1. Gather context. Read the intent's `outcome` + `design` + `plan` field\n (`orbitmap intent show IN-x`) \u2014 if the plan field holds seed notes, absorb them as\n highest-priority input (see above); `orbitmap context`; the relevant doc BODIES (`orbitmap doc <slug>` \u2014 the design flagged\n which); the neighbourhood (mission, sibling intents, and the intent's EXISTING tasks \u2014\n do not re-decompose them). Verify against the repo before decomposing.\n2. Decompose the design into a FLAT list of concrete tasks, each placed in the CORRECT\n area \u2014 `orbitmap create \"title\" --intent IN-x --area <slug> [--priority p]`. No\n subtasks.\n - KEEP/DROP TEST \u2014 log a `decision` when ANY of these is true: an alternative was\n considered and REJECTED (record which, and why it lost); a non-obvious assumption or\n constraint was LOCKED IN; a choice was made that a later reader would otherwise\n re-litigate. Do NOT log: restating the outcome, design or plan (they are already\n fields on the intent); confirming something already written down elsewhere; mechanical\n facts recoverable from git, CI or the tracker (test counts, file lists, commit hashes);\n progress narration (\"started X\", \"working on Y\").\n KEEP \u2192 \"Parallelised the build across four subagents; the Laravel slices were split by\n file ownership to avoid collisions in one working tree.\" \u2014 records the rejected\n alternative (one agent per repo) and why it lost.\n DROP \u2192 \"make verify green at 2415 passed after merging all four agents.\" \u2014 a mechanical\n fact already in the commit message and the CI output.\n - LOG IT THE MOMENT IT IS AGREED, not batched at the end:\n `orbitmap log IN-x \"<the decision and why \u2014 task shape, sequencing, area>\" --type decision`.\n An abandoned session must still leave its decisions recorded.\n - Progress stops (a design gap you cannot close, a missing prerequisite) \u2192\n `orbitmap log IN-x \"Blocked: <what stopped and why>\" --type blocker`.\n - `note` is the CATCH-ALL \u2014 anything useful that is not `code_change` / `decision` /\n `blocker` goes in as `note`, with `--meta` for unusual structure. There is deliberately\n NO `other` type. NEVER write `status_change`: the server authors it on every transition.\n3. For EACH task, write `agent_instructions` a zero-context execute-agent can run from\n alone: a one-line SUMMARY / outcome of the task; the Orb context + the specific doc\n slugs + the files/acceptance it needs; its TESTS (what to add and how to run them); and,\n if it is blocked, a one-line \"depends on TS-x: <why>\".\n4. Add ONE intent-level test that proves the whole outcome is delivered.\n5. Wire ordering \u2014 `orbitmap dep add TS-a TS-b` (a depends on b) \u2014 for every dependency,\n matching the \"depends on\" line you put in the task's instructions.\n6. COVERAGE GATE (hard): walk the design element by element and confirm each maps to a\n task, and that the task set as a whole delivers the outcome. If anything is uncovered,\n add or fix tasks and re-check. Do NOT proceed while a gap remains.\n7. Write cross-task PLANNING NOTES + a short SUMMARY to the intent `plan` field \u2014\n `orbitmap intent update IN-x --plan \"<notes>\"`: decisions valid for all tasks,\n sequencing rationale, and the coverage argument. This REPLACES any seed notes that were\n in the field \u2014 you have already absorbed them.\n8. Ensure a final DOC-UPDATE task exists: after the implementation is done and all tests\n are green, update the OrbitMap documentation (see the `orbitmap-docs` skill).\n9. SELF-REVIEW the plan with fresh eyes (see the Self-review section) and fix issues inline.\n10. Present the plan (tasks + areas + tests + the coverage argument) and get the user's\n approval before creating anything.\n11. On approval: create the tasks + dependency edges, then SHOW the created tasks in the\n terminal (display number \u00B7 title \u00B7 area \u00B7 its dependencies) so the user sees exactly\n what landed; write the plan field; advance the intent `plan \u2192 build` carrying this\n gate's entries \u2014 `--log <type>:<content>` is REPEATABLE, and `plan \u2192 build` takes\n `decision` (task shape) + `note` (resume point):\n `orbitmap intent update IN-x --status build --log decision:\"<task-shape decision + why>\" --log note:\"<resume point>\"`\n (a transition carrying no `--log` is REFUSED with 422 and writes nothing); and offer\n the `orbitmap-execute` skill by name so the user can approve and start execution right\n away \u2014 do NOT auto-chain into it yourself.\n\n## Self-review\nBefore presenting, read the plan with fresh eyes \u2014 this is where a weak plan is caught:\n- **Placeholders?** Every task's instructions must be concrete: real files, real\n acceptance, named tests. No \"TBD\", \"add tests\", \"handle edge cases\", or \"similar to\n above\" without the specifics. Fix inline.\n- **Coverage holds?** Re-walk the design \u2014 every element still maps to a task, and the set\n still delivers the outcome.\n- **Consistent?** What a task produces (names, interfaces, files) matches what its\n dependents consume; the dependency edges form a sane DAG with no cycles.\n- **Right-sized?** Each task is independently testable \u2014 not a multi-day monolith, not a\n trivial sliver a reviewer couldn't meaningfully gate.\nFix any issue inline; no need to re-review \u2014 just fix and move on.\n\n## Process flow\n```dot\ndigraph orbitmap_plan {\n \"Gather context: design + outcome + docs + neighbourhood\" [shape=box];\n \"Design solid enough to plan?\" [shape=diamond];\n \"Step aside to orbitmap-design\" [shape=box];\n \"Decompose into a flat list of tasks, each in the correct area\" [shape=box];\n \"Log decisions passing the keep/drop test, as they land\" [shape=box];\n \"Per task: summary + context/doc-grounded instructions + tests + depends-on line\" [shape=box];\n \"Add one intent-level test\" [shape=box];\n \"Wire dependency edges\" [shape=box];\n \"Coverage complete? (every design element to a task)\" [shape=diamond];\n \"Write plan-field notes + summary\" [shape=box];\n \"Add doc-update-after-green task\" [shape=box];\n \"Self-review the plan (placeholders / coverage / consistency / size)\" [shape=box];\n \"User approves the plan?\" [shape=diamond];\n \"Create tasks + dependency edges in Orb\" [shape=box];\n \"Show the created tasks in the terminal\" [shape=box];\n \"Advance status plan to build, with --log entries (refused if none)\" [shape=box];\n \"Offer orbitmap-execute (approve to start execution)\" [shape=doublecircle];\n\n \"Gather context: design + outcome + docs + neighbourhood\" -> \"Design solid enough to plan?\";\n \"Design solid enough to plan?\" -> \"Step aside to orbitmap-design\" [label=\"no\"];\n \"Design solid enough to plan?\" -> \"Decompose into a flat list of tasks, each in the correct area\" [label=\"yes\"];\n \"Decompose into a flat list of tasks, each in the correct area\" -> \"Log decisions passing the keep/drop test, as they land\";\n \"Log decisions passing the keep/drop test, as they land\" -> \"Per task: summary + context/doc-grounded instructions + tests + depends-on line\";\n \"Per task: summary + context/doc-grounded instructions + tests + depends-on line\" -> \"Add one intent-level test\";\n \"Add one intent-level test\" -> \"Wire dependency edges\";\n \"Wire dependency edges\" -> \"Coverage complete? (every design element to a task)\";\n \"Coverage complete? (every design element to a task)\" -> \"Decompose into a flat list of tasks, each in the correct area\" [label=\"no, add tasks\"];\n \"Coverage complete? (every design element to a task)\" -> \"Write plan-field notes + summary\" [label=\"yes\"];\n \"Write plan-field notes + summary\" -> \"Add doc-update-after-green task\";\n \"Add doc-update-after-green task\" -> \"Self-review the plan (placeholders / coverage / consistency / size)\";\n \"Self-review the plan (placeholders / coverage / consistency / size)\" -> \"User approves the plan?\";\n \"User approves the plan?\" -> \"Decompose into a flat list of tasks, each in the correct area\" [label=\"no, revise\"];\n \"User approves the plan?\" -> \"Create tasks + dependency edges in Orb\" [label=\"yes\"];\n \"Create tasks + dependency edges in Orb\" -> \"Show the created tasks in the terminal\";\n \"Show the created tasks in the terminal\" -> \"Advance status plan to build, with --log entries (refused if none)\";\n \"Advance status plan to build, with --log entries (refused if none)\" -> \"Offer orbitmap-execute (approve to start execution)\";\n}\n```\n\n## Before you hand off\n- **Coverage?** Every design element maps to a task, and the set delivers the outcome.\n- **Tests?** Every task has tests; one intent-level test proves the outcome.\n- **Self-contained?** Every task's instructions carry summary + Orb context + doc pointers\n + acceptance + any depends-on line \u2014 runnable by a zero-context agent.\n- **No placeholders?** Self-review done; no vague/TBD instructions remain.\n- **Areas?** Each task in the right area.\n- **Dependencies?** Orb dep edges wired AND named in the dependent tasks' instructions.\n- **Plan field?** Cross-task notes + a summary written to the intent `plan` field.\n- **Doc-update?** A doc-update-after-green task is in the plan.\nThen create the tasks + edges, SHOW them in the terminal, advance `plan \u2192 build`, and offer\n`orbitmap-execute` \u2014 never auto-chain.\n\n## Planning entities (reference)\nFor general planning outside a single design (setting up missions, capturing ideas,\ntriaging issues):\n- **Missions:** `orbitmap mission list|show MS-x`; `orbitmap mission create \"name\"\n [--outcome \"\u2026\"] [--start d] [--end d]`; `orbitmap mission status MS-x\n active|completed|cancelled` (activating fails while another is active \u2014 complete/cancel\n it first); `orbitmap mission link|unlink MS-x IN-y|TS-y|IS-y|ID-y`. A mission status\n change takes the same repeatable `--log <type>:<content>` and is refused (422) without\n at least one entry \u2014 `cancelled` above all needs its `decision:\"<why abandoned>\"`.\n `orbitmap log MS-x \"\u2026\" --type \u2026` logs against a mission outside a transition.\n- **Intents:** `orbitmap intent create \"name\" [--outcome \"\u2026\"] [--design \"\u2026\"] [--plan \"\u2026\"]\n [--mission MS-x]`, statuses new \u2192 design \u2192 plan \u2192 build \u2192 done (or cancelled). The\n `outcome` is the north star, `design` the agreed solution, `plan` the agreed build\n plan \u2014 produced by the `orbitmap-brainstorm` / `orbitmap-design` / `orbitmap-plan`\n gates respectively.\n- **Ideas (opportunities, not problems):** `orbitmap idea add \"\u2026\" [--priority p]`;\n `orbitmap idea list`; promote by analysing the codebase, then `orbitmap create \"title\"\n --intent \u2026` referencing the idea, then `orbitmap idea status ID-x used` (or `rejected`).\n- **Issues (problems):** `orbitmap issue register \"title\" --severity\n critical|high|medium|low [--description \"\u2026\"]`; `orbitmap issue status IS-x\n investigating`; resolve with a fix task via `orbitmap issue resolve IS-x --task TS-y\n --resolution \"\u2026\"` (or `wont_fix` / `duplicate` with a reason).\n\n## Rules\n- Cover the whole design \u2014 the coverage check is a HARD GATE; never hand off with a gap.\n- Flat tasks only \u2014 no subtasks; express structure through dependencies.\n- Every task carries its tests; the intent carries one outcome-proving test.\n- Every task's `agent_instructions` are self-contained for a zero-context agent (summary +\n Orb context + doc pointers + acceptance + any depends-on line). No placeholders.\n- Wire dependencies as Orb edges AND name them in the dependent tasks' instructions.\n- Place each task in the correct area; derive it from the work, not the current directory.\n- Self-review the plan before presenting; fix placeholders/coverage/consistency inline.\n- Write cross-task notes + a summary to the intent `plan` field.\n- Log `decision` entries that pass the keep/drop test (Flow step 2) as they are agreed, never\n batched; `blocker` whenever progress stops \u2014 an abandoned session must still leave a record.\n- The `plan \u2192 build` transition must carry the gate's entries as repeatable\n `--log <type>:<content>` \u2014 `decision` (task shape) + `note` (resume point); without at\n least one it is refused (422) and nothing is written. Never author `status_change` \u2014 the\n server writes it.\n- Include a doc-update-after-green task in every plan.\n- After approval, create the tasks + edges and SHOW them in the terminal.\n- Advance `plan \u2192 build` only after the user has approved the plan.\n- Never auto-chain into execution \u2014 offer `orbitmap-execute` and stop.";
12
+ export declare const SKILL_BRAINSTORM_FRONTMATTER = "---\nname: orbitmap-brainstorm\ndescription: >\n Brainstorming an idea into an agreed outcome in OrbitMap \u2014 the first gate of the\n product-building flow, run as a natural thinking-partner conversation. You MUST use this\n before any creative work \u2014 creating features, building components, adding functionality,\n or modifying behavior. It explores intent, requirements and constraints one question at a\n time until the outcome is AGREED, writes that outcome to the intent's outcome field, and\n files useful asides to the design (and, when relevant, plan) fields for the later gates.\n Use for \"I have an idea\", \"brainstorm this\", \"let's think through X\", \"what should we\n build/do about X\", shaping an intent's outcome, or an intent at `new` status.\n---";
13
+ export declare const SKILL_BRAINSTORM_BODY = "# Framing an idea into an outcome\n\n## Goal\nProduce the intent's OUTCOME \u2014 a short statement of WHAT should change and WHY, that the\nuser actually agrees to. That agreed outcome is this gate's deliverable; the design and\nplan are later gates' jobs.\n\n**Interface:** every action below is an OrbitMap operation \u2014 run the `orbitmap` CLI command\nshown, or its equivalent MCP tool when this session uses MCP; `orbitmap <cmd> --help` and the\nMCP tool schemas are the authority. Never edit the workspace data files directly.\n\n## From idea to agreed outcome\nThis is the FIRST gate of OrbitMap's product-building flow, and it is a natural\nconversation \u2014 you are a thinking partner, not a form. Turn a raw idea into an outcome the\nuser actually AGREES to; that agreement is the ONE thing you must reach before moving on.\nYou are deciding WHAT should change and WHY \u2014 not designing the solution, not starting to\nbuild. As the conversation flows it will wander into HOW and into build-order; do not block\non those \u2014 capture them as notes filed to the right downstream field (design or plan) and\nsteer gently back to the outcome. The agreed outcome plus those routed notes are the baton\nyou hand to `orbitmap-design` (and, through the plan field, to `orbitmap-plan`).\n\n## Key principles\n- **Thinking partner, not a form.** Follow the conversation and reflect back to converge \u2014\n do not interrogate. The ONE thing you must reach is an AGREED OUTCOME; everything else\n useful gets captured for later, never blocked on.\n- **Gate before build.** No feature, component, or behavior change starts before the\n outcome is agreed and written to OrbitMap. \"Too simple to frame\" is exactly where\n unexamined assumptions cost the most \u2014 every idea gets an outcome, even a one-sentence\n one.\n- **The outcome is an agreement, not your guess.** It is the user's, in the user's words.\n Never advance on an assumed or half-agreed outcome.\n- **One question at a time.** Refine by dialogue, never a questionnaire dump.\n- **Prefer multiple choice \u2014 open questions are a LAST RESORT.** When a question's options\n can be enumerated, ALWAYS offer them as a multiple choice with a recommended default; ask\n an open-ended question only when the option space genuinely cannot be enumerated. Always\n include a free-text \"or something else \u2014 tell me\" escape.\n- **Ask sparingly \u2014 earn every question.** Before asking: (1) answer it yourself from the\n idea, the context and the repo \u2014 never ask what you can already determine; (2) drop it if\n the answer would not change the outcome; (3) batch tightly-related micro-decisions into\n ONE question. Prefer proposing a sensible default for the user to correct over an open\n interrogation. Aim for the few highest-leverage questions \u2014 \"one question at a time\" sets\n the pace, not the total count.\n- **Lead with a recommendation.** Present options and the outcome conversationally, leading\n with the option you recommend and WHY \u2014 never a flat, neutral menu with no steer.\n- **YAGNI.** Cut every want that does not serve the outcome; a smaller outcome ships.\n- **Capture the user's opinions faithfully \u2014 and mark them as the user's.** Label the\n user's notes as user notes in whichever field they land (design or plan); the design and\n plan gates treat user-marked notes as their highest-priority input, so do not paraphrase\n away their intent. You may add your own notes too \u2014 keep them clearly separate.\n- **Route notes by type (light-touch).** As the conversation surfaces useful asides, file\n them to the field that will use them: HOW / tech / UX \u2192 the **design** notes; build-order\n / task ideas / execution risks \u2192 the **plan** notes; WHAT / WHY stays in the outcome.\n Capture the obvious and steer back \u2014 do not over-police a flowing conversation. Feeding\n the plan field is OPTIONAL: only when the chat actually produced build-order material.\n- **Ground in verified reality \u2014 never frame on assumptions.** Before framing, verify the\n idea against the actual repo and tracker, not the plan doc's or the user's claim: is this\n already built or partially shipped, is a prerequisite phase actually done, do the named\n entities exist? A wrong premise wastes the whole design and build that follow.\n- **Framing precedes design precedes build.** You decide WHAT and WHY here; HOW is the\n design gate's job. For every point, ask \"would a different answer change WHAT ships, or\n only HOW it is built?\" \u2014 route HOW answers (assets, routes, component structure, exact\n validation) into the design notes, never into the agreed outcome. Do not slip into\n solutioning.\n\n## Flow\n1. Gather context.\n - `orbitmap context` and `orbitmap intent show IN-x` already carry the workspace,\n mission, recently-used and open intents, and the target intent; read any referenced\n idea (ID-) too.\n - Check the repo itself \u2014 relevant files, docs, recent commits \u2014 when the outcome\n touches existing code and to get all the context.\n - Skim the available knowledge \u2014 the doc lists (`available_docs` across areas,\n `workspace_knowledge`, `orbit_docs`), from the intent context if present, else\n `orbitmap docs`. METADATA only (title / context / sections_count) \u2014 do not read bodies\n here. Note which docs are relevant and record their slugs in the design notes.\n - Know the neighbourhood (status matters): the MISSION's outcome + status (does this\n intent serve a still-active mission?) and the SIBLING intents under that mission/orbit\n with their outcomes + statuses \u2014 from the intent context if present, else\n `orbitmap mission show MS-x` / `orbitmap intents`. Reconcile or link rather than frame\n a duplicate/conflicting outcome; ignore siblings that are `done`/`cancelled`.\n - Verify the premise before framing: is this already built or partially shipped, is any\n prerequisite phase actually complete, do the named entities exist? Grep migrations /\n commits / the tracker \u2014 frame on what is true NOW, not on the plan doc's claim.\n2. Clarify the idea into an outcome, ONE question at a time \u2014 the real goal, what changes\n and for whom, what success looks like, the constraints. As you go, capture the user's\n opinions, preferences and context as notes; these outrank your own ideas in the design\n stage, so record them faithfully.\n - KEEP/DROP TEST \u2014 log a `decision` when ANY of these is true: an alternative was\n considered and REJECTED (record which, and why it lost); a non-obvious assumption or\n constraint was LOCKED IN; a choice was made that a later reader would otherwise\n re-litigate. Do NOT log: restating the outcome, design or plan (they are already\n fields on the intent); confirming something already written down elsewhere; mechanical\n facts recoverable from git, CI or the tracker (test counts, file lists, commit hashes);\n progress narration (\"started X\", \"working on Y\").\n KEEP \u2192 \"Parallelised the build across four subagents; the Laravel slices were split by\n file ownership to avoid collisions in one working tree.\" \u2014 records the rejected\n alternative (one agent per repo) and why it lost.\n DROP \u2192 \"make verify green at 2415 passed after merging all four agents.\" \u2014 a mechanical\n fact already in the commit message and the CI output.\n - LOG IT THE MOMENT IT PASSES, not batched at the end: `orbitmap log IN-x \"<what was\n decided and why>\" --type decision`. An abandoned session must still leave its decisions\n recorded. If the intent does not exist yet, create it (step 4) at the first passing\n answer and log from then on.\n - Progress stops (missing access, an unanswerable question, a conflicting intent) \u2192\n `orbitmap log IN-x \"Blocked: <what stopped and why>\" --type blocker`.\n - `note` is the CATCH-ALL \u2014 anything useful that is not `code_change` / `decision` /\n `blocker` goes in as `note`, with `--meta` for unusual structure. There is deliberately\n NO `other` type. NEVER write `status_change`: the server authors it on every transition.\n3. Present the outcome as a short, concrete statement that also names what is explicitly\n OUT of scope and how success will be measured or checked. Refine it with the user until\n they AGREE \u2014 never proceed on a vague or assumed outcome.\n4. Persist (create or refine). Update an existing unprocessed intent, or create one:\n `orbitmap intent update IN-x --outcome \"<agreed outcome>\" [--design \"<design notes>\"] [--plan \"<plan notes>\"]`\n / `orbitmap intent create \"<name>\" --outcome \"<agreed outcome>\" [--design \"\u2026\"] [--plan \"\u2026\"]`.\n The agreed **outcome** goes in the outcome field. Route the captured notes by type \u2014\n HOW / tech / UX \u2192 the **design** field; build-order / task ideas / execution risks \u2192 the\n **plan** field (OPTIONAL \u2014 only if the conversation produced any). Mark the user's notes\n as the user's in both fields; you may add your own, kept separate. The design gate reads\n the design notes and the plan gate reads the plan notes, each as its highest-priority\n input.\n - If you promoted an OrbitMap idea, mark it used: `orbitmap idea status ID-x used`.\n5. Advance the lifecycle, carrying this gate's entries \u2014 `--log <type>:<content>` is\n REPEATABLE and `new \u2192 design` is decision-heavy (why this outcome, what is out of scope):\n `orbitmap intent update IN-x --status design --log decision:\"<why this outcome>\" --log decision:\"<what is out of scope>\"`.\n A transition carrying no `--log` is REFUSED (422) and writes nothing \u2014 not the status,\n not an entry \u2014 so this is not optional.\n6. Ask the user whether to review the outcome further or start designing \u2014 offer the\n `orbitmap-design` skill by name. Do NOT auto-chain into it yourself.\n\n## Process flow\n```dot\ndigraph orbitmap_brainstorm {\n \"Gather context: Orb (intents / idea) + repo (files, docs, commits)\" [shape=box];\n \"Clarify idea into an outcome, one question at a time\" [shape=box];\n \"Log decisions passing the keep/drop test, as they land\" [shape=box];\n \"Capture user opinions / context as notes\" [shape=box];\n \"Present the outcome\" [shape=box];\n \"User agrees the outcome?\" [shape=diamond];\n \"Create or refine intent: agreed outcome\" [shape=box];\n \"Route notes to design/plan fields by type (marked as the user's)\" [shape=box];\n \"Promote referenced idea to used\" [shape=box];\n \"Advance status new to design, with --log entries (refused if none)\" [shape=box];\n \"Offer orbitmap-design (review or design?)\" [shape=doublecircle];\n\n \"Gather context: Orb (intents / idea) + repo (files, docs, commits)\" -> \"Clarify idea into an outcome, one question at a time\";\n \"Clarify idea into an outcome, one question at a time\" -> \"Log decisions passing the keep/drop test, as they land\";\n \"Log decisions passing the keep/drop test, as they land\" -> \"Capture user opinions / context as notes\";\n \"Capture user opinions / context as notes\" -> \"Present the outcome\";\n \"Present the outcome\" -> \"User agrees the outcome?\";\n \"User agrees the outcome?\" -> \"Clarify idea into an outcome, one question at a time\" [label=\"no, refine\"];\n \"User agrees the outcome?\" -> \"Create or refine intent: agreed outcome\" [label=\"yes\"];\n \"Create or refine intent: agreed outcome\" -> \"Route notes to design/plan fields by type (marked as the user's)\";\n \"Route notes to design/plan fields by type (marked as the user's)\" -> \"Promote referenced idea to used\";\n \"Promote referenced idea to used\" -> \"Advance status new to design, with --log entries (refused if none)\";\n \"Advance status new to design, with --log entries (refused if none)\" -> \"Offer orbitmap-design (review or design?)\";\n}\n```\n\n## After the outcome\nBefore handing off, review the agreed outcome with fresh eyes:\n- **Vague or assumed?** Is it concrete and in the user's words, or did you fill gaps? Fix.\n- **Unmeasurable?** Can you tell when it is met? If not, sharpen the success criteria.\n- **Too big?** If it needs several independent designs, decompose into sibling intents and\n frame the first \u2014 do not hand design an outcome that is really three outcomes.\nThen write it (Flow step 4), advance `new \u2192 design`, and hand the baton to\n`orbitmap-design` \u2014 never auto-chain.\n\n## Rules\n- One question at a time \u2014 never dump a checklist of questions on the user in one turn.\n- The outcome is an AGREEMENT, not your guess: never advance to `design` status until the\n user has agreed the outcome in words.\n- Mark the user's notes as the user's in whichever field they land (design or plan): the\n design and plan gates treat user-marked notes as highest-priority input. Add your own\n notes too, kept clearly separate.\n- Route notes by type (light-touch): HOW/tech/UX \u2192 design field; build-order/task/risk \u2192\n plan field (optional); WHAT/WHY stays in the outcome. Capture and steer back; do not\n over-police the conversation.\n- Log `decision` entries that pass the keep/drop test (Flow step 2) as they land, never\n batched; `blocker` whenever progress stops \u2014 an abandoned session must still leave a record.\n- The `new \u2192 design` transition must carry the gate's entries as repeatable\n `--log <type>:<content>`; without at least one it is refused (422) and nothing is written.\n Never author `status_change` \u2014 the server writes it.\n- Create-or-refine: reuse an existing unprocessed intent instead of creating a duplicate.\n- Ground the outcome in verified repo/tracker reality, not the plan doc or a stated claim \u2014\n check it is still needed and still undone before framing.\n- Keep the outcome WHAT/WHY: name what is OUT of scope and how success is measured; push\n HOW answers into the design notes.\n- If the intent already has an agreed outcome (status `design` or later), step aside and\n point at `orbitmap-design` \u2014 do not re-frame a settled outcome.\n- Never auto-chain into designing after framing \u2014 always ask first.";
14
+ export declare const SKILL_DESIGN_FRONTMATTER = "---\nname: orbitmap-design\ndescription: >\n Designing an intent's solution in OrbitMap: turns an agreed outcome into an approach,\n technical spec, and UX (when there's UI), one question at a time, then writes the\n result to the intent's design field. Use for \"design this intent\", \"let's design X\", or\n an intent entering `design` status. Use it once the outcome is agreed; if the outcome is\n still missing or vague, step aside to `orbitmap-brainstorm` first.\n---";
15
+ export declare const SKILL_DESIGN_BODY = "# Designing an intent's solution\n\n## Goal\nProduce the intent's DESIGN \u2014 a buildable, code-grounded markdown doc (approach, technical\nspec, UX where there's UI) that a plan can be built from. That design doc is this gate's\none deliverable.\n\n**Interface:** every action below is an OrbitMap operation \u2014 run the `orbitmap` CLI command\nshown, or its equivalent MCP tool when this session uses MCP; `orbitmap <cmd> --help` and the\nMCP tool schemas are the authority. Never edit the workspace data files directly.\n\n## The outcome is the north star\nAn intent's `outcome` is why the design exists \u2014 the design's only job is to bring that\noutcome to life. Read it and internalize it before anything else; every question you ask\nand every section you write must trace back to it. If the outcome is missing, or too\nvague to design against, STOP. The framing gate comes before the solution gate: if the\noutcome is missing or still vague (intent at `new`), step aside to `orbitmap-brainstorm` to\nsettle it first \u2014 do not design a solution for an outcome that is not solid yet.\n\n## The framing notes are your highest-priority input\nWhen the `orbitmap-brainstorm` gate ran first, the intent's `design` field arrives holding\nframing notes \u2014 NOT a design doc: the user's notes (marked as the user's) plus any notes\nthe framing agent added. Read them FIRST. The USER-marked notes are your HIGHEST-PRIORITY\ninput \u2014 they outrank your own ideas and the agent notes; treat the agent notes as normal\ninput. Absorb all of them \u2014 honor and reflect them in the design you build \u2014 then let your\nfinished design doc REPLACE them in the field (absorb, then replace). If the field already\nholds a real design doc instead of raw notes, treat it as existing design to refine.\n\n## Key principles\n- **Serve the outcome.** Every question and every section traces back to the outcome; if\n it does not, cut it or go fix the outcome first.\n- **One question at a time.** Refine by dialogue, never a questionnaire dump.\n- **Prefer multiple choice \u2014 open questions are a LAST RESORT.** When a question's options\n can be enumerated, ALWAYS offer them as a multiple choice with a recommended default; ask\n an open-ended question only when the option space genuinely cannot be enumerated. Always\n include a free-text \"or something else \u2014 tell me\" escape.\n- **Ask sparingly \u2014 earn every question.** Before asking: (1) answer it yourself from the\n outcome, the notes and the repo \u2014 never ask what you can already determine; (2) drop it\n if the answer would not change the design; (3) batch tightly-related micro-decisions into\n ONE question. Prefer proposing a sensible default for the user to correct over an open\n interrogation. Aim for the few highest-leverage questions \u2014 \"one question at a time\" sets\n the pace, not the total count.\n- **Lead with a recommendation.** When you propose approaches or technical options, lead\n with the one you recommend and WHY \u2014 never a flat, neutral menu with no steer.\n- **YAGNI.** Cut every part of the design that does not serve the outcome; a smaller\n design ships.\n- **Ground the spec in verified current code \u2014 never assume.** Read/grep every file and\n behavior you rely on before asserting it; a design with a false claim about the code\n misleads the builder and is worse than none. Carry nothing forward from the outcome stage\n unchecked.\n- **Concrete and verbatim.** Name the exact files, classes, schemas/tokens and locked copy \u2014\n not prose behavior \u2014 so a builder can execute the design without re-deriving it.\n- **Ground every proposal in the existing codebase.** Follow the patterns already there;\n name the real files and classes; do not invent structure the repo does not use.\n\n## Working in existing codebases\nExplore the current structure BEFORE proposing anything, and follow the patterns already\nthere \u2014 the canonical CRUD module, the sibling component you are mirroring, the existing\nroute. Name the concrete files and classes your design will touch or create, each grounded\nin the equivalent existing pattern, so the design is buildable without re-derivation. Where\nexisting code in your path has a real problem (a file grown too large, a tangled boundary),\ninclude a targeted fix as part of the design \u2014 but never propose unrelated refactoring;\nstay focused on what serves this outcome.\n\n## Design for isolation and clarity\nBreak the solution into small units that each have ONE clear purpose, communicate through\nwell-defined interfaces, and can be understood and tested independently. For each unit you\nshould be able to say what it does, how it is used, and what it depends on. Two tests: can\nsomeone understand what a unit does without reading its internals, and can you change its\ninternals without breaking its consumers? If not, the boundaries need work. Smaller,\nwell-bounded units are easier to build, review, and reason about.\n\n## Flow\n1. Gather context.\n - `orbitmap intent show IN-x` \u2192 the outcome and the design field; `orbitmap context`\n for the workspace and mission. If the design field holds framing notes, absorb them\n as highest-priority input (see above).\n - Check the repo \u2014 relevant files, existing patterns, docs, recent commits. You design\n against real code, so read it before proposing.\n - Pull the relevant OrbitMap docs: from the doc lists (`available_docs` /\n `workspace_knowledge` / `orbit_docs` \u2014 in the intent context if present, else\n `orbitmap docs`, plus any slugs the framing notes flagged), READ the bodies that matter\n with `orbitmap doc <slug>` (TOC \u2192 section \u2192 full) to ground the spec. Metadata is not\n enough at the design gate.\n - Know the neighbourhood (status matters): the MISSION's outcome + status (the design\n must serve it), the SIBLING intents under the mission/orbit with their statuses, and\n the intent's OWN tasks + issues with statuses \u2014 from the intent context if present,\n else `orbitmap mission show MS-x` / `orbitmap intents` / the intent's linked items.\n Design AROUND existing tasks \u2014 never silently re-decompose work that already exists.\n - Verify, do not assume: Read/grep each \"existing\" file, route or component before you\n rely on it, and re-check any claim the outcome stage carried forward.\n2. Clarify ONE question at a time, each anchored to the outcome \u2014 \"to achieve <outcome>,\n how should X work?\" Cover technical decisions, UX (only if the intent has UI), edge\n cases, data/API shape. Continuously check whether the emerging design actually delivers\n the outcome, and surface any gap where it would not. Capture the user's decisions and\n the reasoning behind them as you go \u2014 those decisions are part of the design.\n - KEEP/DROP TEST \u2014 log a `decision` when ANY of these is true: an alternative was\n considered and REJECTED (record which, and why it lost); a non-obvious assumption or\n constraint was LOCKED IN; a choice was made that a later reader would otherwise\n re-litigate. Do NOT log: restating the outcome, design or plan (they are already\n fields on the intent); confirming something already written down elsewhere; mechanical\n facts recoverable from git, CI or the tracker (test counts, file lists, commit hashes);\n progress narration (\"started X\", \"working on Y\").\n KEEP \u2192 \"Parallelised the build across four subagents; the Laravel slices were split by\n file ownership to avoid collisions in one working tree.\" \u2014 records the rejected\n alternative (one agent per repo) and why it lost.\n DROP \u2192 \"make verify green at 2415 passed after merging all four agents.\" \u2014 a mechanical\n fact already in the commit message and the CI output.\n - LOG IT THE MOMENT IT IS AGREED, not batched at the end: `orbitmap log IN-x \"<the choice\n and why, incl. what it rules out>\" --type decision`. An abandoned session must still\n leave its decisions recorded.\n - Progress stops (a blocking unknown, missing access, a contradicting design) \u2192\n `orbitmap log IN-x \"Blocked: <what stopped and why>\" --type blocker`.\n - `note` is the CATCH-ALL \u2014 anything useful that is not `code_change` / `decision` /\n `blocker` goes in as `note`, with `--meta` for unusual structure. There is deliberately\n NO `other` type. NEVER write `status_change`: the server authors it on every transition.\n3. Explore approaches: propose 2-3 concrete approaches with their trade-offs, lead with the\n one you recommend and WHY, and let the user pick before you spec anything. YAGNI the\n rest \u2014 and record which approaches you weighed and why you rejected them.\n4. Draft ONE markdown design doc with these sections, in order:\n - Outcome (restated)\n - How this design delivers the outcome \u2014 MANDATORY: trace the design back to the\n outcome explicitly; never skip this section\n - Approach \u2014 the chosen approach and why\n - Key decisions \u2014 the decisions taken with the user during design, each with its\n rationale, so no one silently re-litigates or reverses them later\n - Technical spec \u2014 name the concrete files / classes / components to touch or create,\n each grounded in the existing pattern it mirrors; give exact class/method names,\n schemas/tokens and locked copy for anything UI- or contract-facing, not prose alone\n - UX design (only if the intent has UI)\n - Alternatives considered / rejected \u2014 options weighed and declined, and WHY, so a\n future contributor does not re-introduce a declined option\n - Testing / verification approach \u2014 the tests to add and the gating commands to run\n (e.g. `make contract`, `make verify`)\n - Risks / open questions\n5. Present the draft in sections scaled to their complexity (a few sentences when simple,\n more when nuanced); after each section ask whether it looks right, and get the user's\n approval before writing anything.\n6. Write it: `orbitmap intent update IN-x --design \"<doc>\"`. This REPLACES any framing\n notes that were in the field \u2014 you have already absorbed them into the doc.\n7. Advance the lifecycle, carrying this gate's entries \u2014 `--log <type>:<content>` is\n REPEATABLE and `design \u2192 plan` is decision-heavy (technical choices, rejected\n alternatives):\n `orbitmap intent update IN-x --status plan --log decision:\"<technical choice + why>\" --log decision:\"<alternative rejected + why>\"`.\n A transition carrying no `--log` is REFUSED (422) and writes nothing \u2014 not the status,\n not an entry \u2014 so this is not optional.\n8. Ask the user whether to review the design further or start planning \u2014 offer the\n `orbitmap-plan` skill by name. Do NOT auto-chain into it yourself.\n\n## Process flow\n```dot\ndigraph orbitmap_design {\n \"Gather context: outcome + notes + repo (files, patterns, docs)\" [shape=box];\n \"Internalize the outcome (north star)\" [shape=box];\n \"Outcome solid enough to design?\" [shape=diamond];\n \"Step aside to orbitmap-brainstorm\" [shape=box];\n \"Clarify one question at a time, anchored to the outcome\" [shape=box];\n \"Log decisions passing the keep/drop test, as they land\" [shape=box];\n \"Explore approaches (2-3, recommend, user picks)\" [shape=box];\n \"Draft the design doc (outcome-delivery trace mandatory)\" [shape=box];\n \"User approves the draft?\" [shape=diamond];\n \"Write design field (replaces framing notes)\" [shape=box];\n \"Advance status design to plan, with --log entries (refused if none)\" [shape=box];\n \"Offer orbitmap-plan (review or plan?)\" [shape=doublecircle];\n\n \"Gather context: outcome + notes + repo (files, patterns, docs)\" -> \"Internalize the outcome (north star)\";\n \"Internalize the outcome (north star)\" -> \"Outcome solid enough to design?\";\n \"Outcome solid enough to design?\" -> \"Step aside to orbitmap-brainstorm\" [label=\"no\"];\n \"Outcome solid enough to design?\" -> \"Clarify one question at a time, anchored to the outcome\" [label=\"yes\"];\n \"Clarify one question at a time, anchored to the outcome\" -> \"Log decisions passing the keep/drop test, as they land\";\n \"Log decisions passing the keep/drop test, as they land\" -> \"Explore approaches (2-3, recommend, user picks)\";\n \"Explore approaches (2-3, recommend, user picks)\" -> \"Draft the design doc (outcome-delivery trace mandatory)\";\n \"Draft the design doc (outcome-delivery trace mandatory)\" -> \"User approves the draft?\";\n \"User approves the draft?\" -> \"Clarify one question at a time, anchored to the outcome\" [label=\"no, refine\"];\n \"User approves the draft?\" -> \"Write design field (replaces framing notes)\" [label=\"yes\"];\n \"Write design field (replaces framing notes)\" -> \"Advance status design to plan, with --log entries (refused if none)\";\n \"Advance status design to plan, with --log entries (refused if none)\" -> \"Offer orbitmap-plan (review or plan?)\";\n}\n```\n\n## Format\nOne markdown document holds both the technical spec and the UX design (when the intent\nhas UI) \u2014 there is no separate field for either. It renders wherever the intent's design\nis shown, so write it as a document a human would actually want to read.\n\n## Before you hand off\nReview the draft with fresh eyes before you write it:\n- **Placeholders?** Any TBD / TODO / vague requirement? Fix them inline.\n- **Delivers the outcome?** Does the \"how this design delivers the outcome\" trace actually\n hold end to end? If there is a gap where it would not, close it.\n- **Internally consistent?** Do any sections contradict, or the approach not match the\n spec? Reconcile them.\n- **Too big or ambiguous?** If it needs more than one implementation plan, note the split;\n if a requirement reads two ways, pick one and make it explicit.\n- **Schema & tenancy guardrails?** For any schema / FK / migration change, verify multi-tenancy\n (`account_id` isolation), RLS policies and Postgres triggers against the repo's audit\n rules before handing off; and name the gating commands the plan must run.\n- **Verified, not assumed?** Is every claim about existing code checked against the repo,\n not recalled? Fix any you have not actually Read/grepped.\n- **Concrete enough to build?** Does the Technical spec name real files/classes with exact\n names, schemas and locked copy, and does the doc carry the Key decisions,\n Alternatives-rejected, and Testing sections? If any is missing, it is not ready.\nThen write it (Flow step 6), advance `design \u2192 plan`, and hand the baton to\n`orbitmap-plan` \u2014 never auto-chain.\n\n## Rules\n- One question at a time \u2014 never dump a checklist of questions on the user in one turn.\n- If the outcome is missing or vague (intent at `new`), step aside to `orbitmap-brainstorm`\n first \u2014 do not design against an unsettled outcome.\n- If the design field holds framing notes from the `orbitmap-brainstorm` gate, they are your\n highest-priority input: absorb them, then let the finished doc replace them.\n- Every question, and every section of the draft, must serve the outcome; if it does\n not, cut it or go fix the outcome first.\n- The \"how this design delivers the outcome\" section is mandatory, not optional.\n- Ground every claim about existing code in an actual Read/grep \u2014 never assert from memory.\n- Name concrete files/classes to touch in the Technical spec, grounded in the existing\n pattern, with exact names/schemas and locked copy for UI/contract-facing pieces \u2014 never\n ship a prose-only spec.\n- Capture the user's design decisions with their rationale, and record the alternatives you\n rejected and why.\n- Log `decision` entries that pass the keep/drop test (Flow step 2) as they are agreed, never\n batched; `blocker` whenever progress stops \u2014 an abandoned session must still leave a record.\n- The `design \u2192 plan` transition must carry the gate's entries as repeatable\n `--log <type>:<content>`; without at least one it is refused (422) and nothing is written.\n Never author `status_change` \u2014 the server writes it.\n- Follow existing codebase patterns; propose no unrelated refactoring.\n- Never advance the intent past `design` status until the user has approved the draft.\n- Never auto-chain into planning after writing the design \u2014 always ask first.";
11
16
  export declare const SKILL_DOCS_FRONTMATTER = "---\nname: orbitmap-docs\ndescription: >\n Reading and updating OrbitMap documents (specs, architecture, guides, decisions).\n Use when the user asks to read, import, or update project documentation tracked in\n OrbitMap.\n---";
12
- export declare const SKILL_DOCS_BODY = "# OrbitMap documents\n\n## Choosing what to read\n`orbitmap docs` lists documents with their `context` (when the doc is relevant) and\n`sections_count`. Use context to pick the right document; use sections_count to decide\nwhether to fetch the TOC first (many sections) or go straight to full.\n\n## Token-efficient reading flow\n1. `orbitmap doc <slug>` \u2192 context + table of contents (cheap).\n2. `orbitmap doc <slug> --section \"## Auth\"` \u2192 just that section.\n3. `orbitmap doc <slug> --full` \u2192 full content (expensive \u2014 last resort).\nUse the lightest mode that answers your question. When the CLI reports a local file path\nfor the full content, read that file instead of printing the content into the\nconversation.\n\n## Editing\n- Import a new document: `orbitmap doc-import <file.md> --title \"\u2026\" --type\n spec|architecture|api|guide|decision|changelog|other [--context \"\u2026\"]`.\n- Update: `orbitmap doc-update <slug> --file <file.md>` (replaces content, bumps\n version).\n- To change an OrbitMap document, ALWAYS go through these commands \u2014 NEVER edit files\n inside the OrbitMap workspace/cache directories directly.";
17
+ export declare const SKILL_DOCS_BODY = "# OrbitMap documents\n\nDocuments are workspace-level: exactly ONE copy per workspace, never per-area. No document\ncommand takes an area, and `orbitmap context` already lists them.\n\n## Goal\nRead and update OrbitMap documents efficiently: pull only the context you need (TOC \u2192\nsection \u2192 full, never dump a whole doc into the conversation), and make every change\nthrough the CLI \u2014 never by editing the workspace files directly.\n\n**Interface:** every action below is an OrbitMap operation \u2014 run the `orbitmap` CLI command\nshown, or its equivalent MCP tool when this session uses MCP; `orbitmap <cmd> --help` and the\nMCP tool schemas are the authority. Never edit the workspace data files directly.\n\n## Choosing what to read\n`orbitmap docs` lists documents with their `context` (when the doc is relevant) and\n`sections_count`. Use context to pick the right document; use sections_count to decide\nwhether to fetch the TOC first (many sections) or go straight to full.\n\n## Token-efficient reading flow\n1. `orbitmap doc <slug>` \u2192 context + table of contents (cheap).\n2. `orbitmap doc <slug> --section \"## Auth\"` \u2192 just that section.\n3. `orbitmap doc <slug> --full` \u2192 full content (expensive \u2014 last resort).\nUse the lightest mode that answers your question. When the CLI reports a local file path\nfor the full content, read that file instead of printing the content into the\nconversation.\n\n## Editing\n- Import a new document: `orbitmap doc-import <file.md> --title \"\u2026\" --type\n spec|architecture|api|guide|decision|changelog|other [--context \"\u2026\"]`.\n- Update: `orbitmap doc-update <slug> --file <file.md>` (replaces content, bumps\n version).\n- To change an OrbitMap document, ALWAYS go through these commands \u2014 NEVER edit files\n inside the OrbitMap workspace/cache directories directly.";
13
18
  export interface SkillDef {
14
19
  /** Skill name = directory name under `.claude/skills/`. */
15
20
  name: string;
@@ -17,16 +22,42 @@ export interface SkillDef {
17
22
  frontmatter: string;
18
23
  /** Verbatim markdown body. */
19
24
  body: string;
25
+ /**
26
+ * Extra files shipped with the skill (a skill = SKILL.md + optional reference
27
+ * files). Key = POSIX path RELATIVE to the skill's directory
28
+ * (`.claude/skills/<name>/`), and may contain subdirectories, e.g.
29
+ * `references/worker-contract.md`. Value = verbatim file content (no trailing
30
+ * newline; the installer appends one, matching buildSkillFile).
31
+ *
32
+ * INSTALLER CONTRACT (consumed by `orbitmap init` / setup-agent): for each skill,
33
+ * write SKILL.md as today, then iterate `Object.entries(references ?? {})` — create
34
+ * each key's parent directory, write the value, overwrite on re-init exactly like
35
+ * SKILL.md. Absent or empty means the skill is the single SKILL.md file.
36
+ */
37
+ references?: Readonly<Record<string, string>>;
20
38
  }
21
39
  export declare const SKILLS: readonly SkillDef[];
22
- export declare const THIN_HOOK_CLAUDE = "## OrbitMap\n\nThis project tracks work in OrbitMap via the `orbitmap` CLI (works the same whether data\nis in the cloud or in local files). When the user mentions tasks, backlog, missions,\nintents, ideas, issues, vibes, or asks you to work on / log / plan something, load the\nmatching skill: `orbitmap` (context & commands), `orbitmap-working` (doing tasks),\n`orbitmap-planning` (missions/intents/ideas/issues), `orbitmap-docs` (documents).\nGolden rules: work on ONE task at a time; NEVER finish a task session without a final\n`orbitmap log` entry and an `orbitmap status` update; finished work defaults to\n`in_review`, not `done`. NEVER edit files inside the OrbitMap workspace directory\ndirectly \u2014 always go through `orbitmap` commands.";
23
- export declare const THIN_HOOK_GENERIC = "## OrbitMap\n\nThis project tracks work in OrbitMap via the `orbitmap` CLI (works the same whether data\nis in the cloud or in local files). When the user mentions tasks, backlog, missions,\nintents, ideas, issues, vibes, or asks you to work on / log / plan something, follow the\nsections below: core (context & commands), working on tasks, planning\n(missions/intents/ideas/issues), and documents.\nGolden rules: work on ONE task at a time; NEVER finish a task session without a final\n`orbitmap log` entry and an `orbitmap status` update; finished work defaults to\n`in_review`, not `done`. NEVER edit files inside the OrbitMap workspace directory\ndirectly \u2014 always go through `orbitmap` commands.";
40
+ export declare const THIN_HOOK_CLAUDE = "## OrbitMap\n\nThis project tracks work in OrbitMap via the `orbitmap` CLI (cloud or local files alike).\nYou work in a WORKSPACE: run `orbitmap context` first \u2014 one call gives the workspace, your\nareas, the active mission, open intents, tasks and documents. Never ask which area \u2014 it\nfollows from the directory (map in `.orbitmap/config.json`); missions, intents and docs\nneed none. When the user mentions tasks, backlog, missions, intents, ideas, issues, vibes,\nor design, load the matching skill: `orbitmap` (core), `orbitmap-execute` (tasks),\n`orbitmap-plan` (missions/intents/ideas/issues), `orbitmap-brainstorm` (idea \u2192 outcome),\n`orbitmap-design` (intent solutions), `orbitmap-docs` (documents).\nGolden rules: ONE task at a time per worker \u2014 the execute skill orchestrates intents; NEVER\nfinish without a final `orbitmap log` entry and `orbitmap status` update \u2014 finished work\ndefaults to `in_review`, not `done`. NEVER edit workspace files directly \u2014 always use `orbitmap`.";
41
+ export declare const THIN_HOOK_GENERIC = "## OrbitMap\n\nThis project tracks work in OrbitMap via the `orbitmap` CLI (cloud or local files alike).\nYou work in a WORKSPACE: run `orbitmap context` first \u2014 one call gives the workspace, your\nareas, the active mission, open intents, tasks and documents. Never ask which area \u2014 it\nfollows from the directory (map in `.orbitmap/config.json`); missions, intents and docs\nneed none. When the user mentions tasks, backlog, missions, intents, ideas, issues, vibes,\nor design, follow the sections below: core (context & commands), working on tasks,\nplanning (missions/intents/ideas/issues), framing an idea into an outcome, designing an\nintent's solution, and documents.\nGolden rules: ONE task at a time per worker \u2014 intent execution orchestrates its tasks; NEVER\nfinish a task session without a final `orbitmap log` entry and an `orbitmap status` update;\nfinished work defaults to `in_review`, not `done`. NEVER edit workspace files directly \u2014 always use `orbitmap`.";
24
42
  /** Build one SKILL.md file (frontmatter + body) for Claude. */
25
43
  export declare function buildSkillFile(skill: SkillDef): string;
26
- /** Build the thin always-on block for a Claude config file (CLAUDE.md). */
27
- export declare function buildClaudeHook(): string;
28
44
  /**
29
- * Build the markdown fallback block for non-Claude agents: the thin hook plus all four
30
- * skill bodies inlined (no skill ecosystem to lean on).
45
+ * One extra line appended to the Claude hook when the skills were installed at PROJECT
46
+ * scope. `CLAUDE.md` is inherited by every sub-directory, but a project-level
47
+ * `.claude/skills/` directory is not: a session started in a sibling or child repository
48
+ * reads this hook and cannot load the skills it names. The hook must therefore say where
49
+ * the skills actually are, and how to make them visible everywhere. At user scope the
50
+ * skills are visible wherever the hook is, so no caveat is needed.
51
+ */
52
+ export declare const SKILL_SCOPE_CAVEAT_PROJECT: string;
53
+ /**
54
+ * Build the thin always-on block for a Claude config file (CLAUDE.md).
55
+ * `scope` is where the accompanying skill files were installed — see
56
+ * {@link SKILL_SCOPE_CAVEAT_PROJECT}.
57
+ */
58
+ export declare function buildClaudeHook(scope?: 'user' | 'project'): string;
59
+ /**
60
+ * Build the markdown fallback block for non-Claude agents: the thin hook plus every
61
+ * skill body inlined (no skill ecosystem to lean on).
31
62
  */
32
63
  export declare function buildGenericBlock(): string;