Skip to content

jeffreytse/grimoire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

406 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
grimoire

The world's knowledge is in your AI. The world's practice is not.
Most people don't know which best practice applies β€” and AI won't enforce one unless guided. Grimoire closes both gaps.


πŸ“– Grimoire πŸ“–

Promotes the expert standard you didn't know applied. Guides your AI through applying it β€” automatically, across every field.

Skill Validation Donate (GitHub Sponsor) Release Version Contributors License: MIT Donate (Liberapay) Donate (Patreon) Donate (Ko-fi) Works with 505 Skills

Built with ❀︎ by jeffreytse and contributors

🎬 Demo

"I'm 42, AI just took my job, I have a mortgage. What do I do?"

grimoire demo β€” natural language problem solved with grimoire best practices

πŸ€” Why Grimoire?

Your AI knows everything β€” Grimoire makes it practice it.

Books gave everyone knowledge. Google gave everyone access. AI gave everyone comprehension. None of them gave everyone practice. Grimoire does.

The model knows SOLID, DDD, Google SRE, and the ABA Model Rules. Without explicit guidance, it enforces none of them. Grimoire is the enforcement layer β€” skills: named, citable, executable units of expert practice, one concept, one source, one set of steps.

  • πŸ” You don't know what you don't know. Grimoire surfaces the governing standard you didn't know applied.
  • πŸ€– Knowing is not enough. Grimoire enforces. Specific steps, verifiable criteria, repeatable results. Not summaries β€” verdicts.
  • 🌍 The world's best practices belong to everyone. McKinsey charges $1M. Senior lawyers bill $800/hr. The practices they follow are not proprietary. Grimoire makes them free β€” as executable steps, cited and verified.
  • 🧱 Every profession. Every AI. 500+ skills across 27 domains. Works with Claude, Codex, Cursor, Gemini, and OpenCode.

If you've spent 10,000 hours mastering something, your practice belongs here.

β†’ Read the full philosophy

✨ Skills in Action

Engineering β€” propose a commit message from staged diff:

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]

Law β€” audit a SaaS contract before signing:

User: /review-saas-contract

Claude: Red flags found.

  πŸ”΄ CRITICAL  Liability cap is $500 β€” your contract value is $240,000
  πŸ”΄ CRITICAL  No data processing agreement β€” GDPR Art.28 requires one
               before processing any EU customer data
  🟑 WARNING   Auto-renewal clause: 90-day cancellation window in §14.3
  🟑 WARNING   IP ownership of custom integrations is unassigned
  βœ“  PASS      SLA 99.9% with defined service credits

  Do not sign. Renegotiate: liability cap, DPA, IP clause.
  Source: ABA model SaaS agreements

Finance β€” calculate how much you need to retire:

User: /calculate-fire-number

Claude: Applying Trinity Study model (Bengen 1994, 95% 30-year success rate)

  Annual expenses:       $60,000
  Safe withdrawal rate:  4.0%
  ─────────────────────────────
  FIRE number:           $1,500,000

  At $4,000/month invested + 7% real return β†’ retire in 20.4 years
  Cut annual spend by $12,000               β†’ retire in 16.8 years

  Next: /design-portfolio-allocation

Health β€” design a training program:

User: /design-training-program

Claude: Hypertrophy block β€” intermediate, 4 days/week

  UPPER (Mon/Thu)   Bench 4Γ—8 Β· Row 4Γ—8 Β· OHP 3Γ—10 Β· Face pull 3Γ—15
  LOWER (Tue/Fri)   Squat 4Γ—6 Β· RDL 3Γ—8 Β· Leg press 3Γ—12

  Progressive overload: +2.5 kg when all reps completed clean
  Week 5: deload β€” 40% volume, same intensity

  Source: NSCA CSCS + Israetel volume landmarks (2019)

Every skill is structured: triggering condition, verified source, numbered steps, no freeform guessing.

Or describe the situation in plain language β€” you don't need to know which skill applies:

User: I signed a vendor contract and now they're saying they own my data.

Claude: Situation matches: review-saas-contract (law/contracts)
        Applying review-best-practice-fit...

        πŸ”΄ CRITICAL Data ownership clause absent β€” defaults to vendor jurisdiction
        β†’ Escalate to legal counsel immediately. Request amendment to Β§8.2.
User: My team keeps missing sprint goals and I don't know why.

Claude: Situation matches: plan-retrospective (engineering/project-management)

        Run a blameless retrospective (Amazon format):
        1. Timeline reconstruction β€” what actually happened
        2. Five whys β€” surface root causes, not symptoms
        3. Action items with owners and deadlines
        β†’ /plan-retrospective to run the session now

suggest-best-practice auto-classifies any situation, routes to the matching skill, or tells you exactly what to install if the skill isn't in your library yet.

βš’οΈ Install

One command. Every AI agent on your system.

curl -fsSL https://raw.githubusercontent.com/jeffreytse/grimoire/main/scripts/grimoire | bash

Auto-detects Claude Code, Codex, and Gemini CLI. Installs to every agent found. Also creates a global grimoire command for future installs and upgrades.

Windows (PowerShell):

Invoke-WebRequest https://raw.githubusercontent.com/jeffreytse/grimoire/main/scripts/grimoire.ps1 -OutFile grimoire.ps1; .\grimoire.ps1

Native plugin shortcuts (Claude Code):

# Step 1: add the marketplace
/plugin marketplace add jeffreytse/grimoire

# Step 2: install (skills are namespaced, e.g. /grimoire-engineering:propose-conventional-commit)
/plugin install grimoire@grimoire                   # all domains (latest)
/plugin install grimoire-engineering@grimoire       # one domain

# For subdomain-level installs, use grimoire

Granular script installs:

./scripts/grimoire                   # interactive TUI β€” install/uninstall/upgrade/doctor
./scripts/grimoire --domain engineering
./scripts/grimoire --domain engineering --subdomain development
./scripts/grimoire --skill engineering/development/propose-conventional-commit
./scripts/grimoire --target all      # force install to all agents, even if not detected
./scripts/grimoire --upgrade         # pull latest (choose stable or unstable channel)
./scripts/grimoire --doctor          # health check: git repo, symlinks, config
./scripts/grimoire --version         # version info with commit and date
./scripts/grimoire --list            # list available domains and skills

Gemini CLI:

gemini extensions install https://github.com/jeffreytse/grimoire          # latest
gemini extensions install https://github.com/jeffreytse/grimoire@v1.0.0   # pin to a release
gemini extensions update grimoire                                         # update later

Cursor:

./scripts/grimoire --target cursor

OpenCode: add to opencode.json:

{ "plugin": ["grimoire@git+https://github.com/jeffreytse/grimoire.git"] }

πŸš€ Quick Start

After install, describe any problem in plain language:

User: I need to raise a Series A but don't know how to pitch investors.

Claude: Situation matches: write-value-proposition + design-go-to-market + apply-pyramid-principle
        Applying suggest-best-practice...
        β†’ Start with your value prop. /write-value-proposition

Or invoke a skill directly:

/suggest-best-practice     # describe any problem β€” auto-routes to the right skill
/review-pull-request       # engineering code review
/calculate-fire-number     # how much do I need to retire?
/review-saas-contract      # flag dangerous clauses before signing
/design-training-program   # build a training program

New to grimoire? Start with /suggest-best-practice. Describe any professional or life situation β€” it reads your context and routes you to the matching skill, or tells you exactly what to install if the skill isn't in your library yet.

🎯 Workflows

Your situation Start here
Know exactly which skill you need /skill-name directly
Have a problem, unsure which skill /suggest-best-practice
Already have a plan, want gaps checked /review-best-practice-fit
Problem spans 3+ independent domains /plan-best-practice-solution
Complex problem within one domain /apply-best-practice-tree
Don't know what practices exist for a topic /discover-best-practices
About to start a task β€” want to catch gaps before you begin /intercept-best-practice
Problem isn't clear yet β€” need to define it before solving /analyze-problem
Activate a paradigm's best practices (OOP, TDD, etc.) /apply-best-practice-profile
Align any project or artifact to stated best practice preferences (BPDD) /apply-best-practice-driven-development
Check if any artifact aligns with stated best practice preferences /check-best-practice-compliance
Have a specific compliance finding to fix /fix-best-practice-finding
Two practices conflict (e.g., Google vs IBM) /pin-best-practice-preference

β†’ BPDD guide β€” cycle, compliance linter, LSP output, suppression, CI integration

Common paths

Describe any problem β†’ suggest-best-practice

Describe any situation. suggest-best-practice reads it, finds the best-matching skill(s), and routes you there.

User: My senior engineer just quit and the team is losing confidence.

Claude: Situation matches: design-onboarding-program + write-leadership-principles
        β†’ /design-onboarding-program to rebuild team structure
        β†’ /write-leadership-principles to establish decision-making clarity

Problem spans multiple domains β†’ plan-best-practice-solution

When a problem involves 3+ independent fields, plan-best-practice-solution decomposes it with MECE methodology and sequences skills by dependency.

User: I want to leave my job and launch a SaaS startup.

Claude: Situation spans 4 domains. Solution plan:
        1. design-business-model    β€” validate the idea before building
        2. calculate-unit-economics β€” confirm revenue model is viable
        3. review-saas-contract     β€” legal structure before hiring
        4. design-go-to-market      β€” growth strategy before launch

        Apply in order? I'll pause for confirmation after each step.

Contributor workflows

Adding a skill

/write-best-practice-skill    # author the skill
/review-best-practice-skill   # validate against STANDARD.md (5 criteria)
/revise-best-practice-skill   # fix any review findings
β†’ open PR

Maintaining a domain

/audit-best-practice-domain    # batch health check β€” surfaces outdated or weak-sourced skills
/revise-best-practice-skill    # update stale or under-sourced skills
/deprecate-best-practice-skill # retire skills superseded by newer practices

βš™οΈ Settings

When top-tier orgs disagree (Google vs IBM, startup vs enterprise), pin which approach you prefer once β€” grimoire applies it automatically from then on.

User: I follow Google's engineering practices when there's a conflict.

Claude: Pinning preference: Google Engineering Practices β†’ engineering domain.
        Save to: session / project / global?

User: global

Claude: Saved to ~/.config/grimoire/settings.toml.
        Future engineering conflicts resolve toward Google's approach automatically.

Override priority β€” grimoire checks preferences in this order, first match wins:

Priority Level Stored in Scope
1st Session In-memory Current session only β€” resets when session ends
2nd Project personal .grimoire/settings.local.toml Current project, gitignored
3rd Project shared .grimoire/settings.toml Current project, committed to repo
4th Global ~/.config/grimoire/settings.toml All projects on this machine

Configure manually β€” edit the settings files directly without going through the AI:

# ~/.config/grimoire/settings.toml  (global β€” applies everywhere)
profiles = ["oop"]                 # activate all skills tagged "oop"
# profiles = ["clean-architecture", "tdd"]  # multiple β€” first entry wins conflicts

[engineering]
practices = ["Google Engineering Practices"]

[finance]
practices = ["CFA Institute standards"]
# <project-root>/.grimoire/settings.toml  (project β€” overrides global for this repo)
[engineering.architecture]
practices = [
  "SOLID principles: production code",
  "KISS: prototypes, scripts"
]
fallback = "ask"

Project settings override global. Session pins override both. Teams can share a global standard while individual projects deviate where needed.

practices = ["OOP"] vs profiles = ["oop"] β€” both signal OOP intent, but differently. practices = ["OOP"] in a domain section is a loose hint β€” the AI leans toward OOP conventions from its training. profiles = ["oop"] at the top level activates specific installed skills (exact steps, validated sources). Use profiles for precision; practices for domain-level style preference. β†’ Full comparison

Guided settings management: Use /configure-grimoire to view, edit, or validate settings without touching TOML directly. Use /apply-best-practice-profile to activate a full paradigm (OOP, TDD, clean architecture) in one command. Use /resolve-best-practice-conflict to resolve contradictions between two installed skills and record the priority automatically. Use /apply-best-practice-driven-development to run the full BPDD cycle β€” or see the BPDD guide for the linter, LSP output, and CI integration details.

β†’ Full settings reference β€” all keys, override hierarchy, TOML examples

🎭 Profiles

Activate a named set of skills in one line β€” no list to maintain, no file to create.

# .grimoire/settings.toml
profiles = ["oop"]   # activates every installed skill tagged "oop"

Grimoire resolves the name in this order, first match wins:

  1. .grimoire/profiles/<name>.toml β€” project-level file
  2. ~/.grimoire/profiles/<name>.toml β€” user-level file
  3. .grimoire/profiles/default.toml β€” project-level fallback
  4. ~/.grimoire/profiles/default.toml β€” user-level fallback
  5. Tag query β€” all installed skills where tags contains the name

If no file exists, the tag query fires automatically. profiles = ["oop"] works without creating any file.

Multiple profiles β€” combine paradigms; first entry wins conflicts, duplicates are deduplicated:

profiles = ["clean-architecture", "tdd"]  # clean-architecture wins if both include the same skill

Custom profile β€” curate a team-specific subset when the tag set is too broad:

# .grimoire/profiles/my-team.toml
name = "my-team"
description = "Our backend team's default practices"

[[skills]]
name = "apply-solid-principles"

[[skills]]
name = "apply-domain-driven-design"

Commit .grimoire/profiles/ to share standards across the team. Publish as a gist or repo (grimoire-profile-<name>) for the community.

profiles vs practices β€” profiles activates skill bundles globally; practices is a domain-scoped explicit list. β†’ Full comparison

β†’ Full profiles guide β€” resolution order, conflict handling, sharing profiles

πŸ“ BPDD β€” Best Practice Driven Development

Grimoire doubles as a best-practice linter. Encode your quality criteria once in settings.toml, then run /check-best-practice-compliance against any artifact β€” a codebase, a legal contract, a business plan, a training program. Same criteria every run. Gaps that survive human review get caught by the check.

The cycle β€” same inversion as TDD: declare what "good" looks like first, then bring the artifact into alignment.

1. Red      β€” run compliance check; identify which practices FAIL or are PARTIAL
2. Green    β€” invoke the relevant grimoire skill; fix until the check passes
3. Refactor β€” clean up while keeping the check green
4. Commit   β€” record progress; repeat for next gap

Run /apply-best-practice-driven-development to drive the full cycle. Run /check-best-practice-compliance for a one-off check.

Output β€” dual format, always written to .grimoire/reports/:

File Format Use
compliance-<timestamp>.json LSP-compatible JSON editors, CI pipelines, LSP servers, dashboards
compliance-<timestamp>.html HTML browser or CI artifact upload

The JSON follows the LSP Diagnostic schema β€” uri + range locate any finding in any text artifact, not just code. Gate CI by checking "threshold.status" in the output:

result=$(jq -r '.threshold.status' .grimoire/reports/compliance-latest.json)
[ "$result" = "pass" ] || exit 1

Coverage thresholds β€” set in settings.toml, enforced on every check:

[engineering]
compliance-threshold = 80        # fail if overall criteria coverage < 80%
compliance-threshold-error = 0   # fail if any error-severity violations remain

Use /fix-best-practice-finding to fix one specific compliance finding β€” targeted, location-aware, verified. Use /apply-best-practice-driven-development to fix everything systematically.

β†’ Full BPDD guide β€” cycle, linter, LSP schema, false positive suppression, incremental mode

🌟 Featured Skills

