renma 0.15.2 → 0.17.0

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 (126) hide show
  1. package/CHANGELOG.md +54 -1
  2. package/README.md +216 -655
  3. package/architecture.md +523 -0
  4. package/design.md +458 -0
  5. package/dist/agent-skills.d.ts +77 -0
  6. package/dist/agent-skills.d.ts.map +1 -0
  7. package/dist/agent-skills.js +468 -0
  8. package/dist/agent-skills.js.map +1 -0
  9. package/dist/catalog.d.ts.map +1 -1
  10. package/dist/catalog.js +38 -5
  11. package/dist/catalog.js.map +1 -1
  12. package/dist/cli-help.d.ts +13 -11
  13. package/dist/cli-help.d.ts.map +1 -1
  14. package/dist/cli-help.js +36 -11
  15. package/dist/cli-help.js.map +1 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +139 -40
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands/catalog.d.ts.map +1 -1
  20. package/dist/commands/catalog.js +4 -3
  21. package/dist/commands/catalog.js.map +1 -1
  22. package/dist/commands/graph.d.ts.map +1 -1
  23. package/dist/commands/graph.js +7 -12
  24. package/dist/commands/graph.js.map +1 -1
  25. package/dist/commands/readiness.d.ts.map +1 -1
  26. package/dist/commands/readiness.js +7 -6
  27. package/dist/commands/readiness.js.map +1 -1
  28. package/dist/commands/scaffold.d.ts.map +1 -1
  29. package/dist/commands/scaffold.js +59 -16
  30. package/dist/commands/scaffold.js.map +1 -1
  31. package/dist/commands/suggest-metadata.d.ts +3 -1
  32. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  33. package/dist/commands/suggest-metadata.js +226 -7
  34. package/dist/commands/suggest-metadata.js.map +1 -1
  35. package/dist/commands/suggest-semantic-split.js +3 -3
  36. package/dist/commands/suggest-semantic-split.js.map +1 -1
  37. package/dist/dependency-resolution.d.ts +6 -0
  38. package/dist/dependency-resolution.d.ts.map +1 -0
  39. package/dist/dependency-resolution.js +11 -0
  40. package/dist/dependency-resolution.js.map +1 -0
  41. package/dist/diagnostic-ids.d.ts +29 -0
  42. package/dist/diagnostic-ids.d.ts.map +1 -1
  43. package/dist/diagnostic-ids.js +28 -0
  44. package/dist/diagnostic-ids.js.map +1 -1
  45. package/dist/discovery.d.ts +50 -0
  46. package/dist/discovery.d.ts.map +1 -1
  47. package/dist/discovery.js +183 -25
  48. package/dist/discovery.js.map +1 -1
  49. package/dist/metadata.d.ts +3 -1
  50. package/dist/metadata.d.ts.map +1 -1
  51. package/dist/metadata.js +166 -29
  52. package/dist/metadata.js.map +1 -1
  53. package/dist/model.d.ts +1 -0
  54. package/dist/model.d.ts.map +1 -1
  55. package/dist/report.d.ts.map +1 -1
  56. package/dist/report.js +16 -1
  57. package/dist/report.js.map +1 -1
  58. package/dist/repository-paths.d.ts +13 -0
  59. package/dist/repository-paths.d.ts.map +1 -1
  60. package/dist/repository-paths.js +60 -2
  61. package/dist/repository-paths.js.map +1 -1
  62. package/dist/rules.d.ts.map +1 -1
  63. package/dist/rules.js +97 -107
  64. package/dist/rules.js.map +1 -1
  65. package/dist/scanner.d.ts.map +1 -1
  66. package/dist/scanner.js +3 -1
  67. package/dist/scanner.js.map +1 -1
  68. package/dist/security-diagnostics.d.ts.map +1 -1
  69. package/dist/security-diagnostics.js +98 -35
  70. package/dist/security-diagnostics.js.map +1 -1
  71. package/dist/security-policy-inventory.js +11 -4
  72. package/dist/security-policy-inventory.js.map +1 -1
  73. package/dist/security-policy.d.ts +27 -1
  74. package/dist/security-policy.d.ts.map +1 -1
  75. package/dist/security-policy.js +247 -34
  76. package/dist/security-policy.js.map +1 -1
  77. package/dist/skill-migration.d.ts +30 -0
  78. package/dist/skill-migration.d.ts.map +1 -0
  79. package/dist/skill-migration.js +566 -0
  80. package/dist/skill-migration.js.map +1 -0
  81. package/dist/trust-graph.d.ts.map +1 -1
  82. package/dist/trust-graph.js +7 -11
  83. package/dist/trust-graph.js.map +1 -1
  84. package/dist/types.d.ts +3 -1
  85. package/dist/types.d.ts.map +1 -1
  86. package/dist/yaml-frontmatter.d.ts +26 -0
  87. package/dist/yaml-frontmatter.d.ts.map +1 -0
  88. package/dist/yaml-frontmatter.js +114 -0
  89. package/dist/yaml-frontmatter.js.map +1 -0
  90. package/docs/README.md +55 -0
  91. package/docs/advanced-skill-authoring.md +140 -0
  92. package/docs/agent-skills-compatibility.md +500 -0
  93. package/docs/authoring-guide.md +324 -0
  94. package/docs/context-conflict-diagnostics.md +32 -0
  95. package/docs/context-language-diagnostics.md +99 -0
  96. package/docs/context-lens.md +253 -0
  97. package/docs/context-lifecycle-diagnostics.md +55 -0
  98. package/docs/diagnostics.md +373 -0
  99. package/docs/metadata-budget.md +14 -0
  100. package/docs/repository-context-bom.md +113 -0
  101. package/docs/security-policy.md +338 -0
  102. package/docs/user-manual.md +813 -0
  103. package/examples/context-lens/README.md +101 -0
  104. package/examples/context-lens/contexts/testing/boundary-value-analysis.md +23 -0
  105. package/examples/context-lens/lenses/testing/spec-review-boundary-values.md +29 -0
  106. package/examples/context-lens/lenses/testing/test-design-boundary-values.md +29 -0
  107. package/examples/context-lens/skills/testing/spec-review/SKILL.md +49 -0
  108. package/examples/context-repo/README.md +149 -0
  109. package/examples/context-repo/contexts/domain/payment/idempotency.md +20 -0
  110. package/examples/context-repo/contexts/testing/boundary-value-analysis.md +19 -0
  111. package/examples/context-repo/contexts/testing/negative-testing.md +19 -0
  112. package/examples/context-repo/lenses/testing/spec-review-boundary-values.md +35 -0
  113. package/examples/context-repo/renma.config.json +12 -0
  114. package/examples/context-repo/skills/testing/spec-review/SKILL.md +66 -0
  115. package/examples/context-repo/tools/appium/README.md +14 -0
  116. package/examples/github-actions/renma-ci-report.yml +36 -0
  117. package/examples/interactive-placeholder/README.md +104 -0
  118. package/examples/interactive-placeholder/assets/template.txt +1 -0
  119. package/examples/interactive-placeholder/renma.config.json +6 -0
  120. package/examples/interactive-placeholder/skills/replace-placeholder/SKILL.md +54 -0
  121. package/examples/interactive-placeholder/tools/README.md +48 -0
  122. package/examples/interactive-placeholder/tools/placeholder-demo.mjs +99 -0
  123. package/package.json +11 -1
  124. package/plan-discovery.md +740 -0
  125. package/plan.md +150 -0
  126. package/scripts/verify-package.mjs +97 -0
