@hanzlaa/rcode 3.3.0 → 3.3.1

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 (278) hide show
  1. package/CONTRIBUTING.md +9 -9
  2. package/README.md +50 -50
  3. package/cli/context.js +4 -4
  4. package/cli/doctor.js +1 -1
  5. package/cli/generate-command-skills.cjs +10 -10
  6. package/cli/install.js +11 -11
  7. package/cli/lib/memory-bank.cjs +5 -5
  8. package/cli/set-mode.js +2 -2
  9. package/cli/uninstall.js +5 -5
  10. package/dist/rcode.js +15 -15
  11. package/package.json +1 -1
  12. package/rihal/DOCS-AUDIT.md +1 -1
  13. package/rihal/agents/rihal-ahmed.md +1 -1
  14. package/rihal/agents/rihal-codebase-mapper.md +3 -3
  15. package/rihal/agents/rihal-debugger.md +2 -2
  16. package/rihal/agents/rihal-fatima.md +2 -2
  17. package/rihal/agents/rihal-haitham.md +2 -2
  18. package/rihal/agents/rihal-khalid.md +1 -1
  19. package/rihal/agents/rihal-layla.md +1 -1
  20. package/rihal/agents/rihal-nasser.md +1 -1
  21. package/rihal/agents/rihal-noor.md +1 -1
  22. package/rihal/agents/rihal-nyquist-auditor.md +1 -1
  23. package/rihal/agents/rihal-omar.md +1 -1
  24. package/rihal/agents/rihal-phase-researcher.md +3 -3
  25. package/rihal/agents/rihal-planner.md +1 -1
  26. package/rihal/agents/rihal-project-researcher.md +2 -2
  27. package/rihal/agents/rihal-research-synthesizer.md +3 -3
  28. package/rihal/agents/rihal-roadmapper.md +3 -3
  29. package/rihal/agents/rihal-sadiq.md +1 -1
  30. package/rihal/agents/rihal-sprint-checker.md +3 -3
  31. package/rihal/agents/rihal-verifier.md +2 -2
  32. package/rihal/agents/rihal-waleed.md +1 -1
  33. package/rihal/agents/rihal-yousef.md +2 -2
  34. package/rihal/agents/rihal-zahra.md +1 -1
  35. package/rihal/agents/rihal-zayd.md +1 -1
  36. package/rihal/agents/rules/phase-researcher/detailed-guide.md +1 -1
  37. package/rihal/agents/rules/roadmapper/detailed-guide.md +1 -1
  38. package/rihal/agents/rules/sprint-checker/dimensions.md +3 -3
  39. package/rihal/agents/rules/sprint-checker/process.md +2 -2
  40. package/rihal/agents/rules/verifier/gap-output.md +1 -1
  41. package/rihal/agents/rules/verifier/verification-report.md +1 -1
  42. package/rihal/bin/rihal-hooks.cjs +6 -6
  43. package/rihal/bin/rihal-tools.cjs +60 -23
  44. package/rihal/brain/README.md +2 -2
  45. package/rihal/brain/best-practices/no-autonomous-bypass.md +2 -2
  46. package/rihal/brain/best-practices/research-citation-rule.md +1 -1
  47. package/rihal/brain/best-practices/state-sync-rule.md +4 -4
  48. package/rihal/commands/add-phase.md +1 -1
  49. package/rihal/commands/add-tests.md +1 -1
  50. package/rihal/commands/add-todo.md +1 -1
  51. package/rihal/commands/analyze-dependencies.md +1 -1
  52. package/rihal/commands/audit-fix.md +1 -1
  53. package/rihal/commands/audit-milestone.md +1 -1
  54. package/rihal/commands/audit-uat.md +1 -1
  55. package/rihal/commands/audit.md +1 -1
  56. package/rihal/commands/autonomous.md +1 -1
  57. package/rihal/commands/brainstorm.md +1 -1
  58. package/rihal/commands/chain.md +1 -1
  59. package/rihal/commands/check-todos.md +1 -1
  60. package/rihal/commands/checkpoint-preview.md +1 -1
  61. package/rihal/commands/cleanup.md +2 -2
  62. package/rihal/commands/code-review-fix.md +1 -1
  63. package/rihal/commands/code-review.md +1 -1
  64. package/rihal/commands/complete-milestone.md +1 -1
  65. package/rihal/commands/config.md +2 -2
  66. package/rihal/commands/correct-course.md +1 -1
  67. package/rihal/commands/council.md +1 -1
  68. package/rihal/commands/create-epics-and-stories.md +1 -1
  69. package/rihal/commands/create-story.md +2 -2
  70. package/rihal/commands/dashboard.md +1 -1
  71. package/rihal/commands/debug.md +1 -1
  72. package/rihal/commands/decisions.md +1 -1
  73. package/rihal/commands/dev-story.md +1 -1
  74. package/rihal/commands/diff.md +1 -1
  75. package/rihal/commands/discuss-phase.md +1 -1
  76. package/rihal/commands/discuss.md +2 -2
  77. package/rihal/commands/do.md +2 -2
  78. package/rihal/commands/docs-update.md +1 -1
  79. package/rihal/commands/document-project.md +1 -1
  80. package/rihal/commands/enable-hooks.md +1 -1
  81. package/rihal/commands/execute-sprint.md +2 -2
  82. package/rihal/commands/execute.md +1 -1
  83. package/rihal/commands/explore.md +1 -1
  84. package/rihal/commands/export-to-github.md +1 -1
  85. package/rihal/commands/forensics.md +1 -1
  86. package/rihal/commands/from-template.md +1 -1
  87. package/rihal/commands/health.md +1 -1
  88. package/rihal/commands/help.md +1 -1
  89. package/rihal/commands/import.md +1 -1
  90. package/rihal/commands/inbox.md +1 -1
  91. package/rihal/commands/init.md +1 -1
  92. package/rihal/commands/insert-phase.md +1 -1
  93. package/rihal/commands/install.md +1 -1
  94. package/rihal/commands/list-plans.md +1 -1
  95. package/rihal/commands/list-workspaces.md +1 -1
  96. package/rihal/commands/map-codebase.md +1 -1
  97. package/rihal/commands/milestone-summary.md +1 -1
  98. package/rihal/commands/new-milestone.md +1 -1
  99. package/rihal/commands/new-project.md +1 -1
  100. package/rihal/commands/new-workspace.md +1 -1
  101. package/rihal/commands/next.md +1 -1
  102. package/rihal/commands/note.md +1 -1
  103. package/rihal/commands/notify-test.md +1 -1
  104. package/rihal/commands/pause-work.md +1 -1
  105. package/rihal/commands/plan-milestone-gaps.md +3 -3
  106. package/rihal/commands/plan.md +2 -2
  107. package/rihal/commands/plant-seed.md +1 -1
  108. package/rihal/commands/pr-branch.md +2 -2
  109. package/rihal/commands/prfaq.md +1 -1
  110. package/rihal/commands/profile-user.md +1 -1
  111. package/rihal/commands/progress.md +3 -3
  112. package/rihal/commands/quick.md +1 -1
  113. package/rihal/commands/remove-phase.md +1 -1
  114. package/rihal/commands/remove-workspace.md +1 -1
  115. package/rihal/commands/replay.md +1 -1
  116. package/rihal/commands/rerun.md +1 -1
  117. package/rihal/commands/research-phase.md +2 -2
  118. package/rihal/commands/resume-work.md +1 -1
  119. package/rihal/commands/review.md +1 -1
  120. package/rihal/commands/scan.md +1 -1
  121. package/rihal/commands/secure-phase.md +1 -1
  122. package/rihal/commands/session-report.md +1 -1
  123. package/rihal/commands/settings.md +1 -1
  124. package/rihal/commands/ship.md +2 -2
  125. package/rihal/commands/show.md +1 -1
  126. package/rihal/commands/sprint-planning.md +1 -1
  127. package/rihal/commands/sprint-status.md +1 -1
  128. package/rihal/commands/stats.md +1 -1
  129. package/rihal/commands/status.md +1 -1
  130. package/rihal/commands/ui-phase.md +1 -1
  131. package/rihal/commands/ui-review.md +1 -1
  132. package/rihal/commands/undo.md +1 -1
  133. package/rihal/commands/update.md +1 -1
  134. package/rihal/commands/validate-phase.md +1 -1
  135. package/rihal/commands/verify-phase.md +2 -2
  136. package/rihal/commands/verify-work.md +1 -1
  137. package/rihal/commands/why.md +1 -1
  138. package/rihal/commands/workstream.md +1 -1
  139. package/rihal/references/agent-shared-rules.md +1 -1
  140. package/rihal/references/command-redirect-format.md +7 -7
  141. package/rihal/references/context-budget.md +2 -2
  142. package/rihal/references/continuation-format.md +16 -16
  143. package/rihal/references/dispatch-banner.md +1 -1
  144. package/rihal/references/execution-protocol.md +2 -2
  145. package/rihal/references/gates.md +3 -3
  146. package/rihal/references/git-integration.md +1 -1
  147. package/rihal/references/output-format.md +4 -4
  148. package/rihal/references/output-realism.md +1 -1
  149. package/rihal/references/revision-loop.md +1 -1
  150. package/rihal/references/state-schema.md +15 -15
  151. package/rihal/references/ui-brand.md +1 -1
  152. package/rihal/references/verb-dictionary.md +15 -15
  153. package/rihal/references/workstream-flag.md +28 -28
  154. package/rihal/skills/_shared/no-autonomous-bypass.md +2 -2
  155. package/rihal/skills/_shared/research-citation-rule.md +1 -1
  156. package/rihal/skills/_shared/state-sync-rule.md +4 -4
  157. package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +1 -1
  158. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/workflow.md +1 -1
  159. package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +2 -2
  160. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-06-phase-stubs.md +2 -2
  161. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-07-backlog.md +2 -2
  162. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-09-state-sync.md +2 -2
  163. package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-10-complete.md +4 -4
  164. package/rihal/skills/actions/2-plan/rihal-create-milestone/workflow.md +5 -5
  165. package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +1 -1
  166. package/rihal/skills/actions/2-plan/rihal-create-prd/workflow.md +1 -1
  167. package/rihal/skills/actions/2-plan/rihal-create-story/workflow.md +1 -1
  168. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +3 -3
  169. package/rihal/skills/actions/4-implementation/rihal-dev-story/workflow.md +1 -1
  170. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +1 -1
  171. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/checklist.md +1 -1
  172. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/workflow.md +1 -1
  173. package/rihal/skills/actions/4-implementation/rihal-sprint-status/workflow.md +5 -5
  174. package/rihal/skills/agents/dalil-scout/SKILL.md +7 -7
  175. package/rihal/skills/core/rihal-brainstorming/SKILL.md +1 -1
  176. package/rihal/skills/core/rihal-init/SKILL.md +1 -1
  177. package/rihal/skills/core/rihal-party-mode/SKILL.md +1 -1
  178. package/rihal/templates/milestone.md +1 -1
  179. package/rihal/templates/projects/api-backend/PROJECT.md +1 -1
  180. package/rihal/templates/projects/mobile-app/PROJECT.md +1 -1
  181. package/rihal/templates/projects/saas-b2b/PROJECT.md +1 -1
  182. package/rihal/workflows/add-phase.md +10 -10
  183. package/rihal/workflows/add-tests.md +9 -9
  184. package/rihal/workflows/add-todo.md +5 -5
  185. package/rihal/workflows/analyze-dependencies.md +7 -7
  186. package/rihal/workflows/audit-fix.md +4 -4
  187. package/rihal/workflows/audit-milestone.md +8 -8
  188. package/rihal/workflows/audit-uat.md +2 -2
  189. package/rihal/workflows/audit.md +28 -28
  190. package/rihal/workflows/autonomous.md +128 -44
  191. package/rihal/workflows/brainstorm.md +7 -7
  192. package/rihal/workflows/chain.md +16 -16
  193. package/rihal/workflows/check-implementation-readiness.md +4 -4
  194. package/rihal/workflows/check-todos.md +8 -8
  195. package/rihal/workflows/checkpoint-preview.md +1 -1
  196. package/rihal/workflows/code-review-fix.md +10 -10
  197. package/rihal/workflows/code-review.md +10 -10
  198. package/rihal/workflows/complete-milestone.md +5 -5
  199. package/rihal/workflows/correct-course.md +7 -7
  200. package/rihal/workflows/council.md +15 -15
  201. package/rihal/workflows/create-epics-and-stories.md +9 -9
  202. package/rihal/workflows/create-story.md +11 -11
  203. package/rihal/workflows/dashboard.md +8 -8
  204. package/rihal/workflows/debug.md +6 -6
  205. package/rihal/workflows/decisions.md +5 -5
  206. package/rihal/workflows/dev-story.md +12 -12
  207. package/rihal/workflows/diagnose-issues.md +2 -2
  208. package/rihal/workflows/diff.md +3 -3
  209. package/rihal/workflows/discuss-phase-power.md +7 -7
  210. package/rihal/workflows/discuss-phase.md +14 -14
  211. package/rihal/workflows/discuss.md +9 -9
  212. package/rihal/workflows/do.md +79 -79
  213. package/rihal/workflows/docs-update.md +6 -6
  214. package/rihal/workflows/document-project.md +5 -5
  215. package/rihal/workflows/enable-hooks.md +5 -5
  216. package/rihal/workflows/execute-sprint.md +3 -3
  217. package/rihal/workflows/execute.md +28 -28
  218. package/rihal/workflows/explore.md +5 -5
  219. package/rihal/workflows/export-to-github.md +5 -5
  220. package/rihal/workflows/forensics.md +8 -8
  221. package/rihal/workflows/from-template.md +8 -8
  222. package/rihal/workflows/health.md +11 -11
  223. package/rihal/workflows/help.md +117 -117
  224. package/rihal/workflows/import.md +4 -4
  225. package/rihal/workflows/inbox.md +8 -8
  226. package/rihal/workflows/init.md +23 -23
  227. package/rihal/workflows/insert-phase.md +9 -9
  228. package/rihal/workflows/install.md +3 -3
  229. package/rihal/workflows/karpathy-audit.md +11 -11
  230. package/rihal/workflows/list-plans.md +8 -8
  231. package/rihal/workflows/list-workspaces.md +7 -7
  232. package/rihal/workflows/map-codebase.md +5 -5
  233. package/rihal/workflows/milestone-summary.md +7 -7
  234. package/rihal/workflows/new-milestone.md +11 -11
  235. package/rihal/workflows/new-project-research.md +1 -1
  236. package/rihal/workflows/new-project-roadmap.md +8 -8
  237. package/rihal/workflows/new-project.md +32 -32
  238. package/rihal/workflows/new-workspace.md +7 -7
  239. package/rihal/workflows/next.md +13 -13
  240. package/rihal/workflows/note.md +7 -7
  241. package/rihal/workflows/notify-test.md +6 -6
  242. package/rihal/workflows/pause-work.md +6 -6
  243. package/rihal/workflows/plan-milestone-gaps.md +7 -7
  244. package/rihal/workflows/plan.md +28 -28
  245. package/rihal/workflows/plant-seed.md +3 -3
  246. package/rihal/workflows/pr-branch.md +1 -1
  247. package/rihal/workflows/prfaq.md +1 -1
  248. package/rihal/workflows/profile-user.md +5 -5
  249. package/rihal/workflows/progress.md +6 -6
  250. package/rihal/workflows/quick.md +12 -12
  251. package/rihal/workflows/remove-phase.md +6 -6
  252. package/rihal/workflows/remove-workspace.md +8 -8
  253. package/rihal/workflows/replay.md +8 -8
  254. package/rihal/workflows/rerun.md +5 -5
  255. package/rihal/workflows/research-phase.md +2 -2
  256. package/rihal/workflows/resume-work.md +10 -10
  257. package/rihal/workflows/review-adversarial.md +4 -4
  258. package/rihal/workflows/review-edge-case-hunter.md +5 -5
  259. package/rihal/workflows/review.md +11 -11
  260. package/rihal/workflows/scan.md +9 -9
  261. package/rihal/workflows/secure-phase.md +8 -8
  262. package/rihal/workflows/session-report.md +6 -6
  263. package/rihal/workflows/settings.md +15 -15
  264. package/rihal/workflows/ship.md +11 -11
  265. package/rihal/workflows/show.md +2 -2
  266. package/rihal/workflows/sprint-planning.md +13 -13
  267. package/rihal/workflows/sprint-status.md +10 -10
  268. package/rihal/workflows/stats.md +6 -6
  269. package/rihal/workflows/status.md +15 -7
  270. package/rihal/workflows/ui-phase.md +8 -8
  271. package/rihal/workflows/ui-review.md +5 -5
  272. package/rihal/workflows/undo.md +17 -17
  273. package/rihal/workflows/update.md +12 -12
  274. package/rihal/workflows/validate-phase.md +5 -5
  275. package/rihal/workflows/verify-work.md +18 -18
  276. package/rihal/workflows/why.md +9 -9
  277. package/rihal/workflows/workstream.md +11 -11
  278. package/server/lib/html/client.js +45 -45
