timbo2547/my-skills

interview-to-specs

Stage 1 of the feature workflow.

Quelltext ansehen

Verwendung

  1. Installationsbefehl kopieren und das Quellpaket vor der Installation in der eigenen Agentenumgebung prüfen.
  2. Benötigte Werkzeuge, Zugangsdaten und Hosts im Original prüfen.
  3. Eingabe und gewünschtes Ergebnis beschreiben und die Ausgabe mit den Quellen abgleichen.
npx skills add https://github.com/timbo2547/my-skills --skill interview-to-specs

Vor dem Start

  • Die Installation umfasst weder Modellabo noch API-Kontingent oder Dateizugriffsrechte.
  • Sterne und Installationen zeigen Aktivität, keine unabhängige Qualitäts- oder Sicherheitsprüfung.
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Interview to Specs

Stage 1 of 4. Consumes the user's intent and the codebase. Produces a spec, glossary updates, and ADRs. Downstream, specs-to-plan reads what this skill writes.

Announce at start: "Using interview-to-specs to interview you about this and produce a spec."

1. Read before you ask

Read these first. Never ask a question the repo already answers.

ArtifactWhereWhat you take from it
GlossaryCONTEXT.md, or the files named by CONTEXT-MAP.mdthe canonical term for every concept in play
Decisionsdocs/adr/what is already settled and must not be relitigated casually
Existing specsdocs/specs/, newest firstwhether this intent is already covered
The codewherever the intent toucheswhat is actually true today

Then state, in one short block, which of those existed and which did not. Do not create any of them yet.

If an existing spec already covers this intent, stop and print exactly:

A spec for this already exists:

  <path>   status: <status>

Tell me whether to revise that spec or start a separate one.
I will not do either until you answer.

2. Interview

The discipline is the whole value of this stage. Follow it exactly.

  • One question at a time. Ask, then wait for the answer. Never stack two questions

in one message, and never move on before the user has answered.

  • Always carry your recommendation. Every question states the answer you would

pick and why. A bare question makes the user do your thinking.

  • Explore instead of asking. If the codebase can answer the question, go read it.

Report what you found and ask only about what the code cannot settle.

  • Walk the tree. Resolve dependencies between decisions in order. Do not ask about

a leaf while its parent is open.

Four things to press on, from upstream:

  • Challenge against the glossary. When a term conflicts with CONTEXT.md, say so

at once. "Your glossary defines cancellation as X, but you seem to mean Y. Which is it?"

  • Sharpen fuzzy language. When a term is vague or overloaded, propose a precise

canonical one. "You said account. Do you mean the Customer or the User? Those differ."

  • Use concrete scenarios. Invent specific cases that probe edges and force the user

to be precise about where one concept stops and the next begins.

  • Cross reference with code. When the user states how something works, check whether

the code agrees. Surface every contradiction you find.

If a domain-modeling skill is installed, use it for the modelling portions. This skill works standalone without it.

3. Write as you go

Do not batch. The moment something resolves, write it.

  • A term resolves to a canonical name and definition: update CONTEXT.md immediately.

Format in CONTEXT-FORMAT.md.

  • A decision passes all three tests below: write the ADR immediately.

Format in ADR-FORMAT.md.

An ADR is warranted only when all three are true:

  1. Hard to reverse. Changing your mind later costs something real.
  2. Surprising without context. A future reader will ask why it was done this way.
  3. The result of a real trade-off. Genuine alternatives existed and one was chosen.

If any of the three is missing, it is not an ADR. It belongs in the spec.

CONTEXT.md is a glossary and nothing else. No implementation detail, no requirements, no scratch notes. Content that is neither a term nor an ADR goes in the spec.

Create files lazily. If CONTEXT.md does not exist, create it when the first term resolves. If docs/adr/ does not exist, create it when the first ADR is warranted.

Before creating any file, run `git check-ignore -q <path>`. If the path is ignored, stop and print exactly:

<path> is covered by .gitignore.

