Lint fix
Skill honerlaw/agent-marketplace/plugins/minerva/skills/lint-fix
A personal plugin marketplace for AI coding agents. Each plugin provides skills and automation scripts.
npx -y skills add honerlaw/agent-marketplace --skill lint-fixAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Applies the deterministically-repairable subset of `minerva:lint` findings — MUTATES the `.minerva/knowledge/` wiki behind a confirmation gate (index watermark, stale catalog lines, wrong Type-section placement, missing reciprocal `## Related` links) via the tested `scripts/knowledge_fix.py`. Never touches entry bodies and never auto-fixes judgment calls (missing catalog summaries, broken links, contradictions/staleness) — those it surfaces to handle by hand. Use after a lint run when the user asks to apply the safe/reported fixes or auto-repair the wiki, or when they invoke `minerva:lint-fix`. The read-only companion is `minerva:lint`.
SKILL.md
4.5 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Apply the mechanically-repairable fixes to the .minerva/knowledge/ wiki, behind a
confirmation gate. minerva:lint-fix is the mutating companion to the read-only
minerva:lint: where minerva:lint reports drift, this skill repairs the subset
that is deterministically fixable. All mutation happens inside the unit-tested
scripts/knowledge_fix.py — this skill orchestrates and gates; it does not edit
files itself (its allowed-tools omits Edit/Write).
This skill changes files. It is not read-only. Every change is shown as a plan and applied only after you confirm.
Target
The .minerva/knowledge/ corpus of the current working tree, resolved by the
fixer from git rev-parse --show-toplevel — the same per-branch semantics as the
unit-021 CI drift gate and minerva:lint.
Step 1 — Plan (dry run, no writes)
Show what would change, via the fixer's --dry-run:
ROOT="$(git rev-parse --show-toplevel)"; PLUGIN_SCRIPTS=$(find -L "${HOME}/.claude/plugins/minerva" "${HOME}/.claude/plugins/cache/agent-marketplace/minerva" -maxdepth 2 -type d -name "scripts" 2>/dev/null | head -1); python3 "${PLUGIN_SCRIPTS:-$ROOT/scripts}/knowledge_fix.py" --dry-run "$ROOT/.minerva/knowledge"
It re-derives every edit from the detector's structured output (parse_index /
parse_entry), never from message text. The plan lists, per item: an index.md
rewrite (watermark / stale-line / Type-section / NNN-order) and/or per-entry
reciprocal-link additions, plus any REFUSED items (e.g. a forward ## Related
label outside the closed vocabulary).
Step 2 — Gate
Present the plan to the user and wait for explicit confirmation before applying.
If the plan is empty (no mechanical fixes needed), report that and stop.
Step 3 — Apply
On confirmation, apply (the script recomputes the batch from the live corpus, so the plan can't go stale between dry-run and apply):
ROOT="$(git rev-parse --show-toplevel)"; PLUGIN_SCRIPTS=$(find -L "${HOME}/.claude/plugins/minerva" "${HOME}/.claude/plugins/cache/agent-marketplace/minerva" -maxdepth 2 -type d -name "scripts" 2>/dev/null | head -1); python3 "${PLUGIN_SCRIPTS:-$ROOT/scripts}/knowledge_fix.py" "$ROOT/.minerva/knowledge"
The script applies the batch atomically and then re-runs the detector to verify the corpus is clean. Report the result.
What it fixes vs. surfaces
Auto-fixed (deterministic, gated):
- Index watermark out of sync with the max entry NNN.
- Stale catalog line — an
index.mdentry whose NNN has no file. - Wrong Type section — a catalog line under the wrong
## Typeheader (relocated verbatim, summary preserved, NNN-sorted). - Missing reciprocal — a one-way
## Relatedlink; the reciprocal label is derived from the forward label (builds on→see also;supersedes↔superseded by;contradicts/see alsosymmetric). A supersession also writes the banner.
Safety: entry edits change only the ## Related block / banner span (a
body_complement byte-identity guard aborts the run otherwise — knowledge 016);
index.md edits preserve the canonical skeleton (H1 + the four headers incl. the
empty ## Patterns) and ascending-NNN order.
NOT auto-fixed — surfaced for you to handle by hand:
- Missing catalog line — needs a one-line summary (a judgment call).
- Broken
## Relatedlink — the target doesn't exist; remove it or create the entry. - Orphans / contradictions / stale claims — the LLM-judged advisory dimensions
from
minerva:lint; advisory only, never auto-applied (knowledge 013).
Out of scope
- Editing the frozen detector (
scripts/knowledge_lint.py) or the read-onlyminerva:lintskill. - Running in CI / auto-applying without the gate.
- Synthesis /
log.md(Phase C).