find-wasted-code
Skill9 starsChanged 27 days agoMITView on GitHub
Use ONLY when the operator runs "/find-wasted-code" (or explicitly asks to "scan the repo for dead-end tool calls / broken links / missing helpers / footgun configs / silent push-through"). Statically scans THIS repo for friction footguns and writes a tracked report to docs/wasted-code/report.md. Manual-trigger ONLY — do NOT auto-invoke; the skill carries disable-model-invocation and no hook wires it. Read-only except the one report write. Findings are review candidates, never auto-fixes. Do NOT use for token/transcript economy (/token-waste-audit), for process ceremony (/find-wasted-effort), or for CLI/Flow drift health (/fusebase-health).
In this repository119 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/fusebase-flow-always.mdcCursor rule
- .cursor/rules/fusebase-flow-implementation.mdcCursor rule
- .cursor/rules/fusebase-flow-security.mdcCursor rule
- .cursor/rules/fusebase-flow-specs.mdcCursor rule
- .cursor/rules/fusebase-flow-validation.mdcCursor rule
- api-explorationSkill
- app-api-contract-testingSkill
- app-backendSkill
- app-business-docsSkill
- app-dev-practicesSkill
- app-e2e-testsSkill
- app-quality-patternsSkill
- app-routingSkill
- app-secretsSkill
- app-sidecarSkill
- app-ui-designSkill
- business-logic-guardianSkill
- client-vs-internalSkill
- code-reviewSkill
- comment-policySkill
- communicationSkill
- design-discovery-ideationSkill
- dev-debug-logsSkill
- documentation-budgetSkill
- file-uploadSkill
- find-wasted-effortSkill
- fusebase-cliSkill
- fusebase-dashboardsSkill
- fusebase-flow-health-checkSkill
- fusebase-gateSkill
- fusebase-portal-specific-appsSkill
- git-history-diagnosticSkill
- git-workflowSkill
- handling-authentication-errorsSkill
- handoffSkill
- implementation-planningSkill
- invite-with-passwordSkill
- lightweight-laneSkill
- liveness-disciplineSkill
- managed-integrationsSkill
- mcp-gate-debugSkill
- module-size-disciplineSkill
- north-starSkill
- phase-auditSkill
- product-apps-decompositionSkill
- product-docs-firstSkill
- product-ownerSkill
- project-onboardingSkill
- release-deploy-reportingSkill
- remote-logsSkill
- repo-onboarding-context-mapSkill
- requirements-specificationSkill
- role-disciplineSkill
- security-permissions-reviewSkill
- skill-authoringSkill
- smoke-testingSkill
- task-delegationSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Read the report it wrote (docs/wasted-code/report.md): the per-rule findings + the Coverage section.
- Very specific: line 73
No lifecycle hook (SessionStart/Stop/PostToolUse/UserPromptSubmit) references this skill or its analyzer.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Find Wasted Code (static friction-footgun audit)
The active, static inverse of a papercuts log. A papercuts tool is passive — an agent must notice friction and file it. This audit scans the repo for the same north-star footguns and writes them down, so nobody has to notice first:
Agents hit friction constantly — dead-end tool calls, broken links, missing helpers, footgun configs — and silently push through without telling anyone.
It is the third audit sibling, on a distinct axis:
/find-wasted-code (this) | /find-wasted-effort | /token-waste-audit | |
| Axis | code-per-friction (footguns) | process-per-outcome (ceremony) | tokens-per-rule (consumption) |
| Inputs | repo source: docs, skills, commands, hooks, settings | Flow artifacts on disk | Claude transcripts |
| Output | docs/wasted-code/report.md (TRACKED) | state/audit/<date>.md (gitignored) | state/audit/<date>.md (gitignored) |
| Trigger | /find-wasted-code ONLY (never auto) | /find-wasted-effort (auto-invocable) | /token-waste-audit |
How to run
python hooks/local/find-wasted-code.py(ifpythonis missing,python3 …). Optional:--print(summary only, no write),--date YYYY-MM-DD(deterministic in-report date),--selftest(per-rule golden fixtures),--root PATH.- Read the report it wrote (
docs/wasted-code/report.md): the per-rule findings + the Coverage section. - Interpret every row as a review candidate, never a verdict or an auto-fix.
broken/confirmed= the target is provably absent from repo state;candidate/inconclusive= needs human judgment. Ambiguous references are listed under Coverage → Unresolved, never as defects. - Output a Mode-A chat summary: totals by rule/severity, the W5 baseline counts, and the top confirmed
brokenitems. Do not paste raw file contents. - The report is tracked (papercuts philosophy — it shows up in diffs). It is redaction-safe by construction and will not trip the pre-commit secret scanner. Fixes are the operator/PO's call — this audit surfaces, it does not mutate.
The rules (one per north-star category)
Per-rule signatures, the conservative confirmed-vs-coverage contract, and the false-positive classes:
references/rule-catalog.mdandreferences/false-positive-examples.md. Cite them; don't restate.
| # | Rule | What it confirms (broken) | What it leaves as Coverage |
| W1 | Dead-end tool/script references | a root-explicit interpreter/./-run path (bash hooks/local/<name>.sh) that is absent | cwd-ambiguous paths, placeholders, design docs (specs/backlog excluded) |
| W2 | Broken internal links | a Markdown link whose path is absent, or whose anchor no heading yields (target slug-confident) | non-Markdown anchors, slug-ambiguous targets (→ inconclusive), external/placeholder dests |
| W3 | Missing helpers | a shell source of a static root-explicit script that is absent | related_workflows/hook_dependencies (ambiguous field shape) → unresolved |
| W4 | Footgun config | a settings hook command wired to a handler that does not exist (silently never fires) | dead policy keys (no stdlib YAML) — future |
| W5 | Silent push-through | — (no confirmed findings in v1) | swallowed-error baseline (broad/trivial except; shell 2>/dev/null/|| true/|| return 0) as review candidates |
Conservative by construction (load-bearing)
A finding is confirmed ONLY when provable from repository state. Everything
ambiguous is Coverage, never a defect — so the audit never blocks or annoys the
operator with a false positive. This is the same "don't block the human operator"
floor the framework holds everywhere. W5 is deliberately a measured baseline,
not a finding list: this repo intentionally fails open/closed in many places
(best-effort cleanup, fail-closed scanners), so generic swallow-detection cannot
be low-false-positive — the operator reviews the baseline and annotates
intentional swallows with find-wasted-code: ignore W5 — <reason>.
Trigger isolation
- Claude Code: hard guarantee via
disable-model-invocation: true— the model cannot auto-load this skill; only/find-wasted-coderuns it. - Other adapters (Codex/Cursor/Gemini): advisory — the narrow description above will not match ordinary work, and no hook wires the analyzer. Invoke by name or
/prompts:find-wasted-code. - No lifecycle hook (SessionStart/Stop/PostToolUse/UserPromptSubmit) references this skill or its analyzer. It is inert until the operator triggers it.
Read-only-to-the-project
The analyzer writes ONLY docs/wasted-code/report.md, containment-checked to
inside the repo, symlink/hardlink-refusing, atomic, and sentinel-guarded (it will
not overwrite a hand-authored file lacking its generated-file sentinel). No
memory, overlay, spec, policy, or source edits. Fixes are proposed, never applied.
Non-Claude surfaces
Invoke the find-wasted-code skill by name and run the analyzer directly
(python hooks/local/find-wasted-code.py); it is stdlib-only and
surface-independent. Metrics come from repo state, so there is no transcript
dependency.
Clean-room note
Original Fusebase Flow content. Designed after reviewing public agent-friction
and self-improvement projects (papercuts, agentlogs, friction-logging-toolkit,
self_improving_coding_agent, opencode-autolearn) for concepts only — the
north-star framing and severity vocabulary. No third-party code, prompts, skill
files, or hook scripts are copied; the analyzer, rule contract, and report format
are clean-room original. See docs/source-map.md.
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.

