anchor-intake
Force the skipped move before execution: interrogate the written brief against a fixed engineering implementation rubric, then plan only after gaps and weak assumptions are visible.
Trigger Check
Use this skill when the user provides a substantial written engineering implementation brief: a ticket, PRD, design note, or task brief with enough text to interrogate before work starts.
Do not use it for a bare one-line request, an already precise command, a
marketing brief, research proposal, prose draft, code diff review, bug fix, or
implementation execution. For unsupported or too-thin artifacts, self-eject in
one sentence and write no .techne/plan/<slug> output. If a captured artifact
later proves unsupported, use finalize --unscopable --reason ....
Boundary test: can you point to a user-authored written artifact and ask whether
it names the engineering goal, users, measurable success threshold, scope,
non-goals, inputs, data sources, dependencies, constraints, and acceptance
method? If yes, use anchor-intake. If no, eject or ask for the brief first.
Forced Procedure
- Capture the brief. Save the user-authored artifact verbatim. Run:
python3 skills/anchor-intake/scripts/intake_gate.py init --project <root> --plan <slug> --brief-file <path>. - Read the brief in full. Do not fill the rubric from memory or from the user's surrounding chat if the value is not in the captured brief.
- Account every fixed rubric element. For each of the ten elements, write
one disposition in
.techne/plan/<slug>/intake.json:presentwith citation andvalueItems,present-weakwith citation and a dependent question, orgapwith a question or visiblemodelDefault. - Surface traps and conflicts. Add span-anchored
solution-as-goalandcontradictionfindings whenever the brief implies them. Contradictions need two verified spans. - Ask only dependent questions. Every question must resolve an element or
finding and carry a
planDelta. Weak/gap questions must reference the weak span/value or the missing element label. - Author intent-level steps. Steps are not execution yet. Each step needs an
id,dependsOnAssumptions,dependsOnSteps,verifiableOutcome, and at least one terminal step reachable from a root step. - Check and repair. Run:
python3 skills/anchor-intake/scripts/intake_gate.py check --project <root> --plan <slug>. Fix structural failures by doing the missing intake work, not by padding JSON. - Finalize. Run:
python3 skills/anchor-intake/scripts/intake_gate.py finalize --project <root> --plan <slug>. Relay the generatedintakeReport.jsonto the user, especially gaps, weak elements, questions, solution-as-goal findings, contradictions, and warnings.
Script Contract
Artifacts are written under the target project:
text.techne/plan/<slug>/ brief.txt # captured external artifact context.json # computed by init intake.json # authored by the reviewer/planner report.json # computed by check plan.json # computed by finalize intakeReport.json # computed by finalize
Generated .techne/ output belongs to target projects. Do not commit it to this
repository.
Minimal intake.json shape:
json{ "schema": "techne.intake/1", "elements": { "data-sources": { "disposition": "gap", "questionIds": ["Q1"] } }, "findings": [ { "id": "S1", "kind": "solution-as-goal", "citation": {"offset": 16, "quote": "Build a Slack bot"} } ], "questions": [ { "id": "Q1", "text": "Which data sources should the implementation read?", "resolves": ["data-sources"], "planDelta": {"adds": ["Bind implementation to the named source"]} } ], "steps": [ { "id": "s1", "title": "Implement only the scoped behavior", "dependsOnAssumptions": ["goal-and-why"], "dependsOnSteps": [], "verifiableOutcome": "The scoped behavior can be verified by the acceptance method", "terminal": true } ] }
Use reference.md for the full JSON contract, fixed rubric, STOPLIST/RUBRIC-LABEL set, shape rules, warning semantics, and known weak spots.
Stop Conditions
- Stop before planning if there is no substantial written engineering brief.
- Stop before
finalizeifcheckreports blocking failures. - Stop and use
--unscopable --reasonif the artifact is not an engineering implementation brief or is too garbled/thin to interrogate honestly. - Stop before executing the work.
anchor-intakeends at a surfaced report and intent-level plan; implementation belongs to the next workflow step.


