Home / repo-engineering

Repo Engineering

Repository engineering skills: verify documentation claims against the working tree, run an audit whose every finding cites a resolvable path:line, write AGENTS.md and CLAUDE.md that hold only what code cannot say, check a README's first screen, rank untested functions and entry points, write onboarding guides only from cited facts, plan restructures from the import graph, mine ADRs from git history, run offline hygiene checks with SARIF, and check release notes against the commits between two tags.

Plugin repo-engineering, version 0.3.0, 10 skills, MIT licence. Source: repo-engineering-skills. Synced .

Install

In Claude Code, add the marketplace and install the plugin:

/plugin marketplace add basitalisandhu/claude-skills
/plugin install repo-engineering@claude-skills

Or copy the skill files into ~/.claude/skills/ from a clone:

git clone https://github.com/basitalisandhu/claude-skills
cd claude-skills
python3 install.py --user --only repo-engineering

Skills

SkillWhat it doesScripts
adr-minerRecover architecture decisions that were made but never written down, by mining git history (commit messages with decision phrases such as switch to, replace, adopt, drop, migrate, deprecate, in favour of), configuration changes (a dependency swapped in a manifest, a Dockerfile base image changed, CI files added or removed) and TODO or NOTE comments that carry a rationale, then drafting MADR stubs with status proposed that cite the commit SHA for every line; a second script lints an existing docs/adr folder for numbering gaps, duplicate numbers, missing or unknown status and broken superseded links.yes
agent-context-writerWrite or refresh AGENTS.md and CLAUDE.md so they hold only what an agent cannot learn by reading the code (commands that are in no manifest, conventions, forbidden actions, environment setup, where to look first), and lint the result with a bundled script that flags lines restating package.json scripts, pyproject scripts, Makefile or justfile targets, dependency lists, pinned runtime versions or directory trees, paths that do not exist, generic advice, and length over a budget.yes
cited-codebase-auditAudit a whole repository against a fixed checklist (structure, entry points, dependency hygiene, dead code candidates, test coverage of entry points, secrets and config handling, CI health) where every finding must cite a path:line with a quoted snippet, and a bundled validator rejects any finding whose citation does not resolve.yes
docs-truth-checkVerify that a repository's README, docs/, AGENTS.md and CLAUDE.md still match the code, using a deterministic script that checks file paths, relative links, CLI flags and their documented defaults, environment variables, function and class names, config keys, npm and make targets, and version strings against the working tree.yes
readme-who-what-whyCheck whether a README answers six questions in its first screen (what it is in one sentence, who it is for, why it exists or what it replaces, how to install in one block, how to run one example, where to ask) with a bundled script that scores presence and position of each, flags hype words, and prints the gaps as a to-do list; then fix the gaps with verified text.yes
release-notes-verifierCheck a release's notes against what actually changed, with a bundled script that reads the commits between two tags (and, only when asked, pull request titles through a read-only gh call) and compares them with the CHANGELOG section or a release notes file, flagging notes that match no commit, commits with no note (chores excluded by a configurable pattern), manifest versions that disagree with the tag, and missing compare or reference links.yes
repo-hygiene-bundleRun one offline hygiene pass over a repository with a bundled script and report each finding with a severity, as a table, JSON or SARIF, with an exit code for CI.yes
repo-onboarding-guideWrite an onboarding guide for a repository (how to run it, how to test it, where things live, which services it needs, who owns what) only from facts a bundled script extracted with a path:line citation each, then lint the guide so every sentence that names a command, path, variable, service or owner matches a fact, and run docs-truth-check on the result.yes
restructure-plannerPlan a repository restructure (split a package or a monorepo, merge packages, fix module boundaries) from the real import graph instead of a guess, using a bundled script that reads Python imports with ast and JS or TS imports and requires with regex, then reports the most coupled files, import cycles, files importing from many packages and god modules, and proposes a move plan as a table (file, from, to, reason, blast radius as the number of importers) with the exact git mv commands, which it prints and never runs.yes
untested-entry-pointsFind public functions, classes and CLI entry points that no test mentions, using a bundled script that parses Python with ast and JS or TS exports with regex, maps each unit to the test files that reference it by name, ranks the untested ones (entry points first, then by size and fan-in), and writes characterisation test stubs in the project's framework (pytest, unittest, jest, vitest, node:test).yes

Plugin README

Ten skills for repository audits, documentation and release checks, each with a tested standard-library Python script. Install with /plugin marketplace add basitalisandhu/repo-engineering-skills and then /plugin install repo-engineering@repo-engineering-skills. Skills appear as /repo-engineering:<skill>, and Claude also invokes them on its own when a request matches a skill's description.

SkillScriptUse it to
docs-truth-checkskills/docs-truth-check/scripts/docs_truth_check.pyverify README, docs/, AGENTS.md and CLAUDE.md claims against the working tree; exit 1 on drift
cited-codebase-auditskills/cited-codebase-audit/scripts/repo_facts.py, skills/cited-codebase-audit/scripts/audit_validate.pyaudit a repository from a deterministic inventory, and reject findings whose path:line citations do not resolve
agent-context-writerskills/agent-context-writer/scripts/context_lint.pywrite AGENTS.md or CLAUDE.md with only what code cannot say, and lint out what a parser can see
readme-who-what-whyskills/readme-who-what-why/scripts/readme_check.pyscore whether a README's first screen says what, who, why, install, example and where to ask
untested-entry-pointsskills/untested-entry-points/scripts/test_gaps.pyrank untested public functions and entry points and write characterisation test stubs
repo-onboarding-guideskills/repo-onboarding-guide/scripts/onboarding_facts.py, skills/repo-onboarding-guide/scripts/onboarding_lint.pyextract cited facts, write an onboarding guide only from them, and flag sentences no fact supports
restructure-plannerskills/restructure-planner/scripts/restructure_plan.pybuild the import graph, find cycles, coupling and god modules, and print a move plan with git mv commands (never run)
adr-minerskills/adr-miner/scripts/adr_mine.py, skills/adr-miner/scripts/adr_lint.pydraft MADR stubs from decision commits, config changes and rationale comments, and lint an ADR folder
repo-hygiene-bundleskills/repo-hygiene-bundle/scripts/hygiene.pyoffline hygiene findings with severities, as a table, JSON or SARIF, with a CI exit code
release-notes-verifierskills/release-notes-verifier/scripts/release_notes_verify.pycompare release notes with the commits between two tags, and version fields with the tag

Requirements: Python 3.11 or newer on PATH as python3, and git for adr-miner and release-notes-verifier. No network access (except release_notes_verify.py --gh), no third-party packages.