Gathers structured requirements for Drupal projects by asking categorized questions on project type, scope, core functionality, user roles, data needs, integrations, UI, and constraints; updates project_state.md.
From drupal-dev-frameworknpx claudepluginhub camoa/claude-skills --plugin drupal-dev-frameworkThis skill is limited to using the following tools:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Automatically extracts reusable patterns like error resolutions, workarounds, and debugging techniques from Claude Code sessions via Stop hook, saving them as learned skills for reuse.
Ask structured questions to define project requirements.
Activate when:
project-initializer after project setupUse Read to get {project_path}/project_state.md. Extract:
Ask one category at a time. Wait for response before proceeding.
Category 1: Project Type & Scope
What type of project is this?
- [ ] New Drupal module (starting from scratch)
- [ ] Feature for existing module
- [ ] Core issue/patch
- [ ] Theme or sub-theme
- [ ] Configuration/site building
- [ ] Other (Claude Code plugin, documentation, etc.)
What does this project include?
- [ ] A single Drupal module
- [ ] Multiple related modules
- [ ] A theme or sub-theme
- [ ] Configuration/site building
- [ ] Mix of the above
Please describe:
Category 2: Core Functionality
What is the main purpose?
1. What problem does it solve?
2. What are the must-have features?
3. What are nice-to-have features?
Category 3: User Roles
Who will use this?
1. Which user roles need access?
2. What permissions are needed?
3. Any role-specific features?
Category 4: Data Requirements
What data is involved?
1. New content types or entities needed?
2. New fields on existing types?
3. Configuration data to store?
4. Relationships to existing content?
Category 5: Integrations
What existing systems does this connect to?
1. Existing Drupal modules to integrate with?
2. External APIs or services?
3. ECA workflows needed?
4. Third-party libraries?
Category 6: UI Requirements
What interfaces are needed?
1. Admin forms or pages?
2. Frontend display requirements?
3. Specific UX patterns to follow?
4. Mobile considerations?
Category 7: Constraints
What limitations should we know about?
1. Drupal version (10.x, 11.x)?
2. Performance requirements?
3. Accessibility requirements (WCAG level)?
4. Browser support needs?
For each category:
After all categories, use Edit tool to update the Requirements section:
## Requirements
### Project Type
- {new module, existing feature, core issue, theme, config, other}
### Scope
- {what project includes}
### Core Functionality
- {requirement 1}
- {requirement 2}
### User Roles
| Role | Permissions | Features |
|------|-------------|----------|
| {role} | {perms} | {features} |
### Data Requirements
- {data type}: {storage approach}
### Integrations
- {module/service}: {integration type}
### UI Requirements
- {element}: {requirement}
### Constraints
- {constraint}: {details}
### Open Questions
- {questions marked as "not sure yet"}
Show summary to user:
Requirements gathered for {project_name}:
Core: {1-2 sentence summary}
Roles: {list roles}
Integrations: {list integrations}
Open questions: {count}
Does this look complete? (yes/no/add more)
If "add more", ask what category to expand.
After user confirms requirements are complete:
Requirements complete!
Now let's define your first task. What feature or component do you want to work on first?
Examples:
- "Add settings form for API configuration"
- "Create custom entity for storing data"
- "Build admin dashboard"
Each task will go through:
1. Research (understand & find patterns)
2. Architecture (design the approach)
3. Implementation (build with TDD)
Enter your first task:
IMPORTANT: Do NOT suggest /research or /design at the project level. Tasks are what go through phases, not the project.
When user provides a task name:
Validate task name - convert to lowercase with underscores (e.g., "Add settings form" → settings_form)
Confirm task creation:
Creating task: {task_name}
Brief description (one sentence - what does this task accomplish?):
Wait for user to provide description
Invoke research phase:
Starting research phase for: {task_name}
Then invoke /drupal-dev-framework:research {task_name}
CRITICAL: Do NOT start research until:
STOP and wait for user after: