@hanzlaa/rcode 2.3.1 → 2.3.3

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 (95) hide show
  1. package/CLAUDE.md +15 -0
  2. package/README.md +3 -3
  3. package/cli/postinstall.js +4 -4
  4. package/package.json +3 -2
  5. package/rihal/agents/rihal-executor.md +1 -0
  6. package/rihal/agents/rihal-phase-researcher.md +1 -0
  7. package/rihal/agents/rihal-planner.md +2 -1
  8. package/rihal/brain/best-practices/no-theoretical-suggestions.md +56 -0
  9. package/rihal/commands/add-phase.md +2 -2
  10. package/rihal/commands/cleanup.md +2 -2
  11. package/rihal/commands/pr-branch.md +2 -2
  12. package/rihal/commands/remove-phase.md +2 -2
  13. package/rihal/commands/research-phase.md +2 -2
  14. package/rihal/commands/ship.md +15 -3
  15. package/rihal/commands/validate-phase.md +1 -1
  16. package/rihal/commands/verify-phase.md +2 -2
  17. package/rihal/skills/actions/1-analysis/research/rihal-domain-research/SKILL.md +11 -0
  18. package/rihal/skills/actions/1-analysis/research/rihal-market-research/SKILL.md +11 -0
  19. package/rihal/skills/actions/1-analysis/research/rihal-technical-research/SKILL.md +13 -0
  20. package/rihal/skills/actions/1-analysis/rihal-document-project/SKILL.md +11 -0
  21. package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +2 -0
  22. package/rihal/skills/actions/1-analysis/rihal-product-brief/SKILL.md +7 -0
  23. package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/SKILL.md +12 -0
  24. package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +18 -0
  25. package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +13 -0
  26. package/rihal/skills/actions/2-plan/rihal-create-story/SKILL.md +12 -0
  27. package/rihal/skills/actions/2-plan/rihal-create-ux-design/SKILL.md +12 -0
  28. package/rihal/skills/actions/2-plan/rihal-edit-prd/SKILL.md +11 -0
  29. package/rihal/skills/actions/2-plan/rihal-frontend-design/SKILL.md +13 -0
  30. package/rihal/skills/actions/2-plan/rihal-validate-prd/SKILL.md +12 -0
  31. package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/SKILL.md +12 -0
  32. package/rihal/skills/actions/3-solutioning/rihal-create-architecture/SKILL.md +14 -0
  33. package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/SKILL.md +12 -0
  34. package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +6 -0
  35. package/rihal/skills/actions/4-implementation/rihal-code-review/SKILL.md +12 -0
  36. package/rihal/skills/actions/4-implementation/rihal-correct-course/SKILL.md +13 -0
  37. package/rihal/skills/actions/4-implementation/rihal-dev-story/SKILL.md +12 -0
  38. package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/SKILL.md +12 -0
  39. package/rihal/skills/actions/4-implementation/rihal-retrospective/SKILL.md +11 -0
  40. package/rihal/skills/actions/4-implementation/rihal-scaffold-project/SKILL.md +10 -0
  41. package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +11 -0
  42. package/rihal/skills/actions/4-implementation/rihal-sprint-status/SKILL.md +10 -0
  43. package/rihal/skills/agents/ahmed-hassani-director/SKILL.md +13 -1
  44. package/rihal/skills/agents/fatima-qa/SKILL.md +14 -1
  45. package/rihal/skills/agents/haitham-frontend/SKILL.md +15 -1
  46. package/rihal/skills/agents/hanzla-engineer/SKILL.md +14 -1
  47. package/rihal/skills/agents/hussain-pm/SKILL.md +14 -1
  48. package/rihal/skills/agents/hussain-sm/SKILL.md +14 -1
  49. package/rihal/skills/agents/layla-designer/SKILL.md +15 -1
  50. package/rihal/skills/agents/majlis-council/SKILL.md +14 -1
  51. package/rihal/skills/agents/mariam-marketing/SKILL.md +15 -1
  52. package/rihal/skills/agents/nasser-eng-manager/SKILL.md +14 -1
  53. package/rihal/skills/agents/noor-writer/SKILL.md +14 -1
  54. package/rihal/skills/agents/raees-orchestrator/SKILL.md +13 -1
  55. package/rihal/skills/agents/sadiq-analyst/SKILL.md +15 -1
  56. package/rihal/skills/agents/waleed-architect/SKILL.md +16 -1
  57. package/rihal/skills/agents/yousef-backend/SKILL.md +16 -1
  58. package/rihal/skills/agents/zahra-branding/SKILL.md +15 -1
  59. package/rihal/skills/agents/zayd-ml/SKILL.md +17 -1
  60. package/rihal/skills/core/rihal-advanced-elicitation/SKILL.md +12 -0
  61. package/rihal/skills/core/rihal-brainstorming/SKILL.md +16 -0
  62. package/rihal/skills/core/rihal-clone-website/SKILL.md +21 -0
  63. package/rihal/skills/core/rihal-distillator/SKILL.md +8 -0
  64. package/rihal/skills/core/rihal-editorial-review-prose/SKILL.md +12 -0
  65. package/rihal/skills/core/rihal-editorial-review-structure/SKILL.md +18 -0
  66. package/rihal/skills/core/rihal-help/SKILL.md +12 -0
  67. package/rihal/skills/core/rihal-index-docs/SKILL.md +18 -0
  68. package/rihal/skills/core/rihal-init/SKILL.md +8 -0
  69. package/rihal/skills/core/rihal-party-mode/SKILL.md +14 -0
  70. package/rihal/skills/core/rihal-review-adversarial-general/SKILL.md +12 -0
  71. package/rihal/skills/core/rihal-review-edge-case-hunter/SKILL.md +18 -0
  72. package/rihal/skills/core/rihal-shard-doc/SKILL.md +18 -0
  73. package/rihal/state.json +22 -0
  74. package/rihal/team.yaml +205 -0
  75. package/rihal/workflows/autonomous.md +2 -2
  76. package/rihal/workflows/chain.md +1 -1
  77. package/rihal/workflows/checkpoint-preview.md +1 -1
  78. package/rihal/workflows/council.md +1 -1
  79. package/rihal/workflows/discuss.md +2 -2
  80. package/rihal/workflows/document-project.md +1 -1
  81. package/rihal/workflows/enable-hooks.md +1 -1
  82. package/rihal/workflows/help.md +1 -1
  83. package/rihal/workflows/prfaq.md +1 -1
  84. package/rihal/workflows/settings.md +18 -17
  85. package/rihal/workflows/ship.md +31 -1
  86. package/rihal/workflows/sprint-planning.md +2 -2
  87. package/server/dashboard.js +34 -575
  88. package/server/lib/api.js +123 -0
  89. package/server/lib/html/client.js +969 -0
  90. package/server/lib/html/css.js +416 -0
  91. package/server/lib/html/shell.js +230 -0
  92. package/server/lib/scanner.js +142 -0
  93. package/rihal/skills/core/rihal-advanced-elicitation/rihal-advanced-elicitation/SKILL.md +0 -148
  94. package/rihal/skills/core/rihal-advanced-elicitation/rihal-advanced-elicitation/methods.csv +0 -51
  95. package/rihal/skills/core/rihal-shard-doc/rihal-shard-doc/SKILL.md +0 -122
