Best for
- Writing a technical specification for a new feature or system
- Writing a Product Requirements Document (PRD) when user pain leads and solution shape follows
- Creating an architecture decision record (ADR)
event4u-app/agent-config/src/skills/technical-specification/SKILL.md
Use when the user says "write a spec", "create RFC", "write a PRD", or "document this decision". Writes technical specifications, PRDs, RFCs, and ADRs with clear structure.
Decision brief
Writes technical specifications, PRDs, RFCs, and ADRs with clear structure.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/technical-specification"Inspect the Agent Skill "technical-specification" from https://github.com/event4u-app/agent-config/blob/0adf49a8ae84b0ff6e2de8759eea43257e020eff/src/skills/technical-specification/SKILL.md at commit 0adf49a8ae84b0ff6e2de8759eea43257e020eff. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Inspect existing specs and ADRs — Read agents/features/, agents/decisions/ (or docs/adr/) and any linked tickets to identify prior art, naming, and status conventions. 2. Pick the document shape — Choose Technical Spec, PRD, RFC, or ADR based on audience (engineering vs. prod…
Use this skill when: - Writing a technical specification for a new feature or system - Writing a Product Requirements Document (PRD) when user pain leads and solution shape follows - Creating an architecture decision record (ADR) - Documenting a technical RFC (Request for Commen…
For complex features or systems. Stored in agents/features/ or module agents/features/.
{ Draft | In Review | Approved | Implemented | Superseded }
{ Draft | In Review | Approved | Implemented | Superseded }
Permission review
The documentation asks the agent to create, modify, or delete local files.
Do NOT write specs without researching the codebase first.Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 94/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 7 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Use this skill when:
Do NOT use when:
feature-planning or php-coder skill)agents/features/, agents/decisions/ (or docs/adr/) and any linked tickets to identify prior art, naming, and status conventions.For complex features or systems. Stored in agents/features/ or module agents/features/.
# Technical Specification: {Title}
## Status
{ Draft | In Review | Approved | Implemented | Superseded }
## Summary
{2-3 sentences explaining what this spec proposes and why.}
## Problem
{What pain point or limitation does this address?}
## Goals
- {Specific, measurable goal}
- {Another goal}
## Non-Goals
- {What this spec explicitly does NOT cover}
## Proposed Solution
### Overview
{High-level description of the approach.}
### Detailed Design
{Technical details — data models, APIs, algorithms, flows.}
### Alternatives Considered
| Alternative | Pros | Cons | Why rejected |
|---|---|---|---|
## Migration Plan
{How to transition from current state to the proposed solution.}
## Risks and Mitigations
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
## Open Questions
- [ ] {Unresolved question}
## References
- {Links to related docs, tickets, or external resources}
For features whose shape is product-driven rather than implementation-driven —
when "what users get" matters more than "how the code is wired". Use a PRD
when a Technical Specification would over-index on internals and under-index
on user value. Stored in agents/features/ next to the technical spec when
both exist.
# PRD: {Title}
## Status
{ Draft | In Review | Approved | Shipped | Parked }
## Problem
{The user-visible pain. One paragraph. Cite evidence — support tickets,
analytics, user quotes — not assumptions.}
## Success Criteria
- {Measurable outcome with a number and a timeframe}
- {Another measurable outcome}
## Non-Goals
- {What this PRD explicitly does NOT cover — protect scope}
## User Stories
- As a {role}, I want to {action}, so that {outcome}.
- As a {role}, I want to {action}, so that {outcome}.
## Major Modules
{The 3-7 functional building blocks the feature decomposes into. One
sentence each — what it does, not how. Implementation lives in the
technical spec, not here.}
- **{Module name}** — {one-sentence responsibility}
- **{Module name}** — {one-sentence responsibility}
## Open Questions
- [ ] {Unresolved product question — pricing, permission, copy, edge case}
## References
- {Links to research, related PRDs, technical spec when it exists}
PRD vs Technical Specification — when to pick which:
For significant technical decisions. Stored in agents/decisions/.
# ADR-{number}: {Title}
## Status
{ Proposed | Accepted | Deprecated | Superseded by ADR-{N} }
## Context
{What is the issue? What forces are at play?}
## Decision
{What is the change that we're proposing or have agreed to implement?}
## Consequences
### Positive
- {Benefit}
### Negative
- {Drawback or tradeoff}
### Neutral
- {Other notable consequences}
For smaller decisions that need team input. Can be a PR description or a short doc.
# RFC: {Title}
## Proposal
{What do you want to do?}
## Why
{Why is this needed?}
## How
{Brief technical approach.}
## Impact
{What does this change? Who is affected?}
## Open for feedback until: {date}
❌ "The system should be fast"
✅ "API response time should be < 200ms at p95 for list endpoints"
Don't just present the solution — show why it was chosen over alternatives. The "Alternatives Considered" section is often the most valuable part.
A spec should be implementable by someone who wasn't in the original discussion. If a developer reads only this document, they should be able to build it.
AGENTS.md or module docs for historical context.