renma 0.18.0 → 0.18.2

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 (74) hide show
  1. package/CHANGELOG.md +101 -1
  2. package/README.md +61 -3
  3. package/architecture.md +7 -6
  4. package/design.md +39 -32
  5. package/dist/agent-skills.d.ts +5 -6
  6. package/dist/agent-skills.d.ts.map +1 -1
  7. package/dist/agent-skills.js +2 -10
  8. package/dist/agent-skills.js.map +1 -1
  9. package/dist/catalog.d.ts +27 -1
  10. package/dist/catalog.d.ts.map +1 -1
  11. package/dist/catalog.js +62 -16
  12. package/dist/catalog.js.map +1 -1
  13. package/dist/cli-help.d.ts +8 -8
  14. package/dist/cli-help.d.ts.map +1 -1
  15. package/dist/cli-help.js +19 -4
  16. package/dist/cli-help.js.map +1 -1
  17. package/dist/command-invocation.d.ts +4 -0
  18. package/dist/command-invocation.d.ts.map +1 -0
  19. package/dist/command-invocation.js +14 -0
  20. package/dist/command-invocation.js.map +1 -0
  21. package/dist/commands/inspect.d.ts +5 -0
  22. package/dist/commands/inspect.d.ts.map +1 -1
  23. package/dist/commands/inspect.js +185 -33
  24. package/dist/commands/inspect.js.map +1 -1
  25. package/dist/commands/scaffold.js +30 -9
  26. package/dist/commands/scaffold.js.map +1 -1
  27. package/dist/commands/suggest-metadata.d.ts +6 -2
  28. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  29. package/dist/commands/suggest-metadata.js +516 -72
  30. package/dist/commands/suggest-metadata.js.map +1 -1
  31. package/dist/context-lens.d.ts +1 -0
  32. package/dist/context-lens.d.ts.map +1 -1
  33. package/dist/context-lens.js +19 -1
  34. package/dist/context-lens.js.map +1 -1
  35. package/dist/diagnostic-ids.d.ts +1 -0
  36. package/dist/diagnostic-ids.d.ts.map +1 -1
  37. package/dist/diagnostic-ids.js +1 -0
  38. package/dist/diagnostic-ids.js.map +1 -1
  39. package/dist/discovery.d.ts +33 -1
  40. package/dist/discovery.d.ts.map +1 -1
  41. package/dist/discovery.js +361 -51
  42. package/dist/discovery.js.map +1 -1
  43. package/dist/metadata.d.ts +15 -1
  44. package/dist/metadata.d.ts.map +1 -1
  45. package/dist/metadata.js +235 -0
  46. package/dist/metadata.js.map +1 -1
  47. package/dist/model.d.ts +5 -10
  48. package/dist/model.d.ts.map +1 -1
  49. package/dist/rules.js +69 -23
  50. package/dist/rules.js.map +1 -1
  51. package/dist/scanner.d.ts.map +1 -1
  52. package/dist/scanner.js +66 -2
  53. package/dist/scanner.js.map +1 -1
  54. package/dist/skill-migration.d.ts.map +1 -1
  55. package/dist/skill-migration.js +6 -1
  56. package/dist/skill-migration.js.map +1 -1
  57. package/dist/types.d.ts +72 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/types.js +50 -1
  60. package/dist/types.js.map +1 -1
  61. package/docs/README.md +2 -1
  62. package/docs/agent-skills-compatibility.md +8 -1
  63. package/docs/authoring-guide.md +100 -13
  64. package/docs/context-lens.md +319 -153
  65. package/docs/diagnostics.md +385 -3
  66. package/docs/metadata-budget.md +32 -0
  67. package/docs/quality-profile.md +17 -5
  68. package/docs/user-manual.md +136 -14
  69. package/examples/context-lens/README.md +8 -3
  70. package/examples/context-lens/contexts/testing/boundary-value-analysis.md +6 -2
  71. package/examples/context-lens/lenses/testing/spec-review-boundary-values.md +27 -5
  72. package/examples/context-lens/lenses/testing/test-design-boundary-values.md +27 -5
  73. package/examples/context-lens/skills/testing/spec-review/SKILL.md +33 -4
  74. package/package.json +1 -1