package/rihal/team.yaml CHANGED
@@ -6,6 +6,7 @@ agents:
6
6
  - id: rihal-sadiq
7
7
  name: Sadiq (صادق)
8
8
  file_path: rihal/agents/rihal-sadiq.md
9
+ skill_path: rihal/skills/agents/sadiq-analyst
9
10
  role: Director of Strategy
10
11
  authority_level: strategic
11
12
  domain_keywords:
@@ -21,6 +22,7 @@ agents:
21
22
  - id: rihal-waleed
22
23
  name: Waleed (وليد)
23
24
  file_path: rihal/agents/rihal-waleed.md
25
+ skill_path: rihal/skills/agents/waleed-architect
24
26
  role: Chief Technology Officer
25
27
  authority_level: technical
26
28
  domain_keywords:
@@ -38,6 +40,7 @@ agents:
38
40
  - id: rihal-fatima
39
41
  name: Fatima (فاطمة)
40
42
  file_path: rihal/agents/rihal-fatima.md
43
+ skill_path: rihal/skills/agents/fatima-qa
41
44
  role: QA Lead
42
45
  authority_level: quality
43
46
  domain_keywords:
@@ -54,6 +57,7 @@ agents:
54
57
  - id: rihal-mariam
55
58
  name: Mariam (مريم)
