Skip to content
Agentmart
Submit a tool

spec

Writes or revises employer specs, technical Epics and design docs from the bundled templates.

Skill by Tonours

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tonours-spec

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Writes or revises employer specs, technical Epics and design docs from the bundled templates. Use for /spec or a spec, Epic or design-doc draft or review; not for ADRs (adr) or Linear tickets.

Use cases: documents, design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/spec

What's inside

Skill name
spec
Description
Writes or revises employer specs, technical Epics and design docs from the bundled templates. Use for /spec or a spec, Epic or design-doc draft or review; not for ADRs (adr) or Linear tickets.
License
MIT
Instructions
82 lines in SKILL.md · view on GitHub

Files (3)

  • SKILL.md
  • template-product.md
  • template-technical.md

SKILL.md (first lines)

# employer spec writing

Write an employer spec that meets two standards: the team's real format (Linear)
and industry design-doc practice (Google, RFC, ADR). A spec exists to **collect
feedback BEFORE building**, not to document afterwards.

## Two levels, never mixed

employer splits two documents. Decide which one you are writing BEFORE starting.

| | Product spec | Technical Epic |
|---|---|---|
| Answers | **what / why** | **how** |
| Written by | product / CS | tech |
| Template | `template-product.md` | `template-technical.md` |
| Key sections | Problem/Goal/Solution, Discovery, Description, Screens, Expected behavior, Events | Context, Goals/Non-goals, Technical description, Alternatives, Cross-cutting, User stories, Estimations |

A very technical architecture spec (a service such as the BFF) is a **hybrid**:
take the technical template, it already carries the light product context. Both
templates sit next to this file: copy the right one and fill the `< >`.

## Core versus disposable

Across the ~16 real employer Epics, these are **always present**: Scope/Owners/Product
spec, Technical description, User stories (points, Required/Optional),
Estimations, Questions. These are **optional boilerplate** (often pasted,
sometimes dropped): the opening `> **Warning**` blockquote, Design challenge,
Tech approval. Keep the core, delete unused optional parts.

## The sections everyone forgets (and that carry the value)

Without them a "spec" is an implementation manual. The templates include them;
never leave them empty.

- **Non-goals**: what could be a goal but is excluded. Stops scope creep.
- **Alternatives considered**: the other serious approaches and *why they were
  rejected*. This is what makes it a decision. Flag irreversible choices
  (one-way doors).
- **Cross-cutting**: Security & privacy, Rollout/migration (with **rollback**),
  Monitoring. A deliberate "N/A" is fine; a missing section is not.

## Principles

- **Trade-offs over implementation.** If the solution is obvious with no
  trade-off, the spec is not needed. The core is the choices and their reasons.
- **Verify, do not assume.** Source every technical mechanism as `file.ts:line`;
  otherwise mark it "to confirm". A dropped option stays ~~struck through~~ with
  the why. A choice that changed gets an honest callout.
- **Link, don't duplicate.** Point to the product spec or the repo instead of
  copying, but embed 2-3 lines of context so the reader need not leave.
- **Proportionate.** Small change: a few lines. Large project: split it. No spec
  for a trivial change.
- **Explicit status.** Draft → In review → Accepted, plus who must approve.

## Writing the content

**Specs are written in English** (every employer spec is). For prose (context,
reasons, transitions), use the direct voice transposed to English: invoke the
`write-direct` skill. Technical contracts (routes, payloads, types) stay exact,
never stylized. ASCII diagrams stay clean (aligned boxes, arrows under what they
connect).

Linear target: the spec lives in a Linear **Document** (wiki-page equivalent)
attached to the Product team. Standard Markdown. Linear does NOT render GitHub
callouts `> [!NOTE]`; a bold title inside a blockquote (`> **Note**` then the
text) plays the same role. Keep blockquotes for important call-outs.

## Before publishing

- [ ] Every `< >` filled or deleted
- [ ] Every `<!-- -->` comment removed
- [ ] Unused "(optional)" sections deleted
- [ ] Non-goals and Alternatives filled (or a justified "N/A")
- [ ] Technical mechanisms sourced as `file.ts:line`

## Length

Mini-spec or incremental change: 1-3 pages. Large project: 10-20 pages at most;
beyond that, split. Until it ships, update the spec when the design drifts;
after shipping it becomes the historical entry point.

From Tonours/etabli, MIT.

More from Tonours/etabli

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 17, 2026 (11 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Tonours

Cite this page

spec skill. Agent Mart. https://agentmart.dev/skills/tonours-spec (last updated 2026-10-24)