Part of the Thunder ecosystem · 5 projects
This module allows editors to manage AI prompts as editable, revisionable content entities. Prompts can be organized by task, scoped to specific content types, and tested directly against real content before being published. This approach separates prompt management from code, enabling easier updates and refinements.
Thunder AI Prompt Management turns AI prompts into editable content. Instead of hard-coding prompts in modules or config, editors maintain them as revisionable content entities at /admin/content/prompts — grouped by task, scoped to the entity types they apply to, and testable against real content before anyone else sees them.
The module ships the storage and the editorial UI; other Thunder AI features consume the prompts: field-level content suggestions while editing, and the prompt library of the AI chatbot assistant.
Features
AI prompts as content
- Revisionable, publishable content entity (AI Prompt) with author, revision log and full revision UI — every prompt change is traceable and revertable.
- Views-based admin listing with filters for AI task and model, plus bulk publish and delete actions.
- Granular permissions: view, create, edit own/any, delete own/any, and a separate permission for administering AI tasks.
- Token support in the prompt text, resolved against the entity the prompt runs on.
- Per-prompt model selection — pick a specific provider model, or leave it empty to follow the site-wide default chat model.
AI tasks
An AI Task is a small configuration entity (/admin/structure/ai-task) that describes what a group of prompts is for — for example Write a teaser, Suggest a headline or SEO check.
- Consumers reference a task, never an individual prompt, so editors can add, rename or retire prompts without touching any configuration.
- A prompt can belong to several tasks at once.
- Tasks are exportable configuration and can be shipped by distributions and installation profiles.
Entity context scoping
- Each prompt declares the entity types and bundles it applies to — a single bundle, or all bundles of an entity type.
- Prompts are offered only where they fit, so an article-specific prompt never shows up while editing a media item.
- When a prompt runs against an entity, the module automatically appends the bundle schema and the current field content as JSON to the system prompt (via Entity Blueprint), so the model sees what the editor sees.
Test and refine in place
Every prompt has a Test tab. Pick a real entity matching the prompt's context, adjust the prompt text and the model, and run it. The response is rendered as formatted text, and one button saves the refined prompt back to the entity — no round trip through a code deployment to tune a prompt.
Field widget actions
The AI Task suggestion widget action (based on Field Widget Actions) adds a button next to any text field in an entity form:
- Configured per field with a single AI task; every published, context-matching prompt of that task is offered.
- One prompt renders a plain button, several render a dropbutton — one entry per prompt.
- The model is asked for multiple candidates, which the editor picks from in the suggestions dialog instead of getting a single take-it-or-leave-it answer.
- Works with plain text and formatted text fields, including fields nested in paragraphs and inline entity forms.
Chatbot integration
When AI Chatbot Assistant UI is installed, the module takes over its prompt source:
- Managed prompts become slash-command groups in the chat input, grouped and labelled by AI task.
- Starter prompts on the chatbot block are configured by AI task, so the block keeps offering the right prompts as the library evolves.
- Prompts are filtered by the entity currently being edited, and cache metadata is declared correctly throughout.
Requirements
- Drupal 10 or 11, PHP 8.3 or newer
- AI (^1.5) with at least one configured chat provider
- Entity Blueprint (^1.0.2)
- Field Widget Actions and Field Group
- Core Views
Optional: AI Chatbot Assistant UI for the chatbot prompt library and starter prompts.
Getting started
- Install the module and make sure the AI module has a working chat provider and a default chat model.
- Create one or more AI tasks at Structure › AI Tasks.
- Add AI prompts at Content › AI Prompts, assign them to a task, and scope them to the entity types they belong to.
- Use the Test tab to try each prompt against real content and refine the wording.
- Enable the AI Task suggestion action on the relevant fields in Manage form display, and point it at a task.
Why this module
- Editors own the prompts. Prompt wording is content, not configuration or code — it changes without a deployment.
- Consumers stay stable. Field widgets and chatbot blocks reference tasks, so the prompt library can grow underneath them.
- Context comes for free. The entity's schema and current values are injected automatically, which is what makes generic prompts produce usable results.
The module is part of the Thunder distribution but has no dependency on it and works on any Drupal site.
Ask your assistant about Thunder AI Prompt Management
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
More in the Thunder ecosystem
Most installed first
Activity
Release Timeline
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0-beta7 | Pre-release | 10–11 | PHP >=8.3 | Sep 17, 2026 | |
| 1.0.0-beta6 | Pre-release | 10–11 | PHP >=8.3 | Sep 16, 2026 | |
| 1.0.0-beta5 | Pre-release | 10–11 | PHP >=8.3 | Sep 15, 2026 | |
| 1.0.0-beta4 | Pre-release | 10–11 | PHP >=8.3 | Sep 9, 2026 | |
| 1.0.0-beta3 | Pre-release | 10–11 | PHP >=8.3 | Sep 9, 2026 | |
| 1.0.0-beta2 | Pre-release | 10–11 | Sep 1, 2026 | ||
| 1.0.0-beta1 | Pre-release | 10–11 | Sep 1, 2026 | ||
| 1.0.x-dev | Dev | 10–11 | Aug 28, 2026 |