xdrs-core 0.28.4 → 0.30.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.
- package/.filedist-package.yml +2 -2
- package/.xdrs/_core/adrs/index.md +8 -8
- package/.xdrs/_core/adrs/principles/003-skill-standards.md +3 -3
- package/.xdrs/_core/adrs/principles/skills/001-review/SKILL.md +4 -3
- package/.xdrs/_core/adrs/principles/skills/002-write-policy/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/003-write-skill/SKILL.md +6 -6
- package/.xdrs/_core/adrs/principles/skills/004-write-article/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/005-write-research/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/006-write-plan/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/007-write-presentation/SKILL.md +1 -1
- package/.xdrs/_core/adrs/principles/skills/008-write-xdrs-doc/SKILL.md +1 -1
- package/.xdrs/_core/index.md +7 -7
- package/lib/lint.js +1 -2
- package/lib/lint.test.js +4 -4
- package/package.json +2 -2
package/.filedist-package.yml
CHANGED
|
@@ -11,9 +11,9 @@ sets:
|
|
|
11
11
|
path: .
|
|
12
12
|
symlinks:
|
|
13
13
|
- source: .xdrs/**/skills/001-review
|
|
14
|
-
target: .
|
|
14
|
+
target: .agents/skills
|
|
15
15
|
- source: .xdrs/**/skills/008-write-xdrs-doc
|
|
16
|
-
target: .
|
|
16
|
+
target: .agents/skills
|
|
17
17
|
gitignore: false
|
|
18
18
|
|
|
19
19
|
- selector:
|
|
@@ -20,14 +20,14 @@ Foundational standards, principles, and guidelines.
|
|
|
20
20
|
|
|
21
21
|
Step-by-step procedural guides for humans and AI agents.
|
|
22
22
|
|
|
23
|
-
- [
|
|
24
|
-
- [
|
|
25
|
-
- [
|
|
26
|
-
- [
|
|
27
|
-
- [
|
|
28
|
-
- [
|
|
29
|
-
- [
|
|
30
|
-
- [
|
|
23
|
+
- [001-review](principles/skills/001-review/SKILL.md) - **Review** — review code and files against Policies
|
|
24
|
+
- [002-write-policy](principles/skills/002-write-policy/SKILL.md) - **Write Policy** — create a new Policy document
|
|
25
|
+
- [003-write-skill](principles/skills/003-write-skill/SKILL.md) - **Write Skill** — create a new skill package
|
|
26
|
+
- [004-write-article](principles/skills/004-write-article/SKILL.md) - **Write Article** — create a new article document
|
|
27
|
+
- [005-write-research](principles/skills/005-write-research/SKILL.md) - **Write Research** — create a new research document
|
|
28
|
+
- [006-write-plan](principles/skills/006-write-plan/SKILL.md) - **Write Plan** — create a new plan document
|
|
29
|
+
- [007-write-presentation](principles/skills/007-write-presentation/SKILL.md) - **Write Presentation** — create Marp slide presentations for XDRS documents
|
|
30
|
+
- [008-write-xdrs-doc](principles/skills/008-write-xdrs-doc/SKILL.md) - **Write XDRS Doc** — router skill; infers document type and delegates to the appropriate authoring skill
|
|
31
31
|
|
|
32
32
|
## Articles
|
|
33
33
|
|
|
@@ -83,7 +83,7 @@ Examples:
|
|
|
83
83
|
|
|
84
84
|
```
|
|
85
85
|
---
|
|
86
|
-
name: [
|
|
86
|
+
name: [number]-[skill-name] # required: matches the folder name exactly; max 64 chars
|
|
87
87
|
description: > # required: what the skill does AND when to activate it; max 1024 chars
|
|
88
88
|
Concise explanation of the skill and the situations in which an agent should load it.
|
|
89
89
|
license: <license> # optional
|
|
@@ -112,8 +112,8 @@ Known gotchas and how to handle them.
|
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
Rules:
|
|
115
|
-
- The `name` field MUST
|
|
116
|
-
- The directory name MUST follow the format `[number]-[skill-name]` (e.g., `001-code-review`),
|
|
115
|
+
- The `name` field MUST match the folder name exactly (e.g., `001-code-review`). This keeps skill identifiers simple and aligned with the filesystem hierarchy.
|
|
116
|
+
- The directory name MUST follow the format `[number]-[skill-name]` (e.g., `001-code-review`), matching the `name:` field.
|
|
117
117
|
- `## Overview` SHOULD state the task objective, expected outcome, and relevant prerequisites or tools when they matter.
|
|
118
118
|
- `## Instructions` SHOULD include verification steps or acceptance criteria at the end of the task, or at the end of major phases when partial validation matters.
|
|
119
119
|
- For simple structure, flow, layout, or relationship indications, `SKILL.md` SHOULD prefer plain Markdown, tables, or ASCII art instead of external assets.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 001-review
|
|
3
3
|
description: >
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Reviews code changes, xdrs docs or any other files against applicable Policies and reports violations as structured findings.
|
|
5
|
+
Activate this skill when the user asks to review, lint, audit, check, verify, validate, or assess any files or Policies, or when checking whether a document or implementation is consistent with, compliant with, or conforms to a standard or Policy.
|
|
6
|
+
Also activate when you identify a need to check compliance with Policies during implementation.
|
|
6
7
|
metadata:
|
|
7
8
|
author: flaviostutz
|
|
8
9
|
version: "1.0"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 002-write-policy
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new Policy interactively: selects type, scope, subject, and writes a focused, conflict-checked policy document.
|
|
5
5
|
Activate this skill when the user asks to create, add, or write a new Policy (ADR, BDR, or EDR).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 003-write-skill
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new skill package following XDRS skill standards: determines type, scope, subject, and number;
|
|
5
5
|
then writes a focused SKILL.md with correct frontmatter, phased instructions, examples, and edge cases.
|
|
@@ -45,7 +45,7 @@ Quick test:
|
|
|
45
45
|
|
|
46
46
|
**Skill number** — scan `.xdrs/[scope]/[type]/[subject]/skills/` for the highest existing number and increment by 1. Never reuse numbers from deleted skills.
|
|
47
47
|
|
|
48
|
-
**Skill name** — `[
|
|
48
|
+
**Skill name** — `[number]-[short-kebab-case-description]`, max 64 characters total. The directory name matches the `name` field exactly.
|
|
49
49
|
|
|
50
50
|
### Phase 3: Research Existing Skills and Related Policies
|
|
51
51
|
|
|
@@ -60,7 +60,7 @@ Use the mandatory agentskills format:
|
|
|
60
60
|
|
|
61
61
|
```
|
|
62
62
|
---
|
|
63
|
-
name: [
|
|
63
|
+
name: [number]-[skill-name]
|
|
64
64
|
description: >
|
|
65
65
|
[What the skill does AND exactly when an agent should activate it. Max 1024 chars.]
|
|
66
66
|
metadata:
|
|
@@ -118,10 +118,10 @@ If any check fails, revise before continuing.
|
|
|
118
118
|
### Phase 6: Write Files
|
|
119
119
|
|
|
120
120
|
1. Create the skill file at `.xdrs/[scope]/[type]/[subject]/skills/[number]-[skill-name]/SKILL.md`.
|
|
121
|
-
2. Create a symlink at `.
|
|
121
|
+
2. Create a symlink at `.agents/skills/[number]-[skill-name]` so VS Code picks it up immediately:
|
|
122
122
|
```
|
|
123
|
-
mkdir -p .
|
|
124
|
-
ln -s ../../.xdrs/[scope]/[type]/[subject]/skills/[number]-[skill-name] .
|
|
123
|
+
mkdir -p .agents/skills
|
|
124
|
+
ln -s ../../.xdrs/[scope]/[type]/[subject]/skills/[number]-[skill-name] .agents/skills/[number]-[skill-name]
|
|
125
125
|
```
|
|
126
126
|
3. Evaluate whether the scope index at `.xdrs/[scope]/index.md` should be updated to reflect the new skill. If the scope index does not exist, create it following article standards and the scope index rules in `_core-adr-policy-001`.
|
|
127
127
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 004-write-article
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new article document following XDRS article standards: selects scope, type, subject, and number; then writes a focused synthetic text that combines and links multiple Policies, Research documents, and Skills around a topic. Activate this skill when the user asks to create, add, or write a new article, guide, or overview document within an XDRS project.
|
|
5
5
|
metadata:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 005-write-research
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new research document following XDRS research standards: selects scope, type, subject, and number;
|
|
5
5
|
then writes an IMRAD-based study with enough evidence and method detail to stand on its own as a technical paper.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 006-write-plan
|
|
3
3
|
description: >
|
|
4
4
|
Creates a new plan document following XDRS plan standards: selects scope, type, subject, and number;
|
|
5
5
|
then writes a focused execution plan with problem context, proposed solution, approach, milestones, and deliverables.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 007-write-presentation
|
|
3
3
|
description: >
|
|
4
4
|
Creates a Marp slide presentation for an existing XDRS document (policy, research, article, or plan).
|
|
5
5
|
Activate this skill when the user asks to create slides, a presentation, or a slide deck for an XDRS document.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: 008-write-xdrs-doc
|
|
3
3
|
description: >
|
|
4
4
|
Use when writing documents such as decisions, policies, skills, procedures, research, plans, articles, or presentations.
|
|
5
5
|
Activate this skill when the user asks to create or write any XDRS element.
|
package/.xdrs/_core/index.md
CHANGED
|
@@ -39,13 +39,13 @@ Slide presentations that support XDRS documents follow [_core-adr-policy-009](ad
|
|
|
39
39
|
|
|
40
40
|
The `_core` scope ships with seven skills that automate the most common framework operations:
|
|
41
41
|
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
47
|
-
- **
|
|
48
|
-
- **
|
|
42
|
+
- **001-review** reviews code and files against applicable Policies
|
|
43
|
+
- **002-write-policy** guides creation of a new Policy document
|
|
44
|
+
- **003-write-skill** guides creation of a new skill package
|
|
45
|
+
- **004-write-article** guides creation of a new article
|
|
46
|
+
- **005-write-research** guides creation of a new research document
|
|
47
|
+
- **006-write-plan** guides creation of a new execution plan
|
|
48
|
+
- **007-write-presentation** guides creation of Marp slide presentations
|
|
49
49
|
|
|
50
50
|
### Getting started
|
|
51
51
|
|
package/lib/lint.js
CHANGED
|
@@ -474,8 +474,7 @@ function lintSkillsDirectory(xdrsRoot, scopeName, typeName, subjectName, skillsP
|
|
|
474
474
|
if (!skillFm.name) {
|
|
475
475
|
errors.push(`SKILL.md frontmatter must include a non-empty name field: ${toDisplayPath(skillFilePath)}`);
|
|
476
476
|
} else {
|
|
477
|
-
const
|
|
478
|
-
const expectedSkillName = `${scopeName}-${typeId}-skill-${number}-${match[2]}`;
|
|
477
|
+
const expectedSkillName = `${number}-${match[2]}`;
|
|
479
478
|
if (skillFm.name !== expectedSkillName) {
|
|
480
479
|
errors.push(`Skill frontmatter name must be "${expectedSkillName}": ${toDisplayPath(skillFilePath)}`);
|
|
481
480
|
}
|
package/lib/lint.test.js
CHANGED
|
@@ -304,7 +304,7 @@ test('reports unknown frontmatter fields in SKILL.md files', () => {
|
|
|
304
304
|
]),
|
|
305
305
|
'.xdrs/_local/adrs/principles/skills/001-check-links/SKILL.md': [
|
|
306
306
|
'---',
|
|
307
|
-
'name:
|
|
307
|
+
'name: 001-check-links',
|
|
308
308
|
'description: Test skill document',
|
|
309
309
|
'unknown-field: some value',
|
|
310
310
|
'---',
|
|
@@ -333,7 +333,7 @@ test('accepts all known frontmatter fields in SKILL.md files', () => {
|
|
|
333
333
|
]),
|
|
334
334
|
'.xdrs/_local/adrs/principles/skills/001-check-links/SKILL.md': [
|
|
335
335
|
'---',
|
|
336
|
-
'name:
|
|
336
|
+
'name: 001-check-links',
|
|
337
337
|
'description: Test skill document',
|
|
338
338
|
'license: MIT',
|
|
339
339
|
'metadata:',
|
|
@@ -491,7 +491,7 @@ test('allows child directory relative non-asset links in XDRS element documents'
|
|
|
491
491
|
});
|
|
492
492
|
const skillDir = path.join(workspaceRoot, '.xdrs/_local/adrs/principles/skills/001-review');
|
|
493
493
|
fs.mkdirSync(skillDir, { recursive: true });
|
|
494
|
-
fs.writeFileSync(path.join(skillDir, 'SKILL.md'), '---\nname:
|
|
494
|
+
fs.writeFileSync(path.join(skillDir, 'SKILL.md'), '---\nname: 001-review\ndescription: test skill\n---\n# Skill');
|
|
495
495
|
|
|
496
496
|
const result = lintWorkspace(workspaceRoot);
|
|
497
497
|
|
|
@@ -857,7 +857,7 @@ function xdrDocument(body) {
|
|
|
857
857
|
function skillDocument(body) {
|
|
858
858
|
return [
|
|
859
859
|
'---',
|
|
860
|
-
'name:
|
|
860
|
+
'name: 001-check-links',
|
|
861
861
|
'description: Test skill document',
|
|
862
862
|
'---',
|
|
863
863
|
'',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xdrs-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "A framework to structure, compile and distribute Architectural (ADR), Business (BDR), and Engineering (EDR) decision records contents so that AI agents and humans can reliably find and use them with hierarchical scopes and controlled rollout in the format of distributable versioned packages.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"jest": "^29.7.0"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"filedist": "^0.35.
|
|
33
|
+
"filedist": "^0.35.2",
|
|
34
34
|
"ignore": "^7.0.5",
|
|
35
35
|
"minimatch": "^10.2.5"
|
|
36
36
|
},
|