Agent skill

Doc Update

by illegalstudio in illegalstudio/elephc

Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.

MITAuto-check passedDevelopment

Install Doc Update

skills CLI
$ npx skills add illegalstudio/elephc --skill doc-update -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install illegalstudio/elephc doc-update --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/illegalstudio/elephc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/doc-update .claude/skills/doc-update && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
doc-update
GitHub stars
603
Token cost
~2.2k tokens
SKILL.md length
971 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.

  • Works in 11 steps: Current docs tree and Astro metadata → docs/internals/architecture.md — Module… → docs/php/*.md and docs/beyond-php/*.md —… → …
  • Tasks that involve Project scaffolding
  • SKILL.md covers What to check, How to update, Rules and Output
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Doc Update is an agent skill from illegalstudio/elephc. Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Project scaffolding. It works with PHP. The repository describes itself as: A PHP-to-native compiler. Takes a subset of PHP - including eval() - and compiles it directly to native assembly, producing standalone binaries for macOS ARM64, Linux ARM64, and… The licence is MIT.

When your agent uses it

  • Tasks that involve Project scaffolding

Example prompts

  • “/doc-update”

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. Current docs tree and Astro metadata
  2. docs/internals/architecture.md — Module map & file counts
  3. docs/php/*.md and docs/beyond-php/*.md — Supported features
  4. docs/internals/the-lexer.md — Token types
  5. docs/internals/the-parser.md — AST nodes
  6. docs/internals/the-type-checker.md — Type system
  7. docs/internals/the-codegen.md — Code generation
  8. docs/internals/the-runtime.md — Runtime routines
  9. docs/internals/memory-model.md — Memory layout
  10. docs/internals/arm64-assembly.md and docs/internals/arm64-instructions.md
  11. docs/compiling/*.md — Compiler CLI and the compilation process

What it can do on your machine

Read from SKILL.md and the folder at commit 02c517b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Doc Update loads about 2.2k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 971 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~35
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from illegalstudio/elephc at commit 02c517b, republished under its MIT licence (© illegalstudio). 971 words, ~2,171 tokens.

Download SKILL.mdSave it as .claude/skills/doc-update/SKILL.md (or your agent's skills folder).
name
doc-update
description
Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.
user-invocable
true

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.md
  • docs/getting-started/
  • docs/how-to/
  • docs/compiling/ — the compiler CLI (flags, env vars) and the full compilation process
  • docs/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 including arrays, strings, io, system, exceptions, buffers, pointers, and fibers.
  • 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/ and src/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 PhpType must be documented in docs/php/types.md or 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 StmtKind variant must be covered in docs/php/control-structures.md, docs/php/functions.md, docs/php/classes.md, docs/php/namespaces.md, or the relevant extension page.
  • Every ExprKind variant must be covered somewhere in docs/php/ or docs/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 Token enum 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 ExprKind variant.
  • The Statements table must list every StmtKind variant.
  • The BinOp enum must match the documented operators.
  • The Foreach struct fields must be accurate (check for key_var).
  • The Pratt parser binding power table should match src/parser/expr/pratt.rs infix_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 PhpType enum 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 ArrayLiteralAssoc exists in ast.rs.
  • Switch/match codegen should be documented if Switch/Match exist in ast.rs.
  • Target-specific ABI descriptions must match src/codegen/abi/.
Show full SKILL.md (416 more words)Show less
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 .comm buffers declared by src/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.md must document EVERY flag and environment variable parsed in src/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.md phase list and labels must match the timings.record_since("…") labels and ordering in src/pipeline.rs.
  • docs/compiling/targets.md must match the supported target matrix and accepted spellings in src/codegen/platform/.
  • docs/compiling/optimization.md must match the optimization controls: --ir-opt/--no-ir-opt (the EIR pass driver in src/ir_passes/), --regalloc, and --null-repr.
  • Keep user-facing flag examples in README.md consistent with this section.

How to update

  1. Read the source file to get the current truth.
  2. Read the doc file to see what it says.
  3. Diff mentally — find mismatches.
  4. Edit the doc file to match reality. Keep the existing style and tone.
  5. 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
- ...

© illegalstudio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/doc-update of illegalstudio/elephc.

Open the folder on GitHubat commit 02c517b

Compare with similar skills

Doc Update next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Doc Update compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Doc Update this skillillegalstudio/elephc603—~2.2kAutomated safety check: PassMIT
Testingbonny/WordPress-Simple-History317—~5kAutomated safety check: NotesNone
SpikardGoldziher/spikard123—~799Automated safety check: PassMIT
Developing With Fortifyslimani-dev/muraqib128—~1.3kAutomated safety check: PassMIT
WooCommerce Code Reviewwoocommerce/woocommerce11k3 repos~1.1kAutomated safety check: PassCustom licence
Nx Generatenomcopter/react-mosaic4.8k7 repos~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Testing

    bonny/WordPress-Simple-History

    Guidance for writing and running tests in Simple History, including the Premium add-on.

    317 GitHub stars~5k tokensUpdated yesterday
    Testing & QAAuto-check: notes
  • Spikard

    Goldziher/spikard

    Scaffold Spikard projects and generate code from OpenAPI, AsyncAPI, OpenRPC, GraphQL, and Protobuf schemas using the Spikard CLI or its MCP server.

    123 GitHub stars~799 tokensUpdated 5 days ago
    Backend & APIsAuto-check passed
  • Developing With Fortify

    slimani-dev/muraqib

    Laravel Fortify headless authentication backend development.

    128 GitHub stars~1.3k tokensUpdated 9 days ago
    Backend & APIsAuto-check passed
  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Nx Generate

    nomcopter/react-mosaic

    Generate code using nx generators. An agent skill from nomcopter/react-mosaic.

    4.8k GitHub starsUsed in 7 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Ponytail

    DavidObando/gsharp

    Forces the laziest solution that actually works, simplest, shortest, most minimal.

    565 GitHub starsUsed in 8 repos~1.7k tokens
    DevelopmentAuto-check passed

More from illegalstudio/elephc

  • Prepare Release Changelog

    illegalstudio/elephc

    Audit and prepare Elephc's numbered release changelog from the last published GitHub release through an exact candidate main SHA.

    603 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Update Builtin Docs

    illegalstudio/elephc

    Regenerate and audit Elephc's generated builtin documentation from the shared builtin contract plus builtin!

    603 GitHub stars~633 tokensUpdated today
    Auto-check passed
  • Analyze Using Rustrover

    illegalstudio/elephc

    Run RustRover IDE inspections on the codebase and produce a structured report of errors, warnings, and code quality issues.

    603 GitHub stars~932 tokensUpdated today
    Auto-check passed
  • Verify Release

    illegalstudio/elephc

    Pre-release verification that first requires a complete release-changelog audit, then checks README, docs, roadmap, test coverage, examples, and the full test suite for regressions.

    603 GitHub stars~2.5k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Doc Update

What does Doc Update do?

Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches. Doc Update is an agent skill from illegalstudio/elephc. Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.

When should I use Doc Update?

Doc Update fits situations like: tasks that involve Project scaffolding.

How do I install Doc Update in Claude Code?

Run `npx skills add illegalstudio/elephc --skill doc-update -a claude-code`. Or copy the skill folder (.claude/skills/doc-update in illegalstudio/elephc) into .claude/skills/doc-update in your project. Claude Code loads it when a task matches its description.

How do I install Doc Update in Codex?

Run `npx skills add illegalstudio/elephc --skill doc-update -a codex`. Or copy the skill folder (.claude/skills/doc-update in illegalstudio/elephc) into .agents/skills/doc-update in your project. Codex loads it when a task matches its description.

Can I use Doc Update in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add illegalstudio/elephc --skill doc-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/doc-update, .gemini/skills/doc-update, .github/skills/doc-update and .opencode/skills/doc-update in your project.

What does Doc Update need to run?

SKILL.md names no scripts, command-line tools or credentials: Doc Update is instructions for the agent only.

Does Doc Update access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Doc Update safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Doc Update use?

Doc Update is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Doc Update use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Doc Update?

Skills that share tags, products or a category with Doc Update: Testing (bonny/WordPress-Simple-History, 317 stars), Spikard (Goldziher/spikard, 123 stars), Developing With Fortify (slimani-dev/muraqib, 128 stars) and WooCommerce Code Review (woocommerce/woocommerce, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Doc Update?

illegalstudio (a GitHub organization) maintains it in illegalstudio/elephc, which has 603 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.

Source: illegalstudio/elephc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.