incitaciones 0.3.0 → 0.3.2
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/content/distilled/close/SKILL.md +3 -2
- package/content/distilled/implement-documentation/SKILL.md +29 -0
- package/content/distilled/implement-documentation/references/anti-patterns.md +35 -0
- package/content/distilled/implement-documentation/references/diataxis-implementation.md +31 -0
- package/content/distilled/implement-documentation/references/templates.md +115 -0
- package/content/distilled/implement-documentation/references/tooling-comparison.md +46 -0
- package/content/distilled/implement-documentation/references/versioning.md +31 -0
- package/content/distilled/park/SKILL.md +3 -2
- package/content/distilled/renew/SKILL.md +4 -3
- package/content/distilled/research-documentation/SKILL.md +29 -0
- package/content/distilled/research-documentation/references/checklist.md +58 -0
- package/content/distilled/research-documentation/references/llm-readiness.md +43 -0
- package/content/distilled/research-documentation/references/metrics.md +42 -0
- package/content/distilled/research-documentation/references/report-template.md +42 -0
- package/content/distilled/review-documentation/SKILL.md +49 -0
- package/content/distilled/review-documentation/references/ai-readiness-criteria.md +38 -0
- package/content/manifest.json +360 -11
- package/package.json +1 -1
- package/pi-package/skills/close/SKILL.md +3 -2
- package/pi-package/skills/implement-documentation/SKILL.md +18 -57
- package/pi-package/skills/implement-documentation/references/anti-patterns.md +35 -0
- package/pi-package/skills/implement-documentation/references/diataxis-implementation.md +31 -0
- package/pi-package/skills/implement-documentation/references/templates.md +115 -0
- package/pi-package/skills/implement-documentation/references/tooling-comparison.md +46 -0
- package/pi-package/skills/implement-documentation/references/versioning.md +31 -0
- package/pi-package/skills/park/SKILL.md +3 -2
- package/pi-package/skills/renew/SKILL.md +4 -3
- package/pi-package/skills/research-documentation/SKILL.md +19 -69
- package/pi-package/skills/research-documentation/references/checklist.md +58 -0
- package/pi-package/skills/research-documentation/references/llm-readiness.md +43 -0
- package/pi-package/skills/research-documentation/references/metrics.md +42 -0
- package/pi-package/skills/research-documentation/references/report-template.md +42 -0
- package/pi-package/skills/review-documentation/SKILL.md +45 -40
- package/pi-package/skills/review-documentation/references/ai-readiness-criteria.md +38 -0
- package/scripts/generate-pi-resources.mjs +122 -1
- package/content/distilled/implement-documentation.md +0 -68
- package/content/distilled/research-documentation.md +0 -79
- package/content/distilled/review-documentation.md +0 -44
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# AI-Readiness Criteria (Pass 5)
|
|
2
|
+
|
|
3
|
+
Deep checks for Pass 5. The basic pass (TL;DR present, headers unique, Answer First) catches surface issues; these checks catch whether the page is actually consumable by an AI agent. The canonical theory is `content/research-documentation-frameworks.md` (section "Machine Readability").
|
|
4
|
+
|
|
5
|
+
## LLM-friendly structure
|
|
6
|
+
|
|
7
|
+
- Is there a concise TL;DR (1-2 sentences) at the top suitable for context-window injection?
|
|
8
|
+
- Is the page free of navigation chrome when exported (menus, footers, ads) so the body text is clean?
|
|
9
|
+
- Is prose minimalist and high-signal? Verbose docs cost more and retrieve worse.
|
|
10
|
+
|
|
11
|
+
## RAG-compatible chunking
|
|
12
|
+
|
|
13
|
+
- Does the page cover one well-defined topic so it chunks cleanly for retrieval?
|
|
14
|
+
- Are section headings stable and unique so a chunk can be addressed precisely?
|
|
15
|
+
- Is there redundant cross-page duplication that would pollute retrieval results?
|
|
16
|
+
|
|
17
|
+
## Semantic headers
|
|
18
|
+
|
|
19
|
+
- Are headers descriptive of content, not generic ("Overview", "Details")?
|
|
20
|
+
- Are headers unique across the site so a model can disambiguate?
|
|
21
|
+
- Is front matter present (title, description, version, category) for indexing?
|
|
22
|
+
|
|
23
|
+
## Dual-audience precision
|
|
24
|
+
|
|
25
|
+
- Is language precise enough for a machine? Natural-language ambiguity a human resolves from context is opaque to an agent.
|
|
26
|
+
- Are error conditions and their meanings explicit?
|
|
27
|
+
- Are capability boundaries stated (what the tool/API can and cannot do)?
|
|
28
|
+
|
|
29
|
+
## Schema and spec sync (reference pages)
|
|
30
|
+
|
|
31
|
+
- For API reference: is it generated from or synchronized with a machine-readable spec (OpenAPI, AsyncAPI, JSDoc/TypeDoc, Sphinx autodoc)?
|
|
32
|
+
- For tool/agent docs: are MCP manifests and agent cards present with precise descriptions and JSON schemas for inputs/outputs?
|
|
33
|
+
- Are code examples complete and runnable? Agents execute what they read; partial snippets mislead.
|
|
34
|
+
|
|
35
|
+
## Site-level (flag only if the page is the canonical entry)
|
|
36
|
+
|
|
37
|
+
- Is a `llms.txt` present at the documentation root and does it reference this page where authoritative?
|
|
38
|
+
- Are canonical URLs set so a model retrieves the current stable version?
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { homedir } from "node:os";
|
|
6
|
+
import process from "node:process";
|
|
5
7
|
|
|
6
8
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
9
|
const __dirname = path.dirname(__filename);
|
|
@@ -32,6 +34,15 @@ function readText(filePath) {
|
|
|
32
34
|
return fs.readFileSync(filePath, "utf8");
|
|
33
35
|
}
|
|
34
36
|
|
|
37
|
+
function getPackageVersion() {
|
|
38
|
+
try {
|
|
39
|
+
const pkg = JSON.parse(readText(path.join(repoRoot, "package.json")));
|
|
40
|
+
return `npm:${pkg.version}`;
|
|
41
|
+
} catch {
|
|
42
|
+
return new Date().toISOString().slice(0, 10);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
35
46
|
function generateSkill(prompt) {
|
|
36
47
|
const distilledPath = path.join(repoRoot, prompt.distilled);
|
|
37
48
|
const skillDir = path.join(skillsOut, prompt.name);
|
|
@@ -83,6 +94,113 @@ function generatePromptTemplate(prompt) {
|
|
|
83
94
|
fs.writeFileSync(path.join(promptsOut, `${prompt.name}.md`), template, "utf8");
|
|
84
95
|
}
|
|
85
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Detect flat-skills directories that already have incitaciones skills installed,
|
|
99
|
+
* and re-sync them with the latest pi-package content. This ensures that
|
|
100
|
+
* pi update / npm version bumps keep flat-install locations current.
|
|
101
|
+
*
|
|
102
|
+
* Flat installs (e.g. ~/.agents/skills/) are created by install.sh and
|
|
103
|
+
* npx incitaciones install, but are NOT managed by pi's package reader
|
|
104
|
+
* (which reads directly from pi-package/skills/). Without this re-sync,
|
|
105
|
+
* a version bump leaves those directories stale.
|
|
106
|
+
*/
|
|
107
|
+
function reSyncFlatInstallSkills(manifest) {
|
|
108
|
+
const version = getPackageVersion();
|
|
109
|
+
const now = new Date().toISOString().replace("Z", "000Z");
|
|
110
|
+
const home = homedir();
|
|
111
|
+
|
|
112
|
+
// Candidate directories to check for incitaciones flat installs
|
|
113
|
+
const candidates = [
|
|
114
|
+
path.join(home, ".agents", "skills"),
|
|
115
|
+
path.join(home, ".config", "agents", "skills"),
|
|
116
|
+
];
|
|
117
|
+
|
|
118
|
+
// Also check .agents/skills in cwd for project-local installs
|
|
119
|
+
try {
|
|
120
|
+
candidates.push(path.join(process.cwd(), ".agents", "skills"));
|
|
121
|
+
} catch {}
|
|
122
|
+
|
|
123
|
+
// Deduplicate
|
|
124
|
+
const checked = new Set();
|
|
125
|
+
const dirs = candidates.filter((d) => {
|
|
126
|
+
if (checked.has(d)) return false;
|
|
127
|
+
checked.add(d);
|
|
128
|
+
return fs.existsSync(d);
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
let synced = 0;
|
|
132
|
+
for (const dir of dirs) {
|
|
133
|
+
// Check if this directory has incitaciones-installed skills
|
|
134
|
+
// by reading the first SKILL.md we find and checking its frontmatter
|
|
135
|
+
let hasIncitaciones = false;
|
|
136
|
+
try {
|
|
137
|
+
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
138
|
+
if (!entry.isDirectory()) continue;
|
|
139
|
+
const skillFile = path.join(dir, entry.name, "SKILL.md");
|
|
140
|
+
if (!fs.existsSync(skillFile)) continue;
|
|
141
|
+
const content = fs.readFileSync(skillFile, "utf8");
|
|
142
|
+
if (content.includes("installed-from: incitaciones") || content.includes("installed-from: \"incitaciones\"")) {
|
|
143
|
+
hasIncitaciones = true;
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
} catch {
|
|
148
|
+
// Permission issues, etc. — skip
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (!hasIncitaciones) continue;
|
|
153
|
+
|
|
154
|
+
// Re-sync: for each prompt in manifest, copy from pi-package/skills/ to flat dir
|
|
155
|
+
for (const prompt of manifest.prompts) {
|
|
156
|
+
const srcDir = path.join(skillsOut, prompt.name);
|
|
157
|
+
if (!fs.existsSync(srcDir)) continue;
|
|
158
|
+
|
|
159
|
+
const dstDir = path.join(dir, prompt.name);
|
|
160
|
+
fs.rmSync(dstDir, { recursive: true, force: true });
|
|
161
|
+
fs.mkdirSync(dstDir, { recursive: true });
|
|
162
|
+
|
|
163
|
+
// Generate flat-format frontmatter for SKILL.md
|
|
164
|
+
const distilledPath = path.join(repoRoot, prompt.distilled);
|
|
165
|
+
if (!fs.existsSync(distilledPath)) continue;
|
|
166
|
+
|
|
167
|
+
const description = escapeYamlDoubleQuoted(prompt.description || `Incitaciones prompt: ${prompt.name}`);
|
|
168
|
+
const frontmatter = [
|
|
169
|
+
"---",
|
|
170
|
+
`name: ${prompt.name}`,
|
|
171
|
+
`description: "${description}"`,
|
|
172
|
+
"installed-from: incitaciones",
|
|
173
|
+
`installed-version: "${version}"`,
|
|
174
|
+
`installed-at: "${now}"`,
|
|
175
|
+
"---",
|
|
176
|
+
"",
|
|
177
|
+
].join("\n");
|
|
178
|
+
|
|
179
|
+
fs.writeFileSync(path.join(dstDir, "SKILL.md"), frontmatter + readText(distilledPath), "utf8");
|
|
180
|
+
|
|
181
|
+
// Copy references/ from the source skill directory
|
|
182
|
+
if (distilledPath.endsWith(`${path.sep}SKILL.md`)) {
|
|
183
|
+
const srcRefDir = path.dirname(distilledPath);
|
|
184
|
+
for (const entry of fs.readdirSync(srcRefDir, { withFileTypes: true })) {
|
|
185
|
+
if (entry.name === "SKILL.md") continue;
|
|
186
|
+
const s = path.join(srcRefDir, entry.name);
|
|
187
|
+
const d = path.join(dstDir, entry.name);
|
|
188
|
+
if (entry.isDirectory()) {
|
|
189
|
+
fs.cpSync(s, d, { recursive: true });
|
|
190
|
+
} else {
|
|
191
|
+
fs.copyFileSync(s, d);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
synced++;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (synced > 0) {
|
|
200
|
+
console.log(`Re-synced incitaciones skills in ${synced} flat-install director(ies)`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
86
204
|
function main() {
|
|
87
205
|
const manifest = JSON.parse(readText(manifestPath));
|
|
88
206
|
resetDir(outRoot);
|
|
@@ -117,6 +235,9 @@ function main() {
|
|
|
117
235
|
fs.writeFileSync(path.join(outRoot, "README.md"), readme, "utf8");
|
|
118
236
|
|
|
119
237
|
console.log(`Generated pi resources for ${manifest.prompts.length} prompts in ${path.relative(repoRoot, outRoot)}/`);
|
|
238
|
+
|
|
239
|
+
// Re-sync any existing flat-install skill directories (e.g. ~/.agents/skills/)
|
|
240
|
+
reSyncFlatInstallSkills(manifest);
|
|
120
241
|
}
|
|
121
242
|
|
|
122
|
-
main();
|
|
243
|
+
main();
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# Implement Documentation Topic
|
|
2
|
-
|
|
3
|
-
Write a high-signal documentation topic using the Unified Frameworks for Technical Information Architecture.
|
|
4
|
-
|
|
5
|
-
## CRITICAL RULES
|
|
6
|
-
|
|
7
|
-
1. ✅ **DO:** Establish context and prerequisites in the first two sentences (EPPO).
|
|
8
|
-
2. ✅ **DO:** Lead with the answer or primary assertion in the TL;DR and first paragraph (Pyramid Principle).
|
|
9
|
-
3. ✅ **DO:** Use explicit, semantic block labels (descriptive headers) for every 2-3 paragraphs (Info Mapping).
|
|
10
|
-
4. ✅ **DO:** Provide a clear "fail-state" or troubleshooting section (Minimalism).
|
|
11
|
-
5. ❌ **DO NOT:** Mix intents (e.g., no deep theory in a How-to guide). If theory is *required* for a task, use a **Note:** or **Deep Dive:** sidebar to maintain quadrant purity.
|
|
12
|
-
6. ❌ **DO NOT:** Use "Next" or "Previous" as the only navigational cues (EPPO).
|
|
13
|
-
|
|
14
|
-
## Implementation Workflow
|
|
15
|
-
|
|
16
|
-
### Step 1: Quadrant Check
|
|
17
|
-
|
|
18
|
-
Identify the Diátaxis quadrant and follow its rhetorical rules:
|
|
19
|
-
- **Tutorial:** Action-oriented, safe environment. Use the **Martini Glass** narrative pattern: Author-driven stem (guided context) → Reader-driven bowl (open exploration).
|
|
20
|
-
- **How-to:** Task-focused, assumes baseline competence, minimal theory.
|
|
21
|
-
- **Reference:** Fact-based, scannable tables, no narrative filler.
|
|
22
|
-
- **Explanation:** Theoretical, discusses "Why," maps concepts.
|
|
23
|
-
|
|
24
|
-
### Step 2: EPPO Initialization
|
|
25
|
-
|
|
26
|
-
Every topic must stand alone. Start with:
|
|
27
|
-
- **Title:** Clear, task- or concept-focused.
|
|
28
|
-
- **Context Block:** "This topic covers [X]. You should already understand [Y] and have [Z] installed."
|
|
29
|
-
|
|
30
|
-
### Step 3: Information Mapping
|
|
31
|
-
|
|
32
|
-
Structure the body content:
|
|
33
|
-
- **Chunking:** Break large blocks into units of <7 items.
|
|
34
|
-
- **Labeling:** Use headers that describe the *result* or *content* (e.g., "Configuring the API" not just "Configuration").
|
|
35
|
-
- **Tables/Lists:** Convert complex comparisons or steps into visual structures.
|
|
36
|
-
|
|
37
|
-
### Step 4: AI-First Polish
|
|
38
|
-
|
|
39
|
-
- **Semantic Headers:** Ensure headers are descriptive for RAG indexing.
|
|
40
|
-
- **Compressed Summary:** Provide a 1-2 sentence "tl;dr" at the top for LLM ingestion.
|
|
41
|
-
|
|
42
|
-
## Template (How-to Guide)
|
|
43
|
-
|
|
44
|
-
```markdown
|
|
45
|
-
# [Task-Focused Title]
|
|
46
|
-
|
|
47
|
-
**TL;DR:** [1-sentence summary for human/AI]
|
|
48
|
-
|
|
49
|
-
## Context & Prerequisites
|
|
50
|
-
This guide explains how to [Goal]. Before starting, ensure you have:
|
|
51
|
-
- [Prerequisite 1]
|
|
52
|
-
- [Prerequisite 2]
|
|
53
|
-
|
|
54
|
-
## [Action Step 1: Specific Result]
|
|
55
|
-
[Chunked instructions]
|
|
56
|
-
|
|
57
|
-
## [Action Step 2: Specific Result]
|
|
58
|
-
[Chunked instructions]
|
|
59
|
-
|
|
60
|
-
## Troubleshooting: Common Fail-States
|
|
61
|
-
| Symptom | Cause | Fix |
|
|
62
|
-
| :--- | :--- | :--- |
|
|
63
|
-
| [Error] | [Reason] | [Solution] |
|
|
64
|
-
|
|
65
|
-
## Further Exploration
|
|
66
|
-
- [Lateral Link 1] (Subject affinity)
|
|
67
|
-
- [Lateral Link 2] (Subject affinity)
|
|
68
|
-
```
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# Research Documentation Architecture
|
|
2
|
-
|
|
3
|
-
Audit the existing documentation or plan a new suite using the Unified Frameworks for Technical Information Architecture.
|
|
4
|
-
|
|
5
|
-
## CRITICAL RULES
|
|
6
|
-
|
|
7
|
-
1. ✅ **DO:** Categorize every document into exactly one Diátaxis quadrant.
|
|
8
|
-
2. ✅ **DO:** Identify "Frankenbooks" (documents with mixed intent/quadrants).
|
|
9
|
-
3. ✅ **DO:** Map the "Snowflake" progression from Core Assertion to granular topics.
|
|
10
|
-
4. ✅ **DO:** Verify EPPO compliance (Does each page establish its own context?).
|
|
11
|
-
5. ❌ **DO NOT:** Start writing content yet; focus on architecture and gaps.
|
|
12
|
-
6. ❌ **DO NOT:** Suggest stylistic changes (focus on structural integrity).
|
|
13
|
-
|
|
14
|
-
## Process
|
|
15
|
-
|
|
16
|
-
### Step 1: Define the Scope
|
|
17
|
-
|
|
18
|
-
[User will provide a path to a documentation directory or a project description.]
|
|
19
|
-
- Identify the primary audience (Novice vs. Expert).
|
|
20
|
-
- State the "Core Assertion" (The single-sentence value proposition).
|
|
21
|
-
- **Legacy Conflict Resolution:** If existing documentation contains multiple, conflicting "hooks," identify the most impactful one or propose a synthesis for the new architecture.
|
|
22
|
-
|
|
23
|
-
### Step 2: Audit Existing Content (if applicable)
|
|
24
|
-
|
|
25
|
-
For each file in the directory, determine:
|
|
26
|
-
- **Quadrant:** (Tutorial | How-to | Reference | Explanation).
|
|
27
|
-
- **EPPO Status:** (Pass/Fail) Does it have standalone utility and context?
|
|
28
|
-
- **Cognitive Load:** Are there "walls of words" or missing labels?
|
|
29
|
-
|
|
30
|
-
### Step 3: Map the Snowflake Outline
|
|
31
|
-
|
|
32
|
-
Expand the Core Assertion into a structural map:
|
|
33
|
-
1. **Core Assertion:** [1 sentence]
|
|
34
|
-
2. **Macro-Expansion:** [1 paragraph user journey]
|
|
35
|
-
3. **Component List:** [The "characters" of the system]
|
|
36
|
-
4. **Topic Matrix:** A list of proposed EPPO topics categorized by quadrant.
|
|
37
|
-
|
|
38
|
-
### Step 4: Identify Gaps and Friction
|
|
39
|
-
|
|
40
|
-
- **Quadrant Imbalance:** e.g., "Too much reference, not enough tutorials."
|
|
41
|
-
- **Structural Plot-holes:** Where does the user journey break?
|
|
42
|
-
- **AI-Readiness Gaps:** Missing `llms.txt`, poor semantic labeling.
|
|
43
|
-
|
|
44
|
-
### Step 5: Final Research Report
|
|
45
|
-
|
|
46
|
-
Output the audit/plan using the following template:
|
|
47
|
-
|
|
48
|
-
```markdown
|
|
49
|
-
# Documentation Research: [Project Name]
|
|
50
|
-
|
|
51
|
-
## 1. Executive Summary & Core Assertion
|
|
52
|
-
**Core Assertion:** [The one-sentence hook]
|
|
53
|
-
**Status:** [Summary of current architecture health]
|
|
54
|
-
|
|
55
|
-
## 2. Diátaxis Matrix
|
|
56
|
-
| Quadrant | Existing Topics | Proposed/Missing Topics |
|
|
57
|
-
| :--- | :--- | :--- |
|
|
58
|
-
| **Tutorial** | | |
|
|
59
|
-
| **How-to** | | |
|
|
60
|
-
| **Reference** | | |
|
|
61
|
-
| **Explanation** | | |
|
|
62
|
-
|
|
63
|
-
## 3. Snowflake Structural Map
|
|
64
|
-
- **Macro-Journey:** [Description]
|
|
65
|
-
- **Key Components:** [List]
|
|
66
|
-
|
|
67
|
-
## 4. EPPO & Cognitive Audit
|
|
68
|
-
- **Frankenbooks Found:** [List of files with mixed intent]
|
|
69
|
-
- **Context Gaps:** [Topics needing better orientation]
|
|
70
|
-
|
|
71
|
-
## 5. AI-Readiness Assessment
|
|
72
|
-
- [ ] `llms.txt` present?
|
|
73
|
-
- [ ] Explicit semantic labeling for RAG?
|
|
74
|
-
- [ ] MCP endpoints identified?
|
|
75
|
-
|
|
76
|
-
## 6. Recommended Next Steps
|
|
77
|
-
1. [Actionable structural change]
|
|
78
|
-
2. [Actionable topic creation]
|
|
79
|
-
```
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Review Documentation Quality
|
|
2
|
-
|
|
3
|
-
Perform a Rule of 5 review of the documentation using the Unified Frameworks for Technical Information Architecture.
|
|
4
|
-
|
|
5
|
-
## REVIEW PROCESS
|
|
6
|
-
|
|
7
|
-
Perform 5 iterative passes, checking for convergence after each pass (starting with pass 2).
|
|
8
|
-
|
|
9
|
-
### PASS 1: Diátaxis & Intent
|
|
10
|
-
- **Goal:** Does this topic have a single, clear intent?
|
|
11
|
-
- **Checks:** Is it a Tutorial, How-to, Reference, or Explanation? Are there "leaked" intents? (e.g., too much theory in a Tutorial).
|
|
12
|
-
- **Issue Prefix:** [INTENT-001]
|
|
13
|
-
|
|
14
|
-
### PASS 2: EPPO & Standalone Utility
|
|
15
|
-
- **Goal:** Can a "foraging" reader land here and succeed?
|
|
16
|
-
- **Checks:** Are context and prerequisites established in the first two sentences? Does it rely on "previous chapter" knowledge without links?
|
|
17
|
-
- **Issue Prefix:** [EPPO-001]
|
|
18
|
-
|
|
19
|
-
### PASS 3: Cognitive Scannability (Info Mapping)
|
|
20
|
-
- **Goal:** Can the reader scan the page in <10 seconds and find the key answer?
|
|
21
|
-
- **Checks:** Are **labels** (descriptive headers) used for every 2-3 paragraphs? Are paragraphs chunked into small units? Are there tables/lists for complex data?
|
|
22
|
-
- **Issue Prefix:** [SCAN-001]
|
|
23
|
-
|
|
24
|
-
### PASS 4: Accuracy, "Whole Game" & Fail-States
|
|
25
|
-
- **Goal:** Is the content technically sound and resilient?
|
|
26
|
-
- **Checks:** Are the code snippets/math verified? Does it show the "Whole Game" (complete result)? Are common errors (fail-states) documented? In tutorials, is the **Martini Glass** pattern followed (context → exploration)?
|
|
27
|
-
- **Issue Prefix:** [ACC-001]
|
|
28
|
-
|
|
29
|
-
### PASS 5: Excellence & AI-Readiness
|
|
30
|
-
- **Goal:** Is it production-ready and optimized for AI agents?
|
|
31
|
-
- **Checks:** Is there a TL;DR for LLMs? Are headers semantically unique for RAG? Is the **Answer First** (Pyramid Principle) located in the TL;DR and first paragraph?
|
|
32
|
-
- **Issue Prefix:** [EXCL-001]
|
|
33
|
-
|
|
34
|
-
## Convergence Check
|
|
35
|
-
After each pass (starting with pass 2), report:
|
|
36
|
-
- Total new issues found.
|
|
37
|
-
- Estimated "Signal-to-Noise" ratio.
|
|
38
|
-
- Convergence status: (CONVERGED | CONTINUE).
|
|
39
|
-
|
|
40
|
-
## Final Report Format
|
|
41
|
-
- **Total Issues by Severity** (Critical | High | Medium | Low).
|
|
42
|
-
- **Top 3 Findings.**
|
|
43
|
-
- **Verdict:** (Ready | Needs Revision | Needs Rework).
|
|
44
|
-
- **Rationale.**
|