@alexandrealvaro/agentic 0.15.1-beta.1 → 0.15.2-beta.1
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/src/lib/rootdoc.js +9 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alexandrealvaro/agentic",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.2-beta.1",
|
|
4
4
|
"description": "Bootstrap and audit AGENTS.md, ARCHITECTURE.md, ADRs, skills, and subagents for engineering production code with LLMs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/lib/rootdoc.js
CHANGED
|
@@ -26,7 +26,8 @@ const SKILL_PATH_BY_AGENT = {
|
|
|
26
26
|
* Per task-0029, every kit skill carries a kit-specific `summary:` field
|
|
27
27
|
* alongside the Anthropic-spec `description:` field. `description:` is
|
|
28
28
|
* trigger-keyword-rich for the agent's skill router; `summary:` is the
|
|
29
|
-
*
|
|
29
|
+
* compressed cell (≤320 chars, enforced by `test/skills.test.js`) that
|
|
30
|
+
* lands in the managed AGENTS.md table.
|
|
30
31
|
*
|
|
31
32
|
* Tries each known target-tree location in order. Throws if no installed
|
|
32
33
|
* copy has the field — a missing summary surfaces an incomplete install
|
|
@@ -39,12 +40,17 @@ function readSkillSummary(cwd, skill) {
|
|
|
39
40
|
if (!existsSync(path)) continue;
|
|
40
41
|
found = true;
|
|
41
42
|
const body = readFileSync(path, 'utf8');
|
|
42
|
-
|
|
43
|
+
// Horizontal whitespace only between `summary:` and the value. JavaScript
|
|
44
|
+
// `\s` matches `\n`, so `\s*` would silently consume the line break and
|
|
45
|
+
// capture the following frontmatter line as the summary when the field
|
|
46
|
+
// is present but empty. Restricting to `[ \t]*` keeps the match on one
|
|
47
|
+
// line and lets an empty-summary line fall through to the throw below.
|
|
48
|
+
const match = body.match(/^summary:[ \t]*(.+)$/m);
|
|
43
49
|
if (match) return match[1].trim();
|
|
44
50
|
}
|
|
45
51
|
if (found) {
|
|
46
52
|
throw new Error(
|
|
47
|
-
`skill ${skill} is installed but no SKILL.md carries
|
|
53
|
+
`skill ${skill} is installed but no SKILL.md carries a non-empty \`summary:\` frontmatter field`
|
|
48
54
|
);
|
|
49
55
|
}
|
|
50
56
|
throw new Error(
|