~/turtleneck
turtleneck
Makes your AI agent think like the architect everyone rolls their eyes at, until they're right.
An agent skill for the decisions code can't undo: where the boundary goes, what the system is coupled to, who pays in year three. Ask "should we use X or Y" and instead of confident prose you get trade-off work: options that actually differ, random stressors, priced choices, the accepted trade-off stated as a loss, and the questions only you can answer, on one page.
install
$ npx skills add danielmarbach/turtleneck
/plugin marketplace add danielmarbach/turtleneck/plugin install turtleneck@turtleneckcodex plugin marketplace add danielmarbach/turtleneckcodex plugin add turtleneck@turtleneckpi install git:github.com/danielmarbach/turtleneckcopy AGENTS.md into the project rootthe_gate
First, is this architecture at all?
It is if any hold: hard to undo once built, closes off futures (a boundary, data ownership, a protocol, a vendor), crosses a team or system boundary, or someone other than the author pays the ongoing cost. Otherwise it is code, and the agent says so in one line and moves on. The protocol below is expensive on purpose and only runs where undo is expensive.
the_protocol
Six rungs. No recommendation before the last one.
- Ride the elevator. State the decision on two floors: penthouse (business outcome, who pays) and engine room (what changes, what on-call sees). Missing a floor? Ask. Never fill it with invented domain knowledge.
- Open the solution space. At least three options that differ in kind, always including defer and buy-or-reuse. The option you arrived with gets attacked hardest.
- Stress it. 8 to 12 stressors, business and technical, at least two absurd, no probabilities. Stressors that break the same components reveal hidden coupling. That is where a boundary wants to be.
- Price the options. Build cost, run cost and who carries it, undo cost, what stays open. Surviving a stressor is a purchase. Name the price.
- Cross-examine. Elevator pass: which stressors are worth paying for at all? Residuality pass: which price assumes a future you do not know? Keep what survives both.
- Decide or defer. "We give up X to get Y." The observable facts that would flip it. The questions only the owner can answer.
the_output
The output is a one-page record.
"Should we put a Redis cache in front of the product catalog reads?" at napkin level. Unedited output from the eval run.
The last line matters most. The failure mode of AI in architecture is plausible design in a domain nobody in the room understands, so every gap in knowledge becomes a question.
banned_moves
What pattern-matching looks like, and the move that replaces it.
| banned | instead |
|---|---|
| "It depends." | It depends on X. If X, then A. If not, B. Here is how to find out X. |
| scalability: high | Under 10x volume, A survives, B starves the thread pool. |
| "best practice" | The stressor or organizational force the practice answers here. |
| a pattern by name | The stressor it answers, and the price of the answer. |
| new tech as the fix | Name the habit that made the old one painful. Check the new one does not let it continue. |
| three listed, one explored | Same stressor table and same price columns for every option. |
| quoting named architects | Make the argument. If it is good, it does not need a name on it. |
commands
Drive it from chat.
/turtleneck [napkin|full|deep] | run the protocol; level is optional and the gate picks if omitted |
/turtleneck-review | gap list over an ADR, design doc, RFC, or PR description |
/turtleneck-stress | residuality pass alone: stressors, residues, attractors, boundary candidates |
/turtleneck-help | quick reference |
levels
Spend analysis where undo is expensive.
Name a level, or say nothing and the gate picks one from undo cost: napkin for cheap-ish undos and first cuts, full for expensive undos and multi-team boundaries, deep only when asked. It says which it picked and why.
napkin
Ten lines. Options, pick, the trade-off as a loss, one flip condition, one owner question. For first cuts and cheap-ish undos.
full
The six rungs. 8 to 12 stressors, both cross-exam passes, a one-page record.
deep
Full plus the stressor-by-component incidence matrix, attractor analysis, and a contagion trace. For boundaries several teams will live behind.
the_two_lenses
Two bodies of work that pull in different directions.
The Architect Elevator
Gregor Hohpe. Architects ride between the penthouse where business decisions happen and the engine room where systems run.
- A decision described on one floor is not a decision.
- Architecture is selling options, and options have a premium.
- Loose coupling has a price on both sides.
- New technology punishes bad habits.
Residuality Theory
Barry O'Reilly. The business environment is not a stable system with knowable probabilities.
- Hit the naive design with random stressors, including absurd ones.
- Let the component structure emerge from what survives.
- Two components that break under the same stressor are coupled, whether or not the code shows it.
- No likelihoods. Every stressor is treated as if it will happen.
They disagree in a useful way. The elevator says resilience is not free and asks who upstairs cares about this stressor. Residuality says your tidy price table assumes you know which future arrives. Rung 5 runs that argument on every decision. Neither author is involved in or endorses this project. Read the books at architectelevator.com and leanpub.com/residuality. This page only holds the working questions.
evals
Does the model actually follow it?
Deterministic checks for required sections, option count, stressor count, absurd stressors, the trade-off stated as a loss, flip conditions, owner questions, the gate on non-architecture prompts, and the banned moves, plus an LLM judge on four rubric criteria. The first two numbers measure protocol compliance on one model and one run. The third comes from a second suite that works six architectural katas and has a stronger model score each record for whether it picked the load-bearing decision, used the brief, found a non-obvious coupling, priced against the stated scale, and invented nothing. Whether the records are good architecture still needs a human architect. Harness, results, and two unedited kata records in evals/ and examples/.
lineage
Siblings.
Ponytail decides how little code goes inside the boundary. Turtleneck decides where the boundary goes. They compose; turtleneck's gate hands anything that is not architecture straight back.
The black turtleneck is the uniform of the person who decides what not to build. darrenohd/turtleneck got there first with a ponytail sibling for product scoping. This project is unrelated and landed on the same name independently.