Getting Started with grimoire
grimoire delivers professional best practices from every field directly into your AI agent. This guide walks through installation, your first skill, and the three meta-skills that help you find and apply the right practice for any situation.
Install
Claude Code
# Step 1: add the marketplace
/plugin marketplace add jeffreytse/grimoire-core
# Step 2: install plugins
# Skills are namespaced: /grimoire-engineering:propose-conventional-commit
/plugin install grimoire@grimoire-core # all domains
/plugin install grimoire-engineering@grimoire-core # one domain
/plugin install grimoire-engineering-development@grimoire-core # one sub-domain
GitHub Copilot CLI
copilot plugin marketplace add jeffreytse/grimoire-core
copilot plugin install grimoire@grimoire-core
Codex / Cursor
Both read AGENTS.md from the project root — Codex CLI auto-loads it at session start, Cursor injects it as context in Agent mode. No plugin marketplace step needed; install skill files with the CLI:
grimoire install --target codex # or --target cursor
OpenCode
See .opencode/INSTALL.md for plugin configuration.
OpenClaw
See .openclaw/INSTALL.md for plugin configuration.
Gemini CLI
gemini extensions install https://github.com/jeffreytse/grimoire-core
grimoire CLI (all agents)
# 1. Download binary
curl -fsSL https://raw.githubusercontent.com/jeffreytse/grimoire/main/scripts/install.sh | bash
# 2. Clone skill library
grimoire update
# 3. Install to all detected agents
grimoire install
# Granular options
grimoire install --domain engineering
grimoire install --domain engineering --subdomain development
grimoire install --skill engineering/development/propose-conventional-commit
grimoire install --target all # install to all agents, even if not detected
grimoire install with no arguments reads grimoire.toml (the package manifest) in the current directory if one exists. See the full CLI Reference for every command.
Your first skill
Once the engineering domain is installed, try the reference skill:
User: /propose-conventional-commit
Claude: Inspecting staged changes...
feat(auth): add OAuth2 PKCE flow for mobile clients
Replaces implicit grant with PKCE to address RFC 6749 §10.16
implicit flow vulnerabilities in native apps.
Approve? [y/n]
The skill reads git diff --cached, extracts scope and intent from the diff, and drafts a Conventional Commits message. You approve or reject — nothing is committed without your confirmation.
Find the right skill: suggest-best-practice
You don’t need to know which skill applies. Describe your situation:
User: /suggest-best-practice
Then describe the problem in natural language. suggest-best-practice auto-classifies the situation and routes to the best match:
User: My pull requests always take 3 days to get reviewed and then get rejected.
Claude: Situation matches: review-pull-request (engineering/development)
Not installed — get it with:
/plugin install grimoire-engineering-development@grimoire
Browse mode — if you want to see what’s available without applying anything:
User: What practices exist for database performance?
Claude: Best practices for: database performance
1. optimize-query-latency — eliminate slow queries before they reach production
Domain: engineering/data | Install: /plugin install grimoire-engineering-data@grimoire
2. design-schema-indexing — index strategy for high-read workloads
Domain: engineering/data | Install: /plugin install grimoire-engineering-data@grimoire
If a skill isn’t installed, suggest-best-practice tells you exactly what to install. It never pretends a skill exists when it doesn’t.
Multi-domain problems: plan-best-practice-solution
Some problems span multiple disciplines. plan-best-practice-solution decomposes them using MECE (Mutually Exclusive, Collectively Exhaustive) analysis and sequences the applicable skills in dependency order.
User: I want to launch a SaaS startup.
Claude: Your situation spans 5 domains. Here is the solution plan:
1. design-business-model — validate revenue model before building
Domain: business/strategy
2. calculate-unit-economics — confirm LTV/CAC before committing to go-to-market
Domain: finance/corporate
3. review-saas-contract — legal structure before signing vendors or hiring
Domain: law/contracts
4. design-go-to-market — customer acquisition after unit economics confirmed
Domain: marketing/growth
5. plan-hiring — team structure after role and revenue model are clear
Domain: business/hr
Apply in order? I'll pause for your confirmation after each step.
Skills run one at a time, with your confirmation between each. The plan adapts if an earlier step reveals new constraints.
suggest-best-practice routes to plan-best-practice-solution automatically when it detects a multi-domain problem. You can also invoke it directly.
Evaluate your existing solution: review-best-practice-fit
If you already have a design, plan, or process and want to know how well it aligns with best practices:
User: I have an API design: REST endpoints, JWT auth, PostgreSQL, no rate limiting,
logs to console only.
Claude: You have an existing solution. Applying review-best-practice-fit...
### design-api-architecture — PARTIAL
✓ REST endpoints, stateless auth
✗ No versioning strategy (/v1/ prefix)
✗ No pagination standard
→ Fix: Add /v1/ prefix and cursor-based pagination before next release
### review-security-posture — MISSING
✗ No rate limiting
✗ No input validation mentioned
→ Fix: Add rate limiter (100 req/min per IP) at gateway before next deploy
🔴 Critical: No rate limiting → DoS exposure
🔴 Critical: Console logs only → incidents uninvestigable
Verdict: NEEDS WORK — address rate limiting and structured logging first.
review-best-practice-fit evaluates your solution against each applicable best practice — ALIGNED, PARTIAL, or MISSING — and produces a prioritized fix list.
suggest-best-practice routes to review-best-practice-fit automatically when it detects you’re describing an existing solution (“is this good?”, “what am I missing?”).
Browse what exists first: discover-best-practices
When to use: You don’t have a specific problem yet but want to know what best practices exist for a domain or field.
/discover-best-practices "software architecture"
What it does:
- Scans installed skills for the detected domain
- Groups them by subdomain with gap framing (“what goes wrong without this”)
- Highlights 1–3 practices most commonly discovered too late
- Offers to apply any or learn more about one
Catch gaps before you start: start-best-practice
When to use: You’re about to begin a task — writing, coding, designing, planning — and want to apply the right practice before starting rather than after discovering a gap.
/start-best-practice "I'm about to refactor our auth module"
What it does:
- Matches the most relevant practice for the task you’re about to do
- Surfaces the specific gaps it would prevent
- Offers to apply it before you begin — or lets you continue without
Define the problem first: analyze-best-practice-problem
When to use: Your problem isn’t clearly defined yet — you know something is wrong but not what exactly to solve.
/analyze-best-practice-problem "My team isn't performing well"
What it does:
- Asks clarifying questions one at a time until the problem boundary is clear
- Produces a structured problem space map (statement / scope / constraints / root cause)
- Surfaces 2–4 possible solution routes with trade-offs
- Routes to
suggest-best-practiceorplan-best-practice-solutionbased on your choice
When a skill isn’t installed
suggest-best-practice always tells you what to install:
Claude: Situation matches: review-saas-contract (law/contracts)
Not installed — get it with:
/plugin install grimoire-law-contracts@grimoire
After installing, invoke suggest-best-practice again or call the skill directly.
If no skill in grimoire covers your situation yet, suggest-best-practice says so and asks a clarifying question to narrow the domain. You can then request the skill via a GitHub issue.
Next steps
- Learn a new practice: Use
/suggest-best-practicefor any question - Browse a domain: Use
/discover-best-practicesto see what skills exist before you have a problem - Intercept before starting: Use
/start-best-practicebefore any major task - Define your problem: Use
/analyze-best-practice-problemwhen the problem isn’t clear yet - Contribute: Create a new skill with
/write-best-practice-skill - Review a contribution: Audit a skill with
/review-best-practice-skill - Audit a domain: Review all skills in a domain with
/audit-best-practice-domain