Install
skills.sh (recommended)
Section titled “skills.sh (recommended)”Install every skill with the skills.sh installer. The
skills form one pipeline (/cheese → /mold → /cook → /press → /age → /cure),
so install them together rather than cherry-picking:
npx skills@latest add paulnsorensen/easy-cheese --all --global--all is shorthand for --skill "*" --agent "*" -y: every published skill,
into every detected agent, no prompts. --global installs them user-wide, so
they are available across every repo.
To scope the install to just the current repo instead (recorded under
.agents/skills/), drop --global and run it from that repo:
npx skills@latest add paulnsorensen/easy-cheese --allAfter install, start with /cheese if you’re not sure which wheel to cut into
first, or jump straight to a specific skill like /cook, /age, or
/pasteurize. There is no required follow-up setup skill.
gh skill (GitHub CLI alternative)
Section titled “gh skill (GitHub CLI alternative)”Requires GitHub CLI v2.90.0 or later with the gh skill command.
Install all skills interactively:
gh skill install paulnsorensen/easy-cheeseInstall every current skill in one shot:
for s in age affinage briesearch cheese cook culture cure hard-cheese melt mold pasteurize press ultracook wheypoint; do gh skill install paulnsorensen/easy-cheese "$s"doneInstall one workflow skill with its shared contracts:
gh skill install paulnsorensen/easy-cheese cheesegh skill install paulnsorensen/easy-cheese cookPin both skills to the same release tag or commit SHA for reproducibility:
gh skill install paulnsorensen/easy-cheese cheese@v0.10.1gh skill install paulnsorensen/easy-cheese cook@v0.10.1gh skill install paulnsorensen/easy-cheese cheese@abc123defgh skill install paulnsorensen/easy-cheese cook@abc123defControl which agent and scope to install into:
# User-wide (recommended for personal toolkits)gh skill install paulnsorensen/easy-cheese --agent claude-code --scope user
# Committed into the current project repo (default scope)gh skill install paulnsorensen/easy-cheese --agent claude-code --scope projectSupported --agent values include github-copilot, claude-code, cursor, codex, gemini-cli, and others. Omit --agent to use the harness auto-detected from your environment.
Preview a skill’s content before committing to an install:
gh skill preview paulnsorensen/easy-cheese cookKeep installed skills up to date:
gh skill update --allClaude Code (manual)
Section titled “Claude Code (manual)”Copy the skills you want into your skills directory:
# Per-usermkdir -p ~/.claude/skillscp -r skills/age ~/.claude/skills/
# Per-projectmkdir -p .claude/skillscp -r skills/cook .claude/skills/Other harnesses
Section titled “Other harnesses”Copy skills/<name>/ into wherever the harness loads Agent Skills from. The format follows the agentskills.io spec and works in any compliant client.
Installing MCP servers
Section titled “Installing MCP servers”Several workflow skills benefit from MCP servers. Install the ones you need.
tilth — AST-aware code search, smart reading, tag-anchored edits
tilth provides the preferred broad source search/read/edit backend. Equivalent native AST/LSP/anchored-edit backends satisfy the shared source-code routing contract when Tilth is unavailable.
# Install tilth CLI via npm (Node.js v18+) — no Homebrew formula upstreamnpm install -g @paulnsorensen/tilth-nightly@latest# or run via npx — no global install needed:# npx -y @paulnsorensen/tilth-nightly@latest install claude-code --edit
# Register as an MCP server — include --edit for tag-anchored writestilth install claude-code --edit # Claude Codetilth install cursor --edit # Cursortilth install vscode --edit # VS Codetilth install codex --edit # Codex CLItilth install gemini --edit # Gemini CLItilth install zed --edit # ZedAfter registering, restart your harness and confirm these tools appear:
mcp__tilth__tilth_searchmcp__tilth__tilth_readmcp__tilth__tilth_listmcp__tilth__tilth_depsmcp__tilth__tilth_write(only with--edit)
Context7 — library documentation for /briesearch and /cook
Context7 fetches up-to-date, version-specific library docs into your session. Used by /briesearch and /cook when available.
Claude Code:
claude mcp add context7 -- npx -y @upstash/context7-mcp@latestOther harnesses — add to your MCP config file:
{ "mcpServers": { "context7": { "command": "npx", "args": ["-y", "@upstash/context7-mcp@latest"] } }}For higher rate limits, get a free API key at context7.com and append --api-key YOUR_API_KEY to the args array. A keyless hosted option is also available:
{ "mcpServers": { "context7": { "url": "https://mcp.context7.com/mcp" } }}Requires Node.js v18+.
Tavily — web search for /briesearch
Tavily provides real-time web search and content extraction. Used by /briesearch when available.
Get a free API key at tavily.com, then:
Claude Code:
claude mcp add tavily -- npx -y tavily-mcpSet your key in the environment or pass it inline:
TAVILY_API_KEY=your-key npx -y tavily-mcpOther harnesses — add to your MCP config file:
{ "mcpServers": { "tavily": { "command": "npx", "args": ["-y", "tavily-mcp"], "env": { "TAVILY_API_KEY": "your-key" } } }}Requires Node.js v18+.
Optional tools
Section titled “Optional tools”Workflow skills name preferred tools when they help, with bounded fallbacks for portability.
| Tool | Helps with | Fallback |
|---|---|---|
| tilth (MCP) | AST-aware read/search/edit and dependency context | Native AST/LSP/anchored-edit tools per the shared routing contract |
sg (ast-grep) |
Structural pattern matching and codemods (sg --rewrite) with metavariables |
LSP or tilth for symbol/caller questions; anchored edits for non-structural block changes |
| Context7 (MCP) | Library and API documentation | repo docs, package docs, vendor pages, web search |
| Tavily (MCP) | Current web/vendor research | host web search or user-supplied sources |
| LSP / Serena (MCP) | Type-aware xrefs (find_referencing_symbols, find_implementations), symbol-bounded edits (rename_symbol, replace_symbol_body, safe_delete_symbol), and LSP diagnostics |
sg, tilth_search, targeted reads via tilth |
| hallouminate (MCP) | Per-repo wiki for cross-session design rationale, ADR grounding, and /mold evidence |
Skip wiki grounding; proceed with diff + code evidence only; cap at speculating when design rationale is central |
| milknado (MCP) | Mikado task-graph backend for /cook’s fan-path curd prerequisite tracking |
In-report curd decomposition in manifest YAML; no external task-graph backend needed |
ripgrep |
Fast text search | grep, find, editor search |
gh |
GitHub issues, PRs, checks, examples | local git commands or user-provided links/logs |
delta |
Readable diffs | plain git diff |
mergiraf |
Structured merge conflict resolution | manual conflict resolution plus tests |
jq |
JSON inspection for reports or tool output | manual inspection |
fd |
Fast file discovery | find |
just |
Project task discovery | package scripts or documented commands |
When a preferred tool is unavailable, workflow skills say so once, use the strongest bounded fallback, and lower confidence only if evidence quality suffers.
Installing CLI tools
Section titled “Installing CLI tools”The optional tools listed under Optional tools are referenced by workflow skills. None are required, but having them available unlocks better fallbacks and richer output.
macOS bootstrap script (optional)
Section titled “macOS bootstrap script (optional)”Use
scripts/install.sh
when you want the surrounding macOS toolchain and MCP servers set up for you.
The recommended way to install the skills themselves is still the skills.sh
flow above; this script is the fast lane for the wider ecosystem.
It does the following in one shot:
- Installs every CLI tool listed below — Homebrew for the eight brew-core formulas, plus
npm install -g @paulnsorensen/tilth-nightly@latestfor tilth, which has no Homebrew formula upstream. - Auto-detects installed Claude Code, Cursor, and Codex CLIs, then installs every easy-cheese skill into each detected harness at user scope as a convenience bootstrap.
- Registers the
tilth,context7, andhallouminateMCP servers with those harnesses where supported. hallouminate is delivered as a plugin: onclaude-codeandcodexthe installer adds thepaulnsorensen/hallouminateplugin marketplace and installs the plugin (which ships its own MCP server and bootstraps the binary); on other harnesses it warns and you register the MCP manually. Other servers (tavily,milknado) are also selectable with--mcp.
Currently macOS only — it relies on Homebrew. Requires gh to be authenticated (gh auth login) before running.
Pipe straight from GitHub:
curl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh | bashOr grab the script first if you’d like to read it:
curl -fsSL -o /tmp/easy-cheese-install.sh https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.shbash /tmp/easy-cheese-install.sh --helpbash /tmp/easy-cheese-install.sh --dry-runCommon flags:
# Install only ripgrep + jq, skip MCP registrationcurl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh \ | bash -s -- --tools ripgrep,jq --skip-mcp
# Register MCP servers only (assumes CLI tools and skills are already installed)curl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh \ | bash -s -- --skip-tools --mcp tilth,context7,tavily
# Pick a specific harness for skill + MCP registrationcurl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh \ | bash -s -- --harness cursor
# Or target a comma-separated harness list explicitlycurl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh \ | bash -s -- --harness claude-code,cursor,codexThe script is idempotent — it skips any tool already on PATH — and accepts --dry-run so you can preview what it would do before letting it run. If no supported harness CLI is detected, it falls back to the historical claude-code target; pass --harness to override detection.
Heads-up:
curl | bashruns whatever the URL serves at the moment of the request. If you want to audit before running, use the two-step form above.
If you’d rather install tools individually, the per-tool sections below cover macOS, Windows, and Linux.
GitHub CLI (gh)
Section titled “GitHub CLI (gh)”brew install gh # macOS/Linux via Homebrewwinget install GitHub.cli # Windows# or see https://cli.github.com for other methodsgh auth loginMinimum version for gh skill: v2.90.0.
gh --versiongh skill ships as a built-in subcommand in GitHub CLI v2.90.0+. If your installation predates that release, upgrade gh rather than installing an extension. Check cli.github.com/manual/gh_skill for the current status.
ast-grep (sg)
Section titled “ast-grep (sg)”Used by /cook, /age, and /cure for structural codemods when tilth is unavailable.
brew install ast-grep # macOS/Linuxnpm install -g @ast-grep/cli # Node.jscargo install ast-grep # Rust/Cargoscoop install ast-grep # Windows (Scoop)ripgrep (rg)
Section titled “ripgrep (rg)”Fast text search used as a fallback when tilth is unavailable.
brew install ripgrep # macOS/Linuxwinget install BurntSushi.ripgrep.MSVC # Windowscargo install ripgrep # Rust/CargoHuman-readable diffs used by /age and /cure.
brew install git-delta # macOS/Linuxcargo install git-delta # Rust/Cargowinget install dandavison.delta # WindowsAdd to ~/.gitconfig to enable globally:
[core] pager = delta[interactive] diffFilter = delta --color-onlymergiraf
Section titled “mergiraf”Structured merge-conflict resolution used by /melt.
cargo install mergiraf # Rust/Cargobrew install mergiraf # macOS/Linux (if tap is available)JSON inspection used by various skills for structured output.
brew install jq # macOS/Linuxwinget install jqlang.jq # Windowsapt-get install jq # Debian/UbuntuFast file discovery used as a fallback when tilth is unavailable.
brew install fd # macOS/Linuxcargo install fd-find # Rust/Cargowinget install sharkdp.fd # Windowsapt-get install fd-find # Debian/UbuntuProject task runner used by /cook and /press to discover and run project commands.
brew install just # macOS/Linuxcargo install just # Rust/Cargowinget install Casey.Just # Windows