F

Feature Design Elite

Battle-tested skill for turn, ideas, into, fully. Includes structured workflows, validation checks, and reusable patterns for development.

SkillClipticsdevelopmentv1.0.0MIT
0 views0 copies

Feature Design Assistant Skill

A Claude Code skill for turning rough feature ideas into fully-formed specifications — guiding you through structured information gathering, requirements analysis, user flow design, and technical spec creation.

When to Use This Skill

Choose this skill when:

  • Translating a vague product idea into a concrete technical specification
  • Collaborating with stakeholders to refine feature requirements
  • Designing user flows and interaction patterns before coding
  • Creating specs that developers can implement without ambiguity
  • Evaluating feature feasibility and identifying technical constraints
  • Preparing feature proposals or RFCs for team review

Consider alternatives when:

  • You already have a detailed spec and need to implement it
  • You need UI/UX wireframing or mockups (use a design tool)
  • You need project management or task tracking (use Jira/Linear)

Quick Start

# Add to your Claude Code project claude mcp add feature-design # Design a feature from a rough idea claude "design a feature for user notifications with email and in-app alerts" # Refine an existing feature concept claude "help me spec out the multi-tenant billing system"
# .claude/skills/feature-design.yml name: feature-design description: Turn ideas into structured feature specifications triggers: - "design feature" - "spec out" - "feature requirements" config: depth: standard include_user_flows: true include_data_model: true

Core Concepts

Design Process

PhaseActivityDeliverable
1. DiscoveryAsk clarifying questions about goals and usersProblem statement
2. RequirementsDefine functional and non-functional requirementsRequirements list
3. User FlowsMap user journeys and interaction sequencesFlow diagrams
4. Data ModelDefine entities, relationships, and storageSchema design
5. API DesignDefine endpoints, payloads, and contractsAPI specification
6. Edge CasesIdentify error states, limits, and boundariesEdge case matrix
7. Spec DocumentCompile into a reviewable specificationFeature spec

Specification Template

# Feature: [Name] ## Problem Statement What user problem does this solve? Why now? ## User Stories - As a [role], I want to [action] so that [benefit] - As an admin, I want to configure notification rules so that users get relevant alerts ## Requirements ### Functional - [ ] Users can set notification preferences (email, in-app, push) - [ ] System sends notifications on defined trigger events - [ ] Users can mark notifications as read/unread ### Non-Functional - Notifications delivered within 30 seconds of trigger - Support 10,000 concurrent notification deliveries - 99.9% delivery reliability ## User Flow 1. Event triggers notification → 2. Check user preferences → 3. Route to channels → 4. Deliver → 5. Track delivery status ## Data Model - notifications: id, user_id, type, title, body, read_at, created_at - notification_preferences: user_id, channel, enabled, filters ## API Endpoints - GET /api/notifications — List user's notifications - PATCH /api/notifications/:id/read — Mark as read - PUT /api/notification-preferences — Update preferences ## Edge Cases - User has all channels disabled → Store but don't deliver - Notification fails to deliver → Retry 3x with backoff - Bulk event triggers 10,000 notifications → Queue processing

Configuration

ParameterTypeDefaultDescription
depthstring"standard"Spec detail level: quick, standard, comprehensive
include_user_flowsbooleantrueInclude user flow diagrams in spec
include_data_modelbooleantrueInclude database schema design
include_apibooleantrueInclude API endpoint specifications
include_edge_casesbooleantrueInclude edge case analysis
include_testingbooleanfalseInclude test plan in specification
formatstring"markdown"Output format: markdown, json

Best Practices

  1. Start with the problem, not the solution — define what user problem you're solving before designing how to solve it; features built without a clear problem statement often solve nothing users actually need.

  2. Ask five clarifying questions before writing the spec — assumptions kill specifications; ask about user types, scale expectations, existing system constraints, integration points, and success metrics.

  3. Design for the common case, document the edge cases — the spec should optimize the primary user flow for simplicity; edge cases should be listed separately with handling strategies.

  4. Include acceptance criteria for every requirement — each requirement should have a testable condition that defines "done"; vague requirements lead to endless iteration.

  5. Keep specs versioned and link to implementation PRs — specifications should evolve as implementation reveals new constraints; link each section to the PR that implements it.

Common Issues

Spec is too detailed and becomes stale immediately — Focus on behavior and contracts, not implementation details. A spec that says "use Redis for caching" is brittle; "cache results for 5 minutes" is durable.

Stakeholders add scope during design — Set a firm scope boundary in the problem statement. When new ideas arise, add them to a "Future Considerations" section rather than expanding the current spec.

Edge cases discovered during implementation weren't in the spec — No spec catches every edge case. Build a lightweight process for adding newly discovered edge cases to the spec during implementation rather than treating the spec as frozen.

Community

Reviews

Write a review

No reviews yet. Be the first to review this template!

Similar Templates