Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Auto-generate document index tables (ADR, RFC, Pitfall, etc.) from file frontmatter. In real-world testing, hand-maintained indexes had a 62% error rate — ti...
Auto-generate document index tables (ADR, RFC, Pitfall, etc.) from file frontmatter. In real-world testing, hand-maintained indexes had a 62% error rate — ti...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Replaces hand-maintained index tables in README.md with auto-generated tables derived from structured frontmatter in individual doc files.
In a real project with 13 ADR files, comparing hand-maintained index vs auto-generated index revealed 8 discrepancies (62% error rate): Issue TypeExampleCountTitle truncated"activate none" vs actual "activate none by default"2Status fabricatedIndex said "Decided" but file said "Accepted"3Date inventedIndex showed "2026-01-28" but file had no Date field1Metadata lost"(revised 2026-01-28)" stripped from status1Case "normalized"decided silently changed to Decided4 These aren't hypothetical risks — they were already present and invisible in a well-maintained project. Hand-editing creates a false sense of correctness while the index silently diverges from its source files.
Setting up a new documentation directory (ADR, RFC, Pitfall, Design Doc, etc.) Adding a new document to an existing indexed directory Onboarding a project that has hand-maintained doc indexes showing signs of drift Resolving recurring merge conflicts in shared README.md index tables Migrating from hand-maintained indexes to auto-generated ones
This skill generates index tables only — it does not create or modify the content of individual documents. The generator script replaces content only between <!-- INDEX:START --> and <!-- INDEX:END --> markers. All other README.md content is preserved verbatim. Do NOT use this for indexes that require editorial curation (e.g., "recommended reading order"). Auto-generation is for factual, exhaustive catalogs. Do NOT introduce YAML frontmatter parsing libraries — the regex-based approach is intentional to keep the script zero-dependency. This skill targets file-system-based documentation. It does not apply to wiki-style or database-backed doc systems.
A hand-maintained index in README.md is shared mutable state — every new document requires editing the same file, same table, often the same diff hunk. In multi-agent or multi-contributor workflows this creates: Silent data loss: titles get shortened, statuses get "corrected" Merge conflicts: semantically independent changes collide in the same hunk Stale indexes: contributors forget to update, nobody notices Normalization illusion: edits look "cleaner" but diverge from source
Each document is self-describing via frontmatter. A generator script scans the directory, parses frontmatter, and injects the index table between <!-- INDEX:START --> / <!-- INDEX:END --> markers in README.md. Write ops become N:N (each file independent). Index becomes a stateless pure function.
Choose a frontmatter format for your doc type. Two common patterns: Pattern A — Inline metadata (ADR/RFC style): # ADR-001: Title Here Status: Decided Date: 2026-01-28 ## Context ... Pattern B — Bold-field metadata (Pitfall/Postmortem style): # PIT-001: Title Here **Date:** 2026-01-28 **Area:** engine **Severity:** high **Status:** resolved
Wrap the existing index table (or create a placeholder) with markers: ## Index <!-- INDEX:START --> | ADR | Title | Status | Date | |-----|-------|--------|------| <!-- INDEX:END --> ## Other Sections (preserved) ... Content outside markers is never touched by the generator.
Copy template/generate-doc-index.ts from this skill's template directory, or generate a new one following the pattern below. Core architecture (zero external dependencies): // 1. Scan directory for matching files (e.g. /^\d{3}-.*\.md$/) // 2. Parse frontmatter from each file (regex-based, no YAML lib needed) // 3. Sort entries by ID/number // 4. Generate markdown table string // 5. Inject between <!-- INDEX:START --> and <!-- INDEX:END --> markers See template/generate-doc-index.ts for a working implementation that handles both Pattern A and Pattern B.
npx tsx scripts/generate-doc-index.ts all
Add to your project's AGENTS.md or CONTRIBUTING.md: Rule: Never hand-edit the index table between <!-- INDEX:START/END --> markers. To add a new document, create the .md file with proper frontmatter, then run the generator.
OLD: Write doc → Hand-edit README.md index → Conflict risk NEW: Write doc → Run generator → Idempotent rebuild, zero conflicts
To support a new document category (e.g. RFCs, Design Docs): Define the frontmatter convention Add a parser function (regex for title, status, date, etc.) Add a table generator function (column layout) Add <!-- INDEX:START/END --> markers to the README.md Register in the script's main() dispatcher
Do NOT use YAML frontmatter libraries — regex is sufficient and avoids deps. Do NOT generate the entire README.md — only the index section. Preserve manually-written intro, templates, and notes via the marker pattern. Do NOT require contributors to run the generator before committing. Run it in CI or as a pre-commit hook for enforcement.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.