write-a-spec SKILL.md skillA

write-a-spec from inkeep/open-knowledge is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add inkeep/open-knowledge/write-a-spec@git:20261014.adeb8b5

Pins git:20261014.adeb8b5 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
inkeep/open-knowledge
Path
packages/server/assets/skills/packs/software-lifecycle/write-a-spec/SKILL.md
Versions recorded
6
Latest version
git:20261014.adeb8b5, committed Oct 14, 2026
First version recorded
Aug 4, 2026
Size
19,882 bytes
Repository stars
4,810
License
GPL-3.0

Scope a feature end to end and write an implementation spec under specs/ from an accepted proposal — current-system mapping, goals/non-goals, a Decision Log for one-way-door choices, a live Open Questions backlog, and a real migration + test plan. Read when asked to write a spec, scope this feature, turn this proposal into a spec, plan the implementation, or break this into tasks. Do NOT fire on frame a proposal or write the PRD (sibling frame-a-proposal — a PRD frames a change before it is…

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Write a spec — scope a feature and commit an implementation spec

> This skill is pack guidance. The platform `/open-knowledge` skill (read/write/preview/linking/grounding rules) still governs every markdown operation — this layers spec-writing craft on top.

A spec is the contract between "we decided to build this" and "here is how it gets built." It is derived from an ACCEPTED proposal, maps the system that exists TODAY before proposing a change, and records its one-way-door choices in a Decision Log so the reasoning survives the author leaving. A spec that skips the current-system mapping, or resolves its open questions silently, is a liability — it reads authoritative while being unfounded.

`specs/` uses a folder-per-spec shape: `specs/NNN-name/` holding `spec.md`, and (when the work is actually going to be built) `plan.md` + `tasks.md`. The pack ships all three templates. `status` on `spec.md` flows `draft → ... → shipped`.

## Autonomy mode

| Mode | Behavior | How entered |
|---|---|---|
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add inkeep/open-knowledge/write-a-spec@sha256:68558c4378442762

The line at the top of this page pins the label git:20261014.adeb8b5, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_mnngczeh7wlaa5aj.svg)](https://markdownregistry.com/a/art_mnngczeh7wlaa5aj)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 6 versions of this file, between Aug 4, 2026 and Oct 14, 2026, about one every 14 days.

versioncommittedcommitsizeaudit
git:20261014.adeb8b5 latest2026-10-14 adeb8b5 19,882 BA view · diff
git:20260825.3ab979a2026-08-25 3ab979a 19,861 BA view · diff
git:20260824.4c50c942026-08-24 4c50c94 19,839 BA view · diff
git:20260813.12a6ea22026-08-13 12a6ea2 19,862 BA view · diff
git:20260805.f3f8da42026-08-05 f3f8da4 19,895 BA view · diff
git:20260804.8471ed32026-08-04 8471ed3 19,890 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (19882 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

inkeep/open-knowledge · 4,810 stars · license GPL-3.0 · pushed 2026-11-06 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_mnngczeh7wlaa5aj
GET https://markdownregistry.com/api/v1/resolve?ref=inkeep/open-knowledge/write-a-spec
GET https://markdownregistry.com/api/v1/blob/68558c4378442762bc0b7692553b2595ec5f6139cb258a344130519caedb1b77

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from inkeep/open-knowledge

AGENTS.md AGENTS.md file
inkeep/open-knowledge · AGENTS.md
git:20261029.9bef164 · audit A · 4,810 stars
open-knowledge-discovery SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/discovery/SKILL.md · Read when the user asks what OpenKnowledge is, wants to install it on a repository, wants to open or preview a single…
git:20261014.adeb8b5 · audit A · 4,810 stars
codebase-wiki SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/codebase-wiki/SKILL.md · How to work in a Codebase Wiki project (the `codebase-wiki` starter pack): an agent-authored, source-grounded wiki of…
git:20261014.adeb8b5 · audit A · 4,810 stars
personal-crm SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/entity-vault/SKILL.md · How to work in a Personal CRM project (the `entity-vault` starter pack, GBrain-compatible): a typed-entity vault of…
git:20261014.adeb8b5 · audit A · 4,810 stars
knowledge-base SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/knowledge-base/SKILL.md · How to work in a Knowledge Base project (the `knowledge-base` starter pack). Read when the project has the three-layer…
git:20261014.adeb8b5 · audit A · 4,810 stars
consolidate-notes SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/knowledge-base/consolidate/SKILL.md · Promote existing research into a stable-status canonical article under `articles/` in a Knowledge Base project (the…
git:20261014.adeb8b5 · audit A · 4,810 stars
research-with-sources SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/knowledge-base/research/SKILL.md · Investigate a topic against preserved sources and write a draft-status research article under `research/` in a…
git:20261014.adeb8b5 · audit A · 4,810 stars
okf-knowledge-base SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/okf/SKILL.md · Open Knowledge Format (OKF) v0.2 guidance. Use when creating, reading, reviewing, or maintaining an OKF bundle…
git:20260827.9104ce4 · audit A · 4,810 stars
note-taking SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/plain-notes/SKILL.md · How to work in a Plain Notes project (the `plain-notes` starter pack): a flat notes/ folder plus a daily/ journal. The…
git:20261014.adeb8b5 · audit A · 4,810 stars
software-lifecycle SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/software-lifecycle/SKILL.md · How to work in a Software Lifecycle project (the `software-lifecycle` starter pack): proposals → decisions → specs →…
git:20261014.adeb8b5 · audit A · 4,810 stars
frame-a-proposal SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/software-lifecycle/frame-a-proposal/SKILL.md · Frame a new design proposal (RFC-shape) under proposals/ — problem before solution, named beneficiary and observable…
git:20261014.adeb8b5 · audit A · 4,810 stars
record-a-decision SKILL.md skill
inkeep/open-knowledge · packages/server/assets/skills/packs/software-lifecycle/record-a-decision/SKILL.md · Records an architecture decision as a Nygard/MADR-shaped ADR under decisions/ — capturing the context that forced the…
git:20261014.adeb8b5 · audit A · 4,810 stars

Every file in inkeep/open-knowledge

Other files named write-a-spec

write-a-spec SKILL.md skill
different-ai/openwork · .opencode/skills/write-a-spec/SKILL.md · Extend a core journey in evals/core or write a one-off proof in evals/proofs that proves a PR's change to a human…
git:20261031.ae4e3b8 · audit A · 24,407 stars
write-a-spec SKILL.md skill
inkeep/open-knowledge-skills · skills/starter-packs/software-lifecycle/write-a-spec/SKILL.md · Scope a feature end to end and write an implementation spec under specs/ from an accepted proposal — current-system…
git:20261014.2bb8524 · audit A · 17 stars

Browse by kind, by grade A, or by owner.