xdrs-core 0.52.2 → 0.53.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/.xdrs/_core/adrs/principles/001-xdrs-standards.md +3 -3
- package/.xdrs/_core/adrs/principles/002-policy-standards.md +1 -1
- package/.xdrs/_core/adrs/principles/003-skill-standards.md +12 -1
- package/.xdrs/_core/adrs/principles/006-research-standards.md +6 -6
- package/.xdrs/_core/adrs/principles/007-initiative-standards.md +9 -9
- package/.xdrs/_core/adrs/principles/008-policy-structured-standards.md +1 -1
- package/.xdrs/_core/adrs/principles/010-scope-governance.md +5 -5
- package/.xdrs/_core/adrs/principles/011-core-scope-type.md +1 -1
- package/.xdrs/_core/adrs/principles/022-scope-activation.md +12 -9
- package/.xdrs/_core/adrs/principles/skills/.assets/lint-verification.md +0 -1
- package/.xdrs/_core/adrs/principles/skills/compile-scope/SKILL.md +10 -8
- package/.xdrs/_core/adrs/principles/skills/review/SKILL.md +10 -8
- package/.xdrs/_core/adrs/principles/skills/write-article/SKILL.md +12 -10
- package/.xdrs/_core/adrs/principles/skills/write-initiative/SKILL.md +16 -14
- package/.xdrs/_core/adrs/principles/skills/write-policy/SKILL.md +12 -11
- package/.xdrs/_core/adrs/principles/skills/write-presentation/SKILL.md +5 -3
- package/.xdrs/_core/adrs/principles/skills/write-research/SKILL.md +17 -15
- package/.xdrs/_core/adrs/principles/skills/write-skill/SKILL.md +20 -12
- package/.xdrs/_core/adrs/principles/skills/write-xdrs-doc/SKILL.md +4 -2
- package/README.md +155 -59
- package/lib/lint.js +37 -73
- package/lib/lint.test.js +89 -47
- package/package.json +1 -1
|
@@ -50,7 +50,7 @@ ADR and EDR share the same six technical subject names (see [`_core-adr-policy-0
|
|
|
50
50
|
`[xdrs-root]/[scope]/[type]/[subject]/[number]-[short-title].md`
|
|
51
51
|
where `[xdrs-root]` is the XDRS root folder (default: `.xdrs/`).
|
|
52
52
|
- MUST ignore symlinks paths. MUST NOT create or update documents inside symlinked folders.
|
|
53
|
-
- **Files listed in `.filedist.lock` are external XDRs.** A file whose path appears in the workspace root `.filedist.lock` file was distributed from an external source repository. It MUST NOT be modified locally. To change it, submit the change to the source repository and re-extract the updated package. The `.filedist.lock` format is one entry per line: `<relative-path>|<package>|<version>`. A scope is considered external when any of its files appear in `.filedist.lock
|
|
53
|
+
- **Files listed in `.filedist.lock` are external XDRs.** A file whose path appears in the workspace root `.filedist.lock` file was distributed from an external source repository. It MUST NOT be modified locally. To change it, submit the change to the source repository and re-extract the updated package. The `.filedist.lock` format is one entry per line: `<relative-path>|<package>|<version>`. A scope is considered external when any of its files appear in `.filedist.lock`. The `.filedist.lock` file can also be used to detect which files changed when bumping an external scope to a newer version: compare the version field in `.filedist.lock` entries before and after the upgrade and diff the affected paths to understand what decisions were added, updated, or removed.
|
|
54
54
|
- Optional supporting artifacts under the same subject:
|
|
55
55
|
- `[xdrs-root]/[scope]/[type]/[subject]/researches/[number]-[short-title].md`
|
|
56
56
|
- `[xdrs-root]/[scope]/[type]/[subject]/skills/[skill-name]/SKILL.md`
|
|
@@ -91,8 +91,8 @@ ADR and EDR share the same six technical subject names (see [`_core-adr-policy-0
|
|
|
91
91
|
- `apply-to` (required): Declares in which contexts — teams, systems, codebases, or environments — the decisions in this scope are relevant. Max 30 words.
|
|
92
92
|
- `valid-from` (required): ISO date (YYYY-MM-DD) from which this scope became active.
|
|
93
93
|
- `metadata` (optional): Arbitrary key-value map for additional scope metadata.
|
|
94
|
-
- `follows` (optional): Core scope names whose Policies apply as mandatory governance conventions to this scope, beyond `_core`. Last-listed takes precedence on conflicts (e.g., `follows: myarea-core, shared-standards`).
|
|
95
|
-
- `extends` (optional): Scope names whose **policy documents** (decision records only — not skills, articles, research, or initiatives) are inherited by this scope as if they were authored here. Any scope type except `_local` and `_core` may be referenced. Last-listed extended scope takes precedence on conflicts; the extending scope's own policies always take highest precedence. Depth-first transitive resolution applies: if A extends [B, C] and B extends [D], the effective precedence order is D < B < C < A. `extends:` and `follows:` MUST reference disjoint scope sets.
|
|
94
|
+
- `follows` (optional): Core scope names whose Policies apply as mandatory governance conventions to this scope, beyond `_core`. Last-listed takes precedence on conflicts (e.g., `follows: myarea-core, shared-standards`). A missing scope MUST be fixed in local scopes and makes external scopes READ-ONLY (see `_core-adr-policy-022.06-read-only-dependencies`).
|
|
95
|
+
- `extends` (optional): Scope names whose **policy documents** (decision records only — not skills, articles, research, or initiatives) are inherited by this scope as if they were authored here. Any scope type except `_local` and `_core` may be referenced. Last-listed extended scope takes precedence on conflicts; the extending scope's own policies always take highest precedence. Depth-first transitive resolution applies: if A extends [B, C] and B extends [D], the effective precedence order is D < B < C < A. `extends:` and `follows:` MUST reference disjoint scope sets. A missing scope MUST be fixed in local scopes and makes external scopes READ-ONLY (see `_core-adr-policy-022.06-read-only-dependencies`). When an extending scope's policy overrides an inherited policy on the same topic, a `## Conflicts` section MUST document the override. Extended scopes are still linked in the root index; tag them `extends-only` to apply them only via `extends:` (see `_core-adr-policy-022.01-root-index-completeness`). `extends:` takes precedence over root index ordering for conflict resolution between the scopes involved; root index ordering is the fallback for all other scope pairs. See `_core-adr-policy-010` Section D (rules 27–35) and Section E (rule 36) for full normative rules.
|
|
96
96
|
- `extends-only` (optional): See `_core-adr-policy-022.07-extends-only-field`.
|
|
97
97
|
- `license` (optional): SPDX identifier for the scope's content license.
|
|
98
98
|
- **Subjects:** The subject folder MUST be chosen per [`_core-adr-policy-016`](016-policy-subjects.md), which defines allowed subjects, full descriptions, examples, and disambiguation tiebreakers.
|
|
@@ -111,7 +111,7 @@ All Policies MUST follow this template
|
|
|
111
111
|
---
|
|
112
112
|
name: [scope]-[type]-policy-[number]-[short-title]
|
|
113
113
|
description: [What this decision is about and when to use it]
|
|
114
|
-
apply-to: [Required. Contexts this decision applies to,
|
|
114
|
+
apply-to: [Required. Contexts this decision applies to, <40 words. Use "All scopes" when broadly applicable.]
|
|
115
115
|
valid-from: [Required. ISO date YYYY-MM-DD from when enforcement begins. Defaults to creation date.]
|
|
116
116
|
license: [Optional. SPDX license expression]
|
|
117
117
|
metadata:
|
|
@@ -121,7 +121,7 @@ Brief description of the skill goal.
|
|
|
121
121
|
### Outputs
|
|
122
122
|
|
|
123
123
|
#### Contents
|
|
124
|
-
- Generated files or chat-delivered results, one bullet per item, or "None".
|
|
124
|
+
- Generated files or chat-delivered results, one bullet per item, or "None" (e.g., `Release notes (<300 words)`).
|
|
125
125
|
|
|
126
126
|
#### Changes
|
|
127
127
|
- External system mutations that are part of the skill's main objective, one bullet per item, or "None".
|
|
@@ -202,6 +202,17 @@ Generative skills — those producing a deliverable document (Policy, Skill, Art
|
|
|
202
202
|
|
|
203
203
|
Skills MUST halt on missing required input, dubious/ambiguous input, or insufficient agent confidence, unless the user explicitly instructs the agent to proceed anyway. This override applies generally; a skill's own `## Halt Conditions` list does not need to restate it.
|
|
204
204
|
|
|
205
|
+
**Generated content caps**
|
|
206
|
+
|
|
207
|
+
Every natural-language content a skill generates MUST declare a hard word cap written exactly as `<N words`, whether a human or an agent executes the skill. This covers files, templates, reports, intermediate chat messages, HITL questions, final summaries, and text posted to external systems (e.g., PR comments, commit messages).
|
|
208
|
+
- Exempt, with no marker: code (including its comments), structured data (JSON, YAML, tracking files), verbatim copies, and frontmatter fields already limited in characters by a spec or Policy.
|
|
209
|
+
- Caps MUST be in words; other limits MAY coexist but never replace them.
|
|
210
|
+
- Declare each cap once: in the template placeholder (including templates in `references/` or `.assets/`), else in the Instructions step producing the content, else in its `#### Contents` bullet.
|
|
211
|
+
- A blanket statement MAY cover a content class (e.g., all intermediate messages); a more specific cap overrides it.
|
|
212
|
+
- Write the number inline; a Policy reference is optional.
|
|
213
|
+
- Content whose size cannot be bounded MUST be marked `(uncapped: <reason>)`, the reason explaining why.
|
|
214
|
+
- Caps are hard: condense, or split into another item only where the skill allows it; never split one logical item across messages. An explicit user request lifts the cap for that item only.
|
|
215
|
+
|
|
205
216
|
**Validation**
|
|
206
217
|
|
|
207
218
|
Use the [skills-ref](https://github.com/agentskills/agentskills/tree/main/skills-ref) CLI to validate before committing:
|
|
@@ -86,32 +86,32 @@ All research documents MUST follow this template:
|
|
|
86
86
|
|
|
87
87
|
## Abstract
|
|
88
88
|
|
|
89
|
-
[Single paragraph summarizing the goal, methods, results, and conclusion. Goal: let a quick technical reader understand the question, method, main result, and takeaway.
|
|
89
|
+
[Single paragraph summarizing the goal, methods, results, and conclusion. Goal: let a quick technical reader understand the question, method, main result, and takeaway. <200 words.]
|
|
90
90
|
|
|
91
91
|
## Introduction
|
|
92
92
|
|
|
93
93
|
[Describe the problem, context, constraints, known facts, experiences, gaps, assumptions, and objectives.
|
|
94
|
-
Prefer markdown structures (bullets, tables, headings) first; for diagrams see _core-adr-policy-020. Goal: explain the investigated problem, operating context, constraints, and why the subject matters.
|
|
94
|
+
Prefer markdown structures (bullets, tables, headings) first; for diagrams see _core-adr-policy-020. Goal: explain the investigated problem, operating context, constraints, and why the subject matters. <700 words.]
|
|
95
95
|
|
|
96
96
|
Question: [Central question of the research]?
|
|
97
97
|
|
|
98
98
|
## Methods
|
|
99
99
|
|
|
100
100
|
[Explain how the study was conducted, including design, tools, data sources, and test conditions.
|
|
101
|
-
Include enough detail for an experienced professional to reproduce the relevant parts. Goal: make the important parts of the study reproducible.
|
|
101
|
+
Include enough detail for an experienced professional to reproduce the relevant parts. Goal: make the important parts of the study reproducible. <1200 words.]
|
|
102
102
|
|
|
103
103
|
## Results
|
|
104
104
|
|
|
105
105
|
[Report findings, data, trends, quantitative results, code artifacts, and option comparisons.
|
|
106
|
-
Prefer tables and bullet lists for simple comparisons; for diagrams see _core-adr-policy-020. If multiple options solve the same problem, add comparison tables and explicit pros and cons for each option. Focus on raw findings, not interpretation. Goal: present the raw findings with minimal interpretation.
|
|
106
|
+
Prefer tables and bullet lists for simple comparisons; for diagrams see _core-adr-policy-020. If multiple options solve the same problem, add comparison tables and explicit pros and cons for each option. Focus on raw findings, not interpretation. Goal: present the raw findings with minimal interpretation. <1800 words.]
|
|
107
107
|
|
|
108
108
|
## Discussion
|
|
109
109
|
|
|
110
|
-
[Interpret the results, explain significance, trade-offs, performance considerations, limitations, and implications. Goal: interpret the findings for technical readers. Keep this section technically engaged
|
|
110
|
+
[Interpret the results, explain significance, trade-offs, performance considerations, limitations, and implications. Goal: interpret the findings for technical readers. Keep this section technically engaged. <1000 words.]
|
|
111
111
|
|
|
112
112
|
## Conclusion
|
|
113
113
|
|
|
114
|
-
[Summarize the main findings, practical takeaway, applicability boundaries, and important open questions. Goal: summarize the main findings and what they mean in practice.
|
|
114
|
+
[Summarize the main findings, practical takeaway, applicability boundaries, and important open questions. Goal: summarize the main findings and what they mean in practice. <400 words.]
|
|
115
115
|
|
|
116
116
|
## References
|
|
117
117
|
|
|
@@ -66,39 +66,39 @@ All initiatives MUST follow this template:
|
|
|
66
66
|
|
|
67
67
|
## Executive Summary
|
|
68
68
|
|
|
69
|
-
[Required. A summary of all sections below using bullet points, focused on the most important items.
|
|
69
|
+
[Required. A summary of all sections below using bullet points, focused on the most important items. <500 words.]
|
|
70
70
|
|
|
71
71
|
## Context and Problem Statement
|
|
72
72
|
|
|
73
|
-
[Required. Describe clearly why we are executing this initiative. What is the impact? Who is impacted? Why is this important?
|
|
73
|
+
[Required. Describe clearly why we are executing this initiative. What is the impact? Who is impacted? Why is this important? <200 words.
|
|
74
74
|
E.g.: Our checkout abandon rate is 50%, and it's increasing over time.]
|
|
75
75
|
|
|
76
76
|
## Proposed Solution
|
|
77
77
|
|
|
78
|
-
[Required. What we expect to achieve to solve the problem described above.
|
|
78
|
+
[Required. What we expect to achieve to solve the problem described above. <200 words.
|
|
79
79
|
E.g.: Reduce payment time in our App by 30% and fix the 3 most impactful bugs.]
|
|
80
80
|
|
|
81
81
|
Expected end date: YYYY-MM-DD
|
|
82
82
|
|
|
83
83
|
## Acceptance Criteria
|
|
84
84
|
|
|
85
|
-
[Optional. Used to make it clear what the expected result is and to create a way to verify when the goal is achieved. May include a short checklist.
|
|
85
|
+
[Optional. Used to make it clear what the expected result is and to create a way to verify when the goal is achieved. May include a short checklist. <100 words.]
|
|
86
86
|
|
|
87
87
|
## Approach
|
|
88
88
|
|
|
89
|
-
[Optional. High level description about how to achieve the result and the strategy used, including how to engage people, projects, organize the work, how to learn unknowns, deal with risks, and distribute workload. May include a WBS with the hierarchy of the work.
|
|
89
|
+
[Optional. High level description about how to achieve the result and the strategy used, including how to engage people, projects, organize the work, how to learn unknowns, deal with risks, and distribute workload. May include a WBS with the hierarchy of the work. <300 words.]
|
|
90
90
|
|
|
91
91
|
## Key Deliverables
|
|
92
92
|
|
|
93
|
-
[Optional. List of the main features, goods, artifacts, data, articles, skills, decisions, training, programs, events etc that will be important to achieve the expected result.
|
|
93
|
+
[Optional. List of the main features, goods, artifacts, data, articles, skills, decisions, training, programs, events etc that will be important to achieve the expected result. <300 words.]
|
|
94
94
|
|
|
95
95
|
## Key Resources
|
|
96
96
|
|
|
97
|
-
[Optional. List of equipment, people, other project results, budget, areas or dependencies that need to be engaged or allocated for this initiative to be implemented.
|
|
97
|
+
[Optional. List of equipment, people, other project results, budget, areas or dependencies that need to be engaged or allocated for this initiative to be implemented. <100 words.]
|
|
98
98
|
|
|
99
99
|
## Milestones
|
|
100
100
|
|
|
101
|
-
[Optional. List of goals to be followed along with an optional acceptance criteria, owner and due date. Each milestone may have a checklist used as acceptance criteria verification. Key tasks and risks can be listed as part of a milestone.
|
|
101
|
+
[Optional. List of goals to be followed along with an optional acceptance criteria, owner and due date. Each milestone may have a checklist used as acceptance criteria verification. Key tasks and risks can be listed as part of a milestone. <1000 words per milestone.]
|
|
102
102
|
|
|
103
103
|
### Milestone 1: [Title]
|
|
104
104
|
Owner: [name or team]
|
|
@@ -118,7 +118,7 @@ Due date: YYYY-MM-DD
|
|
|
118
118
|
|
|
119
119
|
## Risks Identified
|
|
120
120
|
|
|
121
|
-
[Optional. List of risks along with a short description and mitigation strategy.
|
|
121
|
+
[Optional. List of risks along with a short description and mitigation strategy. <1000 words.]
|
|
122
122
|
|
|
123
123
|
## References
|
|
124
124
|
|
|
@@ -53,7 +53,7 @@ Each rule MUST be written as a level-4 heading with a two-digit zero-padded sequ
|
|
|
53
53
|
|
|
54
54
|
```markdown
|
|
55
55
|
#### [NN]-[short-rule-title-in-kebab-case]
|
|
56
|
-
[Rule body using normative language per _core-adr-policy-001.
|
|
56
|
+
[Rule body using normative language per _core-adr-policy-001. <500 words.]
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
#### 09-citations-must-use-dot-notation
|
|
@@ -81,9 +81,9 @@ A scope-type definition policy MAY declare a parent scope type by including a ru
|
|
|
81
81
|
|
|
82
82
|
#### 10-def-valid-iff-policy-exists
|
|
83
83
|
|
|
84
|
-
A `scope-type` value in a scope `index.md` is valid if and only if a policy file whose name ends with `{scope-type}-scope-type` exists in the `principles` subject of any `core`-type scope in the workspace.
|
|
84
|
+
A `scope-type` value in a scope `index.md` is valid if and only if a policy file whose name ends with `{scope-type}-scope-type` exists in the `principles` subject of any `core`-type scope in the workspace. When `scope-type` is an array, this applies to every element.
|
|
85
85
|
|
|
86
|
-
When a scope declares a `scope-type` but any corresponding `{scope-type}-scope-type.md` policy is absent from the workspace or defined only in a `disabled` scope, the scope MUST be treated as READ-ONLY (see `_core-adr-policy-022.06-read-only-dependencies`). Missing types
|
|
86
|
+
When a scope declares a `scope-type` but any corresponding `{scope-type}-scope-type.md` policy is absent from the workspace or defined only in a `disabled` scope, the scope MUST be treated as READ-ONLY (see `_core-adr-policy-022.06-read-only-dependencies`). Missing or disabled-only types MUST be fixed in local scopes.
|
|
87
87
|
|
|
88
88
|
#### 11-def-scope-type-must-be-structured
|
|
89
89
|
|
|
@@ -103,7 +103,7 @@ The word `core` as a hyphen-delimited segment in a policy filename title is rese
|
|
|
103
103
|
|
|
104
104
|
#### 14-local-placement
|
|
105
105
|
|
|
106
|
-
Local meta-policy files MUST be placed in the `principles` subject of any type folder within the scope they govern (e.g., `my-team/adrs/principles/001-core.md`). They apply implicitly to that scope — no declaration in `index.md` is required. Local meta-policies MUST NOT be placed in any other subject folder; a file whose title starts with `core` in a non-`principles` subject is
|
|
106
|
+
Local meta-policy files MUST be placed in the `principles` subject of any type folder within the scope they govern (e.g., `my-team/adrs/principles/001-core.md`). They apply implicitly to that scope — no declaration in `index.md` is required. Local meta-policies MUST NOT be placed in any other subject folder; a file whose title starts with `core` in a non-`principles` subject is invalid.
|
|
107
107
|
|
|
108
108
|
#### 15-local-primary-required
|
|
109
109
|
|
|
@@ -180,7 +180,7 @@ When a policy (scope-type definition, local meta-policy, or companion) overrides
|
|
|
180
180
|
- The policy file where the original rule is defined.
|
|
181
181
|
- A short explanation of why the override is required for this scope or type.
|
|
182
182
|
|
|
183
|
-
A `## Conflicts` section MAY also document cross-scope-type incompatibilities for informational purposes. Tools and agents MUST detect undeclared conflicts at review time and surface them as errors. Semantic conflict detection is the responsibility of the authoring agent
|
|
183
|
+
A `## Conflicts` section MAY also document cross-scope-type incompatibilities for informational purposes. Tools and agents MUST detect undeclared conflicts at review time and surface them as errors. Semantic conflict detection is the responsibility of the authoring agent.
|
|
184
184
|
|
|
185
185
|
## References
|
|
186
186
|
|
|
@@ -213,7 +213,7 @@ A scope `extends:` declaration MUST NOT reference the declaring scope itself. To
|
|
|
213
213
|
|
|
214
214
|
#### 32-extends-mandatory-presence
|
|
215
215
|
|
|
216
|
-
Every scope listed in a scope's `extends:` field MUST exist in the workspace with an accessible `index.md`. If any referenced scope is absent or its `index.md` cannot be read,
|
|
216
|
+
Every scope listed in a scope's `extends:` field MUST exist in the workspace with an accessible `index.md`. If any referenced scope is absent or its `index.md` cannot be read, the extending scope MUST be fixed when local and is READ-ONLY when external (`_core-adr-policy-022.06-read-only-dependencies`).
|
|
217
217
|
|
|
218
218
|
#### 33-extends-content-precedence
|
|
219
219
|
|
|
@@ -73,7 +73,7 @@ Distributing `-core` scopes alongside their companion consumable scope to downst
|
|
|
73
73
|
|
|
74
74
|
#### 10-no-type-combination
|
|
75
75
|
|
|
76
|
-
A scope is core-type when its resolved scope-type chain, including parent types (see `_core-adr-policy-010.09-def-parent-scope-type`), contains `core`. A core-type scope MUST declare exactly one scope type; combining a core-type with any other type (e.g., `scope-type: core, standard`) is
|
|
76
|
+
A scope is core-type when its resolved scope-type chain, including parent types (see `_core-adr-policy-010.09-def-parent-scope-type`), contains `core`. A core-type scope MUST declare exactly one scope type; combining a core-type with any other type (e.g., `scope-type: core, standard`) is invalid. Core-type scopes hold meta governance only, so mixing them with consumable types would blur rules 04 and 05.
|
|
77
77
|
|
|
78
78
|
## References
|
|
79
79
|
|
|
@@ -9,21 +9,21 @@ valid-from: 2026-07-20
|
|
|
9
9
|
|
|
10
10
|
## Context and Problem Statement
|
|
11
11
|
|
|
12
|
-
Packages install scope folders into a workspace, but nothing guaranteed that every installed scope was listed in the root `index.md`. Scopes that were meant to be reused only through `extends:` were hidden from the root index, so agents could not discover them, and consumers had no way to switch off a scope they installed but did not want to apply. When a scope depended on another scope that was absent, the result was either a hard
|
|
12
|
+
Packages install scope folders into a workspace, but nothing guaranteed that every installed scope was listed in the root `index.md`. Scopes that were meant to be reused only through `extends:` were hidden from the root index, so agents could not discover them, and consumers had no way to switch off a scope they installed but did not want to apply. When a scope depended on another scope that was absent, the result was either a hard failure or silent misbehaviour.
|
|
13
13
|
|
|
14
14
|
How does a consumer control which installed scopes apply globally, which apply only through `extends:`, and which are ignored, while keeping every scope discoverable?
|
|
15
15
|
|
|
16
16
|
## Decision Outcome
|
|
17
17
|
|
|
18
|
-
**Every installed scope is listed once in the root index; the consumer controls activation with an inline activation tag next to the scope link, and the scope author declares intent with an `extends-only` frontmatter field that
|
|
18
|
+
**Every installed scope is listed once in the root index; the consumer controls activation with an inline activation tag next to the scope link, and the scope author declares intent with an `extends-only` frontmatter field that MUST be coherent with the tag.**
|
|
19
19
|
|
|
20
|
-
Policies of listed scopes apply globally by default. An activation tag narrows a scope to `extends-only` or turns it off with `disabled`. Agents rely only on the tags. Scopes whose dependencies are missing, disabled, or invalid become read-only.
|
|
20
|
+
Policies of listed scopes apply globally by default. An activation tag narrows a scope to `extends-only` or turns it off with `disabled`. Agents rely only on the tags. Scopes whose dependencies are missing, disabled, or invalid become read-only; local scopes MUST NOT stay in that state.
|
|
21
21
|
|
|
22
22
|
### Details
|
|
23
23
|
|
|
24
24
|
#### 01-root-index-completeness
|
|
25
25
|
|
|
26
|
-
Every scope folder under the XDRS root that contains an `index.md`, including scopes installed from external packages, MUST be linked exactly once from the root `index.md`. The `_local` scope MUST NOT be linked (see `_core-adr-policy-001`). A scope folder with no link, or a scope linked more than once, is
|
|
26
|
+
Every scope folder under the XDRS root that contains an `index.md`, including scopes installed from external packages, MUST be linked exactly once from the root `index.md`. The `_local` scope MUST NOT be linked (see `_core-adr-policy-001`). A scope folder with no link, or a scope linked more than once, is invalid. Links that resolve to the same scope index (e.g. `./x/index.md` and `x/index.md`) count as the same link. Links inside fenced code blocks are ignored.
|
|
27
27
|
|
|
28
28
|
#### 02-global-applicability
|
|
29
29
|
|
|
@@ -31,23 +31,26 @@ Policies of a listed scope without an activation tag MUST be applied globally, n
|
|
|
31
31
|
|
|
32
32
|
#### 03-activation-tag-syntax
|
|
33
33
|
|
|
34
|
-
An activation tag is an inline code span placed immediately after a scope link on the same line, optionally separated by spaces or tabs, for example a link to `payments-ref/index.md` followed by `` `extends-only` ``. Allowed values are `extends-only` and `disabled`, lowercase only. A scope link line MUST NOT contain any other inline code: an unknown value, a second tag, or inline code placed elsewhere on the line is
|
|
34
|
+
An activation tag is an inline code span placed immediately after a scope link on the same line, optionally separated by spaces or tabs, for example a link to `payments-ref/index.md` followed by `` `extends-only` ``. Allowed values are `extends-only` and `disabled`, lowercase only. A scope link line MUST NOT contain any other inline code: an unknown value, a second tag, or inline code placed elsewhere on the line is invalid. A tag on the next line is not a tag. `_core` MUST NOT be tagged.
|
|
35
35
|
|
|
36
36
|
#### 04-extends-only
|
|
37
37
|
|
|
38
|
-
Policies of a scope tagged `extends-only` MUST be applied only through the `extends:` chain of an active scope (untagged, including read-only scopes, or `_local`). Reach is transitive: if A extends B and B extends C, both B and C apply to A. The root index position of a tagged scope never matters for conflict resolution; `extends:` precedence applies (see `_core-adr-policy-010.33-extends-content-precedence`). Skills, articles, research, and initiatives of the scope remain usable.
|
|
38
|
+
Policies of a scope tagged `extends-only` MUST be applied only through the `extends:` chain of an active scope (untagged, including read-only scopes, or `_local`). Reach is transitive: if A extends B and B extends C, both B and C apply to A. The root index position of a tagged scope never matters for conflict resolution; `extends:` precedence applies (see `_core-adr-policy-010.33-extends-content-precedence`). Skills, articles, research, and initiatives of the scope remain usable. Every `extends-only` scope MUST be reached by at least one active scope; reach only through a `disabled` scope does not count. Fix it by adding the scope to the `extends:` of an active scope or by tagging it `disabled`.
|
|
39
39
|
|
|
40
40
|
#### 05-disabled
|
|
41
41
|
|
|
42
|
-
All content of a scope tagged `disabled` MUST be ignored by agents: its policies, skills, articles, research, and initiatives are not applied, and nothing is inherited from it through `extends:` or `follows:`. The scope is still
|
|
42
|
+
All content of a scope tagged `disabled` MUST be ignored by agents: its policies, skills, articles, research, and initiatives are not applied, and nothing is inherited from it through `extends:` or `follows:`. The scope is still validated and MAY be edited; a disabled local scope follows rule 06 like any other local scope. Skills of a disabled scope that are symlinked into `.agents/skills` (see `_core-adr-policy-018`) stay loaded by tools and MUST be removed by the consumer.
|
|
43
43
|
|
|
44
44
|
#### 06-read-only-dependencies
|
|
45
45
|
|
|
46
|
-
A scope MUST be treated as READ-ONLY when a scope it follows or extends, or the scope that defines one of its scope types (including parent types), is missing, disabled, or invalid, or when it is an external scope and its own `index.md` is invalid. Content in a READ-ONLY scope MUST NOT be added, changed, or removed.
|
|
46
|
+
A scope MUST be treated as READ-ONLY when a scope it follows or extends, or the scope that defines one of its scope types (including parent types), is missing, disabled, or invalid, or when it is an external scope and its own `index.md` is invalid. Content in a READ-ONLY scope MUST NOT be added, changed, or removed.
|
|
47
|
+
|
|
48
|
+
- **Local scope** (not tracked in `.filedist.lock`, including `_local` and disabled scopes): a read-only local scope is frozen and cannot be maintained, so each cause is invalid and MUST be fixed.
|
|
49
|
+
- **External scope** (tracked in `.filedist.lock`): the scope is READ-ONLY; agents MUST tell the user when they skip a change because of it, naming the cause and fix.
|
|
47
50
|
|
|
48
51
|
#### 07-extends-only-field
|
|
49
52
|
|
|
50
|
-
A scope author MAY declare `extends-only: true` or `extends-only: false` in the scope index frontmatter. Only unquoted lowercase `true` and `false` are valid. An invalid value
|
|
53
|
+
A scope author MAY declare `extends-only: true` or `extends-only: false` in the scope index frontmatter. Only unquoted lowercase `true` and `false` are valid. An invalid value in a local scope MUST be fixed; in an external scope it makes the scope READ-ONLY and the value is treated as absent. `extends-only` (field `true` or tag) MUST NOT be used on `_core`, `_local`, or a core-type scope. Coherence: when the field is `true`, the root index link MUST carry the tag `extends-only` or `disabled`; when the field is `false` or absent, the consumer MAY add either tag (narrowing), and MUST NOT widen a scope beyond what the author declared. Agents MUST NOT use the field for activation (rule 08).
|
|
51
54
|
|
|
52
55
|
#### 08-agent-resolution
|
|
53
56
|
|
|
@@ -9,4 +9,3 @@ This module is shared across all XDRS writing skills. Run these steps after all
|
|
|
9
9
|
npx -y xdrs-core@latest lint
|
|
10
10
|
```
|
|
11
11
|
2. Fix all reported errors before considering the task complete.
|
|
12
|
-
3. Review warnings; fix straightforward ones and note intentional deviations explicitly.
|
|
@@ -4,8 +4,8 @@ description: >
|
|
|
4
4
|
Compiles or updates any scope declaring `scope-type: compiled` from its configured external sources. Reads compilation meta-policies to discover sources, fetches content (git clone, local copy, or web scrape), plans policy changes, migrates policies one at a time with structured format, `## Source` sections, and `**compilation-note:**` markers, then runs lint and review. Documents source inconsistencies without inventing fixes. Activate when the user asks to compile, update, sync, refresh, or recompile a compiled scope.
|
|
5
5
|
metadata:
|
|
6
6
|
author: flaviostutz
|
|
7
|
-
version: "1.
|
|
8
|
-
updated: 2026-09-
|
|
7
|
+
version: "1.1.0"
|
|
8
|
+
updated: 2026-09-24
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Overview
|
|
@@ -50,6 +50,8 @@ Performs a full compilation cycle for any scope declaring `scope-type: compiled`
|
|
|
50
50
|
|
|
51
51
|
## Instructions
|
|
52
52
|
|
|
53
|
+
Keep every question and intermediate message <100 words and the final summary <150 words.
|
|
54
|
+
|
|
53
55
|
### Phase 0: Prerequisites Gate
|
|
54
56
|
|
|
55
57
|
1. Identify the target scope. Verify its `index.md` declares `scope-type: compiled` (alone or combined with other types). If not, output: `FAIL — [scope-name] does not declare scope-type: compiled. This skill only applies to compiled scopes.`
|
|
@@ -93,7 +95,7 @@ Performs a full compilation cycle for any scope declaring `scope-type: compiled`
|
|
|
93
95
|
1. For each type folder governed by a meta-policy (from Phase 0), apply the `## Selectors` rules to the fetched staging content to determine which portions to include.
|
|
94
96
|
2. List all existing policies in the scope under each governed type folder.
|
|
95
97
|
3. If `.assets/sources/[name]/` already holds a previous persisted snapshot, diff the newly selected staging content against it (for example, by content hash per file) to pre-seed which policies are likely unaffected.
|
|
96
|
-
4. Analyse the selected content and produce a TODO list showing for each expected policy:
|
|
98
|
+
4. Analyse the selected content and produce a TODO list (uncapped: one line per expected policy; each line <30 words) showing for each expected policy:
|
|
97
99
|
- **CREATE** — new policy to be compiled from source (does not yet exist in scope)
|
|
98
100
|
- **UPDATE** — existing policy whose source content has changed
|
|
99
101
|
- **REMOVE** — existing policy whose source content no longer exists or is excluded by selectors
|
|
@@ -104,12 +106,12 @@ Performs a full compilation cycle for any scope declaring `scope-type: compiled`
|
|
|
104
106
|
|
|
105
107
|
For each TODO item marked CREATE or UPDATE, in sequence:
|
|
106
108
|
|
|
107
|
-
1. **Write the policy file** following `_core-adr-policy-019` and `_core-adr-policy-008`:
|
|
108
|
-
- Use standard policy frontmatter: `name`, `description`, `apply-to
|
|
109
|
+
1. **Write the policy file** (<2600 words, per `_core-adr-policy-002`) following `_core-adr-policy-019` and `_core-adr-policy-008`:
|
|
110
|
+
- Use standard policy frontmatter: `name`, `description`, `apply-to` (<40 words), `valid-from`. Generate these from the source text; they are exempt from the no-invented-content rule per policy-019 rule 05.
|
|
109
111
|
- Use structured numbered rule blocks for all claims (per `_core-adr-policy-008`).
|
|
110
112
|
- Transcribe source content faithfully. Do NOT invent, infer beyond what the source states, or fill gaps. Preserve ambiguities as-is.
|
|
111
113
|
|
|
112
|
-
2. **Add a `**compilation-note:**` marker** inside a rule body only when the mapping from source to rule is not obvious — for example: indirect references, conclusions drawn by connecting multiple source sections, interpretations that required judgment, or cases where the same source passage could be read differently. Do NOT add a marker when the rule is a direct, literal transcription of a single source statement. Place the marker as a new sentence at the end of the rule body. Example:
|
|
114
|
+
2. **Add a `**compilation-note:**` marker** inside a rule body only when the mapping from source to rule is not obvious — for example: indirect references, conclusions drawn by connecting multiple source sections, interpretations that required judgment, or cases where the same source passage could be read differently. Do NOT add a marker when the rule is a direct, literal transcription of a single source statement. Place the marker as a new sentence at the end of the rule body and keep it <60 words. Example:
|
|
113
115
|
```
|
|
114
116
|
All API keys MUST be rotated every 90 days. **compilation-note:** derived from [api-guidelines/security/api-guidelines.md section 4.2] — "Keys should be invalidated and replaced quarterly"; frequency inferred as 90 days from the term "quarterly".
|
|
115
117
|
```
|
|
@@ -138,7 +140,7 @@ After writing each policy:
|
|
|
138
140
|
### Phase 6: Lint
|
|
139
141
|
|
|
140
142
|
1. Run `npx xdrs-core lint` from the workspace root (or `make lint` if a `Makefile` is present with a `lint` target).
|
|
141
|
-
2. Review all reported errors
|
|
143
|
+
2. Review all reported errors.
|
|
142
144
|
3. Fix only mechanical and structural errors (missing required frontmatter fields, naming violations, index link mismatches). Do NOT invent content to satisfy content-level findings.
|
|
143
145
|
4. Re-run lint after fixes until it passes or only unfixable findings remain.
|
|
144
146
|
|
|
@@ -154,7 +156,7 @@ After writing each policy:
|
|
|
154
156
|
1. Collect all inconsistencies noted during Phases 4, 5, and 7.
|
|
155
157
|
2. If any inconsistencies exist:
|
|
156
158
|
- Determine the next available policy number in the `001–100` principles block for the relevant type folder.
|
|
157
|
-
- Create or update `[type]/principles/NNN-inconsistencies-from-source.md` in the scope.
|
|
159
|
+
- Create or update `[type]/principles/NNN-inconsistencies-from-source.md` (<2600 words) in the scope.
|
|
158
160
|
- The policy `name` field MUST be `[scope]-[type]-policy-NNN-inconsistencies-from-source`.
|
|
159
161
|
- List each inconsistency with: source file path, affected compiled policy, and a description of the inconsistency.
|
|
160
162
|
- Do NOT propose or include fixes.
|
|
@@ -6,8 +6,8 @@ description: >
|
|
|
6
6
|
Also activate when you identify a need to check compliance with Policies during implementation.
|
|
7
7
|
metadata:
|
|
8
8
|
author: flaviostutz
|
|
9
|
-
version: "1.
|
|
10
|
-
updated: 2026-09-
|
|
9
|
+
version: "1.1.0"
|
|
10
|
+
updated: 2026-09-24
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
## Overview
|
|
@@ -28,7 +28,7 @@ Performs a structured review of code changes or files against the Policies in th
|
|
|
28
28
|
|
|
29
29
|
#### Contents
|
|
30
30
|
|
|
31
|
-
-
|
|
31
|
+
- Findings report in chat (uncapped: one per finding).
|
|
32
32
|
|
|
33
33
|
#### Changes
|
|
34
34
|
|
|
@@ -48,6 +48,8 @@ Performs a structured review of code changes or files against the Policies in th
|
|
|
48
48
|
|
|
49
49
|
## Instructions
|
|
50
50
|
|
|
51
|
+
Keep every question and intermediate message <100 words.
|
|
52
|
+
|
|
51
53
|
### Phase 1: Code Gathering
|
|
52
54
|
|
|
53
55
|
1. Identify changes based on requested scope:
|
|
@@ -113,18 +115,18 @@ Performs a structured review of code changes or files against the Policies in th
|
|
|
113
115
|
|
|
114
116
|
### Phase 6: Reporting
|
|
115
117
|
|
|
116
|
-
**Report template**
|
|
118
|
+
**Report template** (keep `## Summary` <50 words)
|
|
117
119
|
```text
|
|
118
120
|
### Code Review Against Policies
|
|
119
121
|
Scope: [scope identifier]
|
|
120
122
|
|
|
121
123
|
## Findings
|
|
122
124
|
### 1. [ERROR|WARNING] - [filename:line_number](filename:line_number)
|
|
123
|
-
- Title of the finding (
|
|
125
|
+
- Title of the finding (<15 words)
|
|
124
126
|
- Policy reference: [policy-file:line_number](policy-file:line_number)
|
|
125
|
-
- Why: Brief description of the issue
|
|
126
|
-
- Fix: Specific action to fix this issue
|
|
127
|
-
- Relevance: Why this matters / What to watch for
|
|
127
|
+
- Why: Brief description of the issue (<20 words)
|
|
128
|
+
- Fix: Specific action to fix this issue (<15 words)
|
|
129
|
+
- Relevance: Why this matters / What to watch for (<15 words)
|
|
128
130
|
|
|
129
131
|
### 2. [second finding etc]
|
|
130
132
|
|
|
@@ -4,8 +4,8 @@ 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:
|
|
6
6
|
author: flaviostutz
|
|
7
|
-
version: "1.
|
|
8
|
-
updated: 2026-09-
|
|
7
|
+
version: "1.1.0"
|
|
8
|
+
updated: 2026-09-24
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Overview
|
|
@@ -42,6 +42,8 @@ Guides the creation of a well-structured article by following `_core-adr-policy-
|
|
|
42
42
|
|
|
43
43
|
## Instructions
|
|
44
44
|
|
|
45
|
+
Keep every question and intermediate message <100 words and the final summary <150 words.
|
|
46
|
+
|
|
45
47
|
### Phase 0: Clarify Intent
|
|
46
48
|
|
|
47
49
|
Before reading any standards, ask the user clarifying questions to gather the information needed to proceed. Use the `vscode_askQuestions` tool with all questions in a single call.
|
|
@@ -108,16 +110,16 @@ Use the mandatory template from `004-article-standards`:
|
|
|
108
110
|
|
|
109
111
|
## Overview
|
|
110
112
|
|
|
111
|
-
[Brief description of what this article covers and its intended audience.
|
|
113
|
+
[Brief description of what this article covers and its intended audience. <40 words.]
|
|
112
114
|
|
|
113
115
|
## Content
|
|
114
116
|
|
|
115
117
|
[Synthetic text combining and explaining the topic. Use links to Policies, Research documents, and Skills
|
|
116
|
-
when referencing information from those documents.
|
|
118
|
+
when referencing information from those documents. <1950 words total.]
|
|
117
119
|
|
|
118
120
|
## References
|
|
119
121
|
|
|
120
|
-
- [Policy id or Skill name](relative/path/to/file.md) - Brief description of relevance
|
|
122
|
+
- [Policy id or Skill name](relative/path/to/file.md) - Brief description of relevance (<15 words)
|
|
121
123
|
```
|
|
122
124
|
|
|
123
125
|
Rules to apply while drafting:
|
|
@@ -130,15 +132,15 @@ Rules to apply while drafting:
|
|
|
130
132
|
- For diagrams and non-Markdown assets, follow `_core-adr-policy-020`: prefer plain Markdown tables/lists first, then ASCII art for very simple cases, then Mermaid.js (sequence, state, activity, entity diagrams) for complex ones, then draw.io when Mermaid is insufficient — save as Editable Vector (File → Save As → Editable Vector) and store as `.svg` in the sibling `.assets/` folder.
|
|
131
133
|
- If the article genuinely needs local images or supporting files, store them in `.xdrs/[scope]/[type]/[subject]/articles/.assets/` and link them using a same-folder relative path (e.g., `.assets/image.png`).
|
|
132
134
|
- Use relative paths for all links; never use absolute paths starting with `/`.
|
|
133
|
-
-
|
|
135
|
+
- When content would exceed the Content cap, break it into separate chapter articles rather than expanding a single file.
|
|
134
136
|
- Use lowercase file names. Never use emojis.
|
|
135
137
|
- If a conflict exists between the article and a Policy, note it and defer to the Policy.
|
|
136
138
|
|
|
137
139
|
### Phase 6: Place and Register
|
|
138
140
|
|
|
139
141
|
1. Save the file at `.xdrs/[scope]/[type]/[subject]/articles/[number]-[short-title].md`.
|
|
140
|
-
2. Add a link to the article in the canonical index for that scope+type (`.xdrs/[scope]/[type]/index.md`).
|
|
141
|
-
3. Add back-references in the Policies, Research documents, and Skills that the article synthesizes, under their `## References`
|
|
142
|
+
2. Add a link to the article in the canonical index for that scope+type (`.xdrs/[scope]/[type]/index.md`), with a description <15 words.
|
|
143
|
+
3. Add back-references (<15 words each) in the Policies, Research documents, and Skills that the article synthesizes, under their `## References`
|
|
142
144
|
section.
|
|
143
145
|
4. Evaluate whether the scope index at `.xdrs/[scope]/index.md` should be updated to reflect the new article. If the scope index does not exist, create it following article standards and the scope index rules in `_core-adr-policy-001`.
|
|
144
146
|
5. **Meta-policy compliance**: Run the shared module at `.xdrs/_core/adrs/principles/skills/.assets/meta-policy-compliance.md`. Substitute `[DOCUMENT]` with `article`.
|
|
@@ -169,7 +171,7 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
169
171
|
- **Cross-subject topic** — place the article in `principles`, not in any single subject folder.
|
|
170
172
|
- **No existing articles folder** — create it; it is optional in the folder layout.
|
|
171
173
|
- **Conflicting information found** — note the conflict in the article and always defer to the Policy.
|
|
172
|
-
- **Article
|
|
174
|
+
- **Article would exceed the Content cap** — split the content into separate chapter articles (e.g., `001-topic-overview.md`, `002-topic-deep-dive.md`) so each can be read and understood independently. Move detailed content to a Research, Skill, or Policy and link back.
|
|
173
175
|
- **Article is part of a series** — add the series position line immediately after the heading (e.g., `_This is article 2/4 of the "Engineering Practices" series. | Previous: ... | Next: ..._`) and link to the adjacent articles. When creating a new article that splits an existing one, update the neighbouring articles to reflect the new total and add or correct their navigation links.
|
|
174
176
|
|
|
175
177
|
## Constraints
|
|
@@ -188,7 +190,7 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
188
190
|
|
|
189
191
|
- **Mistake:** Writing an article that spans multiple unrelated subjects without splitting it into chapters.
|
|
190
192
|
**Why it happens:** A broad topic feels easier to cover in one long document.
|
|
191
|
-
**Instead:** Once content approaches
|
|
193
|
+
**Instead:** Once content approaches the Content cap or covers distinct sub-topics, split into separate chapter articles per Phase 5/Edge Cases guidance.
|
|
192
194
|
|
|
193
195
|
- **Mistake:** Skipping Phase 0 clarifying questions (topic/audience/scope) because the request seems clear.
|
|
194
196
|
**Why it happens:** The request looks self-explanatory, so asking feels like unnecessary friction.
|
|
@@ -6,8 +6,8 @@ description: >
|
|
|
6
6
|
Activate this skill when the user asks to create, add, or write an initiative, plan, project plan, roadmap, or execution plan within an XDRS project.
|
|
7
7
|
metadata:
|
|
8
8
|
author: flaviostutz
|
|
9
|
-
version: "1.
|
|
10
|
-
updated: 2026-09-
|
|
9
|
+
version: "1.1.0"
|
|
10
|
+
updated: 2026-09-24
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
## Overview
|
|
@@ -44,6 +44,8 @@ Guides the creation of a well-structured initiative document by following `_core
|
|
|
44
44
|
|
|
45
45
|
## Instructions
|
|
46
46
|
|
|
47
|
+
Keep every question and intermediate message <100 words and the final summary <150 words.
|
|
48
|
+
|
|
47
49
|
### Phase 0: Scope Placement and Prerequisites Gate — MUST complete before writing
|
|
48
50
|
|
|
49
51
|
1. Run the scope placement analysis from the shared module at `.xdrs/_core/adrs/principles/skills/.assets/scope-placement.md` to determine and confirm the target scope.
|
|
@@ -98,45 +100,45 @@ Use the mandatory template from `007-initiative-standards`:
|
|
|
98
100
|
|
|
99
101
|
## Executive Summary
|
|
100
102
|
|
|
101
|
-
[Required. Bullet points summarizing all sections below.
|
|
103
|
+
[Required. Bullet points summarizing all sections below. <500 words.]
|
|
102
104
|
|
|
103
105
|
## Context and Problem Statement
|
|
104
106
|
|
|
105
|
-
[Required. Why are we executing this initiative? What is the impact? Who is impacted?
|
|
107
|
+
[Required. Why are we executing this initiative? What is the impact? Who is impacted? <200 words.]
|
|
106
108
|
|
|
107
109
|
## Proposed Solution
|
|
108
110
|
|
|
109
|
-
[Required. What we expect to achieve.
|
|
111
|
+
[Required. What we expect to achieve. <200 words.]
|
|
110
112
|
|
|
111
113
|
Expected end date: YYYY-MM-DD
|
|
112
114
|
|
|
113
115
|
## Acceptance Criteria
|
|
114
116
|
|
|
115
|
-
[Optional. Expected result and how to verify the goal is achieved.
|
|
117
|
+
[Optional. Expected result and how to verify the goal is achieved. <100 words.]
|
|
116
118
|
|
|
117
119
|
## Approach
|
|
118
120
|
|
|
119
|
-
[Optional. Strategy and high-level how.
|
|
121
|
+
[Optional. Strategy and high-level how. <300 words.]
|
|
120
122
|
|
|
121
123
|
## Key Deliverables
|
|
122
124
|
|
|
123
|
-
[Optional. Main outputs needed.
|
|
125
|
+
[Optional. Main outputs needed. <300 words.]
|
|
124
126
|
|
|
125
127
|
## Key Resources
|
|
126
128
|
|
|
127
|
-
[Optional. Equipment, people, budget, dependencies.
|
|
129
|
+
[Optional. Equipment, people, budget, dependencies. <100 words.]
|
|
128
130
|
|
|
129
131
|
## Milestones
|
|
130
132
|
|
|
131
|
-
[Optional. Goals with acceptance criteria, owners, and due dates.
|
|
133
|
+
[Optional. Goals with acceptance criteria, owners, and due dates. <1000 words per milestone.]
|
|
132
134
|
|
|
133
135
|
## Risks Identified
|
|
134
136
|
|
|
135
|
-
[Optional. Risks with description and mitigation strategy.
|
|
137
|
+
[Optional. Risks with description and mitigation strategy. <1000 words.]
|
|
136
138
|
|
|
137
139
|
## References
|
|
138
140
|
|
|
139
|
-
- [Related Policy or artifact](relative/path.md) - Brief description of relevance
|
|
141
|
+
- [Related Policy or artifact](relative/path.md) - Brief description of relevance (<15 words)
|
|
140
142
|
```
|
|
141
143
|
|
|
142
144
|
Rules to apply while drafting:
|
|
@@ -154,8 +156,8 @@ Rules to apply while drafting:
|
|
|
154
156
|
### Phase 6: Place and Register
|
|
155
157
|
|
|
156
158
|
1. Save the file at `.xdrs/[scope]/[type]/[subject]/initiatives/[number]-[short-title].md`.
|
|
157
|
-
2. Add a link to the initiative in the canonical index for that scope+type (`.xdrs/[scope]/[type]/index.md`).
|
|
158
|
-
3. Add back-references in the Policies, Research documents, and Skills that the initiative relates to, under their `## References` section.
|
|
159
|
+
2. Add a link to the initiative in the canonical index for that scope+type (`.xdrs/[scope]/[type]/index.md`), with a description <15 words.
|
|
160
|
+
3. Add back-references (<15 words each) in the Policies, Research documents, and Skills that the initiative relates to, under their `## References` section.
|
|
159
161
|
4. Evaluate whether the scope index at `.xdrs/[scope]/index.md` should be updated to reflect the new initiative. If the scope index does not exist, create it following article standards and the scope index rules in `_core-adr-policy-001`.
|
|
160
162
|
5. **Meta-policy compliance**: Run the shared module at `.xdrs/_core/adrs/principles/skills/.assets/meta-policy-compliance.md`. Substitute `[DOCUMENT]` with `initiative`.
|
|
161
163
|
|