Feature Development

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.

This process ensures features are well-specified, user-friendly, and correctly implemented by applying multiple perspectives sequentially.

Process

  1. Clarify requirements and acceptance criteria.
  2. Review UX considerations and edge cases.
  3. Implement with tests and lint checks.
  4. Review against task comments and specs.
  5. Summarize and complete the task.

Examples

task comment <task-id> --role=product "<spec>"
task comment <task-id> --role=designer "<notes>"

bild --test <namespace>
lint <namespace>

Step 1: Clarify Requirements (Product)

Before any implementation, analyze the task:

  1. Problem - What problem does this solve? Who benefits?
  2. Scope - What’s the minimum viable solution?
  3. Criteria - What are the acceptance criteria? How do we know it’s done?
  4. Boundaries - What should we explicitly NOT do?

Record your analysis:

task comment <task-id> --role=product "<your spec>"

If requirements are unclear, ask the user before proceeding.

Step 2: Design Review (Designer)

Consider the user experience:

  1. Discovery - How will users discover and use this feature?
  2. Errors - What happens when things go wrong?
  3. Edge cases - What unusual situations might users encounter?
  4. Consistency - Does this match existing patterns?

Record your notes:

task comment <task-id> --role=designer "<your notes>"

For CLI changes, describe the expected interaction:

$ command --new-flag value
Expected output...

$ command --new-flag (missing value)
Error: --new-flag requires a value

Step 3: Implement (Engineer)

Now implement the solution:

  1. Read the Coder skill (Omni/Ide/Coder.md) for implementation guidelines
  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.

bild --test <namespace>
lint <namespace>

Step 4: Review

Re-read all role comments on this task:

task show <task-id> --json | jq '.taskComments'

Check:

If anything is missing, iterate on the relevant step.

Step 5: Complete

When everything checks out:

  1. Summarize what was done
  2. Note any follow-up work discovered
  3. Handoff to human review:
task update <task-id> review --json
  1. If blocked instead of complete:
task update <task-id> needs-help --json

When to Use This vs Just Coding

Use Feature Development for:

Just use Coder skill for: