Local CI
penpot/penpot
Run local CI-style checks with ./scripts/ci (lint, tests, format) per monorepo module.
Autonomous maintenance routine that deletes provably unreachable code from one monorepo package using the repo's own detectors (yarn lint:deadcode / make deadcode / scripts/lint-deadcode.sh)…
$ npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bex-co/beancount-io routine-dead-code-removal --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/bex-co/beancount-io.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/routine-dead-code-removal .claude/skills/routine-dead-code-removal && rm -rf skills-srcUse ~/.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/
Install the "routine-dead-code-removal" agent skill from https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removal into .claude/skills/routine-dead-code-removal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "routine-dead-code-removal", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removalType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bex-co/beancount-io routine-dead-code-removal --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bex-co/beancount-io.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/routine-dead-code-removal .agents/skills/routine-dead-code-removal && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "routine-dead-code-removal" agent skill from https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removal into .agents/skills/routine-dead-code-removal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "routine-dead-code-removal", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bex-co/beancount-io routine-dead-code-removal --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bex-co/beancount-io.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/routine-dead-code-removal .cursor/skills/routine-dead-code-removal && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "routine-dead-code-removal" agent skill from https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removal into .cursor/skills/routine-dead-code-removal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "routine-dead-code-removal", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/bex-co/beancount-io.git --path .agents/skills/routine-dead-code-removal--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bex-co/beancount-io routine-dead-code-removal --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bex-co/beancount-io.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/routine-dead-code-removal .gemini/skills/routine-dead-code-removal && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "routine-dead-code-removal" agent skill from https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removal into .gemini/skills/routine-dead-code-removal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "routine-dead-code-removal", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install bex-co/beancount-io routine-dead-code-removalInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bex-co/beancount-io.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/routine-dead-code-removal .github/skills/routine-dead-code-removal && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "routine-dead-code-removal" agent skill from https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removal into .github/skills/routine-dead-code-removal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "routine-dead-code-removal", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bex-co/beancount-io routine-dead-code-removal --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bex-co/beancount-io.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/routine-dead-code-removal .opencode/skills/routine-dead-code-removal && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "routine-dead-code-removal" agent skill from https://github.com/bex-co/beancount-io/tree/main/.agents/skills/routine-dead-code-removal into .opencode/skills/routine-dead-code-removal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "routine-dead-code-removal", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
routine-dead-code-removalAutonomous maintenance routine that deletes provably unreachable code from one monorepo package using the repo's own detectors (yarn lint:deadcode / make deadcode / scripts/lint-deadcode.sh)…
Routine Dead Code Removal is an agent skill from bex-co/beancount-io. Autonomous maintenance routine that deletes provably unreachable code from one monorepo package using the repo's own detectors (yarn lint:deadcode / make deadcode / scripts/lint-deadcode.sh), verifies every hit against dynamic references before deleting, and ships each removal via /ship. Use only when the user explicitly invokes /routine-dead-code-removal or asks to find and delete dead or unused code. SKIP for dead branches behind a feature flag (routine-shipped-feature-inliner), live duplicates whose callers…
Its SKILL.md is about 1.1k 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 Code simplification, Linting and formatting and Monorepo tooling. The repository describes itself as: 💰 Double-entry bookkeeping made easy — plain-text accounting for humans and AI agents. Polished iOS & Android app built with React Native + Expo. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2103ca1. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
yarnmakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use yarn, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Routine Dead Code Removal loads about 1.1k tokens when it runs. Until then it costs about 196 tokens; SKILL.md has 455 words of instructions outside code blocks.
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.
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.
The full file from bex-co/beancount-io at commit 2103ca1, republished under its MIT licence (© bex-co). 455 words, ~1,050 tokens.
.claude/skills/routine-dead-code-removal/SKILL.md (or your agent's skills folder).Usage: /routine-dead-code-removal [package-or-path]
Run the target package's dead-code detector, prove each hit is truly
unreachable, delete it (with the tests and fixtures that only existed for it),
make the package's checks pass, and ship each removal via /ship.
Read .agents/skills/routine-shared/contract.md first — it defines
preconditions, scope resolution, verify gates, the ship protocol, the budget,
and universal STOPs. This file adds only what is specific to dead code. Floor
even without it: never ship red; one finding per ship; anything in a
DO_NOT_DO.md is a hard STOP.
Resolve scope per the contract. With no argument, prefer running
scripts/lint-deadcode.sh from the repo root once as a survey, then pick the
one package with the most promising hits.
cd into the package, then run its detector:
mobile, dashboard, backend-cluster/backend-v2,
backend-cluster/ledger, backend-cluster/agent-box) → yarn lint:deadcode
(Knip; config in the package's knip.jsonc)cli/ → make deadcode (Vulture; high-confidence only)Also legitimate finds while reading nearby code: commented-out blocks,
if (false)-style branches, early-return shadowed code. A detector hit is a
candidate, not proof.
For every candidate, sweep for references the detector can't see before touching anything:
mobile/app/ are routes reachable by
navigation and deep links even with zero imports — never a dead-code finding.codegen.ts, apollo.config.json) and
build/tooling entry points (babel.config.js, scripts referenced from
package.json) count as reachable.A confirmed false positive is its own legitimate finding: add a scoped
ignore to the package's knip.jsonc (with a short reason) instead of deleting,
so the detector stays trustworthy.
yarn lint:deadcode:fix /
make deadcode-fix — then review the resulting diff before keeping it
(root AGENTS.md rule). Discard anything the proof step didn't cover.Run the owning package's full gate from the contract's table, plus a clean re-run of the detector to confirm nothing was orphaned by the deletion.
Compose /ship for this one removal. Loop back to step 2 while candidates and
budget remain.
routine-shipped-feature-inliner's job.routine-dup-unifier's job (it repoints callers first).fava code, codegen output, or lockfiles.$ARGUMENTS
© bex-co, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/routine-dead-code-removal of bex-co/beancount-io.
Open the folder on GitHubat commit 2103ca1
Routine Dead Code Removal 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Routine Dead Code Removal this skillbex-co/beancount-io | 295 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Local CIpenpot/penpot | 61k | — | ~822 | Automated safety check: Pass | MPL-2.0 | |
| Unslop CodeJCarterJohnson/vibecoded-design-tells | 511 | — | ~2.5k | Automated safety check: Pass | Custom licence | |
| Create Saleor Packagesaleor/apps | 162 | — | ~608 | Automated safety check: Pass | Custom licence | |
| Leanspec Developmentcodervisor/leanspec | 296 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Lintcnremorses/lintcn | 101 | — | ~6.5k | Automated safety check: Pass | None |
penpot/penpot
Run local CI-style checks with ./scripts/ci (lint, tests, format) per monorepo module.
JCarterJohnson/vibecoded-design-tells
Strips the tells that make source code read as AI-generated and forces code that fits the project instead of the model's default average.
saleor/apps
Scaffold a new shared package in the saleor-apps monorepo under ./packages/.
codervisor/leanspec
Development workflows, commands, publishing, CI/CD, changelog management, and contribution guidelines for LeanSpec.
remorses/lintcn
Type-aware TypeScript lint rules in .lintcn/ Go files. An agent skill from remorses/lintcn.
maddhruv/absolute
A skill your agent uses when the user wants to simplify, clean up, refactor, tidy, or refine code — their staged/unstaged git changes or a target file/path.
bex-co/beancount-io
Close an accounting period in a Beancount ledger by reconciling each active account through beancount-reconcile, checking assertions and recurring gaps, reviewing flags, then proposing a commit with…
bex-co/beancount-io
Import a bank or card CSV, OFX/QFX, or QIF export into an existing Beancount ledger.
bex-co/beancount-io
Write or repair a reusable Beangulp importer from a sample bank export, with reviewed golden files and a passing test harness.
bex-co/beancount-io
Scaffold a new Beancount ledger with bea init and validation, with optional Fava browser setup when requested.
bex-co/beancount-io
Record a described options trade or lifecycle event as validated Beancount transactions through bea, after review and confirmation.
bex-co/beancount-io
Reconcile one Beancount account against a CSV statement or pasted PDF text.
Categories
Autonomous maintenance routine that deletes provably unreachable code from one monorepo package using the repo's own detectors (yarn lint:deadcode / make deadcode / scripts/lint-deadcode.sh)…. Routine Dead Code Removal is an agent skill from bex-co/beancount-io.sh), verifies every hit against dynamic references before deleting, and ships each removal via /ship.
Routine Dead Code Removal fits situations like: explicitly invokes /routine-dead-code-removal; asks to find and delete dead; is find and delete code nothing can reach.
Run `npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a claude-code`. Or copy the skill folder (.agents/skills/routine-dead-code-removal in bex-co/beancount-io) into .claude/skills/routine-dead-code-removal in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a codex`. Or copy the skill folder (.agents/skills/routine-dead-code-removal in bex-co/beancount-io) into .agents/skills/routine-dead-code-removal in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bex-co/beancount-io --skill routine-dead-code-removal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/routine-dead-code-removal, .gemini/skills/routine-dead-code-removal, .github/skills/routine-dead-code-removal and .opencode/skills/routine-dead-code-removal in your project.
Going by SKILL.md and its folder, Routine Dead Code Removal needs the command-line tools its instructions call (yarn and make).
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.
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.
Routine Dead Code Removal is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Routine Dead Code Removal: Local CI (penpot/penpot, 61k stars), Unslop Code (JCarterJohnson/vibecoded-design-tells, 511 stars), Create Saleor Package (saleor/apps, 162 stars) and Leanspec Development (codervisor/leanspec, 296 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bex-co (a GitHub organization) maintains it in bex-co/beancount-io, which has 295 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 7, 2026.
Source: bex-co/beancount-io on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.