agentleFS
rpraharajrpraharaj/ai-engineer/skills/write-design/SKILL.md

write-design

Skill1 starsChanged 15 days agoMITView on GitHub

Write a technical design for one initiative — approach, contracts, failure, security, and delivery slices. Use when the user asks for a technical design, tech spec, or how we will build this. Do not write product code. Do not design a one-line bug.

1 other project uses a version of this, 1 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not implement. Do not start coding "just the first slice."

    line 14
  2. Very specific:

    If product "why" is still unknown, stop and run write-prd.

    line 26
  3. Very specific:

    Read AGENTS.md if present.

    line 28
  4. Distinctive:

    Ask at most a few blocking questions (product fork, compatibility, environment).

    line 34
  5. Very specific:

    Use the first that exists: docs/design/, docs/designs/, docs/specs/, a path AGENTS.md names.

    line 38
  6. Very specific:

    If none: write in the reply, and offer to create docs/design/ in this repo's markdown style.

    line 40

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Write design

Describe how this initiative will be built in this repository. This is not a PRD (write-prd), not durable system shape (write-architecture), and not a ticket list (write-dev-tasks).

Do not implement. Do not start coding "just the first slice."

Is this the right skill?

SignalDo this instead
Users / success / non-goals still openwrite-prd first
New system boundaries or greenfield shapewrite-architecture first
One sticky library/store choice onlyrecord-decision
One small, already-clear changeshape-work
Break an existing design into ticketswrite-dev-tasks

If product "why" is still unknown, stop and run write-prd. If the first slice is the whole goal, say so and offer shape-work instead of a design doc.

Read AGENTS.md if present. Skim entry points and an existing pattern. If you have not mapped the repo and the change is more than a few files, run explore-codebase or say the design is incomplete.

Carry forward agreed upstream decisions and acceptance checks by reference. Add only missing detail for this deliverable; do not regenerate or seek approval again for settled decisions. Existing authorization to implement continues to apply once blocking decisions are resolved.

Ask only when blocked

Ask at most a few blocking questions (product fork, compatibility, environment). Prefer a recommended answer. Non-blocking questions go in the doc.

Find the home

Use the first that exists: docs/design/, docs/designs/, docs/specs/, a path AGENTS.md names.

If none: write in the reply, and offer to create docs/design/ in this repo's markdown style.

Name the file like existing designs. If there are none, docs/design/YYYY-MM-DD-<slug>.md.

Write

Copy headings from references/design-template.md in this skill directory. Keep every heading; write n/a when a section does not apply. Do not invent extra sections. If that file is missing, use the same headings: Summary, Problem, Goals and non-goals, Constraints, Current vs proposed, Approach, Public surface, Data and contracts, Sequence, UI, Failure, Security, Performance, Observability, Rollout and rollback, Compatibility and migration, Config, Testing, Alternatives, Key decisions, Risks, Assumptions, Open questions, Delivery, Next.

Fill from the repo and any PRD/architecture the user pointed at:

  • Approach names real files, types, or layers — or says none exist (greenfield).
  • Data and contracts stay expand-then-contract. Destructive shape change is a later data-change, not this doc's "also drop the column."
  • Config is names only — never secret values.
  • Delivery is ordered slices, each independently reviewable. Do not write full tickets here (write-dev-tasks does that).
  • Key decisions that are expensive to reverse get record-decision, not a buried paragraph.
  • Load engineering-bar (paths in that skill) and check the design against Minimum path, Failure, Data, Security, UI. Do not paste the bar.

Quality

  • An engineer could start slice 1 without guessing the approach.
  • Alternatives include a smaller option (reuse / stdlib / native).
  • At least one Delivery slice is smaller than the whole initiative.
  • Unused sections are n/a, not deleted.
  • No secrets.

Done

  1. Path or the full text in the reply
  2. Chosen approach in a few sentences
  3. Slice 1, and the next skill

Continue into implementation only when the user has authorized it, blocking decisions are resolved, and slice 1 is fully specified — then shape-work or implement-change on that slice only.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.