Harness Wire
link-harness-wire holds the words a harness's messages and skills are
written in: Link's own connection's threads, what came of a message,
and a skill as the Agent Skills standard writes one.
Link's own threads
link is Link's own connection, lnk agent chat send's, with no account
and no bot, from the agent's owner alone. Its threads are
link:<name>, and main unless a chat names one.
A thread's name
link_thread makes a thread of a name of 1 to 64 letters, digits, -,
_ and ., starting with a letter or digit, and refuses any other,
saying why.
Checking a thread
is_link_thread says whether a thread is one of link's, and
check_link_thread refuses one that isn't, or whose name link_thread
wouldn't take.
What came of a message
Asked is what came of a message sent to the harness: its answer,
whole, or that it joined a turn already running, whose answer, on the
message that started it, answers it too.
A skill
A skill is a folder named for it, holding SKILL.md, whose front
matter says its name and description above its instructions. Link
reads only those two: a harness lists them in its prompt, and its model
reads the rest when a task needs it.
Its name
check_name takes the standard's names: 1 to 64 lowercase letters,
digits and -, with no - first, last or twice in a row.
Reading one
parse reads a SKILL.md into a Skill, its name and its description
on one line, and refuses one with no front matter between two lines of
---, or whose name or description is missing or not as the
standard says. A description is at most 1,024 characters.