56
59
  file_path: rihal/agents/rihal-mariam.md
60
+ skill_path: rihal/skills/agents/mariam-marketing
57
61
  role: Marketing & Growth Lead
58
62
  authority_level: growth
59
63
  domain_keywords:
@@ -69,6 +73,7 @@ agents:
69
73
  - id: rihal-hussain-pm
70
74
  name: Hussain (حسين)
71
75
  file_path: rihal/agents/rihal-hussain-pm.md
76
+ skill_path: rihal/skills/agents/hussain-pm
72
77
  role: Product Manager
73
78
  authority_level: product
74
79
  domain_keywords:
@@ -97,6 +102,7 @@ agents:
97
102
  - id: rihal-yousef
98
103
  name: Yousef (يوسف)
99
104
  file_path: rihal/agents/rihal-yousef.md
105
+ skill_path: rihal/skills/agents/yousef-backend
100
106
  role: Senior Backend Engineer
101
107
  authority_level: technical
102
108
  domain_keywords:
@@ -115,6 +121,7 @@ agents:
115
121
  - id: rihal-haitham
116
122
  name: Haitham (هيثم)
117
123
  file_path: rihal/agents/rihal-haitham.md
124
+ skill_path: rihal/skills/agents/haitham-frontend
118
125
  role: Senior Frontend Engineer
119
126
  authority_level: technical
120
127
  domain_keywords:
@@ -132,6 +139,7 @@ agents:
132
139
  - id: rihal-zayd
133
140
  name: Zayd (زيد)
134
141
  file_path: rihal/agents/rihal-zayd.md
142
+ skill_path: rihal/skills/agents/zayd-ml
135
143
  role: Senior ML Engineer
136
144
  authority_level: technical
137
145
  domain_keywords:
@@ -150,6 +158,7 @@ agents:
150
158
  - id: rihal-layla
151
159
  name: Layla (ليلى)
152
160
  file_path: rihal/agents/rihal-layla.md
161
+ skill_path: rihal/skills/agents/layla-designer
153
162
  role: UX Designer
154
163
  authority_level: design
155
164
  domain_keywords:
@@ -166,6 +175,7 @@ agents:
166
175
  - id: rihal-zahra
167
176
  name: Zahra (زهرة)
168
177
  file_path: rihal/agents/rihal-zahra.md
178
+ skill_path: rihal/skills/agents/zahra-branding
169
179
  role: Branding & Creative Director
170
180
  authority_level: design
171
181
  domain_keywords:
@@ -182,6 +192,7 @@ agents:
182
192
  - id: rihal-nasser
183
193
  name: Nasser (ناصر)
184
194
  file_path: rihal/agents/rihal-nasser.md
195
+ skill_path: rihal/skills/agents/nasser-eng-manager
185
196
  role: Software Engineering Manager
186
197
  authority_level: management
187
198
  domain_keywords:
@@ -215,6 +226,7 @@ agents:
215
226
  - id: rihal-noor
216
227
  name: Noor (نور)
