CtrlK
BlogDocsLog inGet started
Tessl Logo

spec-driven-devlopment/spec-as-source

Spec-driven development on OpenSpec, with mechanical spec-as-source enforcement: a custom 'spec-as-source' OpenSpec schema adds file-ownership (targets) and test-verification ([@test]) metadata to every capability spec, three scripts (link check, ownership check, manifest build) keep code and specs from drifting apart, plus requirement-gathering, spec-writer, work-review, and a session-handoff skill with a proactive context-warning hook.

73

Quality

92%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

PROMPT_SESSION.mdskills/prompt-loop/templates/

Prompt Refinement Session

This document is the loop's state. Everything the loop knows lives here — current round, scores, open questions, locked decisions — not in conversation memory. Instantiate it at the start of a prompt-loop session and update it every round; it is an artifact of the conversation, not a repo deliverable.

Original prompt (verbatim, never edited):

<the user's incoming prompt, quoted exactly as received>


Round

Repeat this whole section once per round, in order. Do not rewrite or delete earlier rounds — they are the audit trail.

Prompt revision

The full text of this round's prompt revision. Round 1 restates the original prompt unchanged. Every revision MUST carry all entries of the ## Locked register forward unchanged. Any information the revision needs but the user never gave is marked n/a or listed as an open question below — never invented.

Scores

Score against SCORING_RUBRIC.md. Every score above 0 requires a verbatim quote from this round's prompt revision as evidence — no quote, no points.

DimensionScore (0–2)Evidence (verbatim quote)
Objective clarity
Scope boundaries
Verifiability of outcomes
Completeness of constraints and edge cases
Absence of invented or assumed facts

Total: <0–10> — Decision-tree band: <9–10 proceed / 6–8 targeted questions / 0–5 broad re-elicitation>

Open questions

Questions for the interview phase, derived from the dimensions that scored below 2 this round. Ask them ONE at a time; record each answer as a new entry under ## Locked before asking the next.

  • <question — targets dimension: >

Locked

User-confirmed decisions, recorded verbatim — the exact answer or approved summary line, not a paraphrase. Every rewrite MUST carry these forward unchanged, and later questions MUST NOT reopen or contradict them.

A lock changes only when the user spontaneously overrides it: record the new decision as a new entry marked as superseding, and keep the old entry struck-through (~~old text~~ — superseded by L<n> in round <N>) for audit. Never delete a lock.

  • L1 (round ): "<user's answer, verbatim>"

skills

README.md

tile.json