05b6d799f0
Three more learnings from alirezarezvani/claude-skills, applied: 1. SkillCheck validator (scripts/skillcheck.mjs) — validates every SKILL.md against the authoring standard (frontmatter, name/folder match, trigger + produces clauses, required headings) plus tier referential integrity. Errors fail CI; --strict fails on warnings too. New skillcheck.yml workflow and a SkillCheck status badge in the README. Current: 0 errors / 14 advisory warnings across 172 skills. 2. Cursor export platform — build-exports.mjs now generates exports/cursor/<bundle>/<skill>/<skill>.mdc rule files. The PLATFORMS registry now supports per-skill filenames (file as a function). 3. Per-agent installers — scripts/install.sh unifies install for claude/hermes/codex/openclaw/cursor (--link, --target, --dry-run, --list). Curl-able one-liners codex-install.sh, openclaw-install.sh, and cursor-install.sh clone the library and install in a single command. README documents the one-line installs and Cursor exports; CHANGELOG and the authoring standard updated. Claude-Session: https://claude.ai/code/session_016JWn5jRD5tcEFKrubjQ6Px Co-authored-by: Claude <noreply@anthropic.com>
159 lines
5.7 KiB
Plaintext
159 lines
5.7 KiB
Plaintext
---
|
||
description: "Create structured technical specification documents that bridge product requirements and engineering implementation. Use when writing a tech spec, engineering spec, system design doc, or API specification. Produces a complete spec with problem statement, proposed solution, data model, API design, alternatives considered, security considerations, testing plan, and rollout strategy."
|
||
globs:
|
||
alwaysApply: false
|
||
---
|
||
|
||
# Technical Spec Template Skill
|
||
|
||
Write technical specifications that engineers actually read — clear problem framing, unambiguous requirements, explicit decisions, and documented trade-offs.
|
||
|
||
## Required Inputs
|
||
|
||
Ask the user for these if not provided:
|
||
- **Feature or system description** (what needs to be specced)
|
||
- **Related PRD or product brief** (if available)
|
||
- **Engineering reviewers** (whose sign-off is needed)
|
||
- **Known constraints** (technical limitations, security requirements, performance targets)
|
||
|
||
## When to Write a Tech Spec
|
||
|
||
Write a tech spec when:
|
||
- The feature requires changes to 2+ systems
|
||
- There are significant architectural decisions to make
|
||
- More than one engineer will work on the implementation
|
||
- The feature has security, privacy, or compliance implications
|
||
- Estimated effort is >5 story points
|
||
|
||
Skip the spec for trivial bug fixes or 1-2 hour changes.
|
||
|
||
---
|
||
|
||
## Technical Spec Output Format
|
||
|
||
### Technical Specification — [Feature Name]
|
||
|
||
**Author:** [Name]
|
||
**Status:** Draft | In Review | Approved | Implemented
|
||
**Created:** [Date] | **Last Updated:** [Date]
|
||
**Reviewers:** [Eng Lead, Architect, PM, Security if needed]
|
||
**Related PRD:** [Link] | **Jira Epic:** [Link]
|
||
|
||
---
|
||
|
||
#### 1. Problem Statement
|
||
> [2–3 sentences. What problem are we solving and why now? No solution language here.]
|
||
|
||
#### 2. Goals & Non-Goals
|
||
|
||
**Goals (in scope):**
|
||
- [Specific, measurable outcome]
|
||
- [Specific, measurable outcome]
|
||
|
||
**Non-Goals (explicitly out of scope):**
|
||
- [What this spec does NOT cover]
|
||
- [Common assumption to shut down early]
|
||
|
||
#### 3. Background & Context
|
||
[Any prior art, related systems, or context engineers need to understand the decision space. Link to previous specs, ADRs, or research.]
|
||
|
||
#### 4. Proposed Solution
|
||
|
||
**High-Level Approach:**
|
||
[2–4 sentences describing the chosen solution. Why this approach vs alternatives?]
|
||
|
||
**System Architecture Diagram:**
|
||
[Describe or embed: which services are involved, how data flows, what APIs are called]
|
||
|
||
**Data Model Changes:**
|
||
```sql
|
||
-- New tables or schema changes
|
||
[Include DDL or schema definition]
|
||
```
|
||
|
||
**API Design:**
|
||
```
|
||
[Endpoint] [Method]
|
||
Request: { [fields and types] }
|
||
Response: { [fields and types] }
|
||
Error codes: [list]
|
||
```
|
||
|
||
**Key Implementation Details:**
|
||
- [Important technical constraint or approach]
|
||
- [Edge case handling]
|
||
- [Third-party dependency and version]
|
||
|
||
#### 5. Alternative Approaches Considered
|
||
|
||
| Option | Pros | Cons | Why Rejected |
|
||
|---|---|---|---|
|
||
| [Alt 1] | [Benefits] | [Drawbacks] | [Reason not chosen] |
|
||
| [Alt 2] | [Benefits] | [Drawbacks] | [Reason not chosen] |
|
||
|
||
#### 6. Security & Privacy Considerations
|
||
- Data stored: [What PII or sensitive data is involved]
|
||
- Authentication: [How is access controlled]
|
||
- Authorisation: [What permissions are required]
|
||
- Encryption: [At rest / in transit requirements]
|
||
- Compliance implications: [GDPR, SOC2, etc. if relevant]
|
||
|
||
#### 7. Performance & Scalability
|
||
- Expected load: [Requests/second, data volume]
|
||
- Latency requirements: [P50 / P95 targets]
|
||
- Caching strategy: [If applicable]
|
||
- Database indexing: [New indexes required]
|
||
- Known bottlenecks: [Where to watch]
|
||
|
||
#### 8. Testing Plan
|
||
- Unit tests: [Key scenarios to cover]
|
||
- Integration tests: [System boundaries to test]
|
||
- Load tests: [If performance-critical]
|
||
- Edge cases: [Known tricky scenarios]
|
||
- Rollback plan: [How to revert if something goes wrong]
|
||
|
||
#### 9. Rollout Plan
|
||
- Feature flag: [Yes / No — name of flag]
|
||
- Rollout stages: [% of users at each stage]
|
||
- Monitoring: [Metrics and alerts to set up]
|
||
- Success criteria to progress rollout: [What needs to be true]
|
||
- Rollback trigger: [What would cause immediate rollback]
|
||
|
||
#### 10. Open Questions
|
||
| Question | Owner | Due Date | Resolution |
|
||
|---|---|---|---|
|
||
| [Unresolved question] | [Name] | [Date] | [Pending] |
|
||
|
||
#### 11. Implementation Timeline (Rough)
|
||
| Phase | Work | Estimated Effort |
|
||
|---|---|---|
|
||
| [Phase 1] | [What gets built] | [X days/points] |
|
||
| [Phase 2] | [What gets built] | [X days/points] |
|
||
| Total | | [X story points] |
|
||
|
||
---
|
||
|
||
## Guidelines
|
||
|
||
- The spec is a decision record, not a task list — document *why* decisions were made
|
||
- All open questions must have an owner and due date
|
||
- Security and privacy sections are never optional for features that touch user data
|
||
- Recommend async review: engineers read first, then a 30-minute sync to resolve questions
|
||
- Keep the spec updated as implementation progresses — stale specs are worse than no specs
|
||
|
||
## Quality Checks
|
||
|
||
- [ ] Problem statement contains no solution language
|
||
- [ ] Non-goals explicitly list at least 2 things that might be assumed in scope
|
||
- [ ] At least 2 alternative approaches are documented with reasons for rejection
|
||
- [ ] Security and privacy section is completed for any feature touching user data
|
||
- [ ] All open questions have a named owner and due date (not "TBD")
|
||
|
||
## Anti-Patterns
|
||
|
||
- [ ] Do not include solution language in the problem statement — the problem must be described independently of the proposed solution
|
||
- [ ] Do not omit alternatives considered — a spec that considers only one approach has not been properly evaluated
|
||
- [ ] Do not leave open questions as "TBD" without a named owner and due date — unresolved questions are blockers
|
||
- [ ] Do not skip security and privacy sections for any feature that touches user data
|
||
- [ ] Do not write a non-goals section that is empty — always list at least two things that might be assumed in scope
|