@@ -1,5 +1,6 @@
1
1
  import { mkdir, writeFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { normalizeAgentSkillDirectoryName } from "../agent-skills.js";
3
4
  export async function runScaffoldCommand(options) {
4
5
  const bundle = buildScaffoldBundle(options);
5
6
  if (options.format === "json") {
@@ -12,7 +13,7 @@ export async function runScaffoldCommand(options) {
12
13
  }
13
14
  await mkdir(path.dirname(options.targetPath), { recursive: true });
14
15
  await writeFile(options.targetPath, bundle.content, { flag: "wx" });
15
- process.stdout.write(`Created ${options.targetPath}\n`);
16
+ process.stdout.write(`Created ${options.targetPath}\n${options.kind === "skill" ? `\n${renderSkillNextSteps()}\n` : ""}`);
16
17
  return 0;
17
18
  }
18
19
  export function buildScaffoldBundle(options) {
@@ -21,7 +22,13 @@ export function buildScaffoldBundle(options) {
21
22
  const owner = options.owner ?? "unowned";
22
23
  const tags = options.tags && options.tags.length > 0 ? options.tags : ["authoring"];
23
24
  const content = options.kind === "skill"
24
- ? renderSkillScaffold({ id, title, owner, tags })
25
+ ? renderSkillScaffold({
26
+ name: canonicalSkillName(options.targetPath),
27
+ id,
28
+ title,
29
+ owner,
30
+ tags,
31
+ })
25
32
  : options.kind === "context_lens"
26
33
  ? renderContextLensScaffold({ id, title, owner, tags })
27
34
  : renderContextScaffold({ id, title, owner, tags });
@@ -47,15 +54,18 @@ export function buildScaffoldBundle(options) {
47
54
  }
48
55
  function renderSkillScaffold(metadata) {
49
56
  return `---
50
- id: ${metadata.id}
51
- title: ${metadata.title}
52
- version: 0.1.0
53
- owner: ${metadata.owner}
54
- status: experimental
55
- ${renderTagBlock(metadata.tags)}
56
- requires_context:
57
- optional_context:
58
- conflicts:
57
+ name: ${metadata.name}
58
+ description: Replace this description with clear routing guidance. Use when the intended workflow applies.
59
+ metadata:
60
+ renma.id: ${yamlString(metadata.id)}
61
+ renma.title: ${yamlString(metadata.title)}
62
+ renma.version: "0.1.0"
63
+ renma.owner: ${yamlString(metadata.owner)}
64
+ renma.status: experimental
65
+ renma.tags: ${yamlString(JSON.stringify(metadata.tags))}
66
+ renma.requires-context: '[]'
67
+ renma.optional-context: '[]'
68
+ renma.conflicts: '[]'
59
69
  ---
60
70
 
61
71
  # ${metadata.title}
@@ -76,7 +86,7 @@ Describe the recurring task, decision, or workflow this skill should guide.
76
86
 
77
87
  ## Context References
78
88
 
79
- Use \`requires_context\` and \`optional_context\` in frontmatter to reference durable context assets.
89
+ Use \`metadata.renma.requires-context\` and \`metadata.renma.optional-context\` JSON-array strings to reference durable context assets.
80
90
 
81
91
  Move reusable domain, testing, platform, product, or tool knowledge into separately owned context assets under \`contexts/\`.
82
92
 
@@ -173,6 +183,14 @@ This context lens is a purpose-oriented interpretation layer for the context ass
173
183
  `;
174
184
  }
175
185
  function renderPrompt(input) {
186
+ const skillGuidance = input.kind === "skill"
187
+ ? [
188
+ "- Keep the Skill in Agent Skills format with Renma extensions under `metadata.renma.*`.",
189
+ "- Use `metadata.renma.requires-context` for context the skill normally depends on, encoded as a JSON-array string.",
190
+ "- Use `metadata.renma.optional-context` for context useful only in some cases, encoded as a JSON-array string.",
191
+ "- Use `metadata.renma.requires-lens` or `metadata.renma.optional-lens` for static lens relationships, encoded as JSON-array strings.",
192
+ ]
193
+ : [];
176
194
  return `Create a Renma ${input.kind} asset at \`${input.targetPath}\`.
177
195
 
178
196
  Use this metadata exactly:
@@ -189,14 +207,14 @@ Start from this deterministic scaffold and replace placeholder prose with reposi
189
207
  \`\`\`md
190
208
  ${input.content}\`\`\`
191
209
 
192
- Constraints:
210
+ ${input.kind === "skill"
211
+ ? `Use your platform's standard Skill authoring guidance to refine the generated Skill's description, instructions, workflow, constraints, and completion criteria. Treat the scaffold as a starting point, preserve the repository's intended behavior, and do not invent owners, policies, dependencies, domain rules, or source-of-truth claims. After editing, run \`renma scan . --fail-on high\`, address relevant diagnostics, and rerun the scan. Do not weaken security policy or add suppressions merely to make validation pass. Have a human review meaningful semantic changes before merging.\n\n`
212
+ : ""}Constraints:
193
213
 
194
214
  - Preserve the YAML frontmatter shape unless the repository already requires a stricter local convention.
195
215
  - Use only supported statuses: experimental, stable, deprecated, archived.
196
216
  - Move durable domain, testing, platform, product, or tool knowledge into separately owned context assets under \`contexts/\`.
197
- - For skill assets, use \`requires_context\` for context the skill normally depends on.
198
- - For skill assets, use \`optional_context\` for context useful only in some cases.
199
- - For skill assets, use \`requires_lens\` or \`optional_lens\` for static lens relationships.
217
+ ${skillGuidance.join("\n")}
200
218
  - For context lens assets, use \`applies_to\` for context assets the lens interprets.
201
219
  - Use simple supported metadata shapes only.
202
220
  - For context assets, keep content durable, reviewable, and source-backed.
@@ -211,10 +229,35 @@ Constraints:
211
229
  - After creating files, run \`renma scan .\`, \`renma catalog . --format json\`, and \`renma graph . --focus ${input.id} --format mermaid\`.
212
230
  `;
213
231
  }
232
+ function renderSkillNextSteps() {
233
+ return [
234
+ "Next steps:",
235
+ "1. Review the generated Skill using your platform's standard Skill authoring guidance.",
236
+ "2. Complete the description, instructions, workflow, constraints, completion criteria, and intended metadata.",
237
+ "3. Run `renma scan . --fail-on high`.",
238
+ "4. Fix relevant diagnostics and rerun the scan.",
239
+ "5. Have a human review meaningful semantic changes before merging.",
240
+ ].join("\n");
241
+ }
214
242
  function renderTagBlock(tags) {
215
243
  return `tags:
216
244
  ${tags.map((tag) => ` - ${tag}`).join("\n")}`;
217
245
  }
246
+ function canonicalSkillName(targetPath) {
247
+ const normalizedPath = targetPath.replaceAll("\\", "/");
248
+ if (path.posix.basename(normalizedPath) !== "SKILL.md") {
249
+ throw new Error("Skill scaffolds require the canonical SKILL.md filename.");
250
+ }
251
+ const directory = path.posix.basename(path.posix.dirname(normalizedPath));
252
+ const validation = normalizeAgentSkillDirectoryName(directory);
253
+ if (validation.normalized === undefined || validation.problems.length > 0) {
254
+ throw new Error(`Skill scaffold directory "${directory}" is not a valid Agent Skills name: ${validation.problems.join("; ")}.`);
255
+ }
256
+ return validation.normalized;
257
+ }
258
+ function yamlString(value) {
259
+ return `'${value.replaceAll("'", "''")}'`;
260
+ }
218
261
  function inferId(kind, targetPath) {
219
262
  const withoutExtension = targetPath.replace(/\.[^/.]+$/, "");
220
263
  const normalized = withoutExtension
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/commands/scaffold.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type AgentSkillMigrationSuggestion } from "../skill-migration.js";
1
2
  import type { ArtifactKind } from "../types.js";
2
3
  export type SuggestMetadataFormat = "prompt" | "json";
3
4
  export interface SuggestMetadataOptions {
@@ -11,11 +12,12 @@ export interface BlockedMetadata {
11
12
  export interface MetadataSuggestion {
12
13
  path: string;
13
14
  kind: ArtifactKind;
14
- suggestedMode: "metadata-retrofit";
15
+ suggestedMode: "metadata-retrofit" | "agent-skills-migration" | "agent-skills-metadata-retrofit";
15
16
  ownerProvided: boolean;
16
17
  instructions: string[];
17
18
  candidateMetadata: Record<string, string>;
18
19
  blockedMetadata: BlockedMetadata[];
20
+ agentSkills?: AgentSkillMigrationSuggestion;
19
21
  }
20
22
  export declare class SuggestMetadataTargetError extends Error {
21
23
  constructor(target: string, cause: unknown);
@@ -1 +1 @@
1
- {"version":3,"file":"suggest-metadata.d.ts","sourceRoot":"","sources":["../../src/commands/suggest-metadata.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAY,YAAY,EAAiB,MAAM,aAAa,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,EAAE,mBAAmB,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,eAAe,EAAE,eAAe,EAAE,CAAC;CACpC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAM3C;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAiE7B;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CA0B3E"}
1
+ {"version":3,"file":"suggest-metadata.d.ts","sourceRoot":"","sources":["../../src/commands/suggest-metadata.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAY,YAAY,EAAiB,MAAM,aAAa,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,aAAa,EACT,mBAAmB,GACnB,wBAAwB,GACxB,gCAAgC,CAAC;IACrC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,6BAA6B,CAAC;CAC7C;AAID,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAM3C;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAwH7B;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CA4B3E"}
@@ -1,7 +1,9 @@
1
- import { readFile } from "node:fs/promises";
1
+ import { lstat, readFile, realpath, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { parseDocument } from "../markdown.js";
4
4
  import { parseAssetMetadata } from "../metadata.js";
5
+ import { classifyAbsoluteSkillEntrypointPath, classifyRepositorySkillEntrypointPath, } from "../discovery.js";
6
+ import { buildAgentSkillMigrationSuggestion, } from "../skill-migration.js";
5
7
  export class SuggestMetadataTargetError extends Error {
6
8
  constructor(target, cause) {
7
9
  super(`Could not read metadata target ${target}: ${readErrorReason(cause)}`);
@@ -26,7 +28,8 @@ export async function buildMetadataSuggestion(target, options = {}) {
26
28
  throw new SuggestMetadataTargetError(target, error);
27
29
  }
28
30
  const outputPath = toPosix(target);
29
- const initialKind = classifyPath(outputPath);
31
+ const entrypoint = classifySuggestionSkillEntrypointPath(outputPath);
32
+ const initialKind = classifyPath(outputPath, entrypoint);
30
33
  const document = parseDocument({
31
34
  path: outputPath,
32
35
  absolutePath,
@@ -38,10 +41,62 @@ export async function buildMetadataSuggestion(target, options = {}) {
38
41
  const kind = initialKind === "context" && metadata.type === "context_lens"
39
42
  ? "context_lens"
40
43
  : initialKind;
44
+ const explicitOwner = optionalText(options.owner);
45
+ if (kind === "skill") {
46
+ const collisionBlock = entrypoint
47
+ ? await pathMigrationCollision(entrypoint, absolutePath)
48
+ : undefined;
49
+ const agentSkills = buildAgentSkillMigrationSuggestion(document, {
50
+ ...(explicitOwner ? { explicitOwner } : {}),
51
+ ...(entrypoint ? { entrypoint } : {}),
52
+ ...(collisionBlock ? { additionalBlocks: [collisionBlock] } : {}),
53
+ });
54
+ const metadataRetrofit = agentSkills.proposalKind === "canonical-metadata-retrofit";
55
+ const noMigrationProposed = agentSkills.proposalKind === "none" &&
56
+ agentSkills.sourceFormat === "agent-skills";
57
+ return {
58
+ path: outputPath,
59
+ kind,
60
+ suggestedMode: metadataRetrofit
61
+ ? "agent-skills-metadata-retrofit"
62
+ : "agent-skills-migration",
63
+ ownerProvided: Boolean(explicitOwner),
64
+ instructions: noMigrationProposed
65
+ ? [
66
+ "Inspect the canonical Agent Skill without rewriting it.",
67
+ "Preserve the Markdown body, standard Agent Skills fields, and metadata.renma.* extensions.",
68
+ "Do not propose reverse migration or an unnecessary frontmatter rewrite.",
69
+ "Only if a separate, intentional authoring change is made, run renma scan . --fail-on high, fix relevant diagnostics, and rerun the scan.",
70
+ ]
71
+ : metadataRetrofit
72
+ ? [
73
+ "Inspect the canonical Agent Skill before editing.",
74
+ "Preserve the Markdown body and existing standard Agent Skills fields.",
75
+ "Add only the explicitly provided owner as a flat metadata.renma.owner string entry.",
76
+ "Preserve unknown renma.* and other-vendor metadata child keys.",
77
+ "Do not apply a proposal with blocked ownership evidence.",
78
+ "Do not perform reverse migration.",
79
+ "Run renma scan . after human review and application.",
80
+ ]
81
+ : [
82
+ "Inspect the existing Skill before editing.",
83
+ "Preserve the Markdown body and existing standard Agent Skills fields.",
84
+ "If present, move only recognized pre-0.16 Renma Skill fields to flat metadata.renma.* string entries.",
85
+ "Preserve unknown renma.* and other-vendor metadata child keys.",
86
+ "Do not discard or automatically relocate unknown top-level fields.",
87
+ "Apply the entrypoint rename or move together with the frontmatter migration when required.",
88
+ "Do not apply a proposal with blocked migration evidence.",
89
+ "Keep selection boundaries in description and execution constraints in the body.",
90
+ "Run renma scan . after human review and application.",
91
+ ],
92
+ candidateMetadata: {},
93
+ blockedMetadata: agentSkills.blocked,
94
+ agentSkills,
95
+ };
96
+ }
41
97
  const existingId = optionalText(metadataValueText(document.metadata.id));
42
98
  const existingTitle = optionalText(metadataValueText(document.metadata.title));
43
99
  const existingOwner = optionalText(metadata.owner);
44
- const explicitOwner = optionalText(options.owner);
45
100
  const candidateMetadata = {};
46
101
  const candidateId = inferCandidateId(kind, outputPath);
47
102
  const candidateTitle = mainHeadingTitle(document.headings);
@@ -78,8 +133,10 @@ export async function buildMetadataSuggestion(target, options = {}) {
78
133
  };
79
134
  }
80
135
  export function renderMetadataPrompt(suggestion) {
136
+ if (suggestion.agentSkills)
137
+ return renderAgentSkillMigrationPrompt(suggestion);
81
138
  return `${[
82
- "# Codex Task: Safely Retrofit Renma Metadata",
139
+ "# Renma Task: Safely Retrofit Renma Metadata",
83
140
  "",
84
141
  "Update this existing Renma asset metadata safely.",
85
142
  "",
@@ -104,6 +161,116 @@ export function renderMetadataPrompt(suggestion) {
104
161
  "Return a small reviewed patch. Do not rewrite the asset body.",
105
162
  ].join("\n")}\n`;
106
163
  }
164
+ function renderAgentSkillMigrationPrompt(suggestion) {
165
+ const migration = suggestion.agentSkills;
166
+ if (!migration)
167
+ return "";
168
+ const metadataRetrofit = migration.proposalKind === "canonical-metadata-retrofit";
169
+ const noMigrationProposed = migration.proposalKind === "none" &&
170
+ migration.sourceFormat === "agent-skills";
171
+ const candidate = migration.canonicalFrontmatter
172
+ ? [
173
+ "Canonical Frontmatter Candidate:",
174
+ "",
175
+ "```yaml",
176
+ migration.canonicalFrontmatter,
177
+ "```",
178
+ ]
179
+ : [
180
+ "Canonical Frontmatter Candidate:",
181
+ "",
182
+ "(not generated while migration is blocked or unnecessary)",
183
+ ];
184
+ const promptState = suggestion.blockedMetadata.length > 0
185
+ ? "blocked"
186
+ : noMigrationProposed || !migration.canonicalFrontmatter
187
+ ? "no-proposal"
188
+ : "candidate";
189
+ const verification = renderSkillSuggestionVerification(promptState);
190
+ const nextSteps = renderSkillSuggestionNextSteps(promptState);
191
+ return `${[
192
+ noMigrationProposed
193
+ ? "# Renma Task: Inspect Canonical Agent Skill (No Migration Proposed)"
194
+ : metadataRetrofit
195
+ ? "# Renma Task: Review Canonical Agent Skills Metadata Retrofit"
196
+ : "# Renma Task: Review One-Way Agent Skills Migration",
197
+ "",
198
+ `Asset: \`${suggestion.path}\``,
199
+ `Source format: \`${migration.sourceFormat}\``,
200
+ `Direction: \`${migration.direction}\``,
201
+ `Proposal: \`${migration.proposalKind}\``,
202
+ `Source path: \`${migration.sourcePath}\``,
203
+ `Target path: \`${migration.targetPath}\``,
204
+ `Entrypoint migration: \`${migration.entrypointMigration}\``,
205
+ "",
206
+ "Rules:",
207
+ ...suggestion.instructions.map((instruction) => `- ${instruction}`),
208
+ "",
209
+ "Candidate Agent Skills Fields:",
210
+ ...metadataLines(migration.candidateAgentSkillsFields),
211
+ "",
212
+ "Candidate Renma Metadata:",
213
+ ...metadataLines(migration.candidateRenmaMetadata),
214
+ "",
215
+ ...candidate,
216
+ "",
217
+ "Blocked Migration Evidence:",
218
+ ...blockedMetadataLines(suggestion.blockedMetadata),
219
+ "",
220
+ "Human Review:",
221
+ migration.reviewPrompt,
222
+ "",
223
+ ...verification,
224
+ "",
225
+ ...nextSteps,
226
+ "",
227
+ migration.canonicalFrontmatter
228
+ ? migration.entrypointMigration === "none"
229
+ ? "Return a small reviewed frontmatter patch. Do not rewrite the Skill body."
230
+ : "Return one small reviewed patch containing both the entrypoint path migration and frontmatter migration. Do not rewrite the Skill body."
231
+ : migration.blocked.length > 0
232
+ ? "Do not return or apply a frontmatter patch while migration is blocked. Preserve the existing source until every blocked item is resolved with human review."
233
+ : "No frontmatter patch is proposed. Do not return or apply a frontmatter patch; preserve the existing source.",
234
+ ].join("\n")}\n`;
235
+ }
236
+ function renderSkillSuggestionVerification(state) {
237
+ if (state === "no-proposal") {
238
+ return [
239
+ "Verification:",
240
+ "- No verification change is required when no separate authoring change is made.",
241
+ "- Only if a separate, intentional authoring change is made: run `renma scan . --fail-on high`, fix relevant diagnostics, and rerun the scan.",
242
+ ];
243
+ }
244
+ return ["Verification:", "- Run `renma scan . --fail-on high`."];
245
+ }
246
+ function renderSkillSuggestionNextSteps(state) {
247
+ if (state === "blocked") {
248
+ return [
249
+ "Next steps:",
250
+ "1. Review the conflicts or invalid evidence and confirm the Skill's intent using your platform's standard Skill authoring guidance.",
251
+ "2. Do not apply a candidate while Renma cannot generate it safely.",
252
+ "3. Correct the source evidence, then rerun `renma suggest-metadata <SKILL.md>`.",
253
+ "4. After intended corrections, run `renma scan . --fail-on high`, fix relevant diagnostics, and rerun the scan.",
254
+ ];
255
+ }
256
+ if (state === "no-proposal") {
257
+ return [
258
+ "Next steps:",
259
+ "1. Review the Skill's trigger description, instructions, workflow, constraints, and completion criteria using your platform's standard Skill authoring guidance.",
260
+ "2. No metadata or migration change is proposed; preserve the existing source.",
261
+ "3. If a separate, intentionally reviewed authoring change is made, run `renma scan . --fail-on high`, fix relevant diagnostics, and rerun the scan.",
262
+ "4. If no separate change is made, stop without manufacturing work.",
263
+ ];
264
+ }
265
+ return [
266
+ "Next steps:",
267
+ "1. Review the suggestion; Renma does not edit the Skill automatically.",
268
+ "2. Review the Skill's trigger description, instructions, workflow, constraints, and completion criteria using your platform's standard Skill authoring guidance.",
269
+ "3. Apply only the intended metadata or migration changes.",
270
+ "4. Run `renma scan . --fail-on high`.",
271
+ "5. Fix relevant diagnostics and rerun the scan.",
272
+ ];
273
+ }
107
274
  function buildInstructions(input) {
108
275
  return [
109
276
  "Inspect the existing asset before editing.",
@@ -144,11 +311,11 @@ function blockedMetadataLines(blockedMetadata) {
144
311
  }
145
312
  return blockedMetadata.map((item) => `- ${item.field}: ${item.reason}`);
146
313
  }
147
- function classifyPath(filePath) {
314
+ function classifyPath(filePath, entrypoint) {
315
+ if (entrypoint)
316
+ return "skill";
148
317
  const parts = pathParts(filePath);
149
318
  const basename = parts.at(-1) ?? "";
150
- if (basename === "SKILL.md")
151
- return "skill";
152
319
  if (parts.includes("lenses"))
153
320
  return "context_lens";
154
321
  if (parts.includes("contexts") || parts.includes("context"))
@@ -166,6 +333,58 @@ function classifyPath(filePath) {
166
333
  }
167
334
  return "unknown";
168
335
  }
336
+ function classifySuggestionSkillEntrypointPath(filePath) {
337
+ return isAbsoluteLike(filePath)
338
+ ? classifyAbsoluteSkillEntrypointPath(filePath)
339
+ : classifyRepositorySkillEntrypointPath(filePath);
340
+ }
341
+ async function pathMigrationCollision(entrypoint, sourceAbsolutePath) {
342
+ if (entrypoint.kind === "canonical")
343
+ return undefined;
344
+ const targetAbsolutePath = path.resolve(entrypoint.targetPath);
345
+ try {
346
+ await lstat(targetAbsolutePath);
347
+ }
348
+ catch (error) {
349
+ if (isMissingFileError(error))
350
+ return undefined;
351
+ return {
352
+ field: "targetPath",
353
+ reason: `Could not safely inspect migration target ${entrypoint.targetPath}: ${readErrorReason(error)} Human review is required before migration.`,
354
+ };
355
+ }
356
+ try {
357
+ const [sourceInfo, targetInfo, sourceRealPath, targetRealPath] = await Promise.all([
358
+ stat(sourceAbsolutePath),
359
+ stat(targetAbsolutePath),
360
+ realpath(sourceAbsolutePath),
361
+ realpath(targetAbsolutePath),
362
+ ]);
363
+ if (sourceRealPath === targetRealPath ||
364
+ (sourceInfo.dev === targetInfo.dev && sourceInfo.ino === targetInfo.ino)) {
365
+ return undefined;
366
+ }
367
+ return {
368
+ field: "targetPath",
369
+ reason: `Target Agent Skills entrypoint already exists at ${entrypoint.targetPath}. Human review is required before migration.`,
370
+ };
371
+ }
372
+ catch (error) {
373
+ return {
374
+ field: "targetPath",
375
+ reason: `Could not safely verify migration target ${entrypoint.targetPath}: ${readErrorReason(error)} Human review is required before migration.`,
376
+ };
377
+ }
378
+ }
379
+ function isAbsoluteLike(filePath) {
380
+ return path.isAbsolute(filePath) || /^[A-Za-z]:\//.test(filePath);
381
+ }
382
+ function isMissingFileError(error) {
383
+ return (typeof error === "object" &&
384
+ error !== null &&
385
+ "code" in error &&
386
+ error.code === "ENOENT");
387
+ }
169
388
  function inferCandidateId(kind, filePath) {
170
389
  if (kind === "skill") {
171
390
  return inferRootedId("skill", filePath, "skills", (parts) => parts.filter((part) => part !== "SKILL"));
@@ -1 +1 @@
1
- {"version":3,"file":"suggest-metadata.js","sourceRoot":"","sources":["../../src/commands/suggest-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suggest-metadata.js","sourceRoot":"","sources":["../../src/commands/suggest-metadata.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export async function runSuggestSemanticSplitCommand(target, options = {}) {
8
8
  const format = options.format ?? "prompt";
9
9
  process.stdout.write(format === "json"
10
10
  ? `${JSON.stringify(semanticSplitReviewBundle, null, 2)}\n`
11
- : renderCodexPrompt(semanticSplitReviewBundle));
11
+ : renderReviewPrompt(semanticSplitReviewBundle));
12
12
  return 0;
13
13
  }
14
14
  async function buildSemanticSplitReviewBundle(target, options) {
@@ -48,7 +48,7 @@ async function buildSemanticSplitReviewBundle(target, options) {
48
48
  },
49
49
  };
50
50
  }
51
- function renderCodexPrompt(semanticSplitReviewBundle) {
51
+ function renderReviewPrompt(semanticSplitReviewBundle) {
52
52
  const { source } = semanticSplitReviewBundle;
53
53
  const { context } = semanticSplitReviewBundle;
54
54
  const siblingSummary = context.siblingFiles.length > 0
@@ -57,7 +57,7 @@ function renderCodexPrompt(semanticSplitReviewBundle) {
57
57
  .join("\n\n")
58
58
  : "(none found)";
59
59
  return `${[
60
- "# Codex Task: Suggest Semantic Reference Split",
60
+ "# Renma Task: Suggest Semantic Reference Split",
61
61
  "",
62
62
  "You are improving an AI-agent skill repository.",
63
63
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"suggest-semantic-split.js","sourceRoot":"","sources":["../../src/commands/suggest-semantic-split.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suggest-semantic-split.js","sourceRoot":"","sources":["../../src/commands/suggest-semantic-split.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Asset, Dependency } from "./model.js";
2
+ /** Normalize the supported repository-relative form used by dependency targets. */
3
+ export declare function normalizeDependencyReference(reference: string): string;
4
+ /** Resolve a declared dependency by asset ID or normalized repository-relative path. */
5
+ export declare function resolveDependencyTarget(dependency: Dependency, assets: Asset[]): Asset | undefined;
6
+ //# sourceMappingURL=dependency-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-resolution.d.ts","sourceRoot":"","sources":["../src/dependency-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpD,mFAAmF;AACnF,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wFAAwF;AACxF,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,KAAK,EAAE,GACd,KAAK,GAAG,SAAS,CAOnB"}
@@ -0,0 +1,11 @@
1
+ /** Normalize the supported repository-relative form used by dependency targets. */
2
+ export function normalizeDependencyReference(reference) {
3
+ return reference.replace(/\\/g, "/").replace(/^\.\//, "");
4
+ }
5
+ /** Resolve a declared dependency by asset ID or normalized repository-relative path. */
6
+ export function resolveDependencyTarget(dependency, assets) {
7
+ const target = normalizeDependencyReference(dependency.to);
8
+ return assets.find((asset) => asset.id === dependency.to ||
9
+ normalizeDependencyReference(asset.sourcePath) === target);
10
+ }
11
+ //# sourceMappingURL=dependency-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-resolution.js","sourceRoot":"","sources":["../src/dependency-resolution.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,MAAM,UAAU,4BAA4B,CAAC,SAAiB;IAC5D,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,uBAAuB,CACrC,UAAsB,EACtB,MAAe;IAEf,MAAM,MAAM,GAAG,4BAA4B,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,IAAI,CAChB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE;QAC1B,4BAA4B,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,MAAM,CAC5D,CAAC;AACJ,CAAC"}