Install
$ agentstack add skill-lynxlangya-techne-anchor-intake ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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/ 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 --plan --brief-file .
- 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//intake.json: present with citation and valueItems, present-weak with citation and a dependent question, or gap with a question or visible modelDefault.
- Surface traps and conflicts. Add span-anchored
solution-as-goaland
contradiction findings 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 --plan . 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 --plan . Relay the generated intakeReport.json to the user, especially gaps, weak elements, questions, solution-as-goal findings, contradictions, and warnings.
Script Contract
Artifacts are written under the target project:
.techne/plan//
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:
{
"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](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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: lynxlangya
- Source: lynxlangya/techne
- License: MIT
- Homepage: https://techne.wangyun.fan
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.