@flancer32/skill-adsm-ctx 0.2.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/.github/workflows/flows-app.yaml +95 -0
- package/AGENTS.md +112 -0
- package/LICENSE +201 -0
- package/README.md +246 -0
- package/bin/cli.mjs +55 -0
- package/ctx/AGENTS.md +44 -0
- package/ctx/README.md +24 -0
- package/ctx/adsm.json +5 -0
- package/ctx/agent/AGENTS.md +41 -0
- package/ctx/agent/flows/.img/flancer32-skill-adsm-ctx-github-flows.png +0 -0
- package/ctx/agent/flows/AGENTS.md +37 -0
- package/ctx/agent/flows/cfg/issues/labeled/accepted/profile.json +25 -0
- package/ctx/agent/flows/cfg/issues/labeled/accepted/prompt.md +104 -0
- package/ctx/agent/flows/cfg/issues/labeled/clarification-provided/profile.json +15 -0
- package/ctx/agent/flows/cfg/issues/labeled/clarification-provided/prompt.md +63 -0
- package/ctx/agent/flows/cfg/issues/opened/admission/profile.json +14 -0
- package/ctx/agent/flows/cfg/issues/opened/admission/prompt.md +110 -0
- package/ctx/agent/flows/cfg/profile.json +40 -0
- package/ctx/agent/flows/cfg/pull_request/closed/merged/profile.json +15 -0
- package/ctx/agent/flows/cfg/pull_request/closed/merged/prompt.md +41 -0
- package/ctx/agent/flows/cfg/pull_request/labeled/needs-fix/profile.json +25 -0
- package/ctx/agent/flows/cfg/pull_request/labeled/needs-fix/prompt.md +79 -0
- package/ctx/agent/flows/cfg/pull_request/labeled/ready-for-validation/profile.json +15 -0
- package/ctx/agent/flows/cfg/pull_request/labeled/ready-for-validation/prompt.md +72 -0
- package/ctx/agent/flows/cfg/pull_request/labeled/verified/profile.json +15 -0
- package/ctx/agent/flows/cfg/pull_request/labeled/verified/prompt.md +48 -0
- package/ctx/agent/flows/deployment.md +116 -0
- package/ctx/agent/flows/labels.md +108 -0
- package/ctx/agent/flows/overview.md +82 -0
- package/ctx/agent/prompt/cli/ai-intro.md +141 -0
- package/ctx/assets/.gitkeep +1 -0
- package/ctx/docs/AGENTS.md +121 -0
- package/ctx/docs/ai-intro.md +37 -0
- package/ctx/docs/architecture/AGENTS.md +98 -0
- package/ctx/docs/architecture/behavior.md +68 -0
- package/ctx/docs/architecture/checklists.md +48 -0
- package/ctx/docs/architecture/constraints.md +53 -0
- package/ctx/docs/architecture/constraints.skin.en.md +38 -0
- package/ctx/docs/architecture/decisions.md +118 -0
- package/ctx/docs/architecture/integration.md +31 -0
- package/ctx/docs/architecture/overview.md +76 -0
- package/ctx/docs/architecture/state.md +50 -0
- package/ctx/docs/architecture/structure.md +38 -0
- package/ctx/docs/architecture/supervision.md +71 -0
- package/ctx/docs/code/AGENTS.md +51 -0
- package/ctx/docs/code/overview.md +53 -0
- package/ctx/docs/code/testing.md +26 -0
- package/ctx/docs/environment/AGENTS.md +50 -0
- package/ctx/docs/environment/overview.md +33 -0
- package/ctx/docs/filesystem.md +44 -0
- package/ctx/docs/product/AGENTS.md +51 -0
- package/ctx/docs/product/domain.md +63 -0
- package/ctx/docs/product/domain.skin.en.md +40 -0
- package/ctx/docs/product/glossary.md +31 -0
- package/ctx/docs/product/overview.md +112 -0
- package/ctx/docs/product/overview.skin.en.md +38 -0
- package/ctx/docs/product/roles.md +17 -0
- package/ctx/docs/product/use-cases.md +15 -0
- package/jsconfig.json +12 -0
- package/migrations/README.md +9 -0
- package/package.json +33 -0
- package/skill/SKILL.md +47 -0
- package/skill/references/agents-hierarchy.md +45 -0
- package/skill/references/context-lifecycle.md +53 -0
- package/skill/references/design-questionnaire.md +44 -0
- package/skill/references/document-projections.md +290 -0
- package/skill/references/documentation-compression.md +117 -0
- package/skill/references/documentation-quality-audit.md +199 -0
- package/skill/references/orchestration-model.md +41 -0
- package/skill/references/specialized-skills.md +31 -0
- package/skill/references/upgrade-policy.md +19 -0
- package/skill/templates/AGENTS.md +120 -0
- package/skill/templates/ai/AGENTS.md +59 -0
- package/skill/templates/ctx/AGENTS.md +45 -0
- package/skill/templates/ctx/README.md +27 -0
- package/skill/templates/ctx/adsm.json +7 -0
- package/skill/templates/ctx/agent/AGENTS.md +36 -0
- package/skill/templates/ctx/assets/.gitkeep +1 -0
- package/skill/templates/ctx/docs/AGENTS.md +55 -0
- package/skill/templates/ctx/docs/ai-intro.md +53 -0
- package/skill/templates/ctx/docs/architecture/AGENTS.md +42 -0
- package/skill/templates/ctx/docs/architecture/behavior.md +38 -0
- package/skill/templates/ctx/docs/architecture/checklists.md +25 -0
- package/skill/templates/ctx/docs/architecture/constraints.md +36 -0
- package/skill/templates/ctx/docs/architecture/decisions.md +33 -0
- package/skill/templates/ctx/docs/architecture/integration.md +27 -0
- package/skill/templates/ctx/docs/architecture/overview.md +73 -0
- package/skill/templates/ctx/docs/architecture/state.md +52 -0
- package/skill/templates/ctx/docs/architecture/structure.md +32 -0
- package/skill/templates/ctx/docs/architecture/supervision.md +61 -0
- package/skill/templates/ctx/docs/code/AGENTS.md +35 -0
- package/skill/templates/ctx/docs/code/overview.md +21 -0
- package/skill/templates/ctx/docs/code/testing.md +13 -0
- package/skill/templates/ctx/docs/environment/AGENTS.md +34 -0
- package/skill/templates/ctx/docs/environment/overview.md +21 -0
- package/skill/templates/ctx/docs/filesystem.md +39 -0
- package/skill/templates/ctx/docs/product/AGENTS.md +38 -0
- package/skill/templates/ctx/docs/product/domain.md +77 -0
- package/skill/templates/ctx/docs/product/glossary.md +110 -0
- package/skill/templates/ctx/docs/product/overview.md +74 -0
- package/skill/templates/ctx/docs/product/roles.md +100 -0
- package/skill/templates/ctx/docs/product/use-cases.md +109 -0
- package/skill/templates/work/context/semantic-skin.md +27 -0
- package/skill/templates/work/report/documentation-compression.md +34 -0
- package/skill/templates/work/report/documentation-quality-audit.md +90 -0
- package/src/Bootstrap/Cli.mjs +62 -0
- package/src/Bootstrap.mjs +108 -0
- package/src/Design/Service.mjs +36 -0
- package/src/Init/Service.mjs +136 -0
- package/src/Shared/Constants.mjs +36 -0
- package/src/Shared/CopyDirectory.mjs +78 -0
- package/src/Shared/Metadata.mjs +30 -0
- package/src/Shared/Path.mjs +38 -0
- package/src/Skill/Installer.mjs +47 -0
- package/src/Upgrade/Service.mjs +44 -0
- package/src/Validate/Service.mjs +879 -0
- package/test/integration/.gitkeep +1 -0
- package/test/integration/cli-help.test.mjs +15 -0
- package/test/integration/cli-init-validate.test.mjs +223 -0
- package/test/integration/cli-install-skill.test.mjs +41 -0
- package/test/unit/Bootstrap/Cli.test.mjs +23 -0
- package/test/unit/Bootstrap.test.mjs +53 -0
- package/test/unit/Design/Service.test.mjs +11 -0
- package/test/unit/Init/Service.test.mjs +51 -0
- package/test/unit/Shared/Constants.test.mjs +21 -0
- package/test/unit/Shared/CopyDirectory.test.mjs +31 -0
- package/test/unit/Shared/Metadata.test.mjs +9 -0
- package/test/unit/Shared/Path.test.mjs +11 -0
- package/test/unit/Skill/Installer.test.mjs +20 -0
- package/test/unit/Upgrade/Service.test.mjs +13 -0
- package/test/unit/Validate/Service.test.mjs +760 -0
- package/types.d.ts +15 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
# Documentation Projections
|
|
2
|
+
|
|
3
|
+
- Path: `skill/references/document-projections.md`
|
|
4
|
+
- Changed: `20260715`
|
|
5
|
+
|
|
6
|
+
Use this reference whenever an agent initializes, designs, validates, audits, compresses, or upgrades ADSM documentation under `ctx/docs/`.
|
|
7
|
+
|
|
8
|
+
## Core Model
|
|
9
|
+
|
|
10
|
+
ADSM documentation is agent-first by default and canonical agent documents are written in English unless a more specific rule applies.
|
|
11
|
+
|
|
12
|
+
Humans control meaning through optional semantic skins.
|
|
13
|
+
|
|
14
|
+
Agents maintain detailed operational context documents and keep them aligned with matching skins when those skins exist.
|
|
15
|
+
|
|
16
|
+
Default file roles under `ctx/docs/**`:
|
|
17
|
+
|
|
18
|
+
- ordinary `*.md` files are agent-facing operational context documents;
|
|
19
|
+
- `*.skin.<lang>.md` files are human-facing semantic skins in the explicitly named language;
|
|
20
|
+
- `AGENTS.md` files are short local reading, editing, and routing instructions for agents;
|
|
21
|
+
- generated reports and work artifacts outside installed project-facing context are not durable context documents;
|
|
22
|
+
- visual, generated, rendered, or auxiliary artifacts belong under `ctx/assets/**`, not under `ctx/docs/**`.
|
|
23
|
+
|
|
24
|
+
## Agent Documents
|
|
25
|
+
|
|
26
|
+
An agent document is an ordinary `*.md` document under `ctx/docs/**`.
|
|
27
|
+
|
|
28
|
+
Agent documents may be detailed, explicit, dense, and operational.
|
|
29
|
+
|
|
30
|
+
When relevant, agent documents define:
|
|
31
|
+
|
|
32
|
+
- entities;
|
|
33
|
+
- relations;
|
|
34
|
+
- invariants;
|
|
35
|
+
- boundaries;
|
|
36
|
+
- allowed changes;
|
|
37
|
+
- forbidden changes;
|
|
38
|
+
- expected behavior;
|
|
39
|
+
- escalation conditions;
|
|
40
|
+
- level boundaries;
|
|
41
|
+
- cross-document consistency rules.
|
|
42
|
+
|
|
43
|
+
Agent documents are optimized for agent interpretation and execution.
|
|
44
|
+
|
|
45
|
+
They are not required to have matching skins.
|
|
46
|
+
|
|
47
|
+
An agent document should reduce ambiguity and statistical guessing by making explicit, when relevant:
|
|
48
|
+
|
|
49
|
+
- the described object;
|
|
50
|
+
- current truth;
|
|
51
|
+
- scope and boundaries;
|
|
52
|
+
- terms;
|
|
53
|
+
- requirements;
|
|
54
|
+
- forbidden actions;
|
|
55
|
+
- file and directory references;
|
|
56
|
+
- verification methods;
|
|
57
|
+
- authority chain;
|
|
58
|
+
- the relationship to a paired `*.skin.<lang>.md` document when such a document exists.
|
|
59
|
+
|
|
60
|
+
## Semantic Skins
|
|
61
|
+
|
|
62
|
+
A skin is a `*.skin.<lang>.md` document in the same directory as its matching agent document.
|
|
63
|
+
|
|
64
|
+
Pairing rule:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
name.md
|
|
68
|
+
name.skin.en.md
|
|
69
|
+
name.skin.ru.md
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Use a lowercase ISO 639-1 language code such as `en`, `ru`, or `es`; use a regional tag only when a real regional distinction is needed. An unmarked `name.skin.md` is invalid.
|
|
73
|
+
|
|
74
|
+
One agent document and all skins sharing its basename form one document group. A skin represents the same cognitive content for humans, but may reorganize or explain it for its named audience and is not required to be a literal translation.
|
|
75
|
+
|
|
76
|
+
A skin is not a summary.
|
|
77
|
+
|
|
78
|
+
A skin is a human-facing semantic layer.
|
|
79
|
+
|
|
80
|
+
Its job is to help a human quickly restore the correct purpose, mental model, scope, and invariants of the same object described by the paired agent document.
|
|
81
|
+
|
|
82
|
+
Skins should stay compact and easy to read during supervision.
|
|
83
|
+
|
|
84
|
+
Recommended skin structure:
|
|
85
|
+
|
|
86
|
+
```md
|
|
87
|
+
# <Title>
|
|
88
|
+
|
|
89
|
+
## Purpose
|
|
90
|
+
|
|
91
|
+
One short sentence.
|
|
92
|
+
|
|
93
|
+
## Mental Model
|
|
94
|
+
|
|
95
|
+
One or two short paragraphs.
|
|
96
|
+
|
|
97
|
+
## Scope
|
|
98
|
+
|
|
99
|
+
Includes:
|
|
100
|
+
|
|
101
|
+
- one to three items.
|
|
102
|
+
|
|
103
|
+
Excludes:
|
|
104
|
+
|
|
105
|
+
- one to three items.
|
|
106
|
+
|
|
107
|
+
## Invariants
|
|
108
|
+
|
|
109
|
+
- normally no more than five to seven items.
|
|
110
|
+
|
|
111
|
+
## Agent Document
|
|
112
|
+
|
|
113
|
+
`name.md`
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Equivalent section titles are acceptable when the meaning remains clear.
|
|
117
|
+
|
|
118
|
+
Do not move detailed operational instructions, verification checklists, implementation workflows, or exhaustive inventories into skins.
|
|
119
|
+
|
|
120
|
+
Skin compactness is guided first by section budgets and only second by total content words.
|
|
121
|
+
|
|
122
|
+
For validation, content-word counting ignores headings and document metadata where practical, strips fenced code blocks, and counts the remaining prose and list text.
|
|
123
|
+
|
|
124
|
+
Deterministic validation treats up to 160 content words as normal, 161 through 240 content words as a warning range, and anything above 240 as an error.
|
|
125
|
+
|
|
126
|
+
Missing skins are acceptable unless the document is a key human-direction document where preserving human intent is especially important.
|
|
127
|
+
|
|
128
|
+
## Read And Edit Behavior
|
|
129
|
+
|
|
130
|
+
Before changing an agent document, check whether matching skins exist.
|
|
131
|
+
|
|
132
|
+
If matching skins exist, read every matching skin before editing the agent document.
|
|
133
|
+
|
|
134
|
+
Agent document edits must preserve the skin's purpose, mental model, scope, and invariants.
|
|
135
|
+
|
|
136
|
+
Report a required human decision instead of editing when a requested change would:
|
|
137
|
+
|
|
138
|
+
- violate a skin invariant;
|
|
139
|
+
- alter the visible meaning controlled by the skin;
|
|
140
|
+
- add or preserve skin requirements that are not tracked in the agent document;
|
|
141
|
+
- turn a bounded concept into a different concept.
|
|
142
|
+
|
|
143
|
+
If an agent document and skin already conflict, report projection drift.
|
|
144
|
+
|
|
145
|
+
Do not silently resolve projection drift by changing the skin.
|
|
146
|
+
|
|
147
|
+
## Projection Drift
|
|
148
|
+
|
|
149
|
+
Projection drift includes:
|
|
150
|
+
|
|
151
|
+
- an agent document contradicts any matching skin;
|
|
152
|
+
- a skin exists without a matching agent document;
|
|
153
|
+
- an agent document edit would require weakening skin-controlled meaning;
|
|
154
|
+
- a skin accumulates detailed operational content that belongs in the agent document;
|
|
155
|
+
- an asset introduces meaning not present in agent or skin documents.
|
|
156
|
+
|
|
157
|
+
Validation should report structural drift such as orphan skins.
|
|
158
|
+
|
|
159
|
+
Audit, compression, and upgrade work should report semantic drift when it can be evidenced from the documents.
|
|
160
|
+
|
|
161
|
+
## Documentation Levels And Substructure
|
|
162
|
+
|
|
163
|
+
ADSM defines only four top-level documentation levels under `ctx/docs/`:
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
ctx/docs/product/
|
|
167
|
+
ctx/docs/architecture/
|
|
168
|
+
ctx/docs/environment/
|
|
169
|
+
ctx/docs/code/
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Their meanings:
|
|
173
|
+
|
|
174
|
+
- `product` — product meaning;
|
|
175
|
+
- `architecture` — engineering structure;
|
|
176
|
+
- `environment` — runtime and deployment context;
|
|
177
|
+
- `code` — implementation mapping.
|
|
178
|
+
|
|
179
|
+
ADSM may provide baseline templates and recommendations, but it must not impose a rigid internal subtree inside those levels.
|
|
180
|
+
|
|
181
|
+
Project-specific nested subdirectories are allowed and should be used when they improve maintainability.
|
|
182
|
+
|
|
183
|
+
Valid examples:
|
|
184
|
+
|
|
185
|
+
```text
|
|
186
|
+
ctx/docs/product/domain/ingress.md
|
|
187
|
+
ctx/docs/product/domain/memory.md
|
|
188
|
+
ctx/docs/architecture/runtime/agent-execution.md
|
|
189
|
+
ctx/docs/environment/deployment/vps.md
|
|
190
|
+
ctx/docs/code/modules/orchestrator.md
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Flat files remain allowed when suitable.
|
|
194
|
+
|
|
195
|
+
Do not require flat prefixed names such as `domain-ingress.md` when nested directories are clearer.
|
|
196
|
+
|
|
197
|
+
Each of the four documentation levels should contain no more than nine direct subdirectories and no more than nine direct ordinary files. The service-control file `AGENTS.md` and all matching `*.skin.<lang>.md` files are excluded, so an agent document and all of its skins count as one document group. This is a maintainability recommendation, not a reason to collapse meaningful structure.
|
|
198
|
+
|
|
199
|
+
When a level deliberately exceeds either value, its own `AGENTS.md` must include a `## Documentation Capacity Exception` section that explicitly records the intentional exception and its reason. Deterministic validation warns about the exceeded recommendation and reports an error when this explicit local declaration is absent.
|
|
200
|
+
|
|
201
|
+
Do not require `README.md` inside `ctx/docs/`.
|
|
202
|
+
|
|
203
|
+
## Assets
|
|
204
|
+
|
|
205
|
+
Visual, generated, rendered, or auxiliary artifacts belong under `ctx/assets/**`.
|
|
206
|
+
|
|
207
|
+
Examples:
|
|
208
|
+
|
|
209
|
+
```text
|
|
210
|
+
ctx/assets/product/domain/main-map.mmd
|
|
211
|
+
ctx/assets/product/domain/main-map.svg
|
|
212
|
+
ctx/assets/architecture/lifecycle/signal-flow.svg
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
Assets may be linked from agent or skin documents.
|
|
216
|
+
|
|
217
|
+
Assets illustrate or render meaning.
|
|
218
|
+
|
|
219
|
+
Assets must not introduce authoritative project meaning.
|
|
220
|
+
|
|
221
|
+
If an asset conflicts with agent or skin documents, update the source documents or regenerate the asset.
|
|
222
|
+
|
|
223
|
+
Do not treat the asset as authoritative over agent or skin documents.
|
|
224
|
+
|
|
225
|
+
## AGENTS.md Role
|
|
226
|
+
|
|
227
|
+
`AGENTS.md` files are local agent instruction and routing files.
|
|
228
|
+
|
|
229
|
+
They should explain:
|
|
230
|
+
|
|
231
|
+
- what the current directory contains;
|
|
232
|
+
- how agents should read documents in this directory;
|
|
233
|
+
- how agents should edit documents in this directory;
|
|
234
|
+
- which agent/skin rules apply locally;
|
|
235
|
+
- when to escalate to the human;
|
|
236
|
+
- which subdirectories are project-specific and should not be flattened or removed without reason.
|
|
237
|
+
|
|
238
|
+
Keep `AGENTS.md` files short.
|
|
239
|
+
|
|
240
|
+
Do not use `AGENTS.md` as a replacement for agent documents or skins.
|
|
241
|
+
|
|
242
|
+
## Audit Rules
|
|
243
|
+
|
|
244
|
+
Documentation quality audit should:
|
|
245
|
+
|
|
246
|
+
- recursively include ordinary `*.md` agent documents under the four top-level documentation levels;
|
|
247
|
+
- classify `*.skin.<lang>.md` files as human-facing semantic skins;
|
|
248
|
+
- detect agent/skin document groups by same basename and directory;
|
|
249
|
+
- report orphan skins;
|
|
250
|
+
- check whether skins are compact human-facing semantic layers rather than operational documents;
|
|
251
|
+
- check whether agent documents preserve matching skin meaning and carry the operational requirements behind them;
|
|
252
|
+
- check whether a missing skin is acceptable or suspicious for key human-direction documents;
|
|
253
|
+
- report projection drift separately from ordinary editorial issues;
|
|
254
|
+
- exclude `ctx/assets/**` from the primary agent-document corpus while checking referenced assets for obvious authority conflicts.
|
|
255
|
+
|
|
256
|
+
Deterministic validation should:
|
|
257
|
+
|
|
258
|
+
- require every `*.skin.<lang>.md` file to have a paired non-skin `*.md` document and an explicit valid language marker;
|
|
259
|
+
- require the standard skin sections and the `Agent Document` reference;
|
|
260
|
+
- require both `Includes:` and `Excludes:` blocks inside the skin `Scope` section;
|
|
261
|
+
- verify local markdown document links under `ctx/docs/**`;
|
|
262
|
+
- warn when a documentation level contains more than nine direct directories or more than nine direct ordinary files (excluding `AGENTS.md` and paired `*.skin.<lang>.md` files), and require an explicit `Documentation Capacity Exception` in that level's `AGENTS.md`;
|
|
263
|
+
- measure skin compactness using only the content of `Purpose`, `Mental Model`, `Scope`, and `Invariants`; exclude metadata, headings, and `Agent Document`; count Unicode-aware words and meaningful list items only; warn above 160 words or 12 list items and fail above 240 words or 20 list items;
|
|
264
|
+
- keep ordinary agent-document shape checks minimal instead of imposing a rigid body template.
|
|
265
|
+
|
|
266
|
+
## Compression Rules
|
|
267
|
+
|
|
268
|
+
Documentation compression may reduce agent-document size and redundancy.
|
|
269
|
+
|
|
270
|
+
Compression must not:
|
|
271
|
+
|
|
272
|
+
- rewrite skin-controlled meaning without a human decision;
|
|
273
|
+
- convert a skin into a full agent document;
|
|
274
|
+
- delete a skin because its matching agent document is detailed;
|
|
275
|
+
- flatten useful nested subdirectories;
|
|
276
|
+
- move authoritative meaning into assets.
|
|
277
|
+
|
|
278
|
+
When compressing an agent document with a matching skin, preserve the skin's purpose, mental model, scope, and invariants.
|
|
279
|
+
|
|
280
|
+
When an agent document contains human-facing semantic framing that should be preserved independently for human supervision, recommend extracting a matching skin unless the human has not authorized that migration.
|
|
281
|
+
|
|
282
|
+
## Upgrade Rules
|
|
283
|
+
|
|
284
|
+
Upgrades should:
|
|
285
|
+
|
|
286
|
+
- preserve existing agent documents and project-specific nested subdirectories;
|
|
287
|
+
- add or recommend skins only where human semantic control is clear;
|
|
288
|
+
- report orphan skins and agent/skin conflicts;
|
|
289
|
+
- avoid introducing required `README.md` files inside `ctx/docs/`;
|
|
290
|
+
- keep assets under `ctx/assets/**`.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Documentation Compression
|
|
2
|
+
|
|
3
|
+
- Path: `skill/references/documentation-compression.md`
|
|
4
|
+
- Changed: `20260708`
|
|
5
|
+
|
|
6
|
+
Use this reference when an agent must compress an existing ADSM cognitive documentation corpus while preserving accepted project meaning.
|
|
7
|
+
|
|
8
|
+
Documentation compression is a controlled rewrite mode. It may modify documents, but only to reduce attention cost, improve density, remove duplication, and relocate durable meaning to its authoritative home.
|
|
9
|
+
|
|
10
|
+
It is not a quality audit, not automatic semantic scoring, and not permission to reinterpret the project.
|
|
11
|
+
|
|
12
|
+
## Start Prompt
|
|
13
|
+
|
|
14
|
+
Compress the project cognitive documentation corpus under `ctx/docs/`.
|
|
15
|
+
|
|
16
|
+
Follow this method:
|
|
17
|
+
|
|
18
|
+
1. Read the applicable `AGENTS.md` hierarchy from the repository root to the target documentation scope. For the default scope, this means the hierarchy from the repository root to `ctx/docs/`.
|
|
19
|
+
2. Read `skill/references/document-projections.md` for agent/skin classification and projection drift rules.
|
|
20
|
+
3. Use `ctx/docs/` as the default corpus unless the human explicitly provides another scope.
|
|
21
|
+
4. Exclude operational context outside `ctx/docs/` by default, including `ctx/agent/`, workflow configuration, prompt assets, generated reports, runtime materials, and `ctx/assets/**`.
|
|
22
|
+
5. Treat ordinary `*.md` files as agent-facing operational context documents and `*.skin.<lang>.md` files as human-facing semantic skins.
|
|
23
|
+
6. Identify authoritative agent documents, refinement documents, navigation documents, agent/skin pairs, orphan skins, projection drift, and duplicated responsibility areas.
|
|
24
|
+
7. Preserve product intent, domain meaning, architecture boundaries, decisions, constraints, roles, state ownership, environment assumptions, code rules, and skin-controlled meaning.
|
|
25
|
+
8. Remove or reduce only redundant wording, obvious descriptions, repeated definitions, process narration, low-density text, and skill-methodology noise that does not define project meaning.
|
|
26
|
+
9. Move duplicated durable meaning to its authoritative home instead of keeping parallel definitions.
|
|
27
|
+
10. Avoid replacing precise rules with vague summaries.
|
|
28
|
+
11. Avoid inventing, weakening, generalizing, or silently deleting project-specific knowledge.
|
|
29
|
+
12. Update `Changed` attributes for every modified context document.
|
|
30
|
+
13. Report non-editorial uncertainty and skin contradictions as human decisions instead of resolving them by rewrite.
|
|
31
|
+
14. Use `templates/work/report/documentation-compression.md` as the report structure when a file report is requested.
|
|
32
|
+
|
|
33
|
+
## Corpus Selection
|
|
34
|
+
|
|
35
|
+
The default corpus is `ctx/docs/`.
|
|
36
|
+
|
|
37
|
+
Documentation compression is intended for declarative project documentation: product, architecture, environment, code, and other project documentation levels under `ctx/docs/`.
|
|
38
|
+
|
|
39
|
+
Do not include operational context outside `ctx/docs/` by default, including `ctx/agent/`, generated reports, prompt assets, workflow configuration, runtime materials, `ctx/assets/**`, or other agent-operation artifacts.
|
|
40
|
+
|
|
41
|
+
When the human gives a narrower scope, compress only that scope and the upstream documents required to preserve its meaning.
|
|
42
|
+
|
|
43
|
+
When the human explicitly gives a broader non-`ctx/docs/` scope, apply the applicable `AGENTS.md` hierarchy and report that the compression target is outside the default documentation corpus.
|
|
44
|
+
|
|
45
|
+
When `ctx/docs/filesystem.md` exists, include it in the default corpus as a repository navigation map. Keep it limited to its declared level boundary.
|
|
46
|
+
|
|
47
|
+
Absence of a matching skin does not make an agent document invalid.
|
|
48
|
+
|
|
49
|
+
## Authority Mapping
|
|
50
|
+
|
|
51
|
+
Before rewriting, classify documents and meaning areas:
|
|
52
|
+
|
|
53
|
+
- authoritative documents define accepted source-of-truth meaning for their level;
|
|
54
|
+
- refinement documents add lower-level precision without redefining upstream meaning;
|
|
55
|
+
- navigation documents orient readers to structure and dependencies;
|
|
56
|
+
- semantic skins govern matching agent documents through short human-controlled meaning;
|
|
57
|
+
- duplicated responsibility areas contain the same durable meaning in more than one place.
|
|
58
|
+
|
|
59
|
+
Each durable meaning should have one authoritative home. When the same meaning appears in multiple places, keep or move the durable statement to the authoritative home and replace secondary copies with a compact reference only when useful.
|
|
60
|
+
|
|
61
|
+
Do not move meaning across product, architecture, environment, or code boundaries in a way that changes authority.
|
|
62
|
+
|
|
63
|
+
## Safe Compression
|
|
64
|
+
|
|
65
|
+
Safe compression may:
|
|
66
|
+
|
|
67
|
+
- remove repeated wording that restates the same durable meaning;
|
|
68
|
+
- shorten verbose explanations that add no new fact, rule, boundary, decision, or useful distinction;
|
|
69
|
+
- remove skill-methodology explanation from project-facing documents when that explanation does not define project meaning;
|
|
70
|
+
- replace obvious descriptions with precise project-specific statements;
|
|
71
|
+
- merge duplicated definitions into the authoritative document;
|
|
72
|
+
- remove process narration that does not define accepted project behavior;
|
|
73
|
+
- compress agent documents while preserving matching skin-controlled meaning;
|
|
74
|
+
- keep skins compact and human-readable without turning them into operational agent documents;
|
|
75
|
+
- tighten headings, lists, and navigation text without changing meaning.
|
|
76
|
+
|
|
77
|
+
Safe compression preserves:
|
|
78
|
+
|
|
79
|
+
- product intent and scope;
|
|
80
|
+
- domain terms and relationships;
|
|
81
|
+
- role and authority boundaries;
|
|
82
|
+
- architecture boundaries and decisions;
|
|
83
|
+
- state ownership and sources of truth;
|
|
84
|
+
- environment assumptions;
|
|
85
|
+
- code rules and implementation constraints;
|
|
86
|
+
- documented exclusions and non-goals.
|
|
87
|
+
|
|
88
|
+
## Unsafe Semantic Change
|
|
89
|
+
|
|
90
|
+
Unsafe semantic change includes:
|
|
91
|
+
|
|
92
|
+
- inventing missing product facts, requirements, domain entities, architecture boundaries, roles, integrations, state ownership, environment assumptions, or code rules;
|
|
93
|
+
- weakening mandatory language into optional or vague language;
|
|
94
|
+
- generalizing project-specific rules into generic advice;
|
|
95
|
+
- deleting exclusions, constraints, rejected alternatives, or decision rationale because they appear verbose;
|
|
96
|
+
- choosing between contradictory documents without evidence;
|
|
97
|
+
- hiding uncertainty by writing a confident summary;
|
|
98
|
+
- moving meaning to a document whose level is not authoritative for that meaning;
|
|
99
|
+
- changing an agent document in a way that contradicts its matching skin;
|
|
100
|
+
- deleting or weakening a skin-controlled invariant without a human decision;
|
|
101
|
+
- moving authoritative project meaning into `ctx/assets/**`;
|
|
102
|
+
- changing workflow, operational, or runtime semantics outside the requested documentation scope.
|
|
103
|
+
|
|
104
|
+
When a rewrite would require unsafe semantic change, stop that edit and report the uncertainty as a human decision.
|
|
105
|
+
|
|
106
|
+
## Reporting
|
|
107
|
+
|
|
108
|
+
The final report should identify:
|
|
109
|
+
|
|
110
|
+
- compressed files;
|
|
111
|
+
- preserved authoritative meanings;
|
|
112
|
+
- removed redundancy;
|
|
113
|
+
- moved meanings and their new authoritative homes;
|
|
114
|
+
- human decisions required;
|
|
115
|
+
- unresolved risks.
|
|
116
|
+
|
|
117
|
+
When no report file is requested, include this information in the final response.
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Documentation Quality Audit
|
|
2
|
+
|
|
3
|
+
- Path: `skill/references/documentation-quality-audit.md`
|
|
4
|
+
- Changed: `20260708`
|
|
5
|
+
|
|
6
|
+
Use this reference when an agent must audit an existing documentation corpus as an ADSM cognitive context.
|
|
7
|
+
|
|
8
|
+
The audit checks whether the corpus is usable as operational memory for humans and agents. It is not a structural `validate` pass and it is not an automatic rewrite pass.
|
|
9
|
+
|
|
10
|
+
Run deterministic `validate` first and fix blocking structural failures before starting this audit.
|
|
11
|
+
|
|
12
|
+
## Start Prompt
|
|
13
|
+
|
|
14
|
+
Audit the documentation corpus of this project against the ADSM documentation quality criteria.
|
|
15
|
+
|
|
16
|
+
Follow this method:
|
|
17
|
+
|
|
18
|
+
1. Read the applicable `AGENTS.md` hierarchy from the repository root to `ctx/docs/`, unless the user explicitly gives another documentation scope.
|
|
19
|
+
2. Read `skill/references/document-projections.md` for agent/skin classification and projection drift rules.
|
|
20
|
+
3. Identify the audit corpus under `ctx/docs/`, including nested documentation under `product/`, `architecture/`, `environment/`, and `code/`.
|
|
21
|
+
4. Classify ordinary `*.md` files as agent-facing operational context documents, `*.skin.<lang>.md` files as human-facing semantic skins, and `AGENTS.md` files as local agent routing instructions.
|
|
22
|
+
5. Build a compact documentation map that shows source-of-truth agent documents, refinement relationships, agent/skin pairs, orphan skins, projection drift, and duplicated responsibility areas.
|
|
23
|
+
6. Evaluate the corpus against the eight ADSM documentation quality criteria and the projection-specific checks below after deterministic validation is clean or warning-only.
|
|
24
|
+
7. Check whether project-facing documents govern the project rather than explaining ADSM methodology to themselves.
|
|
25
|
+
8. Report only evidence-backed findings, with file references and the violated criterion.
|
|
26
|
+
9. Separate findings that can be fixed editorially from findings that require cross-document synchronization, upstream documentation changes, projection-drift resolution, or human decisions.
|
|
27
|
+
10. Do not invent missing product facts, architecture boundaries, authority rules, workflow semantics, or implementation behavior.
|
|
28
|
+
11. Use `templates/work/report/documentation-quality-audit.md` as the report structure when a file report is requested.
|
|
29
|
+
|
|
30
|
+
## Corpus Selection
|
|
31
|
+
|
|
32
|
+
The default corpus is `ctx/docs/`.
|
|
33
|
+
|
|
34
|
+
Documentation quality audit is intended for the declarative project documentation corpus.
|
|
35
|
+
|
|
36
|
+
Do not include operational context outside `ctx/docs/` by default, including `ctx/agent/`, generated reports, prompt assets, workflow configuration, or other agent-runtime materials.
|
|
37
|
+
|
|
38
|
+
When the user gives a narrower scope, audit only that scope and the upstream documents required to interpret it.
|
|
39
|
+
|
|
40
|
+
When the user explicitly gives a broader non-`ctx/docs/` scope, audit that scope according to its applicable `AGENTS.md` hierarchy and report that the audit target is outside the default documentation corpus.
|
|
41
|
+
|
|
42
|
+
When `ctx/docs/filesystem.md` exists, include it in the default corpus and use it as the repository navigation map. Do not treat it as a complete description of lower-level documentation structure.
|
|
43
|
+
|
|
44
|
+
When an `AGENTS.md` file exists inside the scope, apply it as part of the effective instruction hierarchy.
|
|
45
|
+
|
|
46
|
+
Do not include `ctx/assets/**` in the primary agent-document corpus. Check referenced assets only for obvious conflicts with agent or skin documents.
|
|
47
|
+
|
|
48
|
+
Absence of a matching skin does not make an agent document invalid.
|
|
49
|
+
|
|
50
|
+
## Quality Criteria
|
|
51
|
+
|
|
52
|
+
Apply the criteria according to the document's projection role:
|
|
53
|
+
|
|
54
|
+
- agent documents are optimized for agent interpretation and execution;
|
|
55
|
+
- skin documents are optimized for human semantic control;
|
|
56
|
+
- `AGENTS.md` files are optimized for local agent routing.
|
|
57
|
+
|
|
58
|
+
## Projection-Specific Checks
|
|
59
|
+
|
|
60
|
+
### Skin Documents
|
|
61
|
+
|
|
62
|
+
Review each `*.skin.<lang>.md` file as a human-facing semantic layer.
|
|
63
|
+
|
|
64
|
+
Check whether:
|
|
65
|
+
|
|
66
|
+
- the paired non-skin document exists when required;
|
|
67
|
+
- both documents describe the same object;
|
|
68
|
+
- the skin preserves purpose, mental model, scope, invariants, and a reference to the paired agent document;
|
|
69
|
+
- the skin adds untracked requirements not present in the paired agent document;
|
|
70
|
+
- the skin contradicts the paired agent document;
|
|
71
|
+
- the skin stays compact, human-readable, and free of excessive operational detail.
|
|
72
|
+
|
|
73
|
+
The review should answer:
|
|
74
|
+
|
|
75
|
+
- does the document work as a human-facing semantic layer;
|
|
76
|
+
- does it preserve the same meaning as the paired agent document;
|
|
77
|
+
- does it avoid operational overload;
|
|
78
|
+
- does it add untracked requirements;
|
|
79
|
+
- what must be changed.
|
|
80
|
+
|
|
81
|
+
### Agent Documents
|
|
82
|
+
|
|
83
|
+
Review each ordinary `*.md` file as an operational context document for LLM agents.
|
|
84
|
+
|
|
85
|
+
Check whether the document makes explicit, when relevant:
|
|
86
|
+
|
|
87
|
+
- the described object;
|
|
88
|
+
- current truth;
|
|
89
|
+
- scope and boundaries;
|
|
90
|
+
- terms;
|
|
91
|
+
- requirements;
|
|
92
|
+
- forbidden actions;
|
|
93
|
+
- file and directory references;
|
|
94
|
+
- verification methods;
|
|
95
|
+
- authority chain;
|
|
96
|
+
- the relationship to a paired `*.skin.<lang>.md` document if such a file exists.
|
|
97
|
+
|
|
98
|
+
The review should answer:
|
|
99
|
+
|
|
100
|
+
- does the document work as agent-facing operational context;
|
|
101
|
+
- does it reduce guessing;
|
|
102
|
+
- are current facts, future plans, requirements, prohibitions, and verification clear;
|
|
103
|
+
- are file references accurate;
|
|
104
|
+
- whether a missing skin document is acceptable or suspicious.
|
|
105
|
+
|
|
106
|
+
### Declarativity
|
|
107
|
+
|
|
108
|
+
Documentation should state stable facts, rules, boundaries, decisions, and invariants.
|
|
109
|
+
|
|
110
|
+
Report a finding when a document that should define project knowledge instead contains speculation, process narration, hidden TODOs, or unresolved intention phrased as accepted truth.
|
|
111
|
+
|
|
112
|
+
### Consistency
|
|
113
|
+
|
|
114
|
+
Documentation should not contain incompatible statements.
|
|
115
|
+
|
|
116
|
+
Check especially product versus architecture, architecture versus environment or code, glossary versus term usage, source-of-truth declarations, and higher-level boundaries versus lower-level refinements.
|
|
117
|
+
|
|
118
|
+
### Completeness
|
|
119
|
+
|
|
120
|
+
Documentation should be complete relative to declared scope.
|
|
121
|
+
|
|
122
|
+
Report a finding when the corpus names a responsibility, role, lifecycle, state, integration, authority boundary, or constraint but omits the knowledge required for an agent to act without guessing.
|
|
123
|
+
|
|
124
|
+
### Connectedness
|
|
125
|
+
|
|
126
|
+
Documentation should form a navigable knowledge model.
|
|
127
|
+
|
|
128
|
+
Report a finding when documents introduce concepts without upstream anchors, lack navigation to dependent documents, bypass the documented dependency order, or leave related knowledge isolated.
|
|
129
|
+
|
|
130
|
+
### Density
|
|
131
|
+
|
|
132
|
+
Documentation should carry project knowledge.
|
|
133
|
+
|
|
134
|
+
Report a finding when text is verbose but adds no durable fact, rule, boundary, decision, or useful distinction.
|
|
135
|
+
|
|
136
|
+
Report a finding when a project-facing document spends substantial space explaining ADSM methodology, document contracts, or skill-owned validation behavior instead of governing the project.
|
|
137
|
+
|
|
138
|
+
### Compactness
|
|
139
|
+
|
|
140
|
+
Documentation should remain small and well-partitioned enough for regular human and agent use.
|
|
141
|
+
|
|
142
|
+
Report a finding when a document mixes unrelated concerns, grows beyond its level boundary, lacks an entry map, or makes routine task orientation unnecessarily expensive.
|
|
143
|
+
|
|
144
|
+
For skin documents, compactness must be judged by human supervision cost first.
|
|
145
|
+
|
|
146
|
+
Report a finding when a skin becomes a full operational document instead of a short control surface.
|
|
147
|
+
|
|
148
|
+
Report projection drift when an agent document contradicts its matching skin or when a skin exists without a matching agent document.
|
|
149
|
+
|
|
150
|
+
### Non-Redundancy
|
|
151
|
+
|
|
152
|
+
Each durable meaning should have one authoritative home.
|
|
153
|
+
|
|
154
|
+
Report a finding when the same rule, list, decision, or semantic definition is duplicated across documents in a way that creates synchronization risk.
|
|
155
|
+
|
|
156
|
+
### Absence Of Obvious Descriptions
|
|
157
|
+
|
|
158
|
+
Documentation should not spend attention on facts obvious from filenames, common tooling, or directory names unless those facts carry project-specific meaning.
|
|
159
|
+
|
|
160
|
+
Report a finding when text merely explains that a file or directory exists, restates a heading, describes generic tool behavior, or says what an implementation artifact is without defining its project role.
|
|
161
|
+
|
|
162
|
+
## Finding Format
|
|
163
|
+
|
|
164
|
+
Each finding should include:
|
|
165
|
+
|
|
166
|
+
- criterion;
|
|
167
|
+
- severity;
|
|
168
|
+
- location;
|
|
169
|
+
- issue;
|
|
170
|
+
- evidence;
|
|
171
|
+
- impact;
|
|
172
|
+
- suggested action;
|
|
173
|
+
- decision status.
|
|
174
|
+
|
|
175
|
+
Severity values:
|
|
176
|
+
|
|
177
|
+
- `critical` — the corpus can lead agents to perform incorrect work.
|
|
178
|
+
- `high` — project meaning or authority is missing, contradictory, or duplicated in a load-bearing area.
|
|
179
|
+
- `medium` — the corpus remains usable but creates avoidable agent effort or synchronization risk.
|
|
180
|
+
- `low` — localized wording, structure, or density issue.
|
|
181
|
+
|
|
182
|
+
Decision status values:
|
|
183
|
+
|
|
184
|
+
- `editorial` — can be fixed without changing meaning.
|
|
185
|
+
- `synchronize` — requires aligning existing statements across documents.
|
|
186
|
+
- `upstream-gap` — requires adding missing meaning to a higher-level document before lower-level correction.
|
|
187
|
+
- `human-decision` — requires the human to decide product meaning, architecture boundary, authority, or workflow semantics.
|
|
188
|
+
|
|
189
|
+
## Audit Constraints
|
|
190
|
+
|
|
191
|
+
The audit must not:
|
|
192
|
+
|
|
193
|
+
- rewrite documentation unless the user explicitly asks for fixes;
|
|
194
|
+
- invent missing product facts or architecture;
|
|
195
|
+
- resolve contradictions by choosing a side without evidence;
|
|
196
|
+
- treat template guidance as project-specific truth;
|
|
197
|
+
- mark a corpus incomplete merely because it does not document out-of-scope concerns.
|
|
198
|
+
|
|
199
|
+
The audit may propose correction order and candidate edits, but it must distinguish proposals from accepted project knowledge.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Orchestration Model
|
|
2
|
+
|
|
3
|
+
- Path: `skill/references/orchestration-model.md`
|
|
4
|
+
- Changed: `20260715`
|
|
5
|
+
|
|
6
|
+
This skill is a router and baseline manager.
|
|
7
|
+
|
|
8
|
+
It is responsible for:
|
|
9
|
+
|
|
10
|
+
- generic ADSM context structure;
|
|
11
|
+
- the agent/skin documentation projection model;
|
|
12
|
+
- lifecycle guidance;
|
|
13
|
+
- baseline validation;
|
|
14
|
+
- migration entry points;
|
|
15
|
+
- the reserved boundary definition for `ctx/agent/`.
|
|
16
|
+
|
|
17
|
+
It is not responsible for inventing specialized technical or domain documentation.
|
|
18
|
+
|
|
19
|
+
For `ctx/agent/`, this skill may:
|
|
20
|
+
|
|
21
|
+
- install only `ctx/agent/AGENTS.md` as the boundary file;
|
|
22
|
+
- state that project-local subdirectories there are outside ADSM methodology;
|
|
23
|
+
- preserve project-local materials that humans or agents maintain there for concrete tools or relationships.
|
|
24
|
+
|
|
25
|
+
For `ctx/agent/`, this skill must not:
|
|
26
|
+
|
|
27
|
+
- define or require a template-managed subdirectory structure;
|
|
28
|
+
- invent tool-specific instructions, workflow semantics, or executable profiles;
|
|
29
|
+
- define a GitHub-based workflow on its own.
|
|
30
|
+
|
|
31
|
+
When specialization is needed, the agent should use a matching available skill after the generic baseline is in place.
|
|
32
|
+
|
|
33
|
+
Concrete tool-facing materials belong to project-local documentation, explicit human instruction, or an external specialized skill when one is available and relevant.
|
|
34
|
+
|
|
35
|
+
Specialized skills may add project-specific nested documentation under the four top-level `ctx/docs` levels, but they must preserve agent/skin pairing rules and keep artifacts under `ctx/assets/**`.
|
|
36
|
+
|
|
37
|
+
## Template Boundary
|
|
38
|
+
|
|
39
|
+
`templates/ctx/` is the reusable initialization baseline. It may establish generic structure, starter documents, and the `ctx/agent/AGENTS.md` boundary, but it must not add project-specific facts or detailed ADSM methodology to project-facing documents.
|
|
40
|
+
|
|
41
|
+
Keep only the minimal bootstrap signal needed to identify an ADSM context and route methodology work to this skill. Use `templates/work/` only as working material for agent operations; do not install those reports or optional semantic-skin patterns into project context by default.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Specialized Skills
|
|
2
|
+
|
|
3
|
+
- Path: `skill/references/specialized-skills.md`
|
|
4
|
+
- Changed: `20260708`
|
|
5
|
+
|
|
6
|
+
Use specialized skills when the project context requires knowledge that should not live in this generic lifecycle skill.
|
|
7
|
+
|
|
8
|
+
Examples of specialization signals:
|
|
9
|
+
|
|
10
|
+
- browser-side web application structure;
|
|
11
|
+
- backend application architecture;
|
|
12
|
+
- data or persistence modeling;
|
|
13
|
+
- deployment and runtime environment design;
|
|
14
|
+
- tool-specific agent instructions or workflow design for a concrete execution engine or host platform.
|
|
15
|
+
|
|
16
|
+
Tool-specific specialization signals include:
|
|
17
|
+
|
|
18
|
+
- concrete GitHub events, labels, Pull Request lifecycle rules, prompts, or profile fragments;
|
|
19
|
+
- engine-specific routing schemas or executable workflow configuration;
|
|
20
|
+
- project-specific agent role definitions tied to one automation engine.
|
|
21
|
+
|
|
22
|
+
GitHub-based workflow design, including GitHub events, labels, Pull Request lifecycle, prompts, profiles, and executable routing configuration, should use an external specialized skill when available.
|
|
23
|
+
|
|
24
|
+
If no specialized skill is available, preserve the project-local structure already in use under `ctx/agent/`, keep any accepted tool semantics already defined by the project or the human, and record the missing specialization area explicitly instead of inventing unsupported details.
|
|
25
|
+
|
|
26
|
+
Specialized skills must preserve ADSM's documentation projection model:
|
|
27
|
+
|
|
28
|
+
- ordinary `*.md` files under `ctx/docs/**` are agent-facing operational context documents;
|
|
29
|
+
- `*.skin.<lang>.md` files are human-facing semantic skins for matching agent documents;
|
|
30
|
+
- nested subdirectories inside the four top-level documentation levels are allowed;
|
|
31
|
+
- visual, generated, rendered, and auxiliary artifacts belong under `ctx/assets/**`.
|