217
228
  file_path: rihal/agents/rihal-noor.md
229
+ skill_path: rihal/skills/agents/noor-writer
218
230
  role: Technical Writer & Presentation Lead
219
231
  authority_level: operational
220
232
  domain_keywords:
@@ -231,6 +243,7 @@ agents:
231
243
  - id: rihal-ahmed
232
244
  name: Ahmed Al Hassani (أحمد الحسني)
233
245
  file_path: rihal/agents/rihal-ahmed.md
246
+ skill_path: rihal/skills/agents/ahmed-hassani-director
234
247
  role: Technology & Development Director
235
248
  authority_level: strategic
236
249
  domain_keywords:
@@ -246,6 +259,7 @@ agents:
246
259
  - id: rihal-hanzla
247
260
  name: Hanzla (حنظلة)
248
261
  file_path: rihal/agents/rihal-hanzla.md
262
+ skill_path: rihal/skills/agents/hanzla-engineer
249
263
  role: Senior Full-Stack Engineer
250
264
  authority_level: technical
251
265
  domain_keywords:
@@ -341,3 +355,194 @@ routing:
341
355
  - rihal-hussain-pm # scope
342
356
  - rihal-waleed # feasibility
343
357
  - rihal-sadiq # strategic fit
358
+
359
+ # Tactical / Workflow Agents (spawned by workflows)
360
+ tactical_agents:
361
+ - id: rihal-advisor-researcher
362
+ name: Advisor Researcher
363
+ file_path: rihal/agents/rihal-advisor-researcher.md
364
+ role: Advisor Researcher
365
+ authority_level: research
366
+ description: Advisor-level deep research for gray-area decisions
367
+
368
+ - id: rihal-architect
369
+ name: Architect
370
+ file_path: rihal/agents/rihal-architect.md
371
+ role: Architect
372
+ authority_level: technical
373
+ description: Enterprise architecture and system design reviews
374
+
375
+ - id: rihal-assumptions-analyzer
376
+ name: Assumptions Analyzer
377
+ file_path: rihal/agents/rihal-assumptions-analyzer.md
378
+ role: Assumptions Analyzer
379
+ authority_level: analysis
380
+ description: Analyzes phase assumptions with evidence from codebase
381
+
382
+ - id: rihal-code-fixer
383
+ name: Code Fixer
384
+ file_path: rihal/agents/rihal-code-fixer.md
385
+ role: Code Fixer
386
+ authority_level: implementation
387
+ description: Applies code review findings and implements fixes
388
+
389
+ - id: rihal-code-reviewer
390
+ name: Code Reviewer
391
+ file_path: rihal/agents/rihal-code-reviewer.md
392
+ role: Code Reviewer
393
+ authority_level: quality
394
+ description: Reviews code for bugs, security issues, quality problems
395
+
396
+ - id: rihal-codebase-mapper
397
+ name: Codebase Mapper
398
+ file_path: rihal/agents/rihal-codebase-mapper.md
399
+ role: Codebase Mapper
400
+ authority_level: analysis
401
+ description: Explores and documents codebase architecture
402
+
403
+ - id: rihal-debugger
404
+ name: Debugger
405
+ file_path: rihal/agents/rihal-debugger.md
406
+ role: Debugger
407
+ authority_level: implementation
408
+ description: Investigates bugs using scientific method
409
+
410
+ - id: rihal-deviation-analyzer
411
+ name: Deviation Analyzer
412
+ file_path: rihal/agents/rihal-deviation-analyzer.md
413
+ role: Deviation Analyzer
414
+ authority_level: analysis
415
+ description: Analyzes plan deviations and root causes
416
+
417
+ - id: rihal-docs-auditor
418
+ name: Docs Auditor
419
+ file_path: rihal/agents/rihal-docs-auditor.md
420
+ role: Docs Auditor
421
+ authority_level: quality
422
+ description: Audits documentation completeness and accuracy
423
+
424
+ - id: rihal-edge-case-hunter
425
+ name: Edge Case Hunter
426
+ file_path: rihal/agents/rihal-edge-case-hunter.md
427
+ role: Edge Case Hunter
428
+ authority_level: quality
429
+ description: Enumerates edge cases and boundary conditions
430
+
431
+ - id: rihal-executor
432
+ name: Executor
433
+ file_path: rihal/agents/rihal-executor.md
434
+ role: Executor
435
+ authority_level: implementation
436
+ description: Executes sprint plans with atomic commits
437
+
438
+ - id: rihal-integration-checker
439
+ name: Integration Checker
440
+ file_path: rihal/agents/rihal-integration-checker.md
441
+ role: Integration Checker
442
+ authority_level: quality
443
+ description: Verifies cross-phase integration and E2E flows
444
+
445
+ - id: rihal-nyquist-auditor
446
+ name: Nyquist Auditor
447
+ file_path: rihal/agents/rihal-nyquist-auditor.md
448
+ role: Nyquist Auditor
449
+ authority_level: quality
450
+ description: Fills test coverage gaps for phase requirements
451
+
452
+ - id: rihal-phase-researcher
453
+ name: Phase Researcher
454
+ file_path: rihal/agents/rihal-phase-researcher.md
455
+ role: Phase Researcher
456
+ authority_level: research
457
+ description: Researches how to implement a phase before planning
458
+
459
+ - id: rihal-planner
460
+ name: Planner
461
+ file_path: rihal/agents/rihal-planner.md
462
+ role: Planner
463
+ authority_level: planning
464
+ description: Creates executable phase plans with task breakdown
465
+
466
+ - id: rihal-profiler
467
+ name: Profiler
468
+ file_path: rihal/agents/rihal-profiler.md
469
+ role: Profiler
470
+ authority_level: analysis
471
+ description: Analyzes user behavior patterns and personas
472
+
473
+ - id: rihal-project-researcher
474
+ name: Project Researcher
475
+ file_path: rihal/agents/rihal-project-researcher.md
476
+ role: Project Researcher
477
+ authority_level: research
478
+ description: Researches domain ecosystem before roadmap creation
479
+
480
+ - id: rihal-remediation-planner
481
+ name: Remediation Planner
482
+ file_path: rihal/agents/rihal-remediation-planner.md
483
+ role: Remediation Planner
484
+ authority_level: planning
485
+ description: Plans remediation for issues and blockers
486
+
487
+ - id: rihal-research-synthesizer
488
+ name: Research Synthesizer
489
+ file_path: rihal/agents/rihal-research-synthesizer.md
490
+ role: Research Synthesizer
491
+ authority_level: research
492
+ description: Synthesizes parallel research outputs into summary
493
+
494
+ - id: rihal-roadmapper
495
+ name: Roadmapper
496
+ file_path: rihal/agents/rihal-roadmapper.md
497
+ role: Roadmapper
498
+ authority_level: planning
499
+ description: Creates project roadmaps with phase breakdown
500
+
501
+ - id: rihal-security-adversary
502
+ name: Security Adversary
503
+ file_path: rihal/agents/rihal-security-adversary.md
504
+ role: Security Adversary
505
+ authority_level: security
506
+ description: Adversarial security review and threat modeling
507
+
508
+ - id: rihal-security-auditor
509
+ name: Security Auditor
510
+ file_path: rihal/agents/rihal-security-auditor.md
511
+ role: Security Auditor
512
+ authority_level: security
513
+ description: Comprehensive security audit and compliance verification
514
+
515
+ - id: rihal-sprint-checker
516
+ name: Sprint Checker
517
+ file_path: rihal/agents/rihal-sprint-checker.md
518
+ role: Sprint Checker
519
+ authority_level: quality
520
+ description: Verifies sprint plans before execution
521
+
522
+ - id: rihal-ui-auditor
523
+ name: UI Auditor
524
+ file_path: rihal/agents/rihal-ui-auditor.md
525
+ role: UI Auditor
526
+ authority_level: quality
527
+ description: Audits UI for usability and design quality
528
+
529
+ - id: rihal-ux-designer
530
+ name: UX Designer
531
+ file_path: rihal/agents/rihal-ux-designer.md
532
+ role: UX Designer
533
+ authority_level: design
534
+ description: UX design, accessibility, and design system work
535
+
536
+ - id: rihal-plan-checker
537
+ name: Plan Checker
538
+ file_path: rihal/agents/rihal-sprint-checker.md
539
+ role: Plan Checker
540
+ authority_level: quality
541
+ description: Validates PLAN.md/SPRINT.md quality before execution (alias for sprint-checker)
542
+
543
+ - id: rihal-verifier
544
+ name: Verifier
545
+ file_path: rihal/agents/rihal-verifier.md
546
+ role: Verifier
547
+ authority_level: quality
548
+ description: Verifies phase goal achievement goal-backward
@@ -40,8 +40,8 @@ interpos audit (issue #221) — DO NOT regress.
40
40
  @.rihal/references/output-format.md
41
41
  @.rihal/references/workstream-flag.md
42
42
  @.rihal/references/output-realism.md
43
- @.rihal/skills/_shared/no-autonomous-bypass.md
44
- @.rihal/skills/_shared/state-sync-rule.md
43
+ @rihal/brain/best-practices/no-autonomous-bypass.md
44
+ @rihal/brain/best-practices/state-sync-rule.md
45
45
 
46
46
  Read all files referenced by the invoking prompt's execution_context before starting.
47
47
 
@@ -185,4 +185,4 @@ Silent on failure — state tracking is optional.
185
185
  - **state.json missing or corrupted:** continue without error — chain artifacts are mandatory, state tracking is optional.
186
186
  - **Stage fails to produce artifact:** print stage number, allow `/rihal:chain --continue` to resume.
187
187
  - **Agent returns empty output:** print "Agent produced no output. Check input and retry."
188
- - **`rihal-tools.cjs` missing:** tell user to run `rihal-code install-v2`.
188
+ - **`rihal-tools.cjs` missing:** tell user to run `npx @hanzlaa/rcode install` (or `rcode install` if installed globally).
@@ -4,4 +4,4 @@
4
4
  Human-in-the-loop change review. Make sense of a diff, focus attention where it matters, and walk through testing. Delegates to the rihal-checkpoint-preview skill for the full review protocol.
5
5
  </purpose>
6
6
 
7
- @.rihal/skills/rihal-checkpoint-preview/SKILL.md
7
+ @rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md
@@ -558,7 +558,7 @@ node .rihal/bin/rihal-tools.cjs state record-session
558
558
 
559
559
  - **Empty arguments or --help:** print usage block (Step 0), stop.
560
560
  - **Single-agent question detected:** redirect to `/rihal:discuss` (Step 0.5).
561
- - **`rihal-tools.cjs` not found:** user has v1 installed or package broken. Tell user to run `rihal-code install-v2`.
561
+ - **`rihal-tools.cjs` not found:** user has v1 installed or package broken. Tell user to run `npx @hanzlaa/rcode install` (or `rcode install` if installed globally).
562
562
  - **Panel contains unknown agent:** print the installed-agent list and exit.
563
563
  - **state.json missing or corrupted:** continue without error — session artifact is mandatory, state tracking is optional.
564
564
  - **All panelists return empty responses:** likely subagents were spawned without proper prompts. Re-check Step 4 prompt construction.
@@ -219,8 +219,8 @@ This records the discuss session in `.rihal/state.json` as `last_session`.
219
219
  - **Empty arguments:** print usage block and stop (Step 0).
220
220
  - **Question redirects to council:** print redirect message (Step 0.5).
221
221
  - **state.json missing or corrupted:** continue without error — session artifact is mandatory, state tracking is optional.
222
- - **`rihal-tools.cjs` not found:** tell the user to run `rihal-code install-v2`.
223
- - **No installed agents:** print "No agents installed. Run `rihal-code install-v2`."
222
+ - **`rihal-tools.cjs` not found:** tell the user to run `npx @hanzlaa/rcode install` (or `rcode install` if installed globally).
223
+ - **No installed agents:** print "No agents installed. Run `npx @hanzlaa/rcode install`."
224
224
  - **Agent id not in installed list:** print available agents and ask the user to pick one.
225
225
  - **Agent returns empty response:** print "Agent responded empty. Check question clarity and retry."
226
226
 
@@ -162,7 +162,7 @@ After audit, if resume-work.md exists, prepend to Step 2:
162
162
  ```
163
163
  If .rihal/DOCS-AUDIT.md exists, check for missing/stale docs:
164
164
 
165
- @.rihal/DOCS-AUDIT.md
165
+ <!-- DOCS-AUDIT.md is generated at runtime by rihal-tools.cjs docs-audit — not a tracked file -->
166
166
  ```
167
167
 
168
168
  ## Success Criteria
@@ -30,7 +30,7 @@ cat .rihal/templates/settings-hooks.json
30
30
  Parse the JSON. If file does not exist, print error and stop:
31
31
 
32
32
  ```
33
- Error: .rihal/templates/settings-hooks.json not found. Run 'rihal-code install-v2' to reinstall.
33
+ Error: .rihal/templates/settings-hooks.json not found. Run 'npx @hanzlaa/rcode install' to reinstall.
34
34
  ```
35
35
 
36
36
  ## Step 2 — Load or create settings.json
@@ -109,7 +109,7 @@ init → new-project → plan → execute → next → status → ship
109
109
  | `/rihal:code-review-fix` | Auto-apply fixes from a code-review report. |
110
110
  | `/rihal:verify-phase <n>` | Goal-backward audit — does the codebase deliver what the phase promised? |
111
111
  | `/rihal:verify-work` | Conversational UAT against acceptance criteria. |
112
- | `/rihal:ship` | Create PR, run review, prepare for merge after verification passes. |
112
+ | `/rihal:ship [phase] [--draft]` | Push feature branch + open PR with auto-generated body (goal, changes, requirements, verification status). Use AFTER `/rihal:verify-phase` passes. **Not for npm publish or tagging releases.** |
113
113
 
114
114
  ## Phase & plan management
115
115
 
@@ -4,4 +4,4 @@
4
4
  Working Backwards PRFAQ challenge. Stress-test a product concept by writing the press release before building it. Produces a battle-hardened PRFAQ document + PRD distillate. Delegates to the rihal-prfaq skill for the full interview and generation protocol.
5
5
  </purpose>
6
6
 
7
- @.rihal/skills/rihal-prfaq/SKILL.md
7
+ @rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md
@@ -124,38 +124,39 @@ STOP.
124
124
 
125
125
  ## Step 2 — Interactive edit
126
126
 
127
- After Step 1.5 prints the table, ask:
127
+ After Step 1.5 prints the table, use the **`AskUserQuestion` tool** to prompt:
128
128
 
129
129
  ```
130
- Question:
131
130
  Which setting would you like to change?
132
131
 
133
- Options:
134
132
  1. mode (guided / yolo)
135
- 2. model_profile
136
- 3. workflow.research_by_default
137
- 4. workflow.plan_checker
138
- 5. workflow.post_execute_gates
139
- 6. workflow.ui_safety_gate
140
- 7. workflow.discuss_mode
141
- 8. git.branching_strategy
142
- 9. git.commit_docs
133
+ 2. model_profile (quality / balanced / budget / inherit)
134
+ 3. workflow.research_by_default (true / false)
135
+ 4. workflow.plan_checker (true / false)
136
+ 5. workflow.post_execute_gates (true / false)
137
+ 6. workflow.ui_safety_gate (true / false)
138
+ 7. workflow.discuss_mode (adaptive / discuss / skip)
139
+ 8. git.branching_strategy (none / feature-branch / worktree-isolation)
140
+ 9. git.commit_docs (true / false)
143
141
  10. communication_language
144
- 11. output.verbose (slim output / full detail)
142
+ 11. output.verbose (true / false)
145
143
  0. Done — exit
146
144
  ```
147
145
 
148
- For each pick, present the constrained option set from Step 1.8, accept the
149
- choice, then call:
146
+ When the user picks a number, use **`AskUserQuestion` tool** again to ask for
147
+ the new value, showing the allowed values for that key.
148
+
149
+ Then call:
150
150
 
151
151
  ```bash
152
152
  node .rihal/bin/rihal-tools.cjs config-set "{dotted.key}" "{value}"
153
153
  ```
154
154
 
155
- After each successful write, re-display the affected row from Step 1.5 so the
156
- user sees the change took effect.
155
+ After each successful write, re-display the affected row so the user sees the
156
+ change took effect.
157
157
 
158
- Loop until the user picks `0. Done`.
158
+ Use **`AskUserQuestion`** again to loop ask which setting to change next —
159
+ until the user picks `0` or `done`.
159
160
 
160
161
  ## Step 3 — Closing summary
161
162
 
@@ -1,5 +1,35 @@
1
1
  <purpose>
2
- Create a pull request from completed phase/milestone work, generate a rich PR body from planning artifacts, optionally run code review, and prepare for merge. Closes the plan → execute → verify → ship loop.
2
+ Push a verified feature branch and open a pull request with an auto-generated
3
+ body drawn from planning artifacts (ROADMAP, VERIFICATION, SUMMARY). Closes
4
+ the plan → execute → verify → **ship** loop.
5
+
6
+ **What this command does:**
7
+ 1. Runs preflight: clean tree, on a feature branch, VERIFICATION.md passed, gh CLI authenticated
8
+ 2. Pushes the branch to origin
9
+ 3. Generates a rich PR body — phase goal, list of changes, requirements addressed, verification status
10
+ 4. Creates the PR via `gh pr create`
11
+ 5. Optionally requests a reviewer
12
+ 6. Updates STATE.md with shipping status
13
+
14
+ **Preconditions (all must be true before running):**
15
+ - `/rihal:execute <phase>` completed
16
+ - `/rihal:verify-phase <phase>` passed (VERIFICATION.md exists with `status: passed`)
17
+ - You are on a feature branch (not main/develop directly)
18
+ - `gh` CLI is authenticated (`gh auth status`)
19
+
20
+ **This command is NOT for:**
21
+ - Publishing npm packages → use `npm publish`
22
+ - Creating git release tags → use `git tag -a vX.Y.Z && git push --tags`
23
+ - Repos that commit directly to main (`git.branching_strategy: none`)
24
+ - The rihal-code framework repo itself (no phases exist there)
25
+
26
+ **Typical usage:**
27
+ ```
28
+ /rihal:plan 1 → plan the phase
29
+ /rihal:execute 1 → build it
30
+ /rihal:verify-phase 1 → prove it works
31
+ /rihal:ship 1 → PR it ← you are here
32
+ ```
3
33
  </purpose>
4
34
 
5
35
  <required_reading>
@@ -37,8 +37,8 @@ they bypass the capacity gate.
37
37
 
38
38
  <required_reading>
39
39
  @.rihal/references/output-format.md
40
- @.rihal/skills/_shared/no-autonomous-bypass.md
41
- @.rihal/skills/_shared/state-sync-rule.md
40
+ @rihal/brain/best-practices/no-autonomous-bypass.md
41
+ @rihal/brain/best-practices/state-sync-rule.md
42
42
  </required_reading>
43
43
 
44
44
  <output_format>