IDDⁿ iddn.uk · skills

Claude Code plugin marketplace

throughline skills for Claude Code

Skills for working in throughline IDD requirements repositories. Install once and they apply in your own repos. Your graph stays committed there, as it must be — throughline is git-native and the items are the product. The skill is what stays out: nothing is vendored into your repo, and nothing is installed on your laptop.

Install

Hosted, no GitHub account needed
/plugin marketplace add https://skills.iddn.uk/marketplace.json
/plugin install tl@throughline-skills
From GitHub, when github.com is reachable
/plugin marketplace add rhodium-org/throughline-skills
/plugin install tl@throughline-skills

Works in the terminal and at claude.ai/code. In the browser you can also use Manage plugins → Marketplaces → Add marketplace and paste either source. To pick up a new version: /plugin marketplace update throughline-skills.

Pick one route, not both: they register the same name. Adding the second is refused with “its network source differs from the one declared for it in settings”. To switch routes, remove the first, then add the other: /plugin marketplace remove throughline-skills.

What's in it

Starting a graph for new work

/tl:shape

Initialises a graph by a structured discovery conversation instead of the fixed register set tl init lays down: the sources, then the domain, then what the work needs from its graph, and only then the registers — each with a rationale, each rejection recorded. The reasoning lands in idd/<name>-shape/ beside the graph for the work itself in idd/<name>/, named during discovery. Everything it writes is AI-origin and proposed; a human ratifies.

Before every hand-off

/tl:challenge

A challenge pass over a graph before a human is asked to ratify it: the twelve questions tl check cannot ask, with a script for the deterministic ones — link strength, prose that cites an item the links never record, siblings naming one thing two ways, branches no machine verifies, universal claims one child realises, and more.

Also re-checks an implementation graph against a specification it composes once that specification moved: stamped links, suspect-link triage, and spec items nothing implements.

More than one graph in a repository

/tl:multigraph

Repositories holding several throughline graphs: finding them all, wiring in-repo siblings by unpinned path and external standards by a pinned url, gating every graph in one loop, ratifying each item in the graph that owns it, and resolving a merge's UID collisions in every graph. How composition itself works is left to tl context.

Writing code under a graph, and checking it

/tl:reconcile

Code cites the graph items it serves in one comment notation, in any language, written as the code is written. The reconciliation reads those citations against the graph: what resolves to nothing, accepted items no code builds, statuses the code contradicts, tests the graph does not record, and stamps written against an earlier wording.

Code and graph are two records of one thing; where they disagree it asks which side moves, and never makes them agree on its own. A citation table drops into generated documents.

Before signing an item, or changing one

/tl:inspect

One item with everything it rests on above it and everything that rests on it below, as a page: joined across every graph in the repository that path sources connect, where tl trace and tl blast each print a list inside one graph. Every box opens a dialog with the item's whole wording, its links with the state of their stamps, and who signed it. The page is published beside the chat, or opened in your browser, so there is no wait while it is drawn.

A tick box on each keeps count of what has been read. A tick signs nothing; the page prints the tl ratify line for a person to run.

When a piece of work reaches done

/tl:assess

An objective assessment of one piece of work on a graph: items and acceptance, sources and citations, commits and editions, items amended after ratification, generated documents, tests, and from the session transcripts the wall-clock and active time, tokens and tool calls. A script measures; a person writes the narrative beside the numbers; a copy joins a collection whose index compares cases, for or against working this way.

When someone asks what a thing is, or how it knows

/tl:glossary

A glossary of a graph for someone who did not build it: each concept that recurs, defined in one line, with why it exists, what decides how it behaves, an example and the names it also goes by. The glossary is a graph of its own, every entry stamped to the items it came from and signed by a person, published as one document the same way every time.

A later run says which entries a change to the graph touched before it changes anything, and treats a definition that would change while its sources did not as a sign the source is ambiguous.

Each skill activates on its own when Claude notices the situation it covers, or you invoke one by name.

On a locked-down laptop

This is designed for it. Everything runs in the Claude sandbox: the skill installs the CLI it needs itself with pip install 'throughline>=3.11.0', the first release in which tl composes a graph's sources itself, and needs Python 3.11 or later — cloud sessions have it. Graphs wired to each other by path need no network at all. Graphs adopting an external standard by url need the sandbox to reach that host, so use https:// URLs and never an SSH host alias, which will not resolve there.