İskele
Docs

İskele — Usage Guide (EN)

The Turkish counterpart is ../tr/kullanim-kilavuzu.md. The normative source is the skill itself, skill/iskele/SKILL.md — in English; the Turkish originals of it and of its references are kept under docs/tr/. This guide is the English walkthrough of the same seven-step loop.

The seven steps

Do not reorder them. Each step consumes the previous step’s output; a skipped step collapses in the next one.

1. Extract the constraints — ask, do not assume

Architecture is decided by constraints, not preferences. Settle at least:

Ask in one round, at most three questions. If the user already said it, do not ask again — derive it from the conversation.

2. Find the domain model — look for the distinction

The most critical step, and the one that cannot be mechanized. The question, however, is fixed: are there two things in this domain that get conflated but have separate lifecycles?

Do not write a schema before the distinction is found. A schema built on the wrong distinction collapses mid-build and pushes rework into every phase.

Patterns and how to hunt for them: references/domain-model.md.

Output: entities, relationships, and the reason the distinction is held apart.

3. Build phases and gates

Phases are a dependency chain, not a calendar. Put a gate (milestone + go/no-go) at the exit of each. The rule: the data the next phase records must come from the previous one.

Per phase: goal, scope, explicit out-of-scope (this is what stops scope creep), exit criterion.

4. Atomize the backlog

Every task carries: ID · epic · layer · estimate (S/M/L) · dependency · acceptance criterion.

5. Write the quality gates

Two levels:

6. Set up tracking and the generator

Contracts and setup: references/tracking.md.

7. Hand off

The loop closes — and it is two loops, not one ring: Mizan ⇄ Kıyas can turn between themselves for as long as the thinking needs, with nothing being built, while İskele is the branch taken when something survives and is worth building. Its criteria then return to Mizan as preregistered entries.

What the loop gained in v1.x

The seven steps above are the stable core. These were added on top of them, each from a failure seen in a real project; the normative text is SKILL.md and the references it names.

Red lines

Real failure patterns, each observed in practice.

False precision. Do not present estimates as precise numbers. “~78.5 days” may be arithmetically correct and still be speculative as a duration estimate: the weights are an author’s choice and there is no velocity data. Give the basis, say it is uncalibrated, recalibrate after phase one.

Happy-path verification. Before saying “verified”, ask with what input? A check that runs on well-behaved data never tests input validation. Try at least one edge case.

Silent assumption. The generator must not quietly fall back to a default for an unknown value — warn visibly or refuse to write. A silently wrong indicator is worse than a missing one. (The ı/i fold in mixed Turkish/English data is the classic trap.)

Phase skipping and scope creep. Do not enter the next phase before the gate is passed; write each phase’s out-of-scope list explicitly.

Auditing your own work. If you produced the kit and you also audit it, the arbiter is the author. Declare it, and stop treating judgment claims as established.

Invented numbers. Every number in the report is either computed from data or marked as an estimate. If neither, do not write it.