@@ -505,7 +505,7 @@ function cmdClassifyQuestion(raw) {
505
505
  }
506
506
 
507
507
  /**
508
- * init execute — returns context blob for the /rihal:execute workflow.
508
+ * init execute — returns context blob for the /rihal-execute workflow.
509
509
  * Resolves plan_path (single file or phase directory), reads the plan
510
510
  * frontmatter, and returns dependency wave groupings.
511
511
  */
@@ -738,7 +738,7 @@ function cmdState(subArgs) {
738
738
  if (sub === 'read' || sub === 'get') {
739
739
  if (!fs.existsSync(statePath)) {
740
740
  // Auto-init with defaults if config.yaml exists (install happened).
741
- // Removes the "run /rihal:init first" friction — any workflow can
741
+ // Removes the "run /rihal-init first" friction — any workflow can
742
742
  // call `state read` and get a usable state back.
743
743
  const configPath = path.join(RIHAL_DIR, 'config.yaml');
744
744
  if (fs.existsSync(configPath)) {
@@ -754,7 +754,7 @@ function cmdState(subArgs) {
754
754
  }
755
755
  return {
756
756
  ok: false,
757
- error: 'No state.json yet. Run /rihal:install to set up this project, or `state init --project <name>` directly.'
757
+ error: 'No state.json yet. Run /rihal-install to set up this project, or `state init --project <name>` directly.'
758
758
  };
759
759
  }
760
760
  const state = readState();
@@ -2229,7 +2229,7 @@ function classifyScope(input) {
2229
2229
  return 'feature';
2230
2230
  }
2231
2231
 
2232
- /** init plan — context blob for /rihal:plan workflow. */
2232
+ /** init plan — context blob for /rihal-plan workflow. */
2233
2233
  function cmdInitPlan(rawArgs) {
2234
2234
  const config = readConfig();
2235
2235
  const tokens = (rawArgs || '').trim().split(/\s+/).filter(Boolean);
@@ -2322,7 +2322,7 @@ function cmdInitPlan(rawArgs) {
2322
2322
  workflow: 'plan',
2323
2323
  input_type: 'executable_plan',
2324
2324
  resolved_path: resolvedPath,
2325
- suggestion: `This file is already an executable plan. Run: /rihal:execute ${path.relative(PROJECT_ROOT, resolvedPath)}`,
2325
+ suggestion: `This file is already an executable plan. Run: /rihal-execute ${path.relative(PROJECT_ROOT, resolvedPath)}`,
2326
2326
  config,
2327
2327
  paths: { project_root: PROJECT_ROOT, rihal: RIHAL_DIR, planning_root: PLANNING_DIR, state: path.join(RIHAL_DIR, 'state.json') },
2328
2328
  };
@@ -2355,7 +2355,7 @@ function cmdPlanList() {
2355
2355
  };
2356
2356
  }
2357
2357
 
2358
- /** init chain — context blob for /rihal:chain workflow. */
2358
+ /** init chain — context blob for /rihal-chain workflow. */
2359
2359
  function cmdInitChain(rawArgs) {
2360
2360
  const config = readConfig();
2361
2361
  const installedAgents = listInstalledAgents();
@@ -2427,7 +2427,7 @@ function cmdInitChain(rawArgs) {
2427
2427
  };
2428
2428
  }
2429
2429
 
2430
- /** init discuss — context blob for /rihal:discuss workflow. */
2430
+ /** init discuss — context blob for /rihal-discuss workflow. */
2431
2431
  function cmdInitDiscuss(rawArgs) {
2432
2432
  const config = readConfig();
2433
2433
  const installedAgents = listInstalledAgents();
@@ -2460,9 +2460,9 @@ function cmdModule(subArgs) {
2460
2460
  // Hardcoded available modules (known at build time)
2461
2461
  return {
2462
2462
  modules: [
2463
- { name: 'core', description: 'Council agents, /rihal:council, /rihal:discuss, /rihal:status, /rihal:do router, /rihal:help, and state management' },
2464
- { name: 'execution', description: 'Plan execution — /rihal:execute, /rihal:plan, /rihal:quick, /rihal:debug, /rihal:audit-fix, /rihal:undo' },
2465
- { name: 'discovery', description: 'Project discovery — /rihal:new-project, /rihal:map-codebase, /rihal:scan, /rihal:explore, /rihal:code-review, /rihal:docs-update' },
2463
+ { name: 'core', description: 'Council agents, /rihal-council, /rihal-discuss, /rihal-status, /rihal-do router, /rihal-help, and state management' },
2464
+ { name: 'execution', description: 'Plan execution — /rihal-execute, /rihal-plan, /rihal-quick, /rihal-debug, /rihal-audit-fix, /rihal-undo' },
2465
+ { name: 'discovery', description: 'Project discovery — /rihal-new-project, /rihal-map-codebase, /rihal-scan, /rihal-explore, /rihal-code-review, /rihal-docs-update' },
2466
2466
  ]
2467
2467
  };
2468
2468
  }
@@ -2609,7 +2609,7 @@ function cmdConfigSet(subArgs) {
2609
2609
  * --title <t> required headline
2610
2610
  * --body <b> optional detail text
2611
2611
  * --event <e> optional short event tag (e.g. "execute-done", "council-done")
2612
- * --only slack|discord|teams restrict to one platform (for /rihal:notify-test)
2612
+ * --only slack|discord|teams restrict to one platform (for /rihal-notify-test)
2613
2613
  *
2614
2614
  * Returns: { sent: [...], skipped: [...], failed: [...] }
2615
2615
  * Never throws on webhook failure — this runs at the tail of workflows and
@@ -3016,7 +3016,7 @@ function cmdBrain(args) {
3016
3016
  * cmdProgress — single pre-computed progress blob (issue #159).
3017
3017
  *
3018
3018
  * Subcommands:
3019
- * progress init Full snapshot — everything /rihal:progress needs.
3019
+ * progress init Full snapshot — everything /rihal-progress needs.
3020
3020
  * progress bar --raw ASCII bar only (e.g. "[████░░░░] 50%").
3021
3021
  * progress insights insights[] array (drift warnings, between-milestone detection).
3022
3022
  * progress routes intent-tree routes[] for Next Up menu.
@@ -3162,7 +3162,7 @@ function cmdProgress(args) {
3162
3162
  insights.push({
3163
3163
  kind: 'between-milestones',
3164
3164
  severity: 'info',
3165
- message: 'All registered phases complete — effectively between milestones. Consider /rihal:audit-milestone or /rihal:new-milestone.',
3165
+ message: 'All registered phases complete — effectively between milestones. Consider /rihal-audit-milestone or /rihal-new-milestone.',
3166
3166
  });
3167
3167
  }
3168
3168
  }
@@ -3184,7 +3184,7 @@ function cmdProgress(args) {
3184
3184
  routes.push({
3185
3185
  letter: 'A',
3186
3186
  label: `Execute phase ${k} — unfinished plans`,
3187
- command: `/rihal:execute-phase ${k}`,
3187
+ command: `/rihal-execute-phase ${k}`,
3188
3188
  });
3189
3189
  }
3190
3190
 
@@ -3196,7 +3196,7 @@ function cmdProgress(args) {
3196
3196
  routes.push({
3197
3197
  letter: 'B',
3198
3198
  label: `Plan phase ${num} — researched, awaiting plan`,
3199
- command: `/rihal:plan-phase ${num}`,
3199
+ command: `/rihal-plan-phase ${num}`,
3200
3200
  });
3201
3201
  }
3202
3202
 
@@ -3213,21 +3213,21 @@ function cmdProgress(args) {
3213
3213
  routes.push({
3214
3214
  letter: 'B',
3215
3215
  label: `Plan phase ${k} — in progress without SPRINT.md`,
3216
- command: `/rihal:plan ${k}`,
3216
+ command: `/rihal-plan ${k}`,
3217
3217
  });
3218
3218
  }
3219
3219
 
3220
3220
  // Route C — close out milestone if everything seems done
3221
3221
  const allDone = statePhases.length > 0 && statePhases.every(p => p.status === 'complete' || p.completed);
3222
3222
  if (allDone) {
3223
- routes.push({ letter: 'C', label: 'Audit current milestone', command: '/rihal:audit-milestone' });
3224
- routes.push({ letter: 'C', label: 'Complete current milestone', command: '/rihal:complete-milestone' });
3223
+ routes.push({ letter: 'C', label: 'Audit current milestone', command: '/rihal-audit-milestone' });
3224
+ routes.push({ letter: 'C', label: 'Complete current milestone', command: '/rihal-complete-milestone' });
3225
3225
  }
3226
3226
 
3227
3227
  // Fallback — nothing obvious: offer status
3228
3228
  if (routes.length === 0) {
3229
- routes.push({ letter: 'A', label: 'Check progress detail', command: '/rihal:progress' });
3230
- routes.push({ letter: 'B', label: 'Start a council on what to do next', command: '/rihal:council' });
3229
+ routes.push({ letter: 'A', label: 'Check progress detail', command: '/rihal-progress' });
3230
+ routes.push({ letter: 'B', label: 'Start a council on what to do next', command: '/rihal-council' });
3231
3231
  }
3232
3232
 
3233
3233
  return routes;
@@ -3242,6 +3242,40 @@ function cmdProgress(args) {
3242
3242
  return `[${bar}] ${completed}/${total} (${pct}%)`;
3243
3243
  }
3244
3244
 
3245
+ /**
3246
+ * Compute weighted progress that recognizes intermediate phase states.
3247
+ * Weights: has_context only = 0.15, has_research = 0.25, has plan = 0.5,
3248
+ * has verification or summary = 1.0.
3249
+ * Returns { weighted: number (0..total), pct: number (0..100) }.
3250
+ */
3251
+ function computeWeightedProgress(stPhases, diskMap) {
3252
+ if (!stPhases.length) return { weighted: 0, pct: 0 };
3253
+ const norm = (k) => String(k ?? '').replace(/^0+(\d)/, '$1');
3254
+ let sum = 0;
3255
+ for (const p of stPhases) {
3256
+ const k = norm(phaseKey(p));
3257
+ if (p.status === 'complete' || p.completed) { sum += 1; continue; }
3258
+ const disk = diskMap[k] || diskMap[phaseKey(p)];
3259
+ if (!disk) continue;
3260
+ if (disk.summary_count > 0) { sum += 1; continue; }
3261
+ if (disk.has_verification) { sum += 0.85; continue; }
3262
+ if (disk.plan_count > 0) { sum += 0.5; continue; }
3263
+ if (disk.has_research) { sum += 0.25; continue; }
3264
+ if (disk.has_context) { sum += 0.15; continue; }
3265
+ }
3266
+ const total = Math.max(stPhases.length, 1);
3267
+ return { weighted: Math.round(sum * 100) / 100, pct: Math.round((sum / total) * 100) };
3268
+ }
3269
+
3270
+ function buildWeightedBar(stPhases, diskMap, total) {
3271
+ const { weighted, pct } = computeWeightedProgress(stPhases, diskMap);
3272
+ if (!total) return '[░░░░░░░░░░░░░░░░░░░░] 0/0 (0%)';
3273
+ const width = 20;
3274
+ const filled = Math.min(width, Math.round((weighted / total) * width));
3275
+ const bar = '█'.repeat(filled) + '░'.repeat(width - filled);
3276
+ return `[${bar}] ~${pct}% weighted`;
3277
+ }
3278
+
3245
3279
  // Build the core snapshot once — all subcommands derive from it.
3246
3280
  const state = readState();
3247
3281
  const roadmapPhases = parseRoadmapPhases();
@@ -3268,6 +3302,7 @@ function cmdProgress(args) {
3268
3302
  const currentPhase = state && state.current_phase;
3269
3303
  const insights = detectInsights(state, roadmapPhases, diskByNum);
3270
3304
  const routes = deriveRoutes(state, roadmapPhases, diskByNum);
3305
+ const { weighted: weightedCompleted, pct: weightedPct } = computeWeightedProgress(statePhases, diskByNum);
3271
3306
 
3272
3307
  return {
3273
3308
  ok: true,
@@ -3276,7 +3311,9 @@ function cmdProgress(args) {
3276
3311
  current_phase: currentPhase,
3277
3312
  phase_count: phaseCount,
3278
3313
  completed_count: completedCount,
3314
+ weighted_progress: weightedPct,
3279
3315
  bar: buildBar(completedCount, phaseCount),
3316
+ weighted_bar: buildWeightedBar(statePhases, diskByNum, phaseCount),
3280
3317
  phases: (() => {
3281
3318
  // Prefer ROADMAP-parsed phases when available; fall back to state.phases
3282
3319
  // when the roadmap doesn't use a parseable format. Normalize "07" / "7" / 7.
@@ -3472,8 +3509,8 @@ function cmdGitignore(args) {
3472
3509
  let sliceStart = start;
3473
3510
  if (sliceStart > 0 && existing[sliceStart - 1] === '\n') sliceStart -= 1;
3474
3511
  let sliceEnd = endIdx + END.length;
3475
- if (existing[sliceEnd] === '\n') sliceEnd += 1;
3476
- return existing.slice(0, sliceStart) + newBlock + existing.slice(sliceEnd);
3512
+ if (existing[slice_end] === '\n') slice_end += 1;
3513
+ return existing.slice(0, sliceStart) + newBlock + existing.slice(slice_end);
3477
3514
  }
3478
3515
 
3479
3516
  if (!fs.existsSync(gitignorePath)) {
@@ -3688,7 +3725,7 @@ async function main() {
3688
3725
  console.log(' state read → print full state.json');
3689
3726
  console.log(' state get → alias for state read');
3690
3727
  console.log(' state init --project <name> → create state.json if missing');
3691
- console.log(' state set-phase <name> → set current phase, reset plan counter');
3728
+ console.log(' state set-phase <name> → set current_phase, reset current_plan, append to phases[]');
3692
3729
  console.log(' state advance-plan → increment current_plan counter');
3693
3730
  console.log(' state record-execution --plan <p> --tasks <n> --duration <ms> --hash <h>');
3694
3731
  console.log(' state add-decision "<summary>" → append to decisions[] + ~/.rihal/decisions.jsonl');
@@ -1,6 +1,6 @@
1
1
  # rihal/brain — The Rihal Context Layer
2
2
 
3
- This directory is populated on install (and on every `/rihal:update`) by `rihal-tools brain pull`. Its job is simple: pull Rihal's institutional knowledge — PR/commit/issue standards, architecture decisions, internal guides — into every Rihalian's project so their AI assistant already knows how Rihal builds.
3
+ This directory is populated on install (and on every `/rihal-update`) by `rihal-tools brain pull`. Its job is simple: pull Rihal's institutional knowledge — PR/commit/issue standards, architecture decisions, internal guides — into every Rihalian's project so their AI assistant already knows how Rihal builds.
4
4
 
5
5
  ## Structure
6
6
 
@@ -22,7 +22,7 @@ Content is pulled from three kinds of source:
22
22
 
23
23
  ## Update policy
24
24
 
25
- - Local edits to any file under `rihal/brain/` are **overwritten** on every `/rihal:update`. Rihal Code treats the upstream sources as the single source of truth. If the Rihal standard needs to change, the change happens upstream — then every Rihalian benefits.
25
+ - Local edits to any file under `rihal/brain/` are **overwritten** on every `/rihal-update`. Rihal Code treats the upstream sources as the single source of truth. If the Rihal standard needs to change, the change happens upstream — then every Rihalian benefits.
26
26
  - Per-invocation: `node .rihal/bin/rihal-tools.cjs brain pull`.
27
27
  - Per project: runs automatically as part of `npx rihal-code install`.
28
28
 
@@ -13,7 +13,7 @@ Phrases like *"just write it autonomously"*, *"create the full thing ready to ex
13
13
  There are exactly two ways to legitimately run a skill without halting at menus:
14
14
 
15
15
  1. **Project-wide:** `.rihal/config.yaml` → `mode: yolo`. The config loader flags `yoloMode=true` in the runtime context; step files check this flag and may auto-advance.
16
- 2. **Per-invocation:** `/rihal:do --auto <question>` on the router. The router sets `autoMode=true` and passes it to the dispatched skill.
16
+ 2. **Per-invocation:** `/rihal-do --auto <question>` on the router. The router sets `autoMode=true` and passes it to the dispatched skill.
17
17
 
18
18
  If **neither** flag is set, halt is mandatory regardless of what the user's prompt text says.
19
19
 
@@ -34,4 +34,4 @@ That response invents a mode that does not exist and violates the halt invariant
34
34
 
35
35
  ## Correct Response
36
36
 
37
- > ✅ Agent: *"I hear you want the PRD written end-to-end. The halt rule applies unless you set `mode: yolo` in `.rihal/config.yaml` or re-invoke via `/rihal:do --auto`. Here is the step-01 menu — pick Continue and I will drive each step concisely."*
37
+ > ✅ Agent: *"I hear you want the PRD written end-to-end. The halt rule applies unless you set `mode: yolo` in `.rihal/config.yaml` or re-invoke via `/rihal-do --auto`. Here is the step-01 menu — pick Continue and I will drive each step concisely."*
@@ -28,7 +28,7 @@ This pattern is forbidden. A citation block without `WebFetch` evidence is a lie
28
28
 
29
29
  ## If the User Is Running Autonomously
30
30
 
31
- `mode: yolo` and `/rihal:do --auto` bypass halt-at-menu, but they do **not** bypass this rule. A fully-autonomous run still has to fetch every cited URL before writing the claim.
31
+ `mode: yolo` and `/rihal-do --auto` bypass halt-at-menu, but they do **not** bypass this rule. A fully-autonomous run still has to fetch every cited URL before writing the claim.
32
32
 
33
33
  ## Checklist Before Writing a Citation
34
34
 
@@ -1,6 +1,6 @@
1
1
  # State Sync Rule
2
2
 
3
- Referenced by skills that write `ROADMAP.md`, `epics.md`, or sprint artifacts. These artifacts are not authoritative on their own — downstream workflows (`/rihal:status`, `/rihal:progress`, `/rihal:execute`) read `.rihal/state.json`. If you write a planning artifact and skip state sync, the project ends up with two divergent pictures.
3
+ Referenced by skills that write `ROADMAP.md`, `epics.md`, or sprint artifacts. These artifacts are not authoritative on their own — downstream workflows (`/rihal-status`, `/rihal-progress`, `/rihal-execute`) read `.rihal/state.json`. If you write a planning artifact and skip state sync, the project ends up with two divergent pictures.
4
4
 
5
5
  ## The Rule
6
6
 
@@ -29,15 +29,15 @@ If `rihal-tools.cjs` does not yet expose the needed subcommand, fall back to `st
29
29
  ## Verification After Sync
30
30
 
31
31
  - `node .rihal/bin/rihal-tools.cjs state read` returns a phase count that matches the phase table in `ROADMAP.md`.
32
- - `/rihal:status` and `/rihal:progress`, run back-to-back, agree on the current milestone name and phase count.
32
+ - `/rihal-status` and `/rihal-progress`, run back-to-back, agree on the current milestone name and phase count.
33
33
 
34
34
  ## Why This Matters
35
35
 
36
36
  Observed failure (rihal-code, social-poster-x install, Apr 2026):
37
37
 
38
- - User ran `/rihal:create-epics-and-stories`.
38
+ - User ran `/rihal-create-epics-and-stories`.
39
39
  - `ROADMAP.md` gained 10 phases; `epics.md` gained 62 stories.
40
40
  - `.rihal/state.json` remained at the initial bootstrap with 1 phase.
41
- - `/rihal:status` showed 1 phase; `/rihal:progress` showed 10.
41
+ - `/rihal-status` showed 1 phase; `/rihal-progress` showed 10.
42
42
 
43
43
  That divergence is what this rule exists to prevent.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:add-phase
2
+ name: rihal-add-phase
3
3
  description: "Add a new integer phase to the end of the current milestone. Auto-calculates the next phase number, creates the phase directory, and updates ROADMAP.md. Use when scope expands mid-milestone."
4
4
  argument-hint: "<phase-name>"
5
5
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:add-tests
2
+ name: rihal-add-tests
3
3
  description: Generate unit and E2E tests for a completed phase based on its SUMMARY.md, CONTEXT.md, and implementation. Classifies ea
4
4
  argument-hint: ""
5
5
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:add-todo
2
+ name: rihal-add-todo
3
3
  description: Capture an idea or task for later work
4
4
  argument-hint: "<todo-title>"
5
5
  allowed-tools: bash, read, write
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:analyze-dependencies
2
+ name: rihal-analyze-dependencies
3
3
  description: Analyze phase dependencies, suggest "Depends on" entries for ROADMAP.md
4
4
  argument-hint: ""
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:audit-fix
2
+ name: rihal-audit-fix
3
3
  description: Autonomous audit-to-fix pipeline — find issues, classify, fix, test, commit.
4
4
  argument-hint: "[--max N] [--severity high|medium|all] [--dry-run] [--source <audit>]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:audit-milestone
2
+ name: rihal-audit-milestone
3
3
  description: Cross-phase audit — verify milestone completion against original goals
4
4
  argument-hint: "[--strict] [--report]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:audit-uat
2
+ name: rihal-audit-uat
3
3
  description: Cross-phase audit of all UAT and verification files. Finds every outstanding item (pending, skipped, blocked, human_need
4
4
  argument-hint: ""
5
5
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:audit
2
+ name: rihal-audit
3
3
  description: Single audit entry point — asks what to audit (phase, milestone, UAT, code, fix, work) and dispatches to the right subroute. Honours .rihal/config.yaml mode.
4
4
  argument-hint: "[phase | milestone | uat | code | fix | work] [...subroute args]"
5
5
  allowed-tools: Read, Write, Bash, AskUserQuestion
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:autonomous
2
+ name: rihal-autonomous
3
3
  description: Execute remaining phases autonomously with minimal human intervention. Runs plan → execute → verify cycles for unfinished work, pausing at checkpoints and failures.
4
4
  argument-hint: "[--from N] [--to M] [--only N] [--interactive]"
5
5
  allowed-tools: Read, Bash, Agent, AskUserQuestion
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:brainstorm
2
+ name: rihal-brainstorm
3
3
  description: Guided brainstorming session — select a method, apply it to your challenge, generate ideas systematically
4
4
  argument-hint: "<challenge> [--method=METHOD] [--people=N] [--personas=LIST]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:chain
2
+ name: rihal-chain
3
3
  description: Run a sequential agent pipeline (research → scope → build). Each stage reads the previous stage's artifact.
4
4
  argument-hint: "<preset|agent-list> <topic>"
5
5
  allowed-tools: Read, Write, Bash, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:check-todos
2
+ name: rihal-check-todos
3
3
  description: List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
4
4
  argument-hint: ""
5
5
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:checkpoint-preview
2
+ name: rihal-checkpoint-preview
3
3
  description: Human-in-the-loop change review — makes sense of a diff, focuses attention where it matters, and walks through testing. Use when you say "checkpoint", "walk me through this", or "human review".
4
4
  argument-hint: "[<branch-or-diff>]"
5
5
  allowed-tools:
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: rihal:cleanup
3
- description: "Archive completed milestone phase directories into .planning/milestones/. Run after /rihal:complete-milestone to keep .planning/ tidy. Shows a dry-run summary before moving anything."
2
+ name: rihal-cleanup
3
+ description: "Archive completed milestone phase directories into .planning/milestones/. Run after /rihal-complete-milestone to keep .planning/ tidy. Shows a dry-run summary before moving anything."
4
4
  argument-hint: "[--dry-run]"
5
5
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Agent
6
6
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:code-review-fix
2
+ name: rihal-code-review-fix
3
3
  description: Auto-fix issues found by code review.
4
4
  argument-hint: "<phase> [--all] [--auto]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:code-review
2
+ name: rihal-code-review
3
3
  description: Review source files for bugs, security issues, and code quality problems.
4
4
  argument-hint: "<phase> [--depth=quick|standard|deep] [--files=file1,file2,...] [--karpathy] [--attack] [--edge-cases]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:complete-milestone
2
+ name: rihal-complete-milestone
3
3
  description: Archive and reset — move completed milestone to archive and prepare for next cycle
4
4
  argument-hint: "[--archive-path=PATH]"
5
5
  allowed-tools:
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: rihal:config
3
- description: Alias for /rihal:settings — view or edit Rihal config (language, mode, model profile, workflow gates, git strategy)
2
+ name: rihal-config
3
+ description: Alias for /rihal-settings — view or edit Rihal config (language, mode, model profile, workflow gates, git strategy)
4
4
  argument-hint: "[show | get <key> | set <key> <value>]"
5
5
  allowed-tools: Read, Write, Bash, AskUserQuestion
6
6
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:correct-course
2
+ name: rihal-correct-course
3
3
  description: Load original PRD/architecture, compare to current codebase. Classify deviation (scope drift / wrong architecture / missing AC / tech debt). Produce ordered remediation plan + updated story file.
4
4
  argument-hint: "[--prd <path>] [--architecture <path>]"
5
5
  allowed-tools: Read, Glob, Grep, Bash, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:council
2
+ name: rihal-council
3
3
  description: Convene the Rihal majlis — spawns 3-5 specialist subagents in parallel to answer a strategic question. Agents are picked by keyword scoring.
4
4
  argument-hint: "<question> [--full] [--agents=a,b,c] [--explain]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:create-epics-and-stories
2
+ name: rihal-create-epics-and-stories
3
3
  description: Parse a PRD or project document to generate numbered epic files in .planning/epics/. Each epic contains user stories with acceptance criteria and development notes.
4
4
  argument-hint: "<prd-path|project-path> [--prefix <name>]"
5
5
  allowed-tools: Read, Write, Glob, Grep, Bash, Agent
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: rihal:create-story
3
- description: Transform a story from an epic file into a self-contained STORY.md with full AC, dev notes, and implementation guidance. Ready for /rihal:dev-story.
2
+ name: rihal-create-story
3
+ description: Transform a story from an epic file into a self-contained STORY.md with full AC, dev notes, and implementation guidance. Ready for /rihal-dev-story.
4
4
  argument-hint: "<EPIC-file.md> [--story <id>]"
5
5
  allowed-tools: Read, Write, Glob, Bash
6
6
  ---
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:dashboard
2
+ name: rihal-dashboard
3
3
  description: Start the Diwan view-only dashboard (port 7717) to browse project state, phases, decisions, and council sessions in the browser
4
4
  argument-hint: "[--port 7717] [--no-open]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:debug
2
+ name: rihal-debug
3
3
  description: Systematically investigate and diagnose issues
4
4
  argument-hint: "<issue-description>"
5
5
  allowed-tools: task, bash, read, grep, glob
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:decisions
2
+ name: rihal-decisions
3
3
  description: Browse decisions across every Rihal project on this machine — sourced from .rihal/decisions.jsonl
4
4
  argument-hint: "[--limit N] [--project <name>] [--since <ISO>] [--this-project]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:dev-story
2
+ name: rihal-dev-story
3
3
  description: Wrap a STORY.md file for AI-coder execution. Produces explicit file paths, context, and checklist. Gated by checklist-story-draft.md entry.
4
4
  argument-hint: "<STORY.md>"
5
5
  allowed-tools: Read, Write, Bash, Glob
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:diff
2
+ name: rihal-diff
3
3
  description: Show changes to plans and state between commits
4
4
  argument-hint: "[--last] [<sha1> <sha2>]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:discuss-phase
2
+ name: rihal-discuss-phase
3
3
  description: Gather context through adaptive questioning before sprint planning. Creates CONTEXT.md with decisions, discretion areas, deferred ideas.
4
4
  argument-hint: "<phase-number> [--auto] [--chain]"
5
5
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: rihal:discuss
3
- description: Quick sync with one Rihal agent. Lighter than /rihal:council — one agent, no cross-talk, optional save.
2
+ name: rihal-discuss
3
+ description: Quick sync with one Rihal agent. Lighter than /rihal-council — one agent, no cross-talk, optional save.
4
4
  argument-hint: "[agent-name] <question>"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:do
2
+ name: rihal-do
3
3
  description: "[ROUTER] Interactive picker — describe what you want and rihal picks the command"
4
4
  argument-hint: "[optional question or task description]"
5
5
  allowed-tools:
@@ -9,7 +9,7 @@ allowed-tools:
9
9
  ---
10
10
 
11
11
  <objective>
12
- Analyze freeform natural language input and dispatch to the most appropriate rihal command. Acts as a smart dispatcher — never does the work itself. Matches intent to the best /rihal:* command, confirms the match, then hands off.
12
+ Analyze freeform natural language input and dispatch to the most appropriate rihal command. Acts as a smart dispatcher — never does the work itself. Matches intent to the best /rihal-* command, confirms the match, then hands off.
13
13
  </objective>
14
14
 
15
15
  <execution_context>
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:docs-update
2
+ name: rihal-docs-update
3
3
  description: Generate and update project documentation verified against codebase.
4
4
  argument-hint: "[--force] [--fix]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:document-project
2
+ name: rihal-document-project
3
3
  description: Load documentation-requirements.csv, audit missing/stale docs, file missing docs as SPRINT.md tasks. Auto-injected by resume-work.md if present.
4
4
  argument-hint: "[--csv <path>] [--auto-file-tasks]"
5
5
  allowed-tools: Read, Write, Glob, Bash, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:enable-hooks
2
+ name: rihal-enable-hooks
3
3
  description: Install optional Rihal hooks into .claude/settings.json for edit, workflow, and commit guardrails
4
4
  argument-hint: ""
5
5
  allowed-tools:
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: rihal:execute-sprint
3
- description: "Internal — Execute a sprint's SPRINT.md. Wrapper over rihal:execute for sprint-specific dispatch."
2
+ name: rihal-execute-sprint
3
+ description: "Internal — Execute a sprint's SPRINT.md. Wrapper over rihal-execute for sprint-specific dispatch."
4
4
  argument-hint: "<sprint-file.md | phase-dir>"
5
5
  allowed-tools:
6
6
  - Read
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:execute
2
+ name: rihal-execute
3
3
  description: Execute one or more SPRINT.md files. Spawns rihal-executor subagents in parallel per dependency wave. Pauses at checkpoints and waits for human verification or decisions.
4
4
  argument-hint: "<plan-file.md | phase-dir> [--wave N] [--interactive] [--continue] [--option=A]"
5
5
  allowed-tools: Read, Write, Edit, Bash, Grep, Glob, Agent
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:explore
2
+ name: rihal-explore
3
3
  description: Socratic ideation workflow — think through ideas before committing.
4
4
  argument-hint: "[topic]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:export-to-github
2
+ name: rihal-export-to-github
3
3
  description: Push phases/stories/decisions to GitHub — thin wrapper over rihal-code github-sync, plus a decisions export mode
4
4
  argument-hint: "[target] [--execute] [--repo owner/name] [--with-labels] [--decisions [--since ISO]]"
5
5
  allowed-tools:
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: rihal:forensics
2
+ name: rihal-forensics
3
3
  description: Diagnose incomplete executions and stuck states — show timeline of what broke and how to resume
4
4
  argument-hint: ""
5
5
  allowed-tools: