From grimoire
Guides users through creating a new practice profile by collecting a name, description, and validated skill list (manual or tag-assisted) and writing a .grimoire/profiles/<name>.toml file.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:write-best-practice-profileThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a `.grimoire/profiles/<name>.toml` file that bundles a curated set of skills for a paradigm, team, or project context.
Create a .grimoire/profiles/<name>.toml file that bundles a curated set of skills for a paradigm, team, or project context.
Adopted by: Every major toolchain uses guided authoring for shared configuration — ESLint's --init, create-react-app, nx generate, and VS Code's profile export all guide users through structured configuration creation rather than expecting manual file editing.
Impact: Manual TOML authoring leads to invalid skill names, missing required fields, and profiles that fail silently at activation time. A guided creation flow catches these errors before the file is written.
Why best: A profile is only as good as its skill list. Guided creation ensures each skill name is validated against installed skills at write time — not discovered as a broken reference at activation time.
Sources: XDG Base Directory Specification (freedesktop.org); Grimoire docs/profiles.md
Ask:
my-team, backend-defaults, frontend-strictProfile name (slug): my-team
Description: Backend team defaults — DDD, SOLID, no framework shortcuts.
Two paths — offer both, user chooses:
A. Manual list — user names skills directly:
Add skills (enter names one by one, blank to finish):
> apply-solid-principles
> apply-domain-driven-design
> apply-low-coupling
>
B. Tag-assisted — run tag query, user selects subset:
Start from a tag (e.g. "oop", "tdd", "functional")? [tag or skip]:
> oop
Found 9 skills tagged "oop":
[x] apply-solid-principles
[x] apply-law-of-demeter
[ ] apply-composition-over-inheritance
[x] apply-information-expert
...
Select skills to include (toggle with number, confirm with Enter)
For each collected skill name, check it exists in installed grimoire skills.
AskUserQuestion; OpenCode: question — same schema as AskUserQuestion; Gemini CLI: ask_user type: confirm; other: [y/n]).Installed vs not-found distinction: When listing skills in the profile, check each against the installed skills index:
[skill-name] ⚠️ not installed — users will need to install [domain] domainDo not silently include skills that aren't installed — the profile will fail to apply for users who haven't installed those domains.
Example output (other platforms):
Validating skills...
✓ apply-solid-principles — found
✓ apply-domain-driven-design — found
⚠ apply-twelve-factor-app — not installed. Include anyway? [y/n]
Use a platform-aware prompt:
AskUserQuestion — options: "This project → .grimoire/profiles/ (share with team) (Recommended)", "My user level → ~/.grimoire/profiles/ (personal)"question — same schema as AskUserQuestionask_user — type: "select", same two optionsSave to:
[p] This project → .grimoire/profiles/my-team.toml (commit to repo to share with team)
[u] My user level → ~/.grimoire/profiles/my-team.toml (personal, applies to all projects)
name = "my-team"
description = "Backend team defaults — DDD, SOLID, no framework shortcuts."
[[skills]]
name = "apply-solid-principles"
[[skills]]
name = "apply-domain-driven-design"
[[skills]]
name = "apply-low-coupling"
Confirm: ✓ Written to .grimoire/profiles/my-team.toml
Auto-invoke review: After writing the profile, offer: 'Profile written. Run review-best-practice-profile now? [y/n]'
status: draft in frontmatter. Draft profiles are not applied by suggest-best-practice or apply-best-practice-profile until status is changed to active.status: active, profile is ready to use.status: draft, user can fix later via revise-best-practice-skillActivate now? profiles = ["my-team"] in .grimoire/settings.toml
Validate first? /review-best-practice-profile my-team
Share publicly? /share-best-practice-profile my-team
Inventing skill names. Always validate against installed skills. A profile with a typo in a skill name silently activates nothing for that entry.
One-size profiles. Profiles should be scoped — a backend-api profile is more useful than a company-wide profile that covers too many contexts.
npx claudepluginhub jeffreytse/grimoire --plugin grimoire2plugins reuse this skill
First indexed Jun 14, 2026
Activates named best-practice profiles (OOP, TDD, clean architecture, functional) from TOML files or skill tags. Supports project-level and user-level profile resolution.
Creates or edits greymatter pipeline skills following the SKILL.md + optional prompt.md + frontmatter triggers convention.
Creates a SKILL.md file following the Agent Skills open standard (agentskills.io). Covers frontmatter schema, section structure, Expected/On failure pairs, validation checklists, and registry integration.