xdrs-core 0.49.1 → 0.50.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/index.md +1 -0
- package/.xdrs/_core/adrs/principles/003-skill-standards.md +96 -10
- package/.xdrs/_core/adrs/principles/021-skill-bundling.md +85 -0
- package/.xdrs/_core/adrs/principles/skills/compile-scope/SKILL.md +52 -1
- package/.xdrs/_core/adrs/principles/skills/review/SKILL.md +48 -2
- package/.xdrs/_core/adrs/principles/skills/write-article/SKILL.md +46 -1
- package/.xdrs/_core/adrs/principles/skills/write-initiative/SKILL.md +44 -2
- package/.xdrs/_core/adrs/principles/skills/write-policy/SKILL.md +44 -1
- package/.xdrs/_core/adrs/principles/skills/write-presentation/SKILL.md +48 -1
- package/.xdrs/_core/adrs/principles/skills/write-research/SKILL.md +54 -9
- package/.xdrs/_core/adrs/principles/skills/write-skill/SKILL.md +99 -6
- package/.xdrs/_core/adrs/principles/skills/write-xdrs-doc/SKILL.md +48 -1
- package/lib/lint.js +493 -8
- package/lib/lint.test.js +615 -5
- package/package.json +1 -1
|
@@ -5,13 +5,46 @@ description: >
|
|
|
5
5
|
Activate this skill when the user asks to create slides, a presentation, or a slide deck for an XDRS document.
|
|
6
6
|
metadata:
|
|
7
7
|
author: flaviostutz
|
|
8
|
-
version: "1.0"
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
updated: 2026-09-19
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
## Overview
|
|
12
13
|
|
|
13
14
|
Guides the creation of a Marp Markdown slide presentation that supports an existing XDRS document. The skill ensures the slides follow presentation standards (`_core-adr-policy-009`), are correctly placed in the `.assets/` folder, and maintain bidirectional links with the parent document.
|
|
14
15
|
|
|
16
|
+
### Inputs
|
|
17
|
+
|
|
18
|
+
#### Required
|
|
19
|
+
|
|
20
|
+
- A parent XDRS document to present.
|
|
21
|
+
|
|
22
|
+
#### Optional
|
|
23
|
+
|
|
24
|
+
- Target audience for the slides.
|
|
25
|
+
|
|
26
|
+
### Outputs
|
|
27
|
+
|
|
28
|
+
#### Contents
|
|
29
|
+
|
|
30
|
+
- A new Marp slide deck file.
|
|
31
|
+
|
|
32
|
+
#### Changes
|
|
33
|
+
|
|
34
|
+
- A bidirectional link added to the parent document.
|
|
35
|
+
|
|
36
|
+
### Halt Conditions
|
|
37
|
+
|
|
38
|
+
- Parent document does not exist yet.
|
|
39
|
+
|
|
40
|
+
### User Interaction
|
|
41
|
+
|
|
42
|
+
- Confirmation of audience when unclear.
|
|
43
|
+
|
|
44
|
+
### Runtime Requirements
|
|
45
|
+
|
|
46
|
+
- Marp-compatible viewer for visual rendering (optional).
|
|
47
|
+
|
|
15
48
|
## Instructions
|
|
16
49
|
|
|
17
50
|
### Phase 0: Prerequisites Gate — MUST complete before writing
|
|
@@ -159,6 +192,20 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
159
192
|
- If the content requires more than 30 slides, split into multiple slide sets with distinct audience or topic focus.
|
|
160
193
|
- If the parent document changes after slides are created, the slides must be reviewed and updated.
|
|
161
194
|
|
|
195
|
+
## Anti-Patterns
|
|
196
|
+
|
|
197
|
+
- **Mistake:** Creating standalone slides for multiple documents without first creating a synthesizing article.
|
|
198
|
+
**Why it happens:** Building slides directly from several source documents feels quicker than authoring an article first.
|
|
199
|
+
**Instead:** When slides must cover multiple documents, create (or point to) an article first and build slides for that article.
|
|
200
|
+
|
|
201
|
+
- **Mistake:** Packing dense paragraphs of text onto slides instead of short bullets and visuals.
|
|
202
|
+
**Why it happens:** Copying exact wording from the parent Policy feels safer than summarizing.
|
|
203
|
+
**Instead:** Minimize text per slide; use bullets, tables, and visuals, reserving longer text only for exact-wording cases like controls.
|
|
204
|
+
|
|
205
|
+
- **Mistake:** Forgetting to add a back-link from the parent document to the new slide file.
|
|
206
|
+
**Why it happens:** The slide file itself already links to the parent, so the reverse link feels redundant.
|
|
207
|
+
**Instead:** Bidirectional links are required; always update the parent document's `## References` (Phase 6).
|
|
208
|
+
|
|
162
209
|
## References
|
|
163
210
|
|
|
164
211
|
- [_core-adr-policy-009 - Presentation standards](../../009-presentation-standards.md)
|
|
@@ -6,7 +6,8 @@ description: >
|
|
|
6
6
|
Activate this skill when the user asks to create, add, or write a research document that backs a decision.
|
|
7
7
|
metadata:
|
|
8
8
|
author: flaviostutz
|
|
9
|
-
version: "1.4"
|
|
9
|
+
version: "1.4.0"
|
|
10
|
+
updated: 2026-09-19
|
|
10
11
|
---
|
|
11
12
|
|
|
12
13
|
## Overview
|
|
@@ -15,6 +16,38 @@ Guides the creation of a well-structured research document by following `_core-a
|
|
|
15
16
|
|
|
16
17
|
This skill is interactive by design. Ask clarifying questions to the user at each phase where direction, evidence, or scope is unclear. Ask sequentially — one focused set of questions at a time — and wait for the user's answers before advancing to the next phase. Never front-load all questions at once if not all are yet relevant.
|
|
17
18
|
|
|
19
|
+
### Inputs
|
|
20
|
+
|
|
21
|
+
#### Required
|
|
22
|
+
|
|
23
|
+
- A research direction or question.
|
|
24
|
+
|
|
25
|
+
#### Optional
|
|
26
|
+
|
|
27
|
+
- Available evidence and the intended next step.
|
|
28
|
+
|
|
29
|
+
### Outputs
|
|
30
|
+
|
|
31
|
+
#### Contents
|
|
32
|
+
|
|
33
|
+
- A standalone IMRAD research document.
|
|
34
|
+
|
|
35
|
+
#### Changes
|
|
36
|
+
|
|
37
|
+
- Index entry and back-references where relevant.
|
|
38
|
+
|
|
39
|
+
### Halt Conditions
|
|
40
|
+
|
|
41
|
+
- Redirects to write-policy if a final decision is wanted.
|
|
42
|
+
|
|
43
|
+
### User Interaction
|
|
44
|
+
|
|
45
|
+
- Interactive evidence-gathering, section by section.
|
|
46
|
+
|
|
47
|
+
### Runtime Requirements
|
|
48
|
+
|
|
49
|
+
- Python 3 for the optional ratio-check script.
|
|
50
|
+
|
|
18
51
|
## Instructions
|
|
19
52
|
|
|
20
53
|
### Phase 0: Scope Placement and Prerequisites Gate — MUST complete before writing
|
|
@@ -188,7 +221,6 @@ for line in text.splitlines():
|
|
|
188
221
|
if current is not None:
|
|
189
222
|
sections[current].append(line)
|
|
190
223
|
|
|
191
|
-
|
|
192
224
|
def count_words(markdown: str) -> int:
|
|
193
225
|
cleaned = markdown
|
|
194
226
|
cleaned = re.sub(r"^\|(?:\s*[-:]+\s*\|)+\s*$", " ", cleaned, flags=re.M)
|
|
@@ -202,7 +234,6 @@ def count_words(markdown: str) -> int:
|
|
|
202
234
|
words = cleaned.strip().split()
|
|
203
235
|
return len(words)
|
|
204
236
|
|
|
205
|
-
|
|
206
237
|
targets = {
|
|
207
238
|
"Introduction": 3,
|
|
208
239
|
"Methods": 5,
|
|
@@ -276,12 +307,6 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
276
307
|
- If the supported decision does not exist yet, reference the decision topic or planned Policy title in the introduction and conclusion.
|
|
277
308
|
- If the user's direction, evidence base, or intended next step is vague, ask follow-up questions and wait for clarification instead of choosing a path yourself.
|
|
278
309
|
|
|
279
|
-
## References
|
|
280
|
-
|
|
281
|
-
- [_core-adr-policy-006 - Research standards](../../006-research-standards.md)
|
|
282
|
-
- [_core-adr-policy-001 - XDRS standards](../../001-xdrs-standards.md)
|
|
283
|
-
- [write-policy skill](../write-policy/SKILL.md)
|
|
284
|
-
|
|
285
310
|
## Constraints
|
|
286
311
|
|
|
287
312
|
- MUST consult `001-xdrs-standards` as the canonical source for every core element definition, especially type, scope, subject, numbering, naming, and placement.
|
|
@@ -289,3 +314,23 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
289
314
|
- MUST keep scope `_local` unless the user explicitly states otherwise.
|
|
290
315
|
- MUST NOT create documents in external scopes (scopes whose files appear in the workspace root `.filedist.lock`).
|
|
291
316
|
- MUST keep the document as research rather than turning it into a final decision.
|
|
317
|
+
|
|
318
|
+
## Anti-Patterns
|
|
319
|
+
|
|
320
|
+
- **Mistake:** Writing conclusions or a final decision inside the research document instead of keeping it exploratory.
|
|
321
|
+
**Why it happens:** The findings feel conclusive enough to just state the decision directly.
|
|
322
|
+
**Instead:** Keep the document as evidence and analysis; direct the user to `write-policy` for the actual decision.
|
|
323
|
+
|
|
324
|
+
- **Mistake:** Front-loading all clarifying questions at once instead of asking sequentially as each phase reveals new gaps.
|
|
325
|
+
**Why it happens:** Batching questions feels more efficient for the user.
|
|
326
|
+
**Instead:** This skill is interactive by design — ask one focused set of questions per phase and wait for answers before advancing.
|
|
327
|
+
|
|
328
|
+
- **Mistake:** Skipping the Phase 9 word-count/ratio check because the sections "look" balanced.
|
|
329
|
+
**Why it happens:** Running the Python script feels like unnecessary overhead once the draft reads well.
|
|
330
|
+
**Instead:** Always run the ratio check; imbalance is often invisible until measured (e.g., Results ballooning past Methods).
|
|
331
|
+
|
|
332
|
+
## References
|
|
333
|
+
|
|
334
|
+
- [_core-adr-policy-006 - Research standards](../../006-research-standards.md)
|
|
335
|
+
- [_core-adr-policy-001 - XDRS standards](../../001-xdrs-standards.md)
|
|
336
|
+
- [write-policy skill](../write-policy/SKILL.md)
|
|
@@ -6,13 +6,46 @@ description: >
|
|
|
6
6
|
Activate this skill when the user asks to create, add, or write a new skill, agent skill, or SKILL.md file.
|
|
7
7
|
metadata:
|
|
8
8
|
author: flaviostutz
|
|
9
|
-
version: "1.0"
|
|
9
|
+
version: "1.0.0"
|
|
10
|
+
updated: 2026-09-19
|
|
10
11
|
---
|
|
11
12
|
|
|
12
13
|
## Overview
|
|
13
14
|
|
|
14
15
|
Guides the creation of a well-structured skill package by following `_core-adr-policy-003` skill standards, consulting `xdrs-core` for every core element definition, checking existing skills to avoid duplication, and producing a complete SKILL.md ready to activate in VS Code.
|
|
15
16
|
|
|
17
|
+
### Inputs
|
|
18
|
+
|
|
19
|
+
#### Required
|
|
20
|
+
|
|
21
|
+
- A description of the task the skill should perform
|
|
22
|
+
|
|
23
|
+
#### Optional
|
|
24
|
+
|
|
25
|
+
- None
|
|
26
|
+
|
|
27
|
+
### Outputs
|
|
28
|
+
|
|
29
|
+
#### Contents
|
|
30
|
+
|
|
31
|
+
- A complete SKILL.md file
|
|
32
|
+
|
|
33
|
+
#### Changes
|
|
34
|
+
|
|
35
|
+
- A symlink under `.agents/skills/`
|
|
36
|
+
|
|
37
|
+
### Halt Conditions
|
|
38
|
+
|
|
39
|
+
- No writable scope can be found or inferred
|
|
40
|
+
|
|
41
|
+
### User Interaction
|
|
42
|
+
|
|
43
|
+
- A clarifying question when scope or type is ambiguous
|
|
44
|
+
|
|
45
|
+
### Runtime Requirements
|
|
46
|
+
|
|
47
|
+
- Write access to the target scope.
|
|
48
|
+
|
|
16
49
|
## Instructions
|
|
17
50
|
|
|
18
51
|
### Phase 0: Scope Placement and Prerequisites Gate — MUST complete before writing
|
|
@@ -64,13 +97,46 @@ description: >
|
|
|
64
97
|
[What the skill does AND exactly when an agent should activate it. Max 1024 chars.]
|
|
65
98
|
metadata:
|
|
66
99
|
author: [author]
|
|
67
|
-
version: "1.0"
|
|
100
|
+
version: "1.0.0"
|
|
101
|
+
updated: [YYYY-MM-DD]
|
|
68
102
|
---
|
|
69
103
|
|
|
70
104
|
## Overview
|
|
71
105
|
|
|
72
106
|
[1–3 sentence goal statement with the task objective, expected outcome, and relevant prerequisites or tools when they matter.]
|
|
73
107
|
|
|
108
|
+
### Inputs
|
|
109
|
+
|
|
110
|
+
#### Required
|
|
111
|
+
|
|
112
|
+
[Bare-minimum bullets needed to invoke the skill, or a single "None" bullet. Each under 10 words.]
|
|
113
|
+
|
|
114
|
+
#### Optional
|
|
115
|
+
|
|
116
|
+
[Extra helpful-context bullets, or a single "None" bullet. Each under 10 words.]
|
|
117
|
+
|
|
118
|
+
### Outputs
|
|
119
|
+
|
|
120
|
+
#### Contents
|
|
121
|
+
|
|
122
|
+
[End-objective files/chat text produced, or a single "None" bullet. Each under 10 words.]
|
|
123
|
+
|
|
124
|
+
#### Changes
|
|
125
|
+
|
|
126
|
+
[End-objective external system mutations, or a single "None" bullet. Each under 10 words.]
|
|
127
|
+
|
|
128
|
+
### Halt Conditions
|
|
129
|
+
|
|
130
|
+
[This skill's specific stop-before-completing triggers, or a single "None" bullet. Each under 10 words.]
|
|
131
|
+
|
|
132
|
+
### User Interaction
|
|
133
|
+
|
|
134
|
+
[Optional. Human-in-the-loop exchanges during execution: clarifying questions or approval gates, or a single "None" bullet. Each under 10 words. Omit the whole section if none apply.]
|
|
135
|
+
|
|
136
|
+
### Runtime Requirements
|
|
137
|
+
|
|
138
|
+
[Optional. Tooling/network prerequisites as free-form bullets. Omit the whole section if none apply.]
|
|
139
|
+
|
|
74
140
|
## Instructions
|
|
75
141
|
|
|
76
142
|
### Phase 1: …
|
|
@@ -78,17 +144,23 @@ metadata:
|
|
|
78
144
|
|
|
79
145
|
## Examples
|
|
80
146
|
|
|
81
|
-
[At least one concrete input/context → expected agent action pair.]
|
|
147
|
+
[At least one concrete input/context → expected agent action pair. Include 2-3 example prompts a user could type to trigger the skill.]
|
|
82
148
|
|
|
83
149
|
## Edge Cases
|
|
84
150
|
|
|
85
151
|
[Situations where the skill must not activate or must behave differently.]
|
|
86
152
|
|
|
153
|
+
## Anti-Patterns
|
|
154
|
+
|
|
155
|
+
[At least 3 entries. Each with **Mistake:**/**Why it happens:**/**Instead:** structure, grounded in this specific skill's domain.]
|
|
156
|
+
|
|
87
157
|
## References
|
|
88
158
|
|
|
89
159
|
[Links to related Policies and skills.]
|
|
90
160
|
```
|
|
91
161
|
|
|
162
|
+
If the skill needs to be distributed as a standalone package outside the full `xdrs-core` package, it MAY also add a bundling `Makefile` following the optional mechanism in [`_core-adr-policy-021`](../../021-skill-bundling.md). This is not required for skills that are always consumed as part of the full package.
|
|
163
|
+
|
|
92
164
|
Rules:
|
|
93
165
|
- Use imperative language ("Read …", "Ask …", "Create …").
|
|
94
166
|
- The `description` field must state both *what* the skill does and *when* to activate it.
|
|
@@ -100,7 +172,7 @@ Rules:
|
|
|
100
172
|
- 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.
|
|
101
173
|
- If `SKILL.md` genuinely needs local images or supporting files, store them in `.xdrs/[scope]/[type]/[subject]/skills/[skill-name]/.assets/` and link them using a same-folder relative path (e.g., `.assets/image.png`).
|
|
102
174
|
- Use relative paths for all links; never use absolute paths starting with `/`.
|
|
103
|
-
- No emojis. Lowercase filenames. Target under
|
|
175
|
+
- No emojis. Lowercase filenames. Target under 7000 words.
|
|
104
176
|
|
|
105
177
|
### Phase 5: Review the Draft
|
|
106
178
|
|
|
@@ -108,10 +180,12 @@ Before writing files, verify:
|
|
|
108
180
|
|
|
109
181
|
1. **Activation criteria**: Is it unambiguous when this skill loads vs. when it should not?
|
|
110
182
|
2. **Completeness**: Does every phase have actionable steps?
|
|
111
|
-
3. **Length**: Under
|
|
183
|
+
3. **Length**: Under 7000 words? Trim verbose explanations.
|
|
112
184
|
4. **Duplication**: Does this overlap an existing skill? If yes, revise.
|
|
113
185
|
5. **References**: Are all related XDRs and skills linked, including the cases where the skill operationalizes multiple XDRs?
|
|
114
|
-
6. **
|
|
186
|
+
6. **Anti-Patterns**: Does the skill include at least 3 genuine, domain-specific `## Anti-Patterns` entries (not generic filler)?
|
|
187
|
+
7. **Required sections**: Does `## Overview` contain nested `### Inputs` (Required/Optional bullets), `### Outputs` (Contents/Changes bullets), and `### Halt Conditions` listing this skill's specific stop triggers — each bullet under 10 words or a single "None"?
|
|
188
|
+
8. **Meta-policy compliance**: Run the shared module at `.xdrs/_core/adrs/principles/skills/.assets/meta-policy-compliance.md`. Substitute `[DOCUMENT]` with `skill`.
|
|
115
189
|
|
|
116
190
|
If any check fails, revise before continuing.
|
|
117
191
|
|
|
@@ -137,6 +211,7 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
137
211
|
- MUST keep scope `_local` unless the user explicitly states otherwise.
|
|
138
212
|
- MUST NOT create documents in external scopes (scopes whose files appear in the workspace root `.filedist.lock`).
|
|
139
213
|
- MUST include a References section linking to `003-skill-standards`.
|
|
214
|
+
- MUST include nested `### Inputs`, `### Outputs`, and `### Halt Conditions` subsections inside `## Overview` with skill-specific content.
|
|
140
215
|
|
|
141
216
|
**Input**: "Create a skill to help debug CI pipelines"
|
|
142
217
|
- Type: EDR (engineering workflow)
|
|
@@ -150,14 +225,32 @@ Follow the lint verification steps in `.xdrs/_core/adrs/principles/skills/.asset
|
|
|
150
225
|
- Subject: `application`
|
|
151
226
|
- Output: `.xdrs/_local/adrs/application/skills/review-api-design/SKILL.md`
|
|
152
227
|
|
|
228
|
+
**Input**: "Add a skill for our onboarding checklist"
|
|
229
|
+
- Asks a clarifying question if scope or type is ambiguous, then drafts the skill package.
|
|
230
|
+
|
|
153
231
|
## Edge Cases
|
|
154
232
|
|
|
155
233
|
- If the user's goal is already covered by an existing skill, inform the user and offer to extend it instead of creating a new one.
|
|
156
234
|
- If scope is ambiguous, default to `_local` and note the assumption.
|
|
157
235
|
- If the goal spans multiple types (e.g., both EDR and ADR), favor the type that best matches the primary activity.
|
|
158
236
|
|
|
237
|
+
## Anti-Patterns
|
|
238
|
+
|
|
239
|
+
- **Mistake:** Omitting the `metadata.author`/`metadata.version`/`metadata.updated` fields, or using a partial version like `1.0` instead of full semantic versioning.
|
|
240
|
+
**Why it happens:** These feel like optional bookkeeping details rather than required fields.
|
|
241
|
+
**Instead:** `author`, `version` (full `MAJOR.MINOR.PATCH`), and `updated` (ISO date) are all required per `_core-adr-policy-003`.
|
|
242
|
+
|
|
243
|
+
- **Mistake:** Writing a boilerplate `## Anti-Patterns` section that restates the Edge Cases content instead of describing real authoring mistakes.
|
|
244
|
+
**Why it happens:** Anti-Patterns and Edge Cases both describe "things that can go wrong", which invites duplication.
|
|
245
|
+
**Instead:** Edge Cases describe when the skill should behave differently; Anti-Patterns describe mistakes an agent following the skill is likely to make and how to avoid them.
|
|
246
|
+
|
|
247
|
+
- **Mistake:** Creating a new skill that duplicates an existing one instead of extending it, because the existing skill wasn't searched for first.
|
|
248
|
+
**Why it happens:** Writing fresh instructions feels faster than reading and understanding an existing skill.
|
|
249
|
+
**Instead:** Always list `.xdrs/[scope]/[type]/[subject]/skills/` first (Phase 3) and extend or reference an existing skill when one already covers the goal.
|
|
250
|
+
|
|
159
251
|
## References
|
|
160
252
|
|
|
161
253
|
- [_core-adr-policy-003 - Skill standards](../../003-skill-standards.md)
|
|
162
254
|
- [_core-adr-policy-001 - XDRS standards](../../001-xdrs-standards.md)
|
|
255
|
+
- [_core-adr-policy-021 - Skill bundling](../../021-skill-bundling.md)
|
|
163
256
|
- [write-policy skill](../write-policy/SKILL.md)
|
|
@@ -5,13 +5,46 @@ description: >
|
|
|
5
5
|
Activate this skill when the user asks to create or write any XDRS element.
|
|
6
6
|
metadata:
|
|
7
7
|
author: flaviostutz
|
|
8
|
-
version: "1.0"
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
updated: 2026-09-19
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
## Overview
|
|
12
13
|
|
|
13
14
|
Routes the request to the appropriate XDRS authoring skill based on the type of document the user wants to create. Reads the target skill at runtime and follows its instructions in full.
|
|
14
15
|
|
|
16
|
+
### Inputs
|
|
17
|
+
|
|
18
|
+
#### Required
|
|
19
|
+
|
|
20
|
+
- A free-form request to write a document.
|
|
21
|
+
|
|
22
|
+
#### Optional
|
|
23
|
+
|
|
24
|
+
- None.
|
|
25
|
+
|
|
26
|
+
### Outputs
|
|
27
|
+
|
|
28
|
+
#### Contents
|
|
29
|
+
|
|
30
|
+
- The delegated skill's fully written file.
|
|
31
|
+
|
|
32
|
+
#### Changes
|
|
33
|
+
|
|
34
|
+
- Whatever changes the delegated skill makes.
|
|
35
|
+
|
|
36
|
+
### Halt Conditions
|
|
37
|
+
|
|
38
|
+
- No document type identifiable even after clarification.
|
|
39
|
+
|
|
40
|
+
### User Interaction
|
|
41
|
+
|
|
42
|
+
- A single disambiguation question when type is unclear.
|
|
43
|
+
|
|
44
|
+
### Runtime Requirements
|
|
45
|
+
|
|
46
|
+
- Same as the delegated skill's, if any.
|
|
47
|
+
|
|
15
48
|
## Instructions
|
|
16
49
|
|
|
17
50
|
### Phase 1: Infer Document Type
|
|
@@ -60,3 +93,17 @@ Read the full content of the skill file for the inferred type, then follow all i
|
|
|
60
93
|
- MUST NOT create documents of a type not listed in the routing table above.
|
|
61
94
|
- When routing to the Policy skill, MUST also read `_core-adr-policy-016` (`.xdrs/_core/adrs/principles/016-policy-subjects.md`) before choosing a subject — it contains the allowed subject list, descriptions, and disambiguation tiebreaker rules.
|
|
62
95
|
- When routing to the Policy skill, MUST also read `_core-adr-policy-017` (`.xdrs/_core/adrs/principles/017-policy-numbering-ranges.md`) before choosing a policy number — it defines the subject-based block ranges that determine valid numbers for each subject.
|
|
96
|
+
|
|
97
|
+
## Anti-Patterns
|
|
98
|
+
|
|
99
|
+
- **Mistake:** Authoring the document directly from general knowledge of the target type instead of reading the target skill file.
|
|
100
|
+
**Why it happens:** The router already knows roughly what a Policy or Skill looks like, so reading the full target skill feels redundant.
|
|
101
|
+
**Instead:** Always read the full target SKILL.md and follow it phase by phase; this skill is a router, not an author.
|
|
102
|
+
|
|
103
|
+
- **Mistake:** Guessing the document type without asking when the request is genuinely ambiguous (e.g., could be Research or Article).
|
|
104
|
+
**Why it happens:** Asking feels like it slows the user down.
|
|
105
|
+
**Instead:** Ask the single focused disambiguation question in Phase 1 rather than guessing wrong and producing the wrong document type.
|
|
106
|
+
|
|
107
|
+
- **Mistake:** Creating a document type not present in the routing table (e.g., a generic README) by improvising a new template.
|
|
108
|
+
**Why it happens:** The user's request doesn't map cleanly onto the six known types.
|
|
109
|
+
**Instead:** MUST NOT create documents of a type not listed in the routing table; clarify with the user instead.
|