From refute
Install the `refute` binary and the LSP backends for the languages used in the current project, verify the install, and write a guarded usage stanza into the project's primary agent doc.
How this skill is triggered — by the user, by Claude, or both
Slash command
/refute:install-refuteThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Recommended model: low. Narrow install workflow with explicit commands and
Recommended model: low. Narrow install workflow with explicit commands and a fixed end-state.
Set up Refute for use in a downstream project. Detect the languages present in the project, install the correct LSP backends for those languages, and leave a durable note in the project's agent doc.
Inspect the project root for these markers and record the languages present:
go.mod → GoCargo.toml → Rustpackage.json → TypeScript / JavaScriptIf none are present, ask the user which language to target; do not guess.
refutePick the install path based on the project:
go get -tool github.com/shatterproof-ai/refute/cmd/refute@latest
Verify with go tool refute version. Pinning a concrete release tag is
handled by the separate pin-refute skill once it ships.go install github.com/shatterproof-ai/refute/cmd/refute@latest
Verify with refute version.go build ./cmd/refute.Refuse to install if Go is not on PATH; point the user at the official
Go install docs and stop.
For each detected language, install the matching backend if missing:
go install golang.org/x/tools/gopls@latest
rustup component add rust-analyzer
npm install -g typescript-language-server typescript
Skip backends for languages the project does not use.
Run refute version (or go tool refute version) and confirm the output.
Run the bundled helper:
python3 scripts/update_usage_stanza.py \
--tool refute \
--project-root . \
--version "$(refute version 2>/dev/null | head -1 || go tool refute version 2>/dev/null | head -1)" \
--backend gopls \
--backend rust-analyzer \
--backend typescript-language-server \
--skill refute-doctor
Pass only the --backend flags for backends that were actually installed.
The helper picks the destination by this order:
AGENTS.md if it exists.CLAUDE.md if it exists.docs/refute-usage.md and add a one-liner in README.md
pointing at it.The stanza is bracketed by <!-- refute:usage --> and
<!-- /refute:usage -->. Re-running this skill replaces the stanza in
place.
refute-doctorTell the user to run refute-doctor next to verify the install is fully
working for the project's languages.
pin-refute, deferred).refute-rename, deferred).scripts/update_usage_stanza.py (bundled with this skill, byte-identical
to the copy in install-shatter)Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub shatterproof-ai/agents --plugin refute