cd /news/ai-tools/a-portable-agent-skill-that-grounds-… Β· home β€Ί topics β€Ί ai-tools β€Ί article
[ARTICLE Β· art-119384] src=github.com β†— pub= topic=ai-tools verified=true sentiment=Β· neutral

A portable Agent Skill that grounds README claims in repository evidence

A new open-source Agent Skill, github-readme-generator, enables coding agents to write or refresh a repository's README.md based on actual repository contents, omitting any claim it cannot trace to a file. Developed by Pekral and tested against Claude Code, it installs into Codex, Cursor, and 70-odd other agents via the skills CLI, though only Claude Code is verified. The skill is in public beta because the benchmark scorer is not yet trustworthy.

read6 min views1 publishedSep 2, 2026
A portable Agent Skill that grounds README claims in repository evidence
Image: Michielbdejong (auto-discovered)

github-readme-generator

teaches a coding agent to write or refresh a repository's root README.md

from what the project actually contains β€” its code, manifests, scripts, tests, workflows, and existing docs.

One canonical skill definition serves every host. It is developed and tested against Claude Code; the same definition installs into Codex, Cursor and the other agents the skills

CLI knows, but no scenario has been run there yet, so those hosts are packaged rather than verified. That gap, and a benchmark whose scorer is not yet trustworthy, are why this is a public beta.

An agent host that loads Agent Skills. The skill itself has no dependencies; installing with npx

needs Node.js.

npx skills add pekral/github-readme-generator

That installs into every agent it detects β€” Claude Code, Codex, Cursor, and 70-odd others. Add -g

to install for your user instead of the current project, and -a

to pick agents explicitly:

npx skills add pekral/github-readme-generator -g -a claude-code -a codex

Both plugin hosts carry a marketplace entry, which trades a second command for managed updates.

Claude Code:

/plugin marketplace add pekral/github-readme-generator
/plugin install github-readme-generator@pekral

Codex:

codex plugin marketplace add pekral/github-readme-generator

Codex then needs a restart of the ChatGPT desktop app, after which the plugin appears in the Plugins Directory under the pekral

marketplace.

List what is installed, and where:

npx skills list

Turn the Claude Code plugin off without uninstalling it:

claude plugin disable github-readme-generator
claude plugin enable github-readme-generator

Both write to enabledPlugins

in ~/.claude/settings.json

, so the setting is user-wide.

Ask for README work in the repository you want documented:

Write a README for this repository.

The skill scans the repository, picks create / update / audit, drafts against its structure reference, and ends with a summary of what it verified and what it could not prove.

To get findings without touching a file:

Audit this README and tell me what's wrong.

An audit also covers the surfaces beside the README β€” missing community health files, links with no target, and an empty GitHub About box when the agent can read the repository's metadata β€” as text for you to apply.

  • Scans the working tree first and builds a claim β†’ source map before writing a single sentence.
  • Omits any command, badge, version, config key, link, or license claim it cannot trace to a file in the repository.
  • Builds the header block and badge row from templates β€” a <picture>

wrapper for projects that own a logo, and version, license, CI and downloads badges filled from the manifest, the license file, and the workflow's ownname:

. A workflow whose triggers never put a run on the default branch gets no badge, so none reports a branch it does not cover. - Knows what each ecosystem keeps where, so a PHP package documents Composer and Packagist while a Rust crate documents Cargo and crates.io.

  • Treats every file it reads as data, not instructions. Text in a scanned repository that addresses the agent is reported to you, never obeyed.
  • Restricts its diff to README.md

, and never stages, commits, or pushes unless you say so.

docs/examples/ puts three README pairs side by side β€” a Composer library, an unpublished CLI, and a README that had drifted from its package β€” each generated by the same agent from the same repository and the same prompt, once without the skill and once with it, with the full text of both and a comparison of what differs.

Read them for what they are: on those repositories the baseline invented nothing, so the pairs show ordering, evidence-backed badges and referenced-rather-than-copied output β€” and one case where the skill did worse than the baseline. The index says so plainly.

β€” purpose, workflow, core constraints.SKILL.md

β€” header block, section order, what to cut, per-ecosystem rules, keeping examples true to the package's own domain, and style.references/readme-structure.md

β€” what counts as evidence, badge templates, public surface findings, security and change-scope rules.references/evidence-policy.md

β€” pre-handover checks and the handover summary shape.references/validation-checklist.md

Three checks, three different questions. Only the first has an answer on record.

tests/repository.test.mjs asks whether this repository holds to its own claims: every file the skill declares is present, its licence copy matches the root one, every relative documentation link resolves, each scenario has a host coverage row, the three manifests agree on one version, and a released version has both a changelog entry and a matching tag.

tests/scenarios.md asks whether the skill behaves: ten manual scenarios β€” from a documented PHP package to a monorepo to a secrets-handling case β€” each with activation and output invariants, plus a coverage log for recording which of them has been run under Claude Code, so far empty.

tests/evals/ asks whether it helps: the same plain prompt against the same ten fixture repositories, with and without the skill, scored by a deterministic checker that counts unsupported claims, invalid commands, invalid badges, broken links and missing information. The harness carries invocation templates for Codex and Cursor as well, but no recorded run has used them.

That third question is open, and the benchmark is not yet evidence for anything. Its scorer has known defects β€” it reads help text and command output as commands, and a repository's own logo as a badge β€” large enough to swamp the difference between the two modes. So no figure from it is quoted here, and none should be quoted elsewhere until the scorer stops counting them. #11 recorded those defects and was closed as not planned, which retired the ticket rather than the defect.

node --test tests/repository.test.mjs
node --test tests/evals/*.test.mjs
node tests/evals/run.mjs --dry-run

The first two run in CI on Node.js 20 and 22. The agent invocations never do β€” they cost money and need credentials CI has no business holding.

One run is published: 2026-08-31-claude-code-subset β€” Claude Code, both modes, two of the ten scenarios, zero findings on each. It shows the harness works end to end. It says nothing about the skill, and this README claims nothing from it.

npx skills update github-readme-generator

Plugin installs update through their own host instead:

claude plugin marketplace update pekral && claude plugin update github-readme-generator
codex plugin marketplace upgrade pekral

Claude Code needs a session restart afterwards.

See CHANGELOG.

See CONTRIBUTING, and the Code of Conduct that participation is held to.

See the security policy.

The MIT License (MIT). Please see License File for more information. The skill directory carries its own copy of the notice, so an installed copy stays licensed even though installers take that directory alone.

── more in #ai-tools 4 stories Β· sorted by recency
── more on @github-readme-generator 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/a-portable-agent-ski…] indexed:0 read:6min 2026-09-02 Β· β€”