@hanzlaa/rcode 3.6.8 → 3.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CONTRIBUTING.md +1 -1
- package/README.md +3 -3
- package/cli/generate-command-skills.cjs +5 -12
- package/cli/index.js +5 -1
- package/cli/lib/manifest.cjs +51 -43
- package/dist/rcode.js +32 -35
- package/package.json +3 -2
- package/rihal/bin/rihal-tools.cjs +45 -24
- package/rihal/commands/add-todo.md +1 -1
- package/rihal/commands/check-implementation-readiness.md +18 -0
- package/rihal/commands/create-architecture.md +18 -0
- package/rihal/commands/debug.md +1 -1
- package/rihal/commands/edit-prd.md +18 -0
- package/rihal/commands/memory-audit.md +1 -1
- package/rihal/commands/memory-distill.md +1 -1
- package/rihal/commands/memory-init.md +1 -1
- package/rihal/commands/memory-update.md +1 -1
- package/rihal/commands/progress.md +1 -1
- package/rihal/commands/resume-work.md +1 -1
- package/rihal/commands/retrospective.md +18 -0
- package/rihal/commands/review-edge-case-hunter.md +18 -0
- package/rihal/commands/scaffold-project.md +18 -0
- package/rihal/commands/validate-prd.md +18 -0
- package/rihal/references/agent-contracts.md +46 -20
- package/rihal/references/continuation-format.md +5 -6
- package/rihal/references/model-profile-resolution.md +41 -5
- package/rihal/references/phase-argument-parsing.md +31 -7
- package/rihal/references/research-synthesis-playbook.md +1 -1
- package/rihal/references/revision-loop.md +36 -9
- package/rihal/references/universal-anti-patterns.md +56 -12
- package/rihal/skills/SKILLS_INDEX.md +34 -5
- package/rihal/skills/actions/1-analysis/research/rihal-domain-research/SKILL.md +1 -0
- package/rihal/skills/actions/1-analysis/research/rihal-market-research/SKILL.md +1 -0
- package/rihal/skills/actions/1-analysis/research/rihal-technical-research/SKILL.md +1 -0
- package/rihal/skills/actions/1-analysis/rihal-document-project/SKILL.md +1 -0
- package/rihal/skills/actions/1-analysis/rihal-prfaq/SKILL.md +1 -0
- package/rihal/skills/actions/1-analysis/rihal-product-brief/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-create-epics-and-stories/workflow.md +12 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-06-phase-stubs.md +1 -1
- package/rihal/skills/actions/2-plan/rihal-create-milestone/steps/step-10-complete.md +1 -1
- package/rihal/skills/actions/2-plan/rihal-create-prd/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-create-story/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-create-ux-design/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-edit-prd/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-frontend-design/SKILL.md +1 -0
- package/rihal/skills/actions/2-plan/rihal-validate-prd/SKILL.md +1 -0
- package/rihal/skills/actions/3-solutioning/rihal-check-implementation-readiness/SKILL.md +1 -0
- package/rihal/skills/actions/3-solutioning/rihal-create-architecture/SKILL.md +1 -0
- package/rihal/skills/actions/3-solutioning/rihal-generate-project-context/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-checkpoint-preview/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-code-review/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-correct-course/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-debug/SKILL.md +4 -16
- package/rihal/skills/actions/4-implementation/rihal-dev-story/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-dev-story/workflow.md +13 -0
- package/rihal/skills/actions/4-implementation/rihal-qa-generate-e2e-tests/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-retrospective/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-retrospective/workflow.md +12 -0
- package/rihal/skills/actions/4-implementation/rihal-scaffold-project/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/SKILL.md +1 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-planning/workflow.md +12 -0
- package/rihal/skills/actions/4-implementation/rihal-sprint-status/SKILL.md +1 -0
- package/rihal/skills/agents/ahmed-hassani-director/SKILL.md +1 -0
- package/rihal/skills/agents/dalil-scout/SKILL.md +1 -0
- package/rihal/skills/agents/fatima-qa/SKILL.md +1 -0
- package/rihal/skills/agents/haitham-frontend/SKILL.md +1 -0
- package/rihal/skills/agents/hanzla-engineer/SKILL.md +1 -0
- package/rihal/skills/agents/hussain-pm/SKILL.md +1 -0
- package/rihal/skills/agents/hussain-sm/SKILL.md +1 -0
- package/rihal/skills/agents/layla-designer/SKILL.md +1 -0
- package/rihal/skills/agents/majlis-council/SKILL.md +1 -0
- package/rihal/skills/agents/mariam-marketing/SKILL.md +1 -0
- package/rihal/skills/agents/nasser-eng-manager/SKILL.md +1 -0
- package/rihal/skills/agents/noor-writer/SKILL.md +1 -0
- package/rihal/skills/agents/raees-orchestrator/SKILL.md +1 -0
- package/rihal/skills/agents/rihal-cross-platform-auditor/SKILL.md +1 -0
- package/rihal/skills/agents/rihal-dep-auditor/SKILL.md +1 -0
- package/rihal/skills/agents/rihal-deviation-analyzer/SKILL.md +1 -0
- package/rihal/skills/agents/rihal-i18n-auditor/SKILL.md +1 -0
- package/rihal/skills/agents/rihal-observability-auditor/SKILL.md +1 -0
- package/rihal/skills/agents/sadiq-analyst/SKILL.md +1 -0
- package/rihal/skills/agents/waleed-architect/SKILL.md +1 -0
- package/rihal/skills/agents/yousef-backend/SKILL.md +1 -0
- package/rihal/skills/agents/zahra-branding/SKILL.md +1 -0
- package/rihal/skills/agents/zayd-ml/SKILL.md +1 -0
- package/rihal/skills/core/rihal-init/SKILL.md +1 -1
- package/rihal/skills/core/rihal-memory-audit/SKILL.md +5 -5
- package/rihal/skills/core/rihal-memory-distill/SKILL.md +5 -5
- package/rihal/skills/core/rihal-memory-init/SKILL.md +7 -7
- package/rihal/skills/core/rihal-memory-update/SKILL.md +4 -4
- package/rihal/team.yaml +56 -0
- package/rihal/templates/UAT.md +69 -18
- package/rihal/templates/memory/INDEX.md +2 -2
- package/rihal/templates/memory/distillates/project.distillate.md +2 -2
- package/rihal/templates/memory/distillates/stack.distillate.md +2 -2
- package/rihal/templates/memory/project/stack.md +1 -1
- package/rihal/templates/summary.md +54 -37
- package/rihal/templates/verification-report.md +72 -17
- package/rihal/workflows/analyze-dependencies.md +4 -4
- package/rihal/workflows/audit-fix.md +3 -3
- package/rihal/workflows/audit-milestone.md +12 -11
- package/rihal/workflows/audit-worktrees.md +163 -0
- package/rihal/workflows/audit.md +18 -3
- package/rihal/workflows/autonomous.md +2 -2
- package/rihal/workflows/correct-course.md +3 -3
- package/rihal/workflows/create-architecture.md +3 -3
- package/rihal/workflows/create-epics-and-stories.md +3 -3
- package/rihal/workflows/create-prd.md +1 -1
- package/rihal/workflows/diagnose-issues.md +75 -22
- package/rihal/workflows/discuss-phase-power.md +1 -1
- package/rihal/workflows/discuss-phase.md +1 -1
- package/rihal/workflows/document-project.md +3 -3
- package/rihal/workflows/edit-prd.md +3 -3
- package/rihal/workflows/execute-milestone.md +3 -3
- package/rihal/workflows/execute-sprint.md +1 -1
- package/rihal/workflows/execute-waves.md +27 -2
- package/rihal/workflows/forensics.md +3 -3
- package/rihal/workflows/health.md +19 -4
- package/rihal/workflows/help.md +0 -2
- package/rihal/workflows/memory-audit.md +2 -2
- package/rihal/workflows/memory-distill.md +2 -2
- package/rihal/workflows/memory-init.md +2 -2
- package/rihal/workflows/memory-update.md +2 -2
- package/rihal/workflows/new-project-roadmap.md +2 -2
- package/rihal/workflows/plan-research-validation.md +2 -2
- package/rihal/workflows/plan.md +7 -7
- package/rihal/workflows/research-phase.md +1 -1
- package/rihal/workflows/retrospective.md +3 -3
- package/rihal/workflows/review-adversarial.md +8 -6
- package/rihal/workflows/review.md +2 -2
- package/rihal/workflows/scaffold-project.md +3 -3
- package/rihal/workflows/secure-phase.md +4 -4
- package/rihal/workflows/session-report.md +1 -1
- package/rihal/workflows/status.md +6 -10
- package/rihal/workflows/validate-prd.md +4 -4
- package/rihal/workflows/verify-phase.md +3 -3
- package/rihal/workflows/verify-work.md +1 -1
- package/rihal/workflows/workstream.md +3 -3
- package/server/lib/html/client/views/MemoryView.js +6 -6
|
@@ -10,15 +10,17 @@ Assume an adversarial/hostile perspective and audit code for weaknesses: SQL inj
|
|
|
10
10
|
If `$ARGUMENTS` is empty or contains only `--help` or `-h`:
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/rihal-review
|
|
13
|
+
/rihal-code-review --attack
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
**Examples:**
|
|
17
17
|
```
|
|
18
|
-
/rihal-review
|
|
19
|
-
/rihal-review
|
|
18
|
+
/rihal-code-review --attack
|
|
19
|
+
/rihal-code-review --attack --scope auth/
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
Note: This workflow is invoked internally by `/rihal-code-review --attack`. There is no standalone `/rihal-review-adversarial` command.
|
|
23
|
+
|
|
22
24
|
STOP — do not proceed.
|
|
23
25
|
|
|
24
26
|
<available_agent_types>
|
|
@@ -187,6 +189,6 @@ Critical findings filed as blocking AC. High findings as optional tasks.
|
|
|
187
189
|
|
|
188
190
|
## ▶ Next Up
|
|
189
191
|
|
|
190
|
-
- **Vulnerabilities found:** Address security findings, re-run `/rihal-review
|
|
191
|
-
-
|
|
192
|
-
-
|
|
192
|
+
- **Vulnerabilities found:** Address security findings, re-run `/rihal-code-review --attack`
|
|
193
|
+
- /rihal-verify-phase {phase}
|
|
194
|
+
- /rihal-ship {phase}
|
|
@@ -283,5 +283,5 @@ Clean up temp files.
|
|
|
283
283
|
## ▶ Next Up
|
|
284
284
|
|
|
285
285
|
- **Issues found:** Fix identified problems, then re-run `/rihal-review`
|
|
286
|
-
-
|
|
287
|
-
-
|
|
286
|
+
- /rihal-ship {phase}
|
|
287
|
+
- /rihal-secure-phase {phase}
|
|
@@ -26,6 +26,6 @@ Skill not installed — run: npx @hanzlaa/rcode install
|
|
|
26
26
|
|
|
27
27
|
## ▶ Next Up
|
|
28
28
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
29
|
+
- /rihal-create-prd
|
|
30
|
+
- /rihal-new-milestone
|
|
31
|
+
- /rihal-do
|
|
@@ -106,7 +106,7 @@ Call AskUserQuestion with threat table and options:
|
|
|
106
106
|
|
|
107
107
|
```
|
|
108
108
|
Task(
|
|
109
|
-
prompt="Read
|
|
109
|
+
prompt="Read $HOME/.claude/agents/rihal-security-auditor.md for instructions.\n\n" +
|
|
110
110
|
"<files_to_read>{PLAN, SUMMARY, impl files, SECURITY.md}</files_to_read>" +
|
|
111
111
|
"<threat_register>{threat register}</threat_register>" +
|
|
112
112
|
"<config>asvs_level: {SECURITY_ASVS}, block_on: {SECURITY_BLOCK_ON}</config>" +
|
|
@@ -165,7 +165,7 @@ node ".rihal/bin/rihal-tools.cjs" commit "docs(phase-${PHASE}): add/update secur
|
|
|
165
165
|
```
|
|
166
166
|
Rihal > PHASE {N} THREAT-SECURE
|
|
167
167
|
threats_open: 0 — all threats have dispositions.
|
|
168
|
-
▶ /rihal-validate {N} validate test coverage
|
|
168
|
+
▶ /rihal-validate-phase {N} validate test coverage
|
|
169
169
|
▶ /rihal-verify-work {N} run UAT
|
|
170
170
|
```
|
|
171
171
|
|
|
@@ -205,5 +205,5 @@ If arguments are invalid, missing files, or subagent fails:
|
|
|
205
205
|
## ▶ Next Up
|
|
206
206
|
|
|
207
207
|
- **Issues found:** Address security findings, then re-run `/rihal-secure-phase {phase}`
|
|
208
|
-
-
|
|
209
|
-
-
|
|
208
|
+
- /rihal-verify-phase {phase}
|
|
209
|
+
- /rihal-execute {next-phase}
|
|
@@ -212,7 +212,7 @@ Write `.planning/SESSION-REPORT-{YYYY-MM-DD-HHmmss}.md` with this structure:
|
|
|
212
212
|
## Next Steps
|
|
213
213
|
|
|
214
214
|
- Address {count} open blocker(s) before proceeding
|
|
215
|
-
- Plan next phase with `/rihal-plan
|
|
215
|
+
- Plan next phase with `/rihal-plan {next_phase}`
|
|
216
216
|
```
|
|
217
217
|
|
|
218
218
|
## Step 8 — Print confirmation
|
|
@@ -118,22 +118,18 @@ Omit a section entirely when its array is empty.
|
|
|
118
118
|
|
|
119
119
|
## Step 6 — Next Up (intent-tree)
|
|
120
120
|
|
|
121
|
-
Render `SNAPSHOT.routes[]` as a Route A/B/C menu:
|
|
121
|
+
Render `SNAPSHOT.routes[]` as a Route A/B/C menu. Each route is **one line** — the command is the thing you copy and run:
|
|
122
122
|
|
|
123
123
|
```
|
|
124
124
|
Next Up:
|
|
125
125
|
|
|
126
|
-
[A]
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
[
|
|
130
|
-
→ {route.command}
|
|
131
|
-
|
|
132
|
-
[C] {route where letter === "C"}
|
|
133
|
-
→ {route.command}
|
|
126
|
+
[A] /rihal-execute 4
|
|
127
|
+
[B] /rihal-plan 5
|
|
128
|
+
[C] /rihal-audit-milestone 28 --fix-drift
|
|
129
|
+
[C] /rihal-complete-milestone
|
|
134
130
|
```
|
|
135
131
|
|
|
136
|
-
Group routes by letter
|
|
132
|
+
Format: ` [{letter}] {command}` — no label, no arrow, no indented second line. The command already contains the relevant arguments (phase number, count, flags). Group routes by letter; multiple routes sharing a letter appear on consecutive lines. If there are no routes, print the fallback suggestion from the CLI output.
|
|
137
133
|
|
|
138
134
|
</process>
|
|
139
135
|
|
|
@@ -20,12 +20,12 @@ Skill not installed — run: npx @hanzlaa/rcode install
|
|
|
20
20
|
|
|
21
21
|
## On Completion
|
|
22
22
|
|
|
23
|
-
/rihal-
|
|
23
|
+
/rihal-new-milestone — build the roadmap from the validated PRD
|
|
24
24
|
/rihal-edit-prd — fix validation findings
|
|
25
25
|
/rihal-council — escalate ambiguous requirements to the council
|
|
26
26
|
|
|
27
27
|
## ▶ Next Up
|
|
28
28
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
29
|
+
- /rihal-new-milestone
|
|
30
|
+
- /rihal-edit-prd
|
|
31
|
+
- /rihal-council {prd-question}
|
|
@@ -404,6 +404,6 @@ Orchestrator routes: `passed` → update_roadmap | `gaps_found` → create/execu
|
|
|
404
404
|
|
|
405
405
|
## ▶ Next Up
|
|
406
406
|
|
|
407
|
-
-
|
|
408
|
-
-
|
|
409
|
-
-
|
|
407
|
+
- /rihal-complete-milestone
|
|
408
|
+
- /rihal-plan --gaps {phase}
|
|
409
|
+
- /rihal-verify-phase {phase}
|
|
@@ -50,7 +50,7 @@ If $ARGUMENTS contains a phase number, load context:
|
|
|
50
50
|
INIT=$(node ".rihal/bin/rihal-tools.cjs" init verify-work "${PHASE_ARG}" 2>/dev/null)
|
|
51
51
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
52
52
|
AGENT_SKILLS_PLANNER=$(node ".rihal/bin/rihal-tools.cjs" agent-skills rihal-planner 2>/dev/null)
|
|
53
|
-
AGENT_SKILLS_CHECKER=$(node ".rihal/bin/rihal-tools.cjs" agent-skills rihal-checker 2>/dev/null)
|
|
53
|
+
AGENT_SKILLS_CHECKER=$(node ".rihal/bin/rihal-tools.cjs" agent-skills rihal-sprint-checker 2>/dev/null)
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
Parse JSON for: `planner_model`, `checker_model`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `has_verification`, `uat_path`.
|
|
@@ -204,6 +204,6 @@ If arguments are invalid, missing files, or subagent fails:
|
|
|
204
204
|
|
|
205
205
|
## ▶ Next Up
|
|
206
206
|
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
207
|
+
- /rihal-execute {workstream-phase}
|
|
208
|
+
- /rihal-progress
|
|
209
|
+
- /rihal-forensics
|
|
@@ -13,10 +13,10 @@ import { html, useState, useEffect } from '../preact.js';
|
|
|
13
13
|
|
|
14
14
|
// ---- Command hints accordion ----
|
|
15
15
|
const MEMORY_HINTS = [
|
|
16
|
-
['/
|
|
17
|
-
['/
|
|
18
|
-
['/
|
|
19
|
-
['/
|
|
16
|
+
['/rihal-memory-init', 'Bootstrap the Memory Bank'],
|
|
17
|
+
['/rihal-memory-update', 'Append a decision, issue, or stakeholder entry'],
|
|
18
|
+
['/rihal-memory-distill', 'Regenerate fast-load distillates'],
|
|
19
|
+
['/rihal-memory-audit', 'Find stale entries and gaps'],
|
|
20
20
|
];
|
|
21
21
|
|
|
22
22
|
function CmdAccordion({ hints }) {
|
|
@@ -117,7 +117,7 @@ export function MemoryView() {
|
|
|
117
117
|
<div class="empty">
|
|
118
118
|
<h3 style="color:var(--rihal-gold);">Not initialised</h3>
|
|
119
119
|
<p>The Memory Bank is rcode's structured project context.</p>
|
|
120
|
-
<div class="empty-action">Run <code>/
|
|
120
|
+
<div class="empty-action">Run <code>/rihal-memory-init</code> to bootstrap</div>
|
|
121
121
|
</div>
|
|
122
122
|
</div>
|
|
123
123
|
`;
|
|
@@ -128,7 +128,7 @@ export function MemoryView() {
|
|
|
128
128
|
<div class="view active" id="view-memory">
|
|
129
129
|
<div class="view-title">Memory Bank</div>
|
|
130
130
|
<div class="empty">
|
|
131
|
-
<p>Directory exists but INDEX.md is missing — re-run <code>/
|
|
131
|
+
<p>Directory exists but INDEX.md is missing — re-run <code>/rihal-memory-init</code></p>
|
|
132
132
|
</div>
|
|
133
133
|
</div>
|
|
134
134
|
`;
|