Skip to content

Install

Install with the skills.sh installer:

npx skills@latest add paulnsorensen/easy-cheese

Install all currently published skills in this repo's manifest without prompts:

npx skills@latest add paulnsorensen/easy-cheese --skill "*" -y

Without --global, the skills CLI uses project-level scope. Run those commands from the repo where you want easy-cheese recorded under .agents/skills/. The -y flag only skips confirmation prompts; it does not make a project install global.

For a user-wide Codex install that is available across repos, pass the Codex agent and global scope explicitly:

npx skills@latest add paulnsorensen/easy-cheese --skill "*" --agent codex --global -y

The installer reads this repo's published skill manifest, lets you pick the skills you want, and installs them into the coding agents you select.

After 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)

Requires GitHub CLI v2.90.0 or later with the gh skill command.

Install all skills interactively:

gh skill install paulnsorensen/easy-cheese

Install every current skill in one shot:

for s in age affinage briesearch cheese cheese-factory cheez-read cheez-search cheez-write cook culture cure hard-cheese melt mold pasteurize press ultracook wheypoint; do
  gh skill install paulnsorensen/easy-cheese "$s"
done

Install one specific skill by name:

gh skill install paulnsorensen/easy-cheese cook

Pin to a specific release tag or commit SHA for reproducibility:

gh skill install paulnsorensen/easy-cheese cook@v1.2.0
gh skill install paulnsorensen/easy-cheese cook@abc123def

Control 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 project

Supported --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 cook

Keep installed skills up to date:

gh skill update --all

Claude Code (manual)

Copy the skills you want into your skills directory:

# Per-user
mkdir -p ~/.claude/skills
cp -r skills/age ~/.claude/skills/

# Per-project
mkdir -p .claude/skills
cp -r skills/cook .claude/skills/

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

The cheez-* tool skills and several workflow skills benefit from MCP servers. Install the ones you need.

