AgentSkillsCN

Generating Technical Spec

将系统架构拆解为可实施的工作包,明确各项任务、依赖关系以及集成合约。

SKILL.md
--- frontmatter
name: Generating Technical Spec
description: Break a system architecture into implementable work packages with clear tasks, dependencies, and integration contracts.

Generating Technical Spec

Goal

Transform a system architecture document into a detailed technical specification that defines every implementable task, assigns work to the appropriate agent, specifies integration contracts, and establishes a dependency graph so that work can proceed in parallel where possible.

When to Use

  • An architecture document exists and implementation is about to begin
  • You need to coordinate work across multiple agents or team members
  • A large feature requires decomposition into smaller, trackable units
  • You need to estimate effort and identify the critical path for delivery

Instructions

1. Review the Architecture Document

Read the architecture produced by the designing-architecture skill. Identify:

  • Every component and its responsibility
  • All API contracts and integration points
  • The data model and storage decisions
  • Authentication and authorization boundaries

2. Decompose into Work Packages

Break each component into atomic tasks. A good task:

  • Can be completed in a single working session
  • Has a clear definition of done
  • Produces a testable artifact (code, config, migration, test suite)

Group tasks by component, then order them by dependency.

3. Assign Tasks to Agents

Map each task to the agent best suited to implement it based on domain:

  • Frontend Agent -- UI components, client state, routing
  • Backend Agent -- API endpoints, business logic, middleware
  • Database Agent -- Schema design, migrations, seed data
  • DevOps Agent -- CI/CD, infrastructure, deployment config
  • Testing Agent -- Test plans, integration tests, e2e tests

4. Define Integration Points

For every boundary where two components interact, define:

  • The contract (API schema, event format, shared type)
  • Which task produces the contract and which tasks consume it
  • How to verify the integration (contract tests, integration tests)

5. Set Dependencies and Estimate Difficulty

Build a dependency graph:

  • Tasks that can run in parallel should have no dependency link
  • Tasks that block other tasks must be completed first
  • Estimate each task as Low, Medium, or High difficulty

Example -- turning a web app architecture into tasks:

Task IDDescriptionAgentDifficultyDependencies
T-001Define database schemaDatabaseMediumNone
T-002Create migration scriptsDatabaseLowT-001
T-003Implement user registration endpointBackendMediumT-001
T-004Implement login endpoint with JWTBackendMediumT-001
T-005Add auth middlewareBackendLowT-004
T-006Implement profile CRUD endpointsBackendMediumT-005
T-007Build registration form componentFrontendMediumT-003
T-008Build login form componentFrontendMediumT-004
T-009Build profile pageFrontendMediumT-006
T-010Set up CI pipelineDevOpsMediumNone
T-011Write auth integration testsTestingMediumT-003, T-004
T-012Write e2e test for registration flowTestingHighT-007, T-008
T-013Add rate limiting middlewareBackendLowT-005
T-014Seed database with test dataDatabaseLowT-002
T-015Configure production deploymentDevOpsHighT-010

6. Identify the Critical Path

Trace the longest chain of dependent tasks from start to finish. This is the critical path -- any delay on these tasks delays the entire project.

7. Produce the Technical Spec

Compile everything into a document following references/spec-template.md. The spec should be the single source of truth for what gets built, by whom, and in what order.

Constraints

✅ Do

  • Make every task atomic and completable in a single session
  • Define clear inputs and outputs for each task
  • Set realistic dependencies -- do not over-serialize independent work
  • Include integration tasks explicitly (they are often forgotten)
  • Include testing tasks for every component and integration point
  • Specify the contract format for each integration boundary
  • Identify the critical path and flag it clearly

❌ Don't

  • Create tasks too large or vague to complete in one session
  • Skip integration tasks between components
  • Forget testing tasks (unit, integration, e2e)
  • Assign all tasks to a single agent when work can be parallelized
  • Create circular dependencies in the task graph
  • Leave difficulty estimates out -- they are needed for planning
  • Assume agents share implicit context; make everything explicit in the spec

Output Format

A Markdown document following the structure defined in references/spec-template.md.

Key sections:

  1. System Overview (architecture summary)
  2. Component Specifications
  3. API Contracts
  4. Data Model
  5. Task Breakdown (table with ID, description, agent, difficulty, dependencies)
  6. Integration Points
  7. Testing Strategy

Dependencies

  • ../designing-architecture/SKILL.md -- provides the architecture document as input
  • ../../shared/task-tracking/SKILL.md -- for tracking task progress during implementation
  • references/spec-template.md -- structural template for the output document