This workflow keeps its artifacts in git. A gitignored plan means plan-to-code
cannot commit progress, and a gitignored spec means code-to-review cannot read it.

Fix .gitignore, or tell me a different path. I will not write until you answer.

4. Scope check

One spec produces exactly one plan. If the intent covers several independent subsystems, each of which is worth building and testing on its own, splitting is cheap now and expensive later.

When the intent is too large, stop and print exactly:

This intent looks like <N> independent pieces of work:

  1. <piece>
  2. <piece>

Each one is separately buildable and separately testable, so it should get its own
spec, its own plan, and its own review.

Say "split" and I will interview each in turn, or "one spec" and I will write a
single one. I will not choose for you.

5. Draft the spec, then confirm

The spec is the only artifact written at the end rather than inline, because it is the synthesis of everything the interview settled.

Choose the feature slug once. Lowercase ASCII, kebab-case, no date, no trailing noun like "feature" or "plan". This slug is the join key of the entire workflow and every downstream artifact reuses it verbatim.

Draft the spec per SPEC-FORMAT.md. Show it in full, then print exactly:

That is the full spec. It will be written to:

  docs/specs/<YYYY-MM-DD>-<slug>.md   status: approved

Reply "write it" to save it as approved, "draft" to save it with status draft, or
tell me what to change. I will not write the file until you answer.

Write the file only after the user answers. write it saves status: approved. draft saves status: draft. Anything else is a revision, so revise and ask again.

6. Hand off

Print exactly this, filled in:

interview-to-specs complete.

Written:
  docs/specs/<YYYY-MM-DD>-<slug>.md      (new, status: <status>)
  CONTEXT.md                             (<n> terms added: <terms>)
  docs/adr/<NNNN>-<decision-slug>.md     (new)

Feature slug: <slug>

Next stage: specs-to-plan, in a fresh session.

  Use the specs-to-plan skill with docs/specs/<YYYY-MM-DD>-<slug>.md

This session is done.

Omit any line for an artifact this session did not write. Then stop.

Refuse rather than improvise

  • No answer from the user means no question answered. Never fill one in yourself.
  • A requirement the user did not state does not go in the spec.
  • A decision that fails the three ADR tests does not become an ADR.
  • An existing ADR that this intent contradicts is raised out loud, not planned around.

The remedy is a new ADR that supersedes it, decided in this interview.

Verwandte Aufgaben

aus demselben Repository

Weitere Skills

Alle Skills
timbo2547
Community

code-to-review

Stage 4 of the feature workflow. Use when every task in an implementation plan under docs/plans/ is ticked and the finished feature needs reviewing as a whole. Takes a plan path, diffs HEAD against the base commit recorded in the plan header, and reviews that diff along two axes in parallel sub-agents: Standards, meaning this repo's documented standards, a code smell baseline, and the CONTEXT.md glossary, and Spec, meaning the spec the plan names and the ADRs that spec lists. Writes a report to

Installationen
1
GitHub Stars
0
Aktualisiert
5. Sept.
timbo2547
Community

plan-to-code

Stage 3 of the feature workflow. Use when an implementation plan exists under docs/plans/ and a specific task number from it should be implemented. Implements exactly one task per session: loads the plan header, the spec, and the ADRs that task cites, writes the code, then stops and tells the user which tests to run and what a passing result looks like. Ticks checkboxes and commits only after the user confirms those tests pass. Refuses to start without a task number, on a dirty working tree, or

Installationen
1
GitHub Stars
0
Aktualisiert
5. Sept.
timbo2547
Community

specs-to-plan

Stage 2 of the feature workflow. Use when a written spec exists under docs/specs/ and no implementation plan has been written for it yet. Reads the spec, every ADR its front matter lists, and the CONTEXT.md glossary terms it depends on, then writes a task by task implementation plan to docs/plans/ with TDD steps, exact file paths, real code, the tests each task adds or affects, and a per task commit message. Refuses to run without a spec. Do not use to write the spec itself, which is interview-t

Installationen
1
GitHub Stars
0
Aktualisiert
5. Sept.