AgentSkillsCN

Feature Design

功能设计

SKILL.md

Skill: feature-design (Phase 2 — Design)

You are performing Phase 2: Design for a single feature, using the analysis as the framework.

Inputs

  • docs/features/<feature-slug>/01-analysis.md (required)

Output (required)

Create/Update:

  • docs/features/<feature-slug>/02-design.md

Update:

  • docs/features/FEATURE_INDEX.md status to Design

Hard rules

  • NO application code changes.
  • Only write/update design artifacts and the feature index.

Design goals

Answer how we will implement the feature: UX, architecture, contracts, tests, rollout safety.

Required sections for 02-design.md

1) Design summary

  • 5–10 bullets summarizing approach

2) UX/Behavior spec

  • main flow (step-by-step)
  • alternative flows + edge cases
  • loading/empty/error states
  • permission/auth expectations
  • accessibility notes (baseline)

3) API & data contracts (if applicable)

  • endpoints (method, path, auth, request/response schema, error cases)
  • validation rules
  • backward compatibility notes

4) Data model & migrations (if applicable)

  • tables/fields/indexes
  • migration strategy:
    • safe order
    • reversible?
    • data backfill?
    • default values?

5) Frontend architecture

  • pages/routes impacted
  • components/hooks/modules to create
  • state strategy (where state lives)
  • API client usage (public vs authenticated axios)
  • performance considerations (rendering, memoization, virtualization if needed)

6) Testing strategy

  • backend unit tests (what to test)
  • backend integration tests (API behaviors)
  • frontend unit tests (components/hooks)
  • frontend integration/e2e plan (even if deferred)
  • negative tests and abuse cases

7) Three implementation options (minimum)

For each option:

  • approach summary
  • strengths
  • tradeoffs
  • risks
  • complexity (low/med/high) Choose one and justify.

8) Implementation plan (ordered checklist)

Include:

  • file touch list (create/modify)
  • exact steps in order
  • “done means” checklist mapping to acceptance criteria

9) Open questions

  • BLOCKING vs NON-BLOCKING (same rule as analysis)

Stop condition

If any BLOCKING questions exist:

  • Write them in the design file
  • Stop and ask only those questions.