easy-cheese
Health Warn
- License รขโฌโ License: MIT
- Description รขโฌโ Repository has a description
- Active repo รขโฌโ Last push 0 days ago
- Low visibility รขโฌโ Only 5 GitHub stars
Code Pass
- Code scan รขโฌโ Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions รขโฌโ No dangerous permissions requested
No AI report is available for this listing yet.
Cheese your code ๐ง โ high-quality results as easy as cheese. A portable, harness-agnostic Agent Skills toolkit.
๐ง easy-cheese ๐ง
Don't know what to do? Just /cheese it.
"The cheese must flow."
A portable, harness-agnostic Agent Skills toolkit โ self-contained SKILL.md files any Agent Skills-compatible harness can load. No agents, no compiled bundles, no repo-wide MCP requirement. The vocabulary (mold, culture, cook, press, age, cure) reads as a workflow you can dip into anywhere.
Contents
- Why cheese?
- Skill layout
- Skills
- Scope
- Optional tools
- Install
- Validate
- Installing MCP servers
- Installing CLI tools
- Credits
Why cheese? Two reasons
- From gaming slang: a "cheese" win is cheap, easy, and disproportionately effective โ exactly the design center (correctness, token efficiency, quality).
- What's life without whimsy? ๐ง
Skill layout
This repo follows the Agent Skills spec:
skills/
โโโ <skill-name>/
โโโ SKILL.md # required: name + description + body
โโโ references/ # optional: detail pulled in on demand
โโโ scripts/ # optional: executable helpers
โโโ assets/ # optional: templates / static resources
Each SKILL.md is self-contained markdown with YAML frontmatter. There are no nested sub-skills; deeper material lives in references/<topic>.md so the harness can load it progressively.
Skills
Workflow skills
| Skill path | Command | Purpose |
|---|---|---|
skills/cheese/SKILL.md |
/cheese |
Unified entry point. Classifies any input (idea, spec path, PR, stack trace, file path), announces the routing decision, and gates dispatch behind AskUserQuestion. Never auto-invokes. |
skills/briesearch/SKILL.md |
/briesearch |
Research technical questions across docs, web, codebase, and GitHub examples with confidence-capped synthesis. |
skills/mold/SKILL.md |
/mold |
Shape fuzzy ideas into grounded specs through dialogue, validate cycles, and a two-key handshake. |
skills/culture/SKILL.md |
/culture |
No-write rubber-ducking and architecture exploration. Hard invariant: writes only the opt-in .cheese/notes/<slug>.md handoff at session end, and only when the user asks for notes. |
skills/cook/SKILL.md |
/cook |
Implement clear specs via cut โ cook โ taste-test with scoped edits and tests. |
skills/press/SKILL.md |
/press |
Harden cooked changes with coverage, assertion, and boundary checks. |
skills/age/SKILL.md |
/age |
Review diffs across nine staff-engineer dimensions and produce a severity-grouped findings report. |
skills/cure/SKILL.md |
/cure |
Fix user-selected findings, validate, and prepare the branch for shipping. |
skills/hard-cheese/SKILL.md |
/hard-cheese (or --hard flag) |
Metacognitive vibecheck gate before review โ asks the author to explain the diff's causal logic, grades the explanation against the SOLO Taxonomy. Standalone or via --hard propagation through the pipeline. |
skills/ultracook/SKILL.md |
/ultracook |
Autonomous fresh-context pipeline (cook โ press โ age โ cure โ age โ cure โ age, all --auto). Each phase runs inside its own full-peer sub-agent so review stays adversarial and parent context never bloats. For high-blast-radius specs. |
skills/cheese-factory/SKILL.md |
/cheese-factory |
Large-feature orchestrator. Decomposes an approved spec into seed + parallel curds + wiring, fans out per-curd /cook โ /press โ /age โ /cure, merges, runs a fresh-context post-merge review pass, and ends in 1โN reviewable PRs (single, orthogonal flat, stacked linear, or diamond-stacked). Portable, harness-agnostic sibling of /fromagerie. |
skills/melt/SKILL.md |
/melt |
Resolve merge / rebase / cherry-pick conflicts via the structural cascade (mergiraf โ rerere โ kdiff3) with batch, pick-side, and lockfile helpers. |
Tool skills
The workflow skills can delegate code search, reading, and editing to these MCP-backed skills when tilth is available:
| Skill path | Command | Purpose |
|---|---|---|
skills/cheez-search/SKILL.md |
/cheez-search |
AST-aware code/text/regex/caller search via tilth MCP. Replaces grep / rg / find. |
skills/cheez-read/SKILL.md |
/cheez-read |
Smart file/directory reading with hash anchors via tilth MCP. Replaces cat / head / tail / ls. |
skills/cheez-write/SKILL.md |
/cheez-write |
Hash-anchored, surgical edits via tilth MCP. Never rewrites whole files. |
The cheez-* skills require tilth MCP and hard-fail when it is unavailable rather than fall back to host tools. Workflow skills remain portable by falling back directly to host-native tools when they are not using cheez-*.
cheez-* router protocol
The three cheez-* skills are designed to chain. The standard sequence:
/cheez-searchโ locate the symbol, caller, content match, or file. AST-aware; replaces grep/rg/find./cheez-readโ read the target file or section to capture hash anchors. Smart-outlines large files; replaces cat/head/tail/ls./cheez-writeโ apply hash-anchored edits with the anchors from step 2. Surgical; rejects on hash mismatch.
Workflow skills (/cook, /age, /cure) call into this chain when they need code intelligence. A skill should never search-then-edit without reading in between โ the read is what produces the anchors that make the edit safe.
Tool redirection map
If you'd reach for one of these on a code task, route through cheez-* instead:
| If you'd run... | Use this skill | Why |
|---|---|---|
grep, rg, ripgrep, ag, ack |
/cheez-search |
AST-aware; ranks definitions over usages, filters comments/strings. |
find, fd (by name pattern, code work) |
/cheez-read (tilth_files) |
Token estimates and .gitignore filtering for free. |
ast-grep / sg (for name-shaped queries) |
/cheez-search |
sg is reserved for structural metavariable patterns tilth can't express. |
| LSP "find references" / "find definition" (manual) | /cheez-search |
Same answer, no IDE round-trip; falls through to LSP under the hood when needed. |
cat, head, tail, less, more, bat |
/cheez-read |
Hash anchors + outline-vs-full token budgeting. |
ls, tree, eza (code dirs) |
/cheez-read (tilth_files) |
Token estimates; respects .gitignore. |
Read, Glob (host tools, code paths) |
/cheez-read |
Bypasses session deduplication and emits no anchors. |
sed, awk, perl -i |
/cheez-write |
No hash-mismatch safety; silent races on concurrent writes. |
patch (apply diff to code) |
/cheez-write |
Anchored range edits are the safe equivalent. |
tee, >, >> (overwrite/append code files) |
/cheez-write |
Same โ no anchors, no mismatch detection. |
Edit, Write (host tools, code) |
/cheez-write |
tilth_edit is the only edit path with hash-anchor safety. |
sg --rewrite (codemod across N files) |
/cheez-write |
Sanctioned escape from cheez-write for structural codemods; tilth_edit stays the default for single-block edits. |
Outside code work (e.g. find -mtime, ls /tmp, log inspection with tail -f, JSON munging with jq) the host tools are still the right call. The redirection rule is: anything that touches source code goes through cheez-*.
Installing tilth MCP
See Installing MCP servers below โ expand the tilth section for full instructions.
If those tools don't show up after install, the cheez-* skills will hard-fail with "tilth MCP server is not loaded" instead of silently falling back to host tools.
Suggested flow
/cheese โโโบ classify intent
โโ need info / external evidence โโโบ /briesearch
โโ rubber-duck only โโโบ /culture
โโ fuzzy / multi-module idea โโโบ /mold โโโบ /cook โโโบ /press โโโบ /age โโโบ /cure
โโ high-blast-radius spec โโโบ /mold โโโบ /ultracook (fresh-context: cook โ press โ age โ cure โ age โ cure โ age)
โโ clear, scoped ask โโโบ /cook โโโบ /press โโโบ /age โโโบ /cure
โโ debugging task โโโบ /culture โโโบ /cook โโโบ /press โโโบ /age โโโบ /cure
โโ resume in fresh context โโโบ /cheese --continue <slug>
โโ review only โโโบ /age โโโบ /cure
/cheese is the front door. It inspects whatever you drop in (idea, spec path, PR ref, stack trace, file path), announces its routing decision, and waits for explicit confirmation before any downstream skill runs. Use it directly, or skip it when you already know the destination โ a clear bug can go straight to /cook, a no-write design discussion stays in /culture. /melt cuts in whenever a merge step blocks /cook or /cure. Append --hard to any pipeline step to insert /hard-cheese as a metacognitive vibecheck gate before review.
Scope
Easy-cheese is intentionally a small surface. What that means in practice:
- Skills only. No agents, commands, eta templates, or compiled harness bundles. Each capability is a single
SKILL.md. - No repo-wide MCP requirement. Workflow skills suggest tools (tilth, Context7, Tavily, code-review-graph) but have host-native fallbacks. The cheez-* tool skills are the exception: they require tilth MCP by design.
- One orchestrator skill, narrowly scoped.
/ultracookis the only orchestrator โ it spawns full-peer sub-agents for the fixedcook โ press โ age โ cure โ age โ cure โ agechain on high-blast-radius specs. There is no large-feature decomposition, no PR-rescue convoy, no whole-repo NIH audit. Every other skill remains a single, scoped step a human can drive. - No automatic re-age loop in
/cure. The skill describes the protocol; the human runs the next/agewhen ready.
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 | Semantic navigation and symbol understanding | sg, ripgrep, targeted reads |
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.
Install
gh skill (recommended)
Requires GitHub CLI v2.90.0 or later with the gh skill command.
Install all skills interactively โ browse what's available and pick what you want:
gh skill install paulnsorensen/easy-cheese
Install every skill in one shot:
for s in age briesearch cheese cheese-factory cheez-read cheez-search cheez-write cook culture cure hard-cheese melt mold press ultracook; 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 [email protected]
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.
Validate
The reference validator from agentskills/agentskills checks frontmatter and naming:
skills-ref validate ./skills/age
Each SKILL.md must have YAML frontmatter with at least name and description, and name must match the parent directory name.
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 editstilth 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_searchmcp__tilth__tilth_readmcp__tilth__tilth_filesmcp__tilth__tilth_depsmcp__tilth__tilth_edit(only with--edit)
/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@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 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-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 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=<model-id>. 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.
Installing CLI tools
The optional tools in the table below are referenced by workflow skills. None are required, but having them available unlocks better fallbacks and richer output.
One-shot installer (macOS)
scripts/install.sh does the whole setup in one shot:
- Installs every CLI tool listed below โ Homebrew for the eight brew-core formulas, plus
cargo install tilth(ornpm install -g tilthif Rust isn't available) for 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.
- Registers the
tilthandcontext7MCP 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 | 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)
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
Credits
The shared voice kernel at skills/age/references/voice.md โ output discipline, reasoning posture, the certain | speculating | don't know confidence vocabulary, and the depth-vs-question split โ adapts a Claude Opus 4.7 system-prompt experiment by Reebz, narrowed to the parts that earn their keep in a portable skills toolkit. Cross-referenced from briesearch, culture, mold, cook, and cure.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found