@juicesharp/rpiv-pi 0.8.1 → 0.8.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.
- package/package.json +1 -1
- package/skills/annotate-guidance/SKILL.md +1 -1
- package/skills/annotate-inline/SKILL.md +1 -1
- package/skills/code-review/SKILL.md +8 -18
- package/skills/design/SKILL.md +5 -5
- package/skills/discover/SKILL.md +1 -1
- package/skills/outline-test-cases/SKILL.md +1 -1
- package/skills/research/SKILL.md +4 -4
- package/skills/write-test-cases/SKILL.md +1 -1
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@ Use the current working directory as the target project by default. If the user
|
|
|
30
30
|
|
|
31
31
|
**Agent B — Architecture and conventions:**
|
|
32
32
|
- subagent_type: `codebase-locator`
|
|
33
|
-
- Prompt: "Identify the architectural
|
|
33
|
+
- Prompt: "Identify the architectural layout of [target directory] from path shape and manifest files — NO content analysis. Detect: (1) Architecture pattern inferred from folder shape — clean-arch via Domain/Application/Infrastructure dirs; MVC via Controllers/Models/Views; monorepo via packages/* + workspaces; microservices via services/* with individual manifests; hexagonal via ports/adapters. (2) Main layers/modules — top-level source directories + their names. (3) Frameworks and languages from manifest files (package.json dependencies, *.csproj TargetFramework, pyproject.toml, go.mod, Cargo.toml) and file extensions. (4) Build system from build-config filenames (vite/webpack/tsup/esbuild configs, Makefile, nx.json, turbo.json, dotnet .sln). For each main layer/module, check sub-directory composition. If sub-directories with distinct names/roles exist, flag each as a guidance target candidate with: (a) path, (b) role inferred from folder name (controllers/, services/, entities/, components/, stores/, etc.), (c) file count via ls, (d) how its sub-directory composition differs from sibling layers. Use grep/find/ls only. Do not read file contents. Pass 2 runs codebase-analyzer + codebase-pattern-finder per target folder for deep analysis."
|
|
34
34
|
|
|
35
35
|
- While agents run, read .gitignore yourself to understand exclusion rules
|
|
36
36
|
|
|
@@ -30,7 +30,7 @@ Use the current working directory as the target project by default. If the user
|
|
|
30
30
|
|
|
31
31
|
**Agent B — Architecture and conventions:**
|
|
32
32
|
- subagent_type: `codebase-locator`
|
|
33
|
-
- Prompt: "Identify the architectural
|
|
33
|
+
- Prompt: "Identify the architectural layout of [target directory] from path shape and manifest files — NO content analysis. Detect: (1) Architecture pattern inferred from folder shape — clean-arch via Domain/Application/Infrastructure dirs; MVC via Controllers/Models/Views; monorepo via packages/* + workspaces; microservices via services/* with individual manifests; hexagonal via ports/adapters. (2) Main layers/modules — top-level source directories + their names. (3) Frameworks and languages from manifest files (package.json dependencies, *.csproj TargetFramework, pyproject.toml, go.mod, Cargo.toml) and file extensions. (4) Build system from build-config filenames (vite/webpack/tsup/esbuild configs, Makefile, nx.json, turbo.json, dotnet .sln). For each main layer/module, check sub-directory composition. If sub-directories with distinct names/roles exist, flag each as a CLAUDE.md target candidate with: (a) path, (b) role inferred from folder name (controllers/, services/, entities/, components/, stores/, etc.), (c) file count via ls, (d) how its sub-directory composition differs from sibling layers. Use grep/find/ls only. Do not read file contents. Pass 2 runs codebase-analyzer + codebase-pattern-finder per target folder for deep analysis."
|
|
34
34
|
|
|
35
35
|
- While agents run, read .gitignore yourself to understand exclusion rules
|
|
36
36
|
|
|
@@ -137,7 +137,7 @@ Spawn these agents in parallel using the Agent tool. Each receives the `## Disco
|
|
|
137
137
|
|
|
138
138
|
**Dependencies lens:**
|
|
139
139
|
- subagent_type: `codebase-analyzer`
|
|
140
|
-
- Prompt (only when `ManifestChanged` is true; otherwise SKIP and
|
|
140
|
+
- Prompt (only when `ManifestChanged` is true; otherwise SKIP this lens and omit the `### Dependencies` H3 block from the artifact):
|
|
141
141
|
```
|
|
142
142
|
Known Context:
|
|
143
143
|
[paste Discovery Map verbatim]
|
|
@@ -200,11 +200,8 @@ Spawn these agents in parallel using the Agent tool. Each receives the `## Disco
|
|
|
200
200
|
2. **Probe advisor availability** — attempt a probe by checking whether `advisor` is in the active tool set (main-thread visibility). If yes, proceed to advisor path; otherwise take the inline path.
|
|
201
201
|
|
|
202
202
|
3. **Advisor path** (when advisor is active):
|
|
203
|
-
- Print a main-thread `## Pre-Adjudication Findings` block
|
|
204
|
-
- Call `advisor()` (zero-param).
|
|
205
|
-
- On success: paste the advisor's prose verbatim into the artifact's `## Advisor Adjudication` section (Step 6) and note `advisor_used: true` + `advisor_model: [model-id]` in frontmatter.
|
|
206
|
-
- On `"aborted"` or empty text: set `advisor_used: false`, skip the adjudication section, fall through to the inline path.
|
|
207
|
-
- On `"error"`: note the error inline in the adjudication section as `advisor error: <message>`; continue with inline reconciliation alongside.
|
|
203
|
+
- Print a main-thread `## Pre-Adjudication Findings` block first — the advisor reads `getBranch()`, so evidence must be flushed before the call.
|
|
204
|
+
- Call `advisor()` (zero-param). If it returns usable prose, paste it verbatim into `## Advisor Adjudication` and skip the inline path. Otherwise fall through.
|
|
208
205
|
|
|
209
206
|
4. **Inline path** (advisor unavailable or errored):
|
|
210
207
|
- Run a dimension-sweep modeled on `skills/design/SKILL.md:83-116`: Data model / API surface / Integration / Scope / Verification / Performance.
|
|
@@ -226,7 +223,7 @@ Quality: [C🔴/I🟡/S🔵/D💭]
|
|
|
226
223
|
Security: [C/I/S/D]
|
|
227
224
|
Dependencies: [C/I/S/D | not-applicable]
|
|
228
225
|
Precedents: [N composite lessons, top: "[one-line]"]
|
|
229
|
-
Advisor: [
|
|
226
|
+
Advisor: [adjudicated | inline]
|
|
230
227
|
```
|
|
231
228
|
|
|
232
229
|
Wait for the developer's response. Then ask **one question at a time**, waiting for each answer.
|
|
@@ -261,16 +258,9 @@ branch: [Branch]
|
|
|
261
258
|
commit: [Short hash]
|
|
262
259
|
review_type: [commit|pr|staged|working]
|
|
263
260
|
scope: "[What was reviewed]"
|
|
264
|
-
files_changed: [N]
|
|
265
261
|
critical_issues: [Count across all lenses]
|
|
266
262
|
important_issues: [Count]
|
|
267
263
|
suggestions: [Count]
|
|
268
|
-
quality_issues: [Count]
|
|
269
|
-
security_issues: [Count]
|
|
270
|
-
dependency_issues: [Count | 0 when not-applicable]
|
|
271
|
-
passes: [quality, security, dependencies] # omit dependencies when not-applicable
|
|
272
|
-
advisor_used: [true|false]
|
|
273
|
-
advisor_model: [provider:id] # only when advisor_used is true
|
|
274
264
|
status: [approved|needs_changes|requesting_changes]
|
|
275
265
|
tags: [code-review, relevant-components]
|
|
276
266
|
last_updated: [YYYY-MM-DD]
|
|
@@ -311,7 +301,7 @@ last_updated_by: [User]
|
|
|
311
301
|
- `file:line` — [architectural question]
|
|
312
302
|
|
|
313
303
|
### Dependencies
|
|
314
|
-
(Omit this H3 block entirely when `
|
|
304
|
+
(Omit this H3 block entirely when the Dependencies lens was skipped — i.e., `ManifestChanged` was false.)
|
|
315
305
|
#### 🔴 Critical
|
|
316
306
|
- `dep@ver` (`package.json:line`) — [CVE id + link + affected-range + fix version]
|
|
317
307
|
#### 🟡 Important
|
|
@@ -337,8 +327,8 @@ last_updated_by: [User]
|
|
|
337
327
|
[Links to thoughts/ docs referenced by precedent-locator; one line each, no summaries.]
|
|
338
328
|
|
|
339
329
|
## Advisor Adjudication
|
|
340
|
-
(Omit when
|
|
341
|
-
[Advisor model prose pasted VERBATIM. Do not edit or paraphrase.
|
|
330
|
+
(Omit this H2 entirely when the advisor did not run — its presence IS the signal that adjudication occurred.)
|
|
331
|
+
[Advisor model prose pasted VERBATIM. Do not edit or paraphrase.]
|
|
342
332
|
|
|
343
333
|
## Reconciliation Notes
|
|
344
334
|
(Include only when the inline path ran, OR when developer dispute in Step 5 moved a severity.)
|
|
@@ -355,7 +345,7 @@ Review written to:
|
|
|
355
345
|
`thoughts/shared/reviews/[filename].md`
|
|
356
346
|
|
|
357
347
|
[C] critical, [I] important, [S] suggestions across [Q] quality, [Se] security, [D] dependency issues.
|
|
358
|
-
Advisor: [
|
|
348
|
+
Advisor: [adjudicated | inline]
|
|
359
349
|
Status: [verdict]
|
|
360
350
|
|
|
361
351
|
Top items:
|
package/skills/design/SKILL.md
CHANGED
|
@@ -57,16 +57,16 @@ This is NOT a discovery sweep. Focus on DEPTH (how things work, what patterns to
|
|
|
57
57
|
- Use **codebase-pattern-finder** to find existing implementations to model after — the primary template for code shape
|
|
58
58
|
- Use **codebase-analyzer** to understand HOW integration points work in detail
|
|
59
59
|
- Use **integration-scanner** to map the wiring surface — inbound refs, outbound deps, config/DI/event registration
|
|
60
|
-
- Use **precedent-locator** to find similar past changes in git history — what commits introduced comparable features, what broke, and what lessons apply to this design
|
|
60
|
+
- Use **precedent-locator** to find similar past changes in git history — what commits introduced comparable features, what broke, and what lessons apply to this design. Only when `git_commit` is available (not `no-commit`); otherwise skip and note "git history unavailable" in Verification Notes.
|
|
61
61
|
|
|
62
62
|
**Novel work** (new libraries, first-time patterns, no existing codebase precedent):
|
|
63
63
|
- Add **web-search-researcher** for external documentation, API references, and community patterns
|
|
64
64
|
- Instruct it to return LINKS with findings — include those links in the final design artifact
|
|
65
65
|
|
|
66
|
-
Agent prompts should focus on:
|
|
67
|
-
- "Find the implementation pattern I should model after for [feature type]"
|
|
68
|
-
- "How does [integration point] work in detail
|
|
69
|
-
- "What connects to [component] — inbound refs, outbound deps, config"
|
|
66
|
+
Agent prompts should focus on (labeled by target agent):
|
|
67
|
+
- **codebase-pattern-finder**: "Find the implementation pattern I should model after for [feature type]"
|
|
68
|
+
- **codebase-analyzer**: "How does [integration point] work in detail"
|
|
69
|
+
- **integration-scanner**: "What connects to [component] — inbound refs, outbound deps, config"
|
|
70
70
|
|
|
71
71
|
NOT: "Find all files related to X" — that's discovery's job, upstream of this skill.
|
|
72
72
|
|
package/skills/discover/SKILL.md
CHANGED
|
@@ -71,7 +71,7 @@ Before Step 1, create a todo list tracking every step below (Step 1 through Step
|
|
|
71
71
|
- Do NOT ask a locator to also cover packaging, docs, runtime wiring, and permissions unless they are the same seam
|
|
72
72
|
|
|
73
73
|
Example prompts:
|
|
74
|
-
- codebase-locator: "Find ALL files that [implement/call/emit/subscribe to/import] [specific component]. For each file, report the key function
|
|
74
|
+
- codebase-locator: "Find ALL files that [implement/call/emit/subscribe to/import] [specific component]. For each file, report the key function names, class/type names, and import chains. Search exhaustively — grep for method names, class names, event strings. Report only declaration lines via grep match anchors (e.g., `file.ts:42`); full multi-line signatures and type bodies are captured by the orchestrator in Step 3 when it reads key files for depth."
|
|
75
75
|
- integration-scanner: "What connects to [area] — inbound refs, outbound deps, config/DI/event wiring. For each connection, report the function/method that creates it."
|
|
76
76
|
- thoughts-locator: "What existing docs/decisions exist about [topic]"
|
|
77
77
|
|
|
@@ -53,7 +53,7 @@ First, detect the project's technology stack by checking for framework indicator
|
|
|
53
53
|
|
|
54
54
|
Spawn parallel discovery agents using the Agent tool:
|
|
55
55
|
- Use the **codebase-locator** agent to find all registered routes, navigation menus, and page entry points
|
|
56
|
-
- Use the **codebase-locator** agent to find all frontend HTTP API call sites and
|
|
56
|
+
- Use the **codebase-locator** agent to find all frontend HTTP API call sites — report each call-site `file:line` and the literal URL template string found at the call site (e.g., ``${base}/users/${id}``). Frontend-to-backend URL correlation happens orchestrator-side in Step 3's Cross-Reference synthesis (`skills/outline-test-cases/SKILL.md:71-79`) using the backend-controller findings from the next agent.
|
|
57
57
|
- Use the **codebase-locator** agent to find all backend API controllers and route handlers
|
|
58
58
|
- Use the **test-case-locator** agent to find existing test cases in `.rpiv/test-cases/` to avoid duplicates
|
|
59
59
|
|
package/skills/research/SKILL.md
CHANGED
|
@@ -81,11 +81,11 @@ Question 2: [Full dense question paragraph]
|
|
|
81
81
|
For each question, provide your analysis with exact file:line references. Note connections between the questions where the same code serves multiple roles. Focus on DEPTH — trace the actual code, don't just locate it.
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
**Precedent sweep (
|
|
85
|
-
Spawn one `precedent-locator` agent alongside the question agents:
|
|
86
|
-
"Find similar past changes involving [list key files from Discovery Summary]. Search git log for commits that touched these files, similar commit messages, and follow-up fixes. Research topic: [original query]."
|
|
84
|
+
**Precedent sweep (git-gated):**
|
|
87
85
|
|
|
88
|
-
|
|
86
|
+
When `git_commit` is available (not `no-commit`), spawn one `precedent-locator` agent alongside the question agents with prompt: "Find similar past changes involving [list key files from Discovery Summary]. Search git log for commits that touched these files, similar commit messages, and follow-up fixes. Research topic: [original query]."
|
|
87
|
+
|
|
88
|
+
Findings go into Precedents & Lessons. Otherwise skip and note "git history unavailable" there.
|
|
89
89
|
|
|
90
90
|
**Wait for ALL agents to complete** before proceeding.
|
|
91
91
|
|
|
@@ -95,7 +95,7 @@ Using the entry points discovered in Step 2 (validated against _meta.md when ava
|
|
|
95
95
|
|
|
96
96
|
**Agent D — Postcondition Discovery:**
|
|
97
97
|
- subagent_type: `integration-scanner`
|
|
98
|
-
- Prompt: "Find all side effects triggered by {feature name} actions{endpoint_scope}. Look for: domain events published, message handlers invoked, email/notification triggers, external API calls, database cascades, cache invalidations, audit log entries, webhook dispatches. For each side effect, report: what triggers it (which action/endpoint)
|
|
98
|
+
- Prompt: "Find all side effects triggered by {feature name} actions{endpoint_scope}. Look for: domain events published, message handlers invoked, email/notification triggers, external API calls, database cascades, cache invalidations, audit log entries, webhook dispatches. For each side effect, report: what triggers it (which action/endpoint) and where the handler code lives (file:line). Do NOT describe what the handler does — only locate it. These locations become postconditions in test cases.{scope_context}"
|
|
99
99
|
|
|
100
100
|
Wait for ALL agents to complete before proceeding.
|
|
101
101
|
|