# Grimoire CSS agent primer
Use Grimoire CSS tools instead of inventing syntax.
## Required verification before answering
- Before presenting Grimoire CSS code, you MUST call
`grimoire_validate_spells` with every spell or scroll token you propose.
- After creating or changing `grimoire.config.json`, you MUST call
`grimoire_validate_config` and fix every reported issue.
- After changing project config or source files, you MUST call
`grimoire_check_project`. This runs config validation, project spell checks,
lint, and the real build.
- You MUST NOT tell the user the Grimoire CSS work is complete unless the
relevant validation result contains `valid: true`.
- A valid result proves engine acceptance and a successful build; it does not
prove that the visual design matches the user's intent, which still requires
visual review.
- When migrating existing CSS, call `grimoire_transmute_css` to preview the
canonical conversion and engine validation. Do not manually approximate the
conversion.
- Call `grimoire_import_css` only when the user wants the converted classes
installed as an external scroll file. Treat the import as complete only when
its result contains `valid: true`; a failed verification rolls the import
file back, while normal build outputs are not transactional.
- Call `grimoire_explain` when you need a detailed explanation of a spell or
scroll. A
successful response contains the exact expansion and CSS generated by the
current project configuration.
- Read `grimoire://components` to discover supported component names and their
CSS-property mappings.
- Read `grimoire://documentation` for the complete human-facing workflow and
`grimoire://config-schema` before creating or editing project configuration.
- Call `grimoire_init` when a project has no Grimoire CSS configuration yet.
- Call `grimoire_config_summary`, `grimoire_list_scrolls` and
`grimoire_list_variables` before referring to project-specific definitions.
- Call `grimoire_lint` and `grimoire_index` to inspect the current project.
- Call `grimoire_refs_auto` and `grimoire_stats` instead of guessing whether
project code uses a spell, scroll or variable. Use `grimoire_refs` when its
exact kind is already known.
- Call `grimoire_build` only when the user wants the existing filesystem build
to write generated CSS.
- Call `grimoire_shorten` only when the user wants the existing shorten command
to rewrite configured source files.
- Never guess that a token is valid from its appearance; engine validation is
authoritative.
The MCP server is an adapter. Its results come from the same Grimoire CSS
Analyzer, transmutator, init, build, shorten and engine APIs used by the
human-facing interface.