downshift-setup
Skill4 starsChanged 9 days agoApache-2.0View on GitHub
Install or repair Downshift hooks on the user's machine for any harness (Claude Code, Cursor, Codex, Antigravity, KiroCrew). Use when asked to install, set up, wire, fix or undo Downshift, or when subagents never change model. Dry-run first, write only after a yes.
- Pipes a download into a shell
- Installs packages
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- downshift-layeringSkill
- architecture-coverageSkill
- downshift-auditSkill
- downshift-effortSkill
- downshift-orchestratorSkill
- downshift-squadSkill
- downshift-tuneSkill
- harness-engineerSkill
- ponytailSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 0 are distinctive, and 3 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.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 41
Only after a clear yes: downshift setup --yes.
- Very specific: line 55
Ask the user to open a new harness session, spawn a trivial subagent, and check downshift session, or in Claude Code /downshift:status …
- Very specific: line 60
Do not invent hook paths, matchers or catalog entries.
≈ “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
Downshift setup
Assisted, never silent. Every write outside the repository is shown as a diff and
waits for the user's yes. Never read or print task prompts. This skill is for the
first day: once downshift doctor is clean, ignore it (a hand-copied install can
delete it; the plugin copy stays and costs one description line).
1. Binary
downshift version. If missing, or older than the latest release (gh release view --repo tiagovilasboas/downshift-ai --json tagNameor the Releases page):curl -fsSL https://raw.githubusercontent.com/tiagovilasboas/downshift-ai/main/install.sh | sh(macOS / Linux) or the Releases page orgo install; seedocs/guides/install.md. Never skip this because hooks are wired:setupreports "up to date" for the config, not the binary. Thenwhich -a downshift: the first one must be the new build. An older copy earlier on PATH (often~/go/bin) shadows it; replace or remove that copy, then recheckdownshift version.- Claude Code only: the plugin (
/plugin marketplace add tiagovilasboas/downshift-ai, then/plugin install downshift@downshift) wires the same hooks and the/downshift:statusslash command without touching~/.claude/settings.json. Use one path, plugin orsetup, not both:setupskips the hooks when it sees the plugin enabled, anddownshift doctorwarns when both are wired.
2. Hooks
downshift setup --dry-run: one diff per harness found. Show it. Explain the Claude Code extras it adds only for keys the user has not set:"model": "opusplan"(Opus plans, Sonnet executes), sessions starting in plan mode, Claude Code's built-in You should know mod (each check is a billed background request: say so), a statusline.--no-session-policyskips the first three. Name the other things the diff adds, each with its opt-out: thedownshiftMCP server in Claude Code and Codex (--no-mcp); the Downshift skills the plugin lacks (downshift-audit,downshift-orchestrator,downshift-effort,downshift-squad,ponytail); on Claude Code, thedownshift-agentsmod, a band above the prompt and a/ds-agentspane that only observe (--no-mods). Every harness with an instructions file (~/.claude/CLAUDE.md,~/.codex/AGENTS.md, ...) gets a marked block with the agent triggers (downshift full power), so the squad is called at once.downshift setup claude-code --dry-runlimits the run to one harness.- Only after a clear yes:
downshift setup --yes. Backups are kept;downshift setup --undorestores the latest. - KiroCrew needs its wrapper script and is only reported by
setup; follow the KiroCrew section ofdocs/guides/install.md. Grok is config, not a hook.
3. Check
downshift doctor --json: handle everywarnorfailwith itsfix, asking before any config write. Acompanionrow about Headroom is optional; seedocs/guides/companions.md.- Session models: Claude Code infers them from the current model. Other harnesses need
downshift models discoveror~/.downshift/session-models.json(docs/reference/session-models.md). - Plan limits decide whether a rewrite is honored, not Downshift
(
docs/reference/harness-matrix.md). Say so when the plan is Free or legacy Cursor Pro. - Ask the user to open a new harness session, spawn a trivial subagent, and check
downshift session, or in Claude Code/downshift:status(plugin) or/downshift(manual alias). The stderr linedownshift: TRIVIAL task → downshift to …proves the hook fired; the matrix says whether it was applied.
Do not invent hook paths, matchers or catalog entries; everything above is in
docs/guides/install.md and examples/.
Downshift by Tiago Vilas Boas · https://github.com/tiagovilasboas/downshift-ai
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.