tilth (required for `cheez-*` skills) โ€” AST-aware code search, smart reading, hash-anchored edits [tilth](https://github.com/jahala/tilth) provides AST-aware code search, smart file reading, and hash-anchored edits. Required by `/cheez-search`, `/cheez-read`, and `/cheez-write`.
# Install tilth CLI โ€” pick one (no Homebrew formula upstream)
cargo install tilth        # via Cargo (Rust) โ€” preferred, native binary
npm install -g tilth       # via npm (Node 18+) โ€” no Rust toolchain needed
# or run via npx โ€” no global install needed (Node.js v18+):
#   npx -y tilth install claude-code --edit

# Register as an MCP server โ€” include --edit only if you plan to use cheez-write
tilth install claude-code --edit   # Claude Code
tilth install cursor --edit        # Cursor
tilth install vscode --edit        # VS Code
tilth install codex --edit         # Codex CLI
tilth install gemini --edit        # Gemini CLI
tilth install zed --edit           # Zed
After registering, restart your harness and confirm these tools appear: - `mcp__tilth__tilth_search` - `mcp__tilth__tilth_read` - `mcp__tilth__tilth_files` - `mcp__tilth__tilth_deps` - `mcp__tilth__tilth_edit` (only with `--edit`)
Context7 โ€” library documentation for /briesearch and /cook [Context7](https://github.com/upstash/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@latest
**Other 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](https://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](https://github.com/tavily-ai/tavily-mcp) provides real-time web search and content extraction. Used by `/briesearch` when available. Get a free API key at [tavily.com](https://tavily.com), then: **Claude Code:**
claude mcp add tavily -- npx -y tavily-mcp
Set your key in the environment or pass it inline:
TAVILY_API_KEY=your-key npx -y tavily-mcp
**Other 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+.
code-review-graph โ€” impact radius, architecture framing, semantic search for /age, /press, /cure [code-review-graph](https://github.com/tirth8205/code-review-graph) builds a persistent call graph of your codebase with Tree-sitter, Louvain communities, betweenness-centrality, and optional vector embeddings. Used by `/age`, `/press`, and `/cure` for risk-scored impact (`get_impact_radius_tool`, `detect_changes_tool`), curated review context (`get_review_context_tool`, `get_minimal_context_tool`), affected flows (`get_affected_flows_tool`), architecture framing (`get_architecture_overview_tool`, `get_hub_nodes_tool`, `get_bridge_nodes_tool`), and cross-repo / semantic search (`cross_repo_search_tool`, `semantic_search_nodes_tool`). Tilth handles AST search, callers, and hash-anchored edits; code-review-graph covers the graph-algorithmic and cross-repo dimensions tilth does not.
# Install with the local sentence-transformers embeddings extra (Python 3.10+ required)
pip install 'code-review-graph[embeddings]'   # or: pipx install 'code-review-graph[embeddings]'

# Auto-detect and configure your harness
code-review-graph install

# Target a specific harness
code-review-graph install --platform claude-code
code-review-graph install --platform cursor
code-review-graph install --platform codex

# Build the graph for the current project (re-run after large changes)
code-review-graph build

# Compute embeddings for semantic_search_nodes_tool (one-time, then incremental)
code-review-graph embed
The `[embeddings]` extra pulls in `sentence-transformers` so `semantic_search_nodes_tool` works out of the box with the default `all-MiniLM-L6-v2` model. Override with `CRG_EMBEDDING_MODEL=`. Other embedding providers (Google Gemini, MiniMax, OpenAI-compatible endpoints) are also supported โ€” see the upstream README for `[google-embeddings]` and the `CRG_OPENAI_*` env vars.

Optional tools

Workflow skills name preferred tools when they help, with fallbacks for portability. Tool skills can be stricter when their purpose is to enforce a specific tool protocol.

Tool Helps with Fallback
tilth (MCP) AST-aware read/search/edit and dependency context Required for cheez-*; workflow skills can bypass cheez-* and use host read/edit, ripgrep, patches
sg (ast-grep) Structural pattern matching and codemods (sg --rewrite) with metavariables ripgrep, find, targeted reads; tilth_edit for non-structural edits
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
code-review-graph (MCP) Review impact radius, architecture framing, and embeddings-backed semantic / cross-repo search import searches, caller searches, tests
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 โ€” concrete tools for the abstract "if your harness has an LSP" sections in cheez-* skills sg, tilth_search, targeted reads via tilth
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, fall back, and lower confidence only if evidence quality suffers. The cheez-* skills stop instead because tilth is their compatibility requirement.

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)

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:

  1. Installs every CLI tool listed below โ€” Homebrew for the eight brew-core formulas, plus cargo install tilth (or npm install -g tilth if Rust isn't available) for tilth, which has no Homebrew formula upstream.
  2. 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.
  3. Registers the tilth and context7 MCP servers with those harnesses where supported.

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 | bash

Or 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.sh
bash /tmp/easy-cheese-install.sh --help
bash /tmp/easy-cheese-install.sh --dry-run

Common flags:

# Install only ripgrep + jq, skip MCP registration
curl -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 registration
curl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh \
  | bash -s -- --harness cursor

# Or target a comma-separated harness list explicitly
curl -fsSL https://raw.githubusercontent.com/paulnsorensen/easy-cheese/main/scripts/install.sh \
  | bash -s -- --harness claude-code,cursor,codex

The 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 | bash runs 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)

brew install gh           # macOS/Linux via Homebrew
winget install GitHub.cli # Windows
# or see https://cli.github.com for other methods
gh auth login

Minimum version for gh skill: v2.90.0.

gh --version

gh 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)

Used by /cook, /age, and /cure for structural codemods when tilth is unavailable.

brew install ast-grep          # macOS/Linux
npm install -g @ast-grep/cli   # Node.js
cargo install ast-grep         # Rust/Cargo
scoop install ast-grep         # Windows (Scoop)

ripgrep (rg)

Fast text search used as a fallback when tilth is unavailable.

brew install ripgrep           # macOS/Linux
winget install BurntSushi.ripgrep.MSVC  # Windows
cargo install ripgrep          # Rust/Cargo

delta

Human-readable diffs used by /age and /cure.

brew install git-delta         # macOS/Linux
cargo install git-delta        # Rust/Cargo
winget install dandavison.delta # Windows

Add to ~/.gitconfig to enable globally:

[core]
    pager = delta
[interactive]
    diffFilter = delta --color-only

mergiraf

Structured merge-conflict resolution used by /melt.

cargo install mergiraf         # Rust/Cargo
brew install mergiraf          # macOS/Linux (if tap is available)

jq

JSON inspection used by various skills for structured output.

brew install jq                # macOS/Linux
winget install jqlang.jq       # Windows
apt-get install jq             # Debian/Ubuntu

fd

Fast file discovery used as a fallback when tilth is unavailable.

brew install fd                # macOS/Linux
cargo install fd-find          # Rust/Cargo
winget install sharkdp.fd      # Windows
apt-get install fd-find        # Debian/Ubuntu

just

Project task runner used by /cook and /press to discover and run project commands.

brew install just              # macOS/Linux
cargo install just             # Rust/Cargo
winget install Casey.Just      # Windows