Drupal Task Atlas¶
What are you trying to do? Find the row, read that one briefing, stop.
Each briefing is a compiled projection over existing authority, sized to fit one decision (1,500-token budget). It is never the rule source. The rules live in the Drupal Engineering Standard; module facts live in the module ownership matrix; step-by-step procedures stay in the existing playbooks.
| I am trying to... | Briefing | Layer | Verified |
|---|---|---|---|
| I am creating a form | Build a form | site-building | 2026-10-01 |
| I need a new content type | Add a content type | content-model | 2026-10-01 |
| when content is saved do something | Automate on an event | workflow | 2026-10-01 |
| call an LLM from Drupal | Call an LLM | ai | 2026-10-01 |
| expose Drupal to Claude or Cursor | Expose Drupal to external AI (MCP) | protocol | 2026-10-01 |
| add an AI agent to Drupal | Add an AI agent | ai | 2026-10-01 |
| give agents context | Add context for AI | ai | 2026-10-01 |
| build a landing page | Build a Canvas page | composition | 2026-10-01 |
| build a new component | Build a component | composition | 2026-10-01 |
| package this as a recipe | Package as a recipe | packaging | 2026-10-01 |
| should we install this module | Adopt or retire a module | governance | 2026-10-01 |
| migrate content from the old site | Migrate content | migration | 2026-10-01 |
| store an API key in Drupal | Store a secret | operations | 2026-10-01 |
How to read a briefing¶
| Tag | Meaning | Trust it as |
|---|---|---|
| (R) | Rule owned by the linked Engineering-Standard section | Binding, at that source |
| (R, reference) | Guidance from an Engineering-Standard reference document | Default unless a standard says otherwise |
| (O) | Dated observation of an upstream fact | True on last_verified; re-check after expiry |
| (P) | Procedure step | How, not whether |
| (C) | Open commitment or tracked work | Check the Bead |
| (G) | Not established by any Bluefly authority | Do not invent; escalate or record |
Every briefing ends with CONFLICTS. When two sources disagree the briefing shows both and does not pick quietly.
For agents¶
- Router: intents.json (generated from
intents.yml). - Index: llms.txt.
- Search:
qmd query "<what you are doing>" -c drupalreturns briefings, not whole playbooks. - A briefing past its expiry fails CI. If you are reading one offline, check
last_verified.