Technical specification
Skill event4u-app/agent-config/src/skills/technical-specification
Universal AI Agent OS — audited skills, governance rules, replayable state. One contract, every host agent.
npx -y skills add event4u-app/agent-config --skill technical-specificationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
7.3 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
technical-specification
When to use
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 Comments)
- Planning a significant technical change that needs team review
Do NOT use when:
- Trivial changes (a good PR description is enough)
- Implementation work (use
feature-planningorphp-coderskill)
Procedure: Write a spec
- Inspect existing specs and ADRs — Read
agents/features/,agents/decisions/(ordocs/adr/) and any linked tickets to identify prior art, naming, and status conventions. - Pick the document shape — Choose Technical Spec, PRD, RFC, or ADR based on audience (engineering vs. product) and decision irreversibility.
- Draft the document — Use the template below; fill Status, Summary, Problem, Goals, Non-Goals, Proposed Solution.
- Verify — Confirm goals are measurable, non-goals are explicit, and at least one reviewer is named before circulating.
Technical Specification (full)
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}
Product Requirements Document (PRD)
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:
- PRD first when the user pain is clear but the solution shape is not ("users can't share dashboards" → PRD scopes the problem; spec follows).
- Spec first when the solution shape is clear but the implementation is non-trivial ("rebuild auth on OAuth2" → spec leads; PRD often skipped).
- Both when the feature is large enough that product and engineering decisions belong in different artifacts.
Architecture Decision Record (ADR)
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}
Lightweight RFC
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}
Writing guidelines
Be specific, not vague
❌ "The system should be fast"
✅ "API response time should be < 200ms at p95 for list endpoints"
Include constraints
- Performance requirements (latency, throughput)
- Compatibility requirements (PHP version, browser support)
- Security requirements (authentication, data sensitivity)
- Scale requirements (data volume, concurrent users)
Show your reasoning
Don't just present the solution — show why it was chosen over alternatives. The "Alternatives Considered" section is often the most valuable part.
Keep it actionable
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.
Integration with other systems
- Feature plans reference specs when technical depth is needed.
- Roadmaps are generated from specs after approval.
- ADRs are referenced from
AGENTS.mdor module docs for historical context. - Sessions link to the spec being implemented.
Output format
- Technical specification document with architecture decisions
- API contracts, data models, and sequence diagrams
- Implementation plan with dependencies
Auto-trigger keywords
- technical spec
- PRD
- product requirements
- RFC
- ADR
- architecture decision
Validate
- Verify every section of the spec template is filled in (no placeholders left).
- Confirm constraints and limitations are explicit, not implied.
- Check that the spec answers: What, Why, How, What not, and When.
Gotcha
- A spec without constraints is fiction — always include technical limitations, timeline, and scope boundaries.
- The model tends to write specs that describe the ideal solution without acknowledging existing code.
- Don't write specs for trivial features — a spec is overhead that's only worth it for complex changes.
Do NOT
- Do NOT write specs without researching the codebase first.
- Do NOT present only one option — always consider alternatives.
- Do NOT leave specs in "Draft" forever — push for a decision.
- Do NOT implement before the spec is reviewed (for significant changes).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most docs writing skills give in ~1.6k tokens
Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-07
- Announce the skill at startin 54 of 1637, across 26 files
- Convert legacy doc files before editingin 45 of 1637, across 7 files
- Predict questions readers might askin 42 of 1637, across 4 files
- Generate clarifying questions for initial contextin 42 of 1637, across 3 files
- Create document scaffold with placeholder textin 42 of 1637, across 3 files
- Brainstorm content options for each sectionin 42 of 1637, across 3 files
- Test the document with a fresh context-less instancein 42 of 1637, across 3 files
- Include exact file paths in every taskin 42 of 1637, across 15 files
- Ask interview questions one at a timein 42 of 1637, across 27 files
- Apply surgical edits during refinementin 41 of 1637, across 2 files
- Offer structured workflow or freeformin 40 of 1637, across 1 file
- Ask for document meta-contextin 40 of 1637, across 2 files
Said here and by no other author read
- inspect existing specifications first
- choose the correct document shape
- name at least one reviewer
- be specific not vague
- show reasoning for chosen solutions
- write actionable specifications
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.