ProcessWire Brainstorming
Help turn raw ideas into clear, validated designs and specifications in ProcessWire through structured dialogue.
When to Use
- Before starting any non-trivial ProcessWire work that could affect schema, routing, permissions, or module architecture.
- When the user’s request has ambiguity (scope, RBAC, data model, UI approach) that would cause costly rework if assumed.
The Process
You must complete these items in order. Do NOT skip steps or combine them.
1️⃣ Explore Current ProcessWire Context (Mandatory)
Before asking any questions, explore the existing state:
- Run
pw_schema_read via MCP to understand existing templates and fields (never hallucinate schema).
- Review
site/modules/ for installed custom modules.
- If the request describes multiple independent subsystems, decompose the project first. Brainstorm the first sub-project only.
Do not design yet.
2️⃣ Understanding the Idea (One Question at a Time)
Your goal is shared clarity, not speed.
- Ask one question per message (prefer multiple-choice).
- Understand: templates/fields needed, page tree structure, access control (RBAC), and explicit non-goals.
3️⃣ ProcessWire Constraints Check
Identify hidden complexities:
- Schema Impact: Brand new fields vs. modifying existing?
- Data Relationships: Page references vs. Repeaters vs. Custom Fieldtypes?
- Module Dependencies: Does this require HTMX, ProFields, or specific Textformatters?
If the user is unsure, propose reasonable ProcessWire defaults, but mark them explicitly as assumptions.
4️⃣ Understanding Lock (Soft Gate)
Before proposing any design, summarize what you know:
- What is being built / Affected ProcessWire components
- Key constraints & Explicit non-goals
- List all Assumptions
Then explicitly ask: "Does this accurately reflect your intent?"
5️⃣ Propose Approaches & Present Design
Once confirmed, propose 2-3 technical approaches (e.g., Hook-centric vs. Process Module vs. Custom Page Class). Lead with your recommended option.
Then present the detailed design in sections (200-300 words). Ask "Does this look right so far?" after each section.
6️⃣ Write Design Doc & Spec Self-Review
Write the approved design to a tracking markdown file (e.g. docs/specs/YYYY-MM-DD-<topic>.md).
Before asking the user to review it, Review yourself inline:
- Placeholder scan: Any "TODO" or vague requirements? Fix them inline.
- Internal consistency: Does the architecture match ProcessWire's Data Model limits?
- Ambiguity check: Fix anything interpreted two ways.
7️⃣ User Review Gate
Ask the user to review the written spec. Proceed only once approved.
8️⃣ Transition to Implementation
- Terminal State: Invoke the
writing-plans skill to create the actual implementation and migration plan.
- Do NOT write implementation code or migrations while brainstorming.
Anti-Patterns
- ❌ "This is too simple to need a design": Every project needs confirmation. "Simple" hooks are where unexamined assumptions cause the most wasted work.
- ❌ Multiple questions at once: Never overwhelm the user with a wall of 5 questions.
- ❌ Writing migrations during brainstorming: Implementation belongs strictly to
writing-plans (or pw-migrations). Brainstorming creates the spec.
- ❌ Assuming schema structures: Always run
pw_schema_read first to base designs on reality, not guesswork.
- ❌ Multi-Agent Roleplay: Do not hallucinate review personas (Skeptics, Integrators); rigorously Self-Review your Spec instead.
Related Skills
pw-writing-skills: Use for formatting AI skill files.
pw-writing-plans: Triggered immediately AFTER brainstorming completes.
1---2name: pw-brainstorming3description: Use when brainstorming or designing ProcessWire modules, templates, field schemas, or hooks to resolve ambiguity and validate architecture before implementation.4---56# ProcessWire Brainstorming78Help turn raw ideas into **clear, validated designs and specifications** in ProcessWire through structured dialogue.910## When to Use11- Before starting any non-trivial ProcessWire work that could affect schema, routing, permissions, or module architecture.12- When the user’s request has ambiguity (scope, RBAC, data model, UI approach) that would cause costly rework if assumed.1314<HARD-GATE>15Do NOT invoke any implementation skill, write any code, scaffold any project, or run any migrations until you have presented a design and the user has approved it. This applies to EVERY project regardless of perceived simplicity.16</HARD-GATE>1718## The Process1920You must complete these items in order. Do NOT skip steps or combine them.2122### 1️⃣ Explore Current ProcessWire Context (Mandatory)23Before asking any questions, explore the existing state:24- Run `pw_schema_read` via MCP to understand existing templates and fields (never hallucinate schema).25- Review `site/modules/` for installed custom modules.26- If the request describes multiple independent subsystems, decompose the project first. Brainstorm the first sub-project only.27**Do not design yet.**2829### 2️⃣ Understanding the Idea (One Question at a Time)30Your goal is **shared clarity**, not speed.31- Ask **one question per message** (prefer multiple-choice).32- Understand: templates/fields needed, page tree structure, access control (RBAC), and explicit non-goals.3334### 3️⃣ ProcessWire Constraints Check35Identify hidden complexities:36- **Schema Impact:** Brand new fields vs. modifying existing?37- **Data Relationships:** Page references vs. Repeaters vs. Custom Fieldtypes?38- **Module Dependencies:** Does this require HTMX, ProFields, or specific Textformatters?39If the user is unsure, propose reasonable ProcessWire defaults, but mark them explicitly as assumptions.4041### 4️⃣ Understanding Lock (Soft Gate)42Before proposing any design, summarize what you know:431. What is being built / Affected ProcessWire components442. Key constraints & Explicit non-goals453. List all **Assumptions**46Then explicitly ask: *"Does this accurately reflect your intent?"*4748### 5️⃣ Propose Approaches & Present Design49Once confirmed, propose 2-3 technical approaches (e.g., Hook-centric vs. Process Module vs. Custom Page Class). Lead with your recommended option.50Then present the detailed design in sections (200-300 words). Ask *"Does this look right so far?"* after each section.5152### 6️⃣ Write Design Doc & Spec Self-Review53Write the approved design to a tracking markdown file (e.g. `docs/specs/YYYY-MM-DD-<topic>.md`).54Before asking the user to review it, **Review yourself inline**:55- **Placeholder scan:** Any "TODO" or vague requirements? Fix them inline.56- **Internal consistency:** Does the architecture match ProcessWire's Data Model limits?57- **Ambiguity check:** Fix anything interpreted two ways.5859### 7️⃣ User Review Gate60Ask the user to review the written spec. Proceed only once approved.6162### 8️⃣ Transition to Implementation63- **Terminal State:** Invoke the `writing-plans` skill to create the actual implementation and migration plan.64- **Do NOT** write implementation code or migrations while brainstorming.6566---6768## Anti-Patterns6970- ❌ **"This is too simple to need a design"**: Every project needs confirmation. "Simple" hooks are where unexamined assumptions cause the most wasted work.71- ❌ **Multiple questions at once**: Never overwhelm the user with a wall of 5 questions.72- ❌ **Writing migrations during brainstorming**: Implementation belongs strictly to `writing-plans` (or `pw-migrations`). Brainstorming creates the spec.73- ❌ **Assuming schema structures**: Always run `pw_schema_read` first to base designs on reality, not guesswork.74- ❌ **Multi-Agent Roleplay**: Do not hallucinate review personas (Skeptics, Integrators); rigorously Self-Review your Spec instead.7576## Related Skills77- `pw-writing-skills`: Use for formatting AI skill files.78- `pw-writing-plans`: Triggered immediately AFTER brainstorming completes.