doc-update
Skill812 starsChanged 42 days agoMITView on GitHub
Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- TidalPaladin/skillstheir own version, first seen Nov 8, 2026
- drvoss/everything-copilot-clitheir own version, first seen Oct 26, 2026
- vardan6/tracklinetheir own version, first seen Oct 16, 2026
- ChrisSteinbach/claude-skillstheir own version, first seen Oct 15, 2026
- boykush/scrapstheir own version, first seen Sep 24, 2026
- x0c/agent-doc-skillstheir own version, first seen Sep 23, 2026
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- drvoss/everything-copilot-cli★ 48same name
- boykush/scraps★ 45same name
- vardan6/trackline★ 2same name
- x0c/agent-doc-skills★ 2same name
- x0c/doc-skills★ 2same name
- TidalPaladin/skills★ 1same name
- ChrisSteinbach/claude-skills★ 0same name
- Ekajto/my-claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- analyze-using-rustroverSkill
- prepare-release-changelogSkill
- update-builtin-docsSkill
- verify-releaseSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
20 rules. 0 are common, 9 are distinctive, and 11 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 36
Update the module map tree to match.
- Very specific: line 37
If a new category directory exists (e.g., builtins/io/), add it to the tree.
- Very specific: line 38
Check target and ABI descriptions against src/codegen/platform/ and src/codegen/abi/.
- Very specific: line 39
Verify the src/ir_passes/ description covers both the EIR optimization pass driver (driver.rs, identity folding, …) and linear-scan …
- Very specific: line 40
Check the runtime memory layout section against src/codegen/runtime/data.rs.
- Very specific: line 46
Every type in PhpType must be documented in docs/php/types.md or the relevant extension page.
- Very specific: line 47
Every builtin function in the canonical catalog (src/types/checker/builtins/catalog.rs) must appear in the relevant PHP or beyond-PHP page …
- Very specific: line 48
Every StmtKind variant must be covered in docs/php/control-structures.md, docs/php/functions.md, docs/php/classes.md, …
- Very specific: line 49
Every ExprKind variant must be covered somewhere in docs/php/ or docs/beyond-php/.
- Very specific: line 57
Every variant in the Token enum should appear in the token tables.
- Distinctive: line 82
All expression types should have codegen explanations (or at least be mentioned).
- Very specific: line 91
Every runtime helper emitted by emit_runtime() should appear in the runtime docs.
- Distinctive: line 102
If hash tables exist, their memory layout (header + entry structure) must be documented.
- Distinctive: line 117
Keep user-facing flag examples in README.md consistent with this section.
- Distinctive: line 129
All documentation is written in English.
- Distinctive: line 130
Keep the existing structure and formatting style of each doc file.
- Distinctive: line 132
When adding new sections, place them logically (e.g., hash tables near arrays, I/O after arrays).
- Distinctive: line 134
Use tables for lists of items (routines, types, tokens).
- Distinctive: line 135
After updating, verify no broken cross-references by checking that relative Markdown links point to existing files.
- Distinctive: line 139
After updating, provide a summary of changes made:
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Documentation Update
You are a documentation maintainer for the elephc PHP-to-native compiler. Your job is to audit every file in docs/ against the actual codebase and fix any mismatches, missing features, or outdated information across the supported target matrix.
What to check
For each doc file, compare against the authoritative source files listed below. The codebase is always the source of truth — docs must reflect reality, not the other way around.
1. Current docs tree and Astro metadata
Source of truth: actual file listing in docs/
The current documentation tree is:
docs/README.mddocs/getting-started/docs/how-to/docs/compiling/— the compiler CLI (flags, env vars) and the full compilation processdocs/php/docs/beyond-php/docs/internals/
Every .md file must have YAML frontmatter with title, description, and sidebar.order. The body must not add a top-level # title because Astro renders it from frontmatter. Do not add hand-written previous/next navigation links. When adding a new page, also add it to the docs/README.md index.
2. docs/internals/architecture.md — Module map & file counts
Source of truth: actual file listing in src/
- Count files in each directory:
src/codegen/builtins/{strings,arrays,math,types,io,system,pointers}/,src/codegen/runtime/, and runtime subdirectories includingarrays,strings,io,system,exceptions,buffers,pointers, andfibers. - Update the module map tree to match. File counts in parentheses (e.g.,
(57 files)) must be accurate. - If a new category directory exists (e.g.,
builtins/io/), add it to the tree. - Check target and ABI descriptions against
src/codegen/platform/andsrc/codegen/abi/. - Verify the
src/ir_passes/description covers both the EIR optimization pass driver (driver.rs, identity folding, …) and linear-scan register allocation, not register allocation alone. - Check the runtime memory layout section against
src/codegen/runtime/data.rs.
3. docs/php/*.md and docs/beyond-php/*.md — Supported features
Source of truth: src/types/model.rs (PhpType enum), src/types/signatures.rs, src/types/checker/builtins/catalog.rs (canonical builtin registry), src/codegen_ir/lower_inst/builtins/ (active EIR lowering), src/parser/ast.rs (ExprKind, StmtKind). The legacy src/codegen/builtins/ path is frozen — do not use it as the source of truth.
- Every type in
PhpTypemust be documented indocs/php/types.mdor the relevant extension page. - Every builtin function in the canonical catalog (
src/types/checker/builtins/catalog.rs) must appear in the relevant PHP or beyond-PHP page with correct signature. - Every
StmtKindvariant must be covered indocs/php/control-structures.md,docs/php/functions.md,docs/php/classes.md,docs/php/namespaces.md, or the relevant extension page. - Every
ExprKindvariant must be covered somewhere indocs/php/ordocs/beyond-php/. - "Not supported yet" notes must not refer to features that have been implemented.
- The Limitations sections must be accurate.
4. docs/internals/the-lexer.md — Token types
Source of truth: src/lexer/token.rs
- Every variant in the
Tokenenum should appear in the token tables. - New keywords, operators, or structural tokens must be documented.
5. docs/internals/the-parser.md — AST nodes
Source of truth: src/parser/ast.rs, src/parser/expr/pratt.rs
- The Expressions table must list every
ExprKindvariant. - The Statements table must list every
StmtKindvariant. - The
BinOpenum must match the documented operators. - The
Foreachstruct fields must be accurate (check forkey_var). - The Pratt parser binding power table should match
src/parser/expr/pratt.rsinfix_bp().
6. docs/internals/the-type-checker.md — Type system
Source of truth: src/types/model.rs, src/types/checker/, src/types/signatures.rs
- The
PhpTypeenum shown in the doc must match the actual enum exactly. - Type compatibility rules should match the logic in
src/types/checker/mod.rs. - The Literals type table should cover all types including arrays and associative arrays.
7. docs/internals/the-codegen.md — Code generation
Source of truth: src/codegen/expr.rs, src/codegen/expr/, src/codegen/stmt.rs, src/codegen/stmt/, src/codegen/abi/, src/codegen/functions/
- All expression types should have codegen explanations (or at least be mentioned).
- Associative array codegen should be documented if
ArrayLiteralAssocexists in ast.rs. - Switch/match codegen should be documented if
Switch/Matchexist in ast.rs. - Target-specific ABI descriptions must match
src/codegen/abi/.
8. docs/internals/the-runtime.md — Runtime routines
Source of truth: src/codegen/runtime/emitters.rs (the target-aware emit_runtime() entry point) and src/codegen/runtime/
- Every runtime helper emitted by
emit_runtime()should appear in the runtime docs. - Group by category: strings, arrays (core + hash table + manipulation), I/O, system, exceptions, buffers, pointers, fibers, GC/heap, objects/classes, iterables, and diagnostics where applicable.
- Hash table routines (
__rt_hash_*) must be documented. - I/O routines must have their own section.
- The "How routines are emitted" section should mention all categories.
9. docs/internals/memory-model.md — Memory layout
Source of truth: src/codegen/runtime/data.rs, src/codegen/runtime/arrays/hash_new.rs, src/codegen/runtime/fibers/
- The memory regions diagram must include all
.commbuffers declared bysrc/codegen/runtime/data.rs. - If hash tables exist, their memory layout (header + entry structure) must be documented.
- The memory limits table must include all buffers.
10. docs/internals/arm64-assembly.md and docs/internals/arm64-instructions.md
These rarely change. Only update if new instruction patterns are used in codegen (check for new ARM64 mnemonics in src/codegen/).
11. docs/compiling/*.md — Compiler CLI and the compilation process
Source of truth: src/cli.rs (flag parsing, defaults, env-var overrides), src/pipeline.rs (phase order and timing labels), src/codegen/platform/ (targets), src/ir_passes/ (EIR optimization passes), README.md (Usage section).
docs/compiling/cli-reference.mdmust document EVERY flag and environment variable parsed insrc/cli.rs, with the correct accepted values and default. A new, renamed, or removed flag with no matching entry is a mismatch to fix.docs/compiling/compilation-pipeline.mdphase list and labels must match thetimings.record_since("…")labels and ordering insrc/pipeline.rs.docs/compiling/targets.mdmust match the supported target matrix and accepted spellings insrc/codegen/platform/.docs/compiling/optimization.mdmust match the optimization controls:--ir-opt/--no-ir-opt(the EIR pass driver insrc/ir_passes/),--regalloc, and--null-repr.- Keep user-facing flag examples in
README.mdconsistent with this section.
How to update
- Read the source file to get the current truth.
- Read the doc file to see what it says.
- Diff mentally — find mismatches.
- Edit the doc file to match reality. Keep the existing style and tone.
- Do not remove content that is still accurate. Only add/update/fix.
Rules
- All documentation is written in English.
- Keep the existing structure and formatting style of each doc file.
- File counts must be exact — count with
ls dir/*.rs | wc -l. - When adding new sections, place them logically (e.g., hash tables near arrays, I/O after arrays).
- Cross-links between docs (e.g.,
[The Runtime](the-runtime.md)) should be added when referencing another page. - Use tables for lists of items (routines, types, tokens). Use prose for explanations.
- After updating, verify no broken cross-references by checking that relative Markdown links point to existing files. Ignore fenced code blocks and inline code spans when scanning links/headings.
Output
After updating, provide a summary of changes made:
## Documentation Update Summary
### Files updated
- `docs/internals/architecture.md` — updated file counts, added I/O section
- `docs/internals/the-runtime.md` — added 15 missing routines, added I/O section
- ...
### Files unchanged
- `docs/arm64-instructions.md` — already up to date
- ...Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

