Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add ojCezarFerreira/Grimoire/plugin install grimoireWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ojcezarferreira/grimoire/grimoire-plan)<a href="https://agentmods.dev/skills/ojcezarferreira/grimoire/grimoire-plan"><img src="https://agentmods.dev/badge/skills/ojcezarferreira/grimoire/grimoire-plan/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ojcezarferreira/grimoire/grimoire-plan"><img src="https://agentmods.dev/badge/skills/ojcezarferreira/grimoire/grimoire-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00026 | $0.02216 |
| Opus 5 | $0.00013 | $0.01108 |
| Sonnet 5 | $0.00005 | $0.00443 |
| Haiku 4.5 | $0.00003 | $0.00222 |
Grade A, and why
grimoire-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 87 lines — stays where its author put it; the contents beside it link to each section on GitHub.
[Required Reading]
- Read
${CLAUDE_PLUGIN_ROOT}/GRIMOIRE-CONVENTIONS.md. Its rules (§ TDD, § Sub-agent spawning, § Skill composition, § Parallel execution, § Commits, § .grimoire/ layout, § Project context, § Historic, § User-facing language, § Pause-point pattern) are load-bearing for this skill. Note: this skill only updates the page'sHISTORIC.mdentry status from[spec]to[planned]in place — it never bootstraps, appends, or rotates.HISTORIC.mdownership (bootstrap + append + rotate) belongs togrimoire-spec. This skill requires the page to already have aSPEC.mdand a[spec]entry inHISTORIC.md; if either is missing, hard-stop per§ Pause-point pattern(grimoire-plan: precondition check). - If
.grimoire/PROJECT.mdexists in the project root, read it for project context. If it does not exist, proceed without it and suggest the user rungrimoire-initonce this task is complete. - If
.grimoire/HISTORIC.mdexists, read it for recent-page context. If older context seems relevant, browse.grimoire/bag/historic/(newest suffix first). Missing → hard-stop, because the page-status check below requires it.
[Objective] Plan the implementation of the page identified by:
$ARGUMENTS
[Phase 1: Page Resolution & Precondition Check (HARD STOP)]
Per § Pause-point pattern (grimoire-plan: precondition check). Run these checks before doing anything else; STOP on the first failure with the literal message shown.
- Parse the page number. Accept
$ARGUMENTSas a bare integer with or without zero-padding (42or042); normalize toNNN(3-digit zero-padded). Reject anything that is not parseable as an integer. - Locate the page folder. Glob
.grimoire/pages/NNN-*/. Exactly one match expected.- No match →
❌ Page NNN does not exist. Run /grimoire-spec first.and STOP.
- No match →
- Confirm
SPEC.md. Verify.grimoire/pages/NNN-[page-name]/SPEC.mdexists and is non-empty.- Missing →
❌ Page NNN has no SPEC.md. Run /grimoire-spec first.and STOP.
- Missing →
- Check HISTORIC status. Read
.grimoire/HISTORIC.mdand find the entry whose<page-name>matches the folder.- Entry missing (rotated or never registered) →
❌ Page NNN is not registered in HISTORIC. Run /grimoire-spec first.and STOP. - Status
[planned]→❌ Page NNN has already been planned.and STOP. - Status
[finished]→❌ Page NNN has already been finished.and STOP. - Status
[spec]→ proceed.
- Entry missing (rotated or never registered) →
- Load context. Read
SPEC.mdin full; re-confirmPROJECT.mdcontext is loaded.
Do not offer to run any other skill automatically, and do not silently fix the state. The user is in control.
[Phase 2: Analysis & Clarification]
- Analyze the current codebase architecture relative to what
SPEC.mdrequires. - Research and identify the best practices for this specific implementation.
- Pause per
§ Pause-point pattern(grimoire-plan: unclear requirements): if any acceptance criterion is still ambiguous, or a critical architectural decision is needed that the SPEC did not lock in, ask clarifying questions before writing step files. Open questions noted inSPEC.mdare the natural starting point.
[Phase 3: Planning, Scope & Context Management]
- CRITICAL: You are entirely responsible for evaluating the complexity and scope of the page.
- Actively assess potential token usage and context window size required for the execution phase. Your primary goal is to maintain maximum context lucidity and prevent degradation during execution.
- Output shape is always a set of sequential step files in the existing page folder. Per
§ .grimoire/ layout:- Simple page: a single step file
1-[step-name].mdcontaining the full step-by-step execution plan. - Larger page: multiple sequential step files, each a smaller, highly cohesive, sequential portion of the work. Split when token usage or context degradation becomes a risk during execution.
- Simple page: a single step file
- The page folder and its
NNN-[page-name]identity already exist — do not rename, do not move, do not create a new page folder. Choose only the step count and the per-step names. - Inter-step dependencies (opt-in). When the planned step breakdown contains steps that are genuinely independent of each other (different files, no logical ordering needed), the planner MAY emit YAML frontmatter on each step file declaring
depends-on: [<step-numbers>]andtouches: [<paths>]per§ Parallel execution. This unlocks parallel-wave execution ingrimoire-execute. Do not restate the schema or wave rules — they live in§ Parallel execution. - When NOT to emit frontmatter. If every step is genuinely sequential — each builds on the prior step's edits in a load-bearing way — the planner SHOULD emit no frontmatter. The page then runs via the legacy strict-serial path, which is the default. Emitting frontmatter where it isn't warranted just adds noise.
- DAG construction and validation (before writing step files). When frontmatter is going to be emitted, the planner MUST, before writing any step file:
- Build the DAG: nodes = step files, edges =
depends-onreferences. - Detect cycles. Any cycle is a hard error — the planner MUST NOT write step files with a cyclic DAG. If the natural step breakdown produces a cycle, revise the breakdown until the DAG is acyclic, or abandon frontmatter and fall back to legacy serial.
- Check for dangling references. Every step number referenced in any
depends-onmust correspond to an actual planned step. Dangling references are a hard error. - Compute waves (Kahn-style topological levels per
§ Parallel execution): wave 0 = all roots; wave K = all steps whosedepends-onlies entirely in waves< K. - Advisory
touches-overlap check. When two sibling steps in the same wave declare overlappingtouchespaths, surface the overlap as a warning (not a hard error) — the user decides at the pause-point whether to keep them parallel or force a serial edge.
- Build the DAG: nodes = step files, edges =
- Before proceeding to Phase 4, perform the final clarity check per
§ Pause-point pattern(grimoire-plan: final clarity check): self-review the planned step breakdown and, if any architectural choice, step boundary, or tradeoff is still based on a silent assumption, PAUSE and ask the user viaAskUserQuestion(or equivalent available tool). Only continue to Phase 4 once the plan is fully unambiguous. - DAG presentation at the final clarity check. When
depends-onfrontmatter will be emitted on one or more step files, the final clarity check MUST also present the full DAG to the user before any step file is written:- Each step number, its planned name, and its
depends-onset. - The computed waves (e.g.,
Wave 0: {1},Wave 1: {2, 3},Wave 2: {4, 5}). - Any advisory
touches-overlap warnings.
- Each step number, its planned name, and its
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 87 lines · 26 tokens per session scan A 5a4c3f510dbf
grimoire-plan is a skill published in the GitHub repository ojCezarFerreira/Grimoire (2 stars, last pushed 2mo ago), licensed MIT. It adds 26 tokens to every session and 2,216 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…