Skill Domain Source methodology Verified
apply-five-whys engineering/reliability Toyota Production System / Google SRE βœ“
design-go-to-market business/strategy Moore "Crossing the Chasm" βœ“
audit-gdpr-compliance law/privacy GDPR / EDPB guidelines βœ“
calculate-fire-number finance/personal-finance Bengen (1994) / Trinity Study βœ“
design-training-program health/fitness NSCA CSCS curriculum βœ“
apply-mise-en-place cooking/techniques Culinary Institute of America βœ“
apply-acceptance-commitment-therapy psychology/cognitive Hayes / ACBS meta-analyses βœ“
apply-spaced-repetition education/curriculum Ebbinghaus / Roediger & Karpicke βœ“
write-value-proposition writing/copywriting Osterwalder "Value Proposition Design" βœ“
design-training-periodization-plan sports/training Bompa "Periodization" / NSCA βœ“

β†’ Browse all 500+ skills by domain

πŸ“ The Grimoire Skill Standard

grimoire maintains an open standard for AI agent skill quality β€” freely adoptable by any skill library.

Every skill must pass review-best-practice-skill before merge:

Criterion Requirement Rejection example
Adopted by Named organizations or institutions "Many top companies"
Impact Cited study or % number "Significantly improves quality"
Steps Immediately executable Abstract theory or advice
Scope One concept per skill "Nutrition and training program"
Source External institution or standard body grimoire STANDARD.md

β†’ Read the full standard Β· Adopt this standard

See CONTRIBUTING.md to submit a skill.

πŸ—ΊοΈ Domains

grimoire is a framework + reference skills. The domain structure is ready β€” contribute to fill your domain.

Domain Sub-domains
grimoire Setup: install-grimoire Β· configure-grimoire Β· Problem analysis: analyze-problem Β· discover-best-practices Β· Routing: suggest-best-practice Β· intercept-best-practice Β· Solution planning: plan-best-practice-solution Β· apply-best-practice-tree Β· Practice evaluation: review-best-practice-fit Β· compare-best-practices Β· audit-applied-best-practices Β· Practice understanding: explain-best-practice Β· adapt-best-practice Β· teach-best-practice Β· Preferences: pin-best-practice-preference Β· resolve-best-practice-conflict Β· apply-best-practice-profile Β· write-best-practice-profile Β· review-best-practice-profile Β· share-best-practice-profile Β· Compliance: apply-best-practice-driven-development Β· check-best-practice-compliance Β· Contributors: write-best-practice-skill Β· review-best-practice-skill Β· revise-best-practice-skill Β· audit-best-practice-domain Β· deprecate-best-practice-skill Β· design-best-practice-domain
engineering development, frontend, architecture, testing, reliability, devops, cloud, networking, security, data, ai, hardware, mobile, performance, project-management, product, documentation
writing creative, technical, copywriting, academic, journalism
design ui-ux, graphic, branding, motion, product
business strategy, operations, leadership, entrepreneurship, hr
science biology, physics, chemistry, mathematics, earth-science, astronomy
marketing seo, content, social-media, paid-ads, growth, analytics
health fitness, nutrition, mental-health, sleep, medicine
finance personal-finance, investing, accounting, real-estate, corporate
education curriculum, teaching, e-learning, assessment, learning-science
film cinematography, directing, editing, screenwriting, production
law contracts, ip, employment, privacy, corporate
photography composition, lighting, editing, genres
music composition, production, mixing, theory, performance
cooking techniques, baking, flavor, nutrition, world-cuisine
language learning, linguistics, translation, communication
art drawing, painting, digital-art, illustration, color-theory
sports training, coaching, nutrition, tactics, recovery
productivity time-management, habits, focus, goals, tools
travel planning, budgeting, cultural, adventure
psychology cognitive, behavioral, social, clinical, positive
home renovation, interior-design, gardening, organization, smart-home
environment sustainability, ecology, climate, energy, policy
pets dogs, cats, training, nutrition, health
fashion styling, wardrobe, design, sustainability, accessories
parenting infant, toddler, school-age, teen
automotive maintenance, troubleshooting, buying, modifications, ev

