Create the first workflow skill that uses the new role system. This skill defines the end-to-end process for developing a product feature, using Product, Designer, and Engineer perspectives.
Omni/Agent/Skills/shared/feature-development/SKILL.md
---
name: feature-development
description: End-to-end process for developing a product feature. Use when working on a task that involves building something user-facing, adding a new capability, or implementing a feature request.
---
# Feature Development
This process ensures features are well-specified, user-friendly, and correctly implemented by applying three perspectives sequentially.
## Step 1: Clarify Requirements
<role:product>
Analyze the task. Before any implementation:
1. What problem does this solve? Who benefits?
2. What's the minimum viable solution?
3. What are the acceptance criteria? (How do we know it's done?)
4. What should we explicitly NOT do? (Scope boundaries)
Record your analysis:
\`task comment <task-id> --role=product "<your spec>"\`
If requirements are unclear, ask the user before proceeding.
</role>
## Step 2: Design Review
<role:designer>
Consider the user experience:
1. How will users discover and use this feature?
2. What happens when things go wrong? (Error states)
3. Are there accessibility concerns?
4. What edge cases might users encounter?
Record your notes:
\`task comment <task-id> --role=designer "<your notes>"\`
For UI changes, describe the expected interaction flow.
</role>
## Step 3: Implement
<role:engineer>
Now implement the solution:
1. For substantial code changes, use \`spawn_coder\` with the appropriate namespace
2. Write tests that verify the acceptance criteria
3. Follow existing code conventions
4. Keep changes focused - don't refactor unrelated code
The implementation should satisfy both the product spec and design notes.
</role>
## Step 4: Review
Re-read all role comments on this task:
- Does the implementation satisfy the Product spec?
- Does it address the Designer's UX concerns?
- Do tests pass?
If anything is missing, iterate on the relevant step.
If everything checks out, mark the task done with a summary.
task comment --role=X)spawn_coder references the existing Coder subagent harness1. Load the skill: skill(name="feature-development")
2. Verify role definitions are injected
3. Try it on a sample task
4. Verify task comments are created with correct roles
Omni/Agent/Skills/shared/feature-development/SKILL.md<role:product>, <role:designer>, <role:engineer> tagsspawn_coder for implementation work