@@ -73,17 +73,20 @@ support paths:
73
73
 
74
74
  The same reserved names apply under `.agents/skills/**`.
75
75
 
76
- These Skill-local support directories are valid. Keep material local when it is
77
- specific to one Skill. Promote reusable source-of-truth knowledge to an owned
78
- Context Asset, or a helper shared across workflows to `tools/**`, only when
79
- repository evidence supports that change; Renma does not move files
76
+ These valid support paths are structurally Skill-local. Keep material local when
77
+ it is specific to one Skill. Promote reusable source-of-truth knowledge to an
78
+ owned Context Asset, or a helper shared across workflows to `tools/**`, only
79
+ when repository evidence supports that change; Renma does not move files
80
80
  automatically.
81
81
 
82
- Skill-local support belongs only to the nearest Skill directory. When a local
83
- support artifact does not declare an owner, ownership, Readiness, graph, Trust
84
- Graph, and BOM reporting use the nearest Skill's owner as deterministic
85
- effective ownership and mark it as inherited. This does not invent ownership
86
- for shared Context Assets or unrelated repository files.
82
+ Renma claims a parent only after repository evidence resolves exactly one Skill
83
+ entrypoint. When that resolved local support artifact does not declare an owner,
84
+ ownership, Readiness, graph, Trust Graph, and BOM reporting may use the parent
85
+ Skill's owner as deterministic effective ownership and mark it as inherited.
86
+ Missing or ambiguous parents never inherit. See
87
+ [classification evidence](diagnostics.md#how-to-read-classification-evidence)
88
+ for the detailed contract. This does not invent ownership for shared Context
89
+ Assets or unrelated repository files.
87
90
 
88
91
  Only files marked Markdown-parser eligible contribute frontmatter metadata,
89
92
  headings, links, code fences, and repeated-context evidence. Text scripts and
@@ -162,6 +165,61 @@ Review the Skill with this platform's standard Skill authoring guidance, then us
162
165
  Start by running `renma --help` and use command-specific help to choose the appropriate workflow. Make only evidence-backed changes. Do not invent owners, references, product rules, or source-of-truth claims. Preserve existing semantics unless a diagnostic or explicit requirement supports a change. Run `renma scan . --fail-on high` after editing, fix relevant diagnostics, rerun it, and summarize both resolved and remaining findings.
163
166
  ```
164
167
 
168
+ Recommended evidence-first preflight:
169
+
170
+ 1. Run `renma scan . --fail-on high --format json`.
171
+ 2. Run `renma inspect <SKILL.md> --format json`.
172
+ 3. Inspect relevant local resources and referenced Context Assets.
173
+ 4. Use `renma suggest-metadata` only when retrofit or migration evidence exists.
174
+ 5. Prepare the smallest intended patch.
175
+ 6. Rerun `renma scan . --fail-on high --format json`.
176
+ 7. Stop without manufacturing work when `suggest-metadata` reports
177
+ `decisionStatus: "no-change-recommended"`; this currently uses
178
+ `suggestedMode: "no-proposal"`.
179
+ 8. Report unresolved human decisions.
180
+
181
+ For one classification question, `renma inspect <target> --format json` may be
182
+ the initial preflight. Repository-wide work should normally start with `scan`.
183
+
184
+ ## Context Asset Discovery Boundary
185
+
186
+ `contexts/**` is the preferred independent Context Asset root and `context/**`
187
+ remains supported. Nested directory names never override a recognized root.
188
+ Files under canonical Skill `references/`, `profiles/`, `examples/`, `scripts/`,
189
+ and `assets/` directories are structurally Skill-local. Renma claims one parent
190
+ and possible inherited governance only after repository evidence resolves
191
+ exactly one Skill under `skills/**` or `.agents/skills/**`. Supported explicit
192
+ local metadata remains valid but is not required. See
193
+ [classification evidence](diagnostics.md#how-to-read-classification-evidence)
194
+ for the detailed contract.
195
+
196
+ Top-level `references/**` is not a Context root. `tools/**` contains shared
197
+ repository implementation, not Context knowledge, and `skills/**/tools/**` is
198
+ not a canonical local support directory. Skill-local executable support belongs
199
+ under `scripts/`.
200
+
201
+ ```text
202
+ contexts/foo/references/policy.md
203
+ -> independent Context Asset
204
+
205
+ skills/foo/references/policy.md
206
+ -> Skill-local Reference
207
+
208
+ references/policy.md
209
+ -> outside the Context root
210
+
211
+ tools/helper.mjs
212
+ -> repository implementation
213
+
214
+ skills/foo/tools/helper.mjs
215
+ -> not canonical Skill-local support
216
+ ```
217
+
218
+ Placement as independent Context is a human decision about ownership,
219
+ lifecycle, reuse, and source of truth. Classification after placement is
220
+ deterministic. Renma never moves a file based on content. A successful
221
+ `no-proposal` result means no edit should be manufactured.
222
+
165
223
  ## User Story: Create A New Skill With Scaffold
166
224
 
167
225
  Use this flow when adding a new agent-facing Skill. Platform-native guidance
@@ -640,7 +698,19 @@ renma inspect contexts/testing/boundary-value-analysis.md --format json
640
698
  renma inspect skills/testing/spec-review/SKILL.md --lines L10-L42
641
699
  ```
642
700
 
643
- Use this when editing one skill or context file and you want a deterministic outline without reading the whole repository catalog. Without `--lines`, output includes file size, line count, frontmatter range, headings, code fences, links, asset relationships, and a concise Context Lens governance summary when repository context can be inferred. Use `--lines <range>` for an exact source slice; ranges can look like `L10-L42` or `10-42`.
701
+ Use this when editing one skill or context file and you want a deterministic outline without reading the whole repository catalog. Without `--lines`, output includes file size, line count, frontmatter range, headings, code fences, links, asset relationships, and a concise Context Lens governance summary when repository context can be inferred. It also always includes `classification` with `kind`, `scope`, `matchedRule`, `reasonCode`, root or parent evidence, and concise competing rules. A Skill-local path exposes `parentAssetCandidatePath`; `parentAssetPath` appears only when `parentResolution` is `resolved`, while `missing` and `ambiguous` remain explicit fail-closed states. `governance` is separate and reports ownership, policy, and metadata provenance only from repository evidence. Unknown files and repository tools still receive classification. Use `--lines <range>` for an exact source slice; ranges can look like `L10-L42` or `10-42`. `--lines` output itself is unchanged.
702
+
703
+ JSON also includes `repositoryBoundary`. Resolved results record the root,
704
+ repository-relative path, and resolution source. Unresolved results retain a
705
+ stable reason code and `candidateRoots`; structural ambiguity uses
706
+ `repository-boundary-ambiguous` instead of selecting a broad ancestor.
707
+
708
+ For a file target, Renma resolves a repository root from an explicit caller root,
709
+ the nearest safe `.git` file/directory or Renma config marker, or an unambiguous
710
+ structural boundary, in that order. Current-working-directory containment alone
711
+ does not establish a repository. This keeps nested repositories and absolute
712
+ targets outside the current directory deterministic without scanning an
713
+ unrelated parent tree.
644
714
 
645
715
  ### `readiness`
646
716
 
@@ -711,7 +781,9 @@ Renma does not infer owners automatically. If an asset is unowned, choose an own
711
781
 
712
782
  ### `scaffold`
713
783
 
714
- Creates a starter skill or context asset.
784
+ Creates starter assets with distinct responsibilities: a Skill is a focused
785
+ workflow entrypoint, Context is durable reusable knowledge, and a Context Lens
786
+ is purpose-specific interpretation of one or more declared Context Assets.
715
787
 
716
788
  ```bash
717
789
  renma scaffold skill skills/testing/spec-review/SKILL.md --owner qa-platform
@@ -720,7 +792,17 @@ renma scaffold context_lens lenses/testing/spec-review-boundary-values.md --owne
720
792
  renma scaffold skill skills/testing/spec-review/SKILL.md --owner qa-platform --format prompt
721
793
  ```
722
794
 
723
- `scaffold --format file` writes a starter file, `--format prompt` emits an authoring prompt, and `--format json` emits structured scaffold data. The generated content is intentionally minimal; fill in metadata, dependencies, and verification steps before depending on it in automation.
795
+ `scaffold --format file` writes a starter file, `--format prompt` emits an
796
+ authoring prompt, and `--format json` emits structured scaffold data. The
797
+ generated content is intentionally minimal; fill in metadata, dependencies, and
798
+ verification steps before depending on it in automation.
799
+
800
+ For a Context Lens, replace every placeholder `purpose`, `applies_to`, `focus`,
801
+ and `expected_outputs` value with repository-grounded content. Every
802
+ `applies_to` target must resolve to a real Context Asset. Do not use a Lens as
803
+ generic persona storage, a prompt template, or a runtime routing rule, and do
804
+ not create one when there is no Context Asset to interpret. See the
805
+ [Context Lens guide](context-lens.md) for the canonical decision model.
724
806
 
725
807
  For a Skill, use platform-native authoring guidance before and after scaffolding.
726
808
  File mode prints concise Skill-only next steps after the `Created` line. Prompt
@@ -751,7 +833,17 @@ workflow, constraints, and completion criteria with platform-native guidance;
751
833
  apply only intended metadata or migration changes; run
752
834
  `renma scan . --fail-on high`; fix relevant diagnostics; and rerun the scan.
753
835
  Context Asset output does not receive this Skill-specific authoring guidance.
754
- JSON retains the existing structured suggestion shape.
836
+ JSON adds `classification`, `decisionStatus`, structured `decision` evidence,
837
+ and safe `nextActions` to the existing suggestion fields. Each action has
838
+ `kind` and `invocation`; execute `invocation.command` with the exact
839
+ `invocation.args` array. `invocation.display` is for people and must not be
840
+ parsed as the machine contract, including on paths with spaces, quotes, or
841
+ Windows separators.
842
+
843
+ When no repository root resolves, `decisionStatus` is `blocked` and Renma does
844
+ not emit an executable `scan .` action. Establish the repository root with an
845
+ explicit root or repository marker before verification; the caller's current
846
+ directory is not assumed to contain the target.
755
847
 
756
848
  For Skill targets using the pre-0.16 Renma Skill format, the 0.16.0 metadata
757
849
  migration path is one-way: recognized governance and security frontmatter
@@ -759,6 +851,8 @@ becomes Agent Skills identity plus `metadata.renma.*`. Separately, `skill.md` an
759
851
  report any required entrypoint rename or move, even when their frontmatter
760
852
  already uses Agent Skills fields. For a canonical Agent Skill, `--owner` may
761
853
  instead propose an owner metadata retrofit; it never causes reverse migration.
854
+ Skill migration `sourcePath` and `targetPath` values are repository-relative,
855
+ including when the user invokes Renma from the parent of a nested repository.
762
856
  The normative behavior is documented in
763
857
  [Agent Skills Compatibility and Migration](agent-skills-compatibility.md).
764
858
 
@@ -773,7 +867,35 @@ invalid evidence, confirm the Skill's intent with platform-native authoring
773
867
  guidance, correct the source evidence, rerun `suggest-metadata`, then validate
774
868
  intended corrections with `renma scan . --fail-on high`.
775
869
 
776
- Owner metadata remains recommended but not required. Without `--owner`, `suggest-metadata` blocks owner as a suggested addition and says not to add one unless the asset already declares an owner or a maintainer provides one. With `--owner <owner>`, the command may include that owner because it was explicitly provided. If an existing asset already declares an owner, `suggest-metadata` preserves it; a different `--owner` value is treated as a human-review ownership change, not an automatic metadata suggestion. Renma does not infer owners from Git history, file paths, prose, or authors.
870
+ Owner metadata remains recommended but not required. Without `--owner`, Renma
871
+ does not invent an owner. With `--owner <owner>`, the command may include that
872
+ owner because it was explicitly provided. If an existing asset already
873
+ declares an owner, `suggest-metadata` preserves it; a different `--owner` value
874
+ is treated as conflicting evidence and blocks a candidate. Renma does not infer
875
+ owners from Git history, file paths, prose, or authors.
876
+ If the explicit owner equals the existing canonical `metadata.renma.owner`, the
877
+ result is `suggestedMode: "no-proposal"` with
878
+ `decisionStatus: "no-change-recommended"`; no candidate metadata, canonical
879
+ frontmatter, or patch instruction is emitted.
880
+
881
+ Ordinary Skill-local support returns `suggestedMode: "no-proposal"` and
882
+ `decisionStatus: "no-change-recommended"` when it can inherit governance from
883
+ one resolved parent Skill. Its `candidateMetadata` is empty. A missing or
884
+ ambiguous parent returns `decisionStatus: "blocked"`, leaves governance
885
+ unowned or unresolved, and provides a scan/layout action instead of claiming
886
+ inheritance. Existing explicit local owner or policy metadata is preserved
887
+ under `skill-local-existing-metadata-preserved`; an explicit `--owner` can still
888
+ request a supported intentional override after the parent resolves. Prompt and
889
+ JSON output both distinguish the observed path fact, deterministic
890
+ interpretation, recommendation, and remaining human decision. Repository tools
891
+ and unknown paths never receive fabricated Context metadata candidates.
892
+
893
+ `decisionStatus` is authoritative: `blocked` never authorizes a patch,
894
+ `no-change-recommended` stops without a patch, `human-confirmation-required`
895
+ identifies what must be confirmed before applying only the candidate fields,
896
+ and `deterministic` permits the reviewed candidate. Consumers should include a
897
+ conservative default for unknown future `suggestedMode` values rather than
898
+ assuming every non-`no-proposal` value is applicable.
777
899
 
778
900
  ### `suggest-semantic-split`
779
901
 
@@ -15,9 +15,11 @@ It includes:
15
15
  [`SKILL.md`](skills/testing/spec-review/SKILL.md) with static required and
16
16
  optional Lens relationships.
17
17
 
18
- The Skill is a thin routing and workflow layer. The Context Asset owns reusable
19
- boundary-value knowledge. Each Lens explains how to apply that knowledge for a
20
- particular purpose without copying it into the Skill.
18
+ The Skill is a complete focused workflow entrypoint: it defines selection
19
+ boundaries, inputs, ordered review steps, output, validation, and completion.
20
+ The Context Asset owns reusable boundary-value knowledge. Each Lens explains
21
+ how to interpret that knowledge for a particular purpose without copying it
22
+ into the Skill.
21
23
 
22
24
  ```text
23
25
  Skill -> Context Lens -> Context Asset
@@ -71,6 +73,9 @@ Review the boundary-value Context for ambiguity and missing limits.
71
73
  ```
72
74
 
73
75
  The supported Lens schema version is `1`; the supported scope is `context`.
76
+ Structural validity is only the starting point. A useful Lens also defines
77
+ concrete questions, risks, checks, evidence, and expected outputs. Persona-only
78
+ wording such as “Act as a senior QA engineer” is not sufficient by itself.
74
79
 
75
80
  ## Diagnostic Illustration
76
81
 
@@ -18,6 +18,10 @@ requires_human_approval: false
18
18
  ---
19
19
  # Boundary Value Analysis
20
20
 
21
- Boundary value analysis is reusable testing knowledge. It should stay as a base context asset because it can support spec review, test design, regression planning, onboarding, and other skills.
21
+ Boundary value analysis is reusable testing knowledge. It should stay as a base
22
+ Context Asset because it can support spec review, test design, regression
23
+ planning, onboarding, and other Skills.
22
24
 
23
- Keep task-specific interpretation in context lens assets instead of copying this content into each skill.
25
+ When several workflows need reusable purpose-specific interpretation, keep that
26
+ interpretation in Context Lenses instead of copying this knowledge into each
27
+ Skill. A Skill may reference this Context directly when no Lens adds value.
@@ -11,8 +11,15 @@ tags:
11
11
  purpose: spec_review
12
12
  applies_to:
13
13
  - context.testing.boundary-value-analysis
14
- focus: ambiguity, missing boundary, source of truth, confirmation questions
15
- expected_outputs: unresolved questions, risk notes, spec clarification suggestions
14
+ focus:
15
+ - ambiguity
16
+ - missing boundary
17
+ - source of truth
18
+ - confirmation questions
19
+ expected_outputs:
20
+ - unresolved questions
21
+ - risk notes
22
+ - spec clarification suggestions
16
23
  allowed_data:
17
24
  - repo-local-files
18
25
  network_allowed: false
@@ -22,8 +29,23 @@ requires_human_approval: false
22
29
  ---
23
30
  # Spec Review Lens for Boundary Values
24
31
 
25
- Use this lens when reading boundary value analysis context during spec review.
32
+ Interpret the applied boundary-value Context from the perspective of an
33
+ experienced QA reviewer responsible for finding specification risk before
34
+ implementation.
26
35
 
27
- Emphasize whether the spec defines exact lower and upper bounds, inclusive or exclusive behavior, empty or zero cases, overflow handling, retry limits, and ownership of the source of truth.
36
+ ## Interpretation Criteria
28
37
 
29
- The lens should help produce review questions and risk notes. It should not duplicate the base boundary value analysis context or become a prompt template.
38
+ - Determine whether each material limit has an exact value and an identified
39
+ source of truth.
40
+ - Check whether lower and upper bounds are inclusive or exclusive and whether
41
+ empty, zero, overflow, and retry-limit behavior is specified.
42
+ - Identify conflicting requirements, undefined ownership, and assumptions that
43
+ could lead implementations or tests to disagree.
44
+ - Distinguish documented facts from inferred behavior and unresolved decisions.
45
+
46
+ ## Evidence And Output
47
+
48
+ Cite the specification section or repository source behind every conclusion.
49
+ Produce prioritized unresolved questions, risk notes, and clarification
50
+ suggestions. Do not duplicate the base Context, define the Skill workflow, or
51
+ turn this Lens into a prompt template.
@@ -11,8 +11,15 @@ tags:
11
11
  purpose: test_design
12
12
  applies_to:
13
13
  - context.testing.boundary-value-analysis
14
- focus: inclusive limits, empty and zero values, overflow behavior, retry limits
15
- expected_outputs: test cases, edge-case checklist, coverage notes
14
+ focus:
15
+ - inclusive limits
16
+ - empty and zero values
17
+ - overflow behavior
18
+ - retry limits
19
+ expected_outputs:
20
+ - test cases
21
+ - edge-case checklist
22
+ - coverage notes
16
23
  allowed_data:
17
24
  - repo-local-files
18
25
  network_allowed: false
@@ -22,8 +29,23 @@ requires_human_approval: false
22
29
  ---
23
30
  # Test Design Lens for Boundary Values
24
31
 
25
- Use this lens when turning boundary value analysis context into concrete test coverage.
32
+ Interpret the applied boundary-value Context for test design that provides
33
+ reviewable evidence of behavior at and around material limits.
26
34
 
27
- Emphasize lower and upper bounds, inclusive and exclusive behavior, empty input, zero values, overflow, maximum retries, and expected failure modes.
35
+ ## Interpretation Criteria
28
36
 
29
- The lens should help produce test cases and coverage notes. It should not select runtime context, assemble a prompt, or duplicate the base boundary value analysis context.
37
+ - Map each declared limit to cases below, at, and above the boundary when those
38
+ states are valid for the system.
39
+ - Distinguish inclusive from exclusive behavior and cover empty input, zero
40
+ values, overflow, maximum retries, and expected failure modes when applicable.
41
+ - Trace each proposed case to a stated requirement and identify any expected
42
+ result that the specification leaves unresolved.
43
+ - Prefer deterministic cases whose setup, assertion, and failure evidence can
44
+ distinguish product behavior from a test defect.
45
+
46
+ ## Evidence And Output
47
+
48
+ Produce test cases, an edge-case checklist, and coverage notes with requirement
49
+ citations. Keep unresolved expected results explicit. Do not select runtime
50
+ Context, assemble a prompt, define the Skill workflow, or duplicate the base
51
+ Context.
@@ -19,7 +19,15 @@ metadata:
19
19
 
20
20
  Use this skill to review a specification before implementation or test design.
21
21
 
22
- The skill stays thin. It declares the reusable base context and the purpose-oriented lens, while the detailed knowledge remains in context assets and lens assets.
22
+ This Skill owns the focused review workflow. The declared Context Asset owns
23
+ reusable boundary-value knowledge, and the declared Lenses own purpose-specific
24
+ interpretation of that knowledge.
25
+
26
+ ## Selection Boundaries
27
+
28
+ Use this workflow when a specification needs evidence-backed analysis of
29
+ implementation or test-design boundaries. Do not use it to implement the
30
+ change, approve product decisions, or perform unrelated editorial review.
23
31
 
24
32
  ## Required Inputs
25
33
 
@@ -28,9 +36,28 @@ The skill stays thin. It declares the reusable base context and the purpose-orie
28
36
 
29
37
  ## Instructions
30
38
 
31
- 1. Read the declared context assets.
32
- 2. Apply the declared context lens to focus the review.
33
- 3. Produce unresolved questions, risk notes, and clarification suggestions.
39
+ 1. Confirm that the supplied specification and its sources are available. If a
40
+ required source is missing, record the gap rather than inventing behavior.
41
+ 2. Read the declared boundary-value Context Asset and the required spec-review
42
+ Lens. Apply the optional test-design Lens only when test coverage is also in
43
+ scope for the requested review.
44
+ 3. Extract stated behavior, limits, assumptions, and sources from the supplied
45
+ specification. Keep facts separate from inferences and unresolved questions.
46
+ 4. Apply the required Lens's interpretation criteria to the reusable Context.
47
+ Cite the reusable guidance where relevant instead of reproducing it in this
48
+ Skill or output.
49
+ 5. Prioritize findings by implementation or release risk. Cite the relevant
50
+ specification section or repository evidence for every finding.
51
+ 6. Produce the expected output below and leave decisions with the accountable
52
+ human owner.
53
+
54
+ ## Expected Output
55
+
56
+ - A short scope and evidence summary.
57
+ - Prioritized unresolved questions and risk notes.
58
+ - Clarification suggestions tied to cited source gaps.
59
+ - The Context and Lens IDs applied, including why the optional Lens was or was
60
+ not used.
34
61
 
35
62
  ## When Not To Use
36
63
 
@@ -41,6 +68,8 @@ approval, or an editorial workflow for copy-only review.
41
68
 
42
69
  - The output distinguishes known facts from open questions.
43
70
  - The output cites the source-of-truth gaps it found.
71
+ - Each finding has an impact or risk and an evidence-backed rationale.
72
+ - Use of the optional Lens matches the requested review scope.
44
73
  - The skill does not copy reusable testing guidance into this file.
45
74
 
46
75
  ## Completion Criteria
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "renma",
3
- "version": "0.18.0",
3
+ "version": "0.18.2",
4
4
  "description": "Manage human-curated context assets for LLMs and agents in Git.",
5
5
  "license": "MIT",
6
6
  "repository": {