technical-specification
Technical specification writing for implementation details. Use when documenting how to build a solution (post-decision), API contracts, schemas, and system design. Complements RFC skill which handles decision-making.
Best use case
technical-specification is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Technical specification writing for implementation details. Use when documenting how to build a solution (post-decision), API contracts, schemas, and system design. Complements RFC skill which handles decision-making.
Teams using technical-specification should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/technical-specification/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How technical-specification Compares
| Feature / Agent | technical-specification | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Technical specification writing for implementation details. Use when documenting how to build a solution (post-decision), API contracts, schemas, and system design. Complements RFC skill which handles decision-making.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Technical Specification Skill
This skill automatically activates when documenting implementation details for a solution. Unlike RFC (which evaluates options), Tech Specs document **how** to build something when the approach is already decided.
## When This Skill Activates
- Documenting implementation approach after RFC approval
- Writing API specifications and contracts
- Defining database schemas and data models
- Creating system integration specifications
- Documenting component architecture details
- Writing implementation guides for developers
## RFC vs Tech Spec
| Aspect | RFC | Tech Spec |
|--------|-----|-----------|
| **Purpose** | Evaluate options, make decision | Document implementation details |
| **Options Analysis** | Required (min 2) | Not applicable |
| **When Used** | Before decision | After decision (or when no decision needed) |
| **Audience** | Decision makers, stakeholders | Implementers, developers |
| **Lifecycle** | DRAFT → REVIEW → APPROVED → COMPLETED | DRAFT → APPROVED → REFERENCE |
## When to Use Tech Spec (Not RFC)
Use Tech Spec when:
- Decision is already made (via RFC or otherwise)
- Only one viable implementation approach exists
- Documenting API contracts or schemas
- Writing integration specifications
- Creating implementation guides
Use RFC instead when:
- Multiple viable options exist
- Stakeholder buy-in needed
- Decision has cross-team impact
- Choice is costly to reverse
## Tech Spec Document Structure
### Required Sections
1. **Header Metadata**
```yaml
---
tech_spec_id: TS-XXXX
title: [Component/Feature Name]
status: DRAFT | APPROVED | REFERENCE | ARCHIVED
decision_ref: RFC-XXXX # Optional - link to RFC if one exists
author: [Name]
created: YYYY-MM-DD
last_updated: YYYY-MM-DD
---
```
2. **Executive Summary** (1 paragraph)
- What is being built
- Why this approach (brief, reference RFC if applicable)
- Key design decisions
3. **Design Overview**
- High-level architecture
- Component relationships
- Data flow description
4. **Detailed Specifications**
For each component:
- Responsibility
- Technology stack
- Key interfaces
- Implementation notes
5. **Data Model / Schema**
- Entity definitions
- Relationships
- Database schema (if applicable)
- Migration strategy
6. **API Specification**
- Endpoints with methods
- Request/response formats
- Authentication requirements
- Error handling
7. **Security Implementation**
- Authentication mechanism
- Authorization model
- Data protection
- Compliance requirements
8. **Performance Considerations**
- Throughput/latency targets
- Caching strategy
- Optimization approach
- Monitoring metrics
9. **Testing Strategy**
- Unit test requirements
- Integration test scenarios
- Load testing approach
10. **Deployment & Operations**
- Deployment process
- Configuration management
- Monitoring & alerting
- Rollback procedure
11. **Dependencies**
- External services
- Internal components
- Third-party libraries
12. **Implementation Checklist**
- Phased implementation plan
- Milestones with targets
## Tech Spec Lifecycle
```
DRAFT → APPROVED → REFERENCE
↓
ARCHIVED (when superseded or deprecated)
```
### Status Definitions
| Status | Description |
|--------|-------------|
| **DRAFT** | Being written, not yet reviewed |
| **APPROVED** | Ready for implementation |
| **REFERENCE** | Implementation complete, serves as documentation |
| **ARCHIVED** | Superseded or no longer relevant |
## Relationship to RFC
Tech Specs can optionally link to an RFC:
```yaml
decision_ref: RFC-0042 # Links to the decision that led to this spec
```
**When to link:**
- Tech Spec implements an approved RFC
- Want traceability from decision to implementation
**When standalone is fine:**
- Simple feature that didn't need RFC
- External requirement (no decision to make)
- Standard patterns being applied
## Quality Standards
### Completeness Checklist
Before marking APPROVED:
- [ ] All required sections are filled
- [ ] Architecture diagram is included
- [ ] API endpoints are fully specified
- [ ] Data model is complete
- [ ] Security considerations are addressed
- [ ] Deployment process is documented
- [ ] Implementation phases are defined
### Writing Guidelines
1. **Be Specific**
- Include concrete details, not vague descriptions
- Specify exact endpoints, schemas, configurations
2. **Include Examples**
- API request/response examples
- Configuration snippets
- Code patterns to follow
3. **Document Constraints**
- Performance requirements with numbers
- Resource limitations
- Compatibility requirements
4. **Reference Don't Duplicate**
- Link to RFC for decision rationale
- Reference existing documentation
- Avoid copying content that exists elsewhere
## File Naming Convention
```
TS-XXXX-<short-description>.md
```
Examples:
- `TS-0001-user-authentication-api.md`
- `TS-0015-payment-integration.md`
- `TS-0042-cache-layer-design.md`
## Directory Structure
```
tech-specs/
├── draft/ # Work in progress
├── approved/ # Ready for implementation
├── reference/ # Implementation complete
└── archive/ # Superseded/deprecated
└── YYYY/
```
## Integration with CTO Architect Workflow
The CTO Architect uses this skill for:
1. **Post-RFC Implementation Planning**
- RFC approved → Create Tech Spec for details
- Document the "how" after deciding the "what"
2. **Standalone Specifications**
- Simple features without RFC
- API contracts and schemas
- Integration specifications
3. **Delegation to Specialists**
- Tech Spec provides context for specialist agents
- Clear specifications enable parallel development
## Commands
| Command | Description |
|---------|-------------|
| `/create-tech-spec <name>` | Create new Tech Spec from template |
| `/list-tech-specs` | List all Tech Specs with status |
| `/tech-spec-status <id>` | View or update Tech Spec status |
## References
- Template: `./references/tech-spec-template.md`
- Checklist: `./references/tech-spec-checklist.md`Related Skills
rfc-specification
RFC (Request for Comments) specification writing with objective technical analysis. Use when creating technical specifications, design documents, or architecture proposals that require structured evaluation of options and trade-offs.
zod
Zod schema validation patterns and type inference. Auto-loads when validating schemas, parsing data, validating forms, checking types at runtime, or using z.object/z.string/z.infer in TypeScript.
typescript-import-style
Merge-friendly import formatting (one-per-line, alphabetical). Auto-loads when writing TypeScript/JavaScript imports to minimize merge conflicts in parallel development. Enforces consistent grouping and sorting.
setup-mcp-auth
Configure authentication for an existing FastMCP server
fastmcp
FastMCP TypeScript framework patterns for MCP servers. Auto-loads when building MCP servers, creating tools/resources/prompts, implementing authentication, configuring transports, or working with FastMCP in TypeScript.
add-mcp-tool
Add a new tool to an existing FastMCP server with guided configuration
add-mcp-resource
Add a new resource or resource template to an existing FastMCP server
plan-with-team
Validate plan file ownership
privacy-compliance
GDPR, CCPA, and privacy compliance guidance for data protection. Use when handling personal data, implementing consent management, or ensuring regulatory compliance across jurisdictions.
oauth
OAuth 2.0 and OpenID Connect implementation patterns. Use when implementing authentication, authorization flows, or integrating with OAuth providers like Google, GitHub, or custom identity providers.
mcp-security
Use when securing MCP servers, preventing prompt injection, implementing authorization, validating user input, or building secure multi-agent pipelines. Provides 5-layer defense architecture patterns.
rag-cag-security
Security patterns for RAG and CAG systems with multi-tenant isolation. Use when building retrieval-augmented or cache-augmented generation systems that require tenant isolation, access control, and secure data handling.