πŸ€– Agent Support

Agent Plugin install Script install
Claude Code /plugin marketplace add jeffreytse/grimoire then /plugin install grimoire@grimoire --target claude
GitHub Copilot CLI copilot plugin marketplace add jeffreytse/grimoire then copilot plugin install grimoire@grimoire --target all
Gemini CLI gemini extensions install https://github.com/jeffreytse/grimoire --target gemini
OpenCode See .opencode/INSTALL.md --target all
Codex CLI AGENTS.md auto-loaded; browse /plugins in CLI --target codex
Cursor AGENTS.md context injection --target cursor

❓ FAQ

Isn't this already in the model's training data?

Yes β€” and no. Models know about best practices. Skills make models do them, reliably.

The difference:

Without a skill With a skill
Model improvises a version of the practice Model follows the exact steps from the source institution
Output varies every run Same process, same structure, every time
Practice applied only if you know to ask Skill triggers automatically when the situation matches
Generic advice Specific: the right gate, the right question, the right output format

For simple tasks (write a test, fix a bug), the skeptic is right β€” the model doesn't need a skill. For complex, multi-step workflows β€” an SLO design, a post-mortem, an incident response β€” skills measurably change what you get. The model knows Google's engineering review process exists. It does not reliably know which question to ask first, what the output format is, or when to stop. That's what a skill encodes.

These are just textbook practices the model already knows. Why bother?

Knowing a practice and reliably executing it are different things. Ask any model "I just had a production incident" β€” you'll get a generic write-up. Run write-post-mortem and you get: blameless framing, 5-whys, timeline, contributing factors, action items with owners, and a detection section. The model knew all of that before the skill existed. The skill is what makes it happen consistently, in the right format, every time.

The "textbook" objection gets it backwards. Established practices are ideal for skills precisely because they're falsifiable β€” you can verify whether the output matches what Google's SRE book, Amazon's mechanisms, or the WHO protocol actually prescribes. If you find a skill that adds nothing over a bare prompt, that's a quality failure. File an issue.

Does grimoire conflict with my team's existing conventions?

Skills describe what the world's top institutions do. Your team may do things differently β€” and be right to. Two ways to handle it:

Pin your preference. Tell grimoire which approach to follow when practices conflict:

User: We follow Google's engineering practices, not IBM's.
β†’ Claude pins this via `pin-best-practice-preference` β€” applies automatically from now on.

Override or fork. A skill is a starting point, not a mandate. Adapt any skill to your context, or ignore it entirely. The format is plain Markdown and the license is MIT.

🀝 Contributing

grimoire has 500+ skills. It needs 1000. Pick a domain.

Every domain has empty sub-domains waiting for skills. If you know a field β€” engineering, law, finance, music, cooking, anything β€” add the practices you've seen work at the highest level.

Your first skill in ~30 minutes:

  1. Pick a practice you've used at the highest level in your field
  2. Run /write-best-practice-skill β€” it guides you through the format step by step
  3. Open a PR β€” /review-best-practice-skill runs automatically and flags any gaps
  4. Merge after review passes

Not sure where to start? Browse open issues for requested skills, or pick any empty sub-domain from the table below.

Skills must pass review-best-practice-skill before merge. The meta skills guide the full contribution workflow:

Task Skill
Write a new skill write-best-practice-skill
Review a skill PR review-best-practice-skill
Fix review findings revise-best-practice-skill
Add a new domain design-best-practice-domain
Audit a domain's health audit-best-practice-domain
Retire an outdated skill deprecate-best-practice-skill

See CONTRIBUTING.md for the full standard and GOVERNANCE.md for how the project and standard evolve.

❀️ Support

grimoire is free. It replaces $500/hr lawyers, $300 doctor visits, and $1M McKinsey engagements β€” at zero cost, forever.

If it saved you time, money, or a bad decision:

Every star makes grimoire more visible. Every sponsorship funds one more domain.

πŸ“„ License

This project is licensed under the MIT license Β© Jeffrey Tse.