Skip to content

feat(s040): complete slice 040 (skills registry and progressive disclosure) - #48

Merged
HackTuah merged 6 commits into
mainfrom
slice/040-skills-registry
Sep 21, 2026
Merged

HackTuah merged 6 commits into
mainfrom
slice/040-skills-registry

Conversation

@HackTuah

Copy link
Copy Markdown
Member

Slice 040: skills as directories with a SKILL.md in the agentskills.io format (Trinity's keys under trinity:), found under three roots in precedence order (project, user, bundled), parsed with a per-file digest manifest, indexed in the skills table by a registry over ETS that watches the roots, and shown to the model by progressive disclosure: the index in the context tier under 033's 338-token reserve, the body on skill_view, a file on skill_file behind a symlink-resolving jail. Conditional activation by registered tools and toolsets; /skills with badges, view, enable, disable, reindex and the load errors; mix trinity.skills.reindex; three bundled skills (git-workflow, elixir-project-conventions, web-research).

Evidence: slices/040-skills-registry/PROOF.md (AC1 to AC8; the AC7 GIF under proof/), NOTES.md (seven findings, three follow-ups). The design point that mattered: the index rows are written on the registry's first read, not at boot (the test sandbox owns the one connection at boot).

Gate on the final tree: run 35626556631, all four legs green.

Manual queue for G4: AC3 (the hot-reload test's output on both backends is in PROOF; or a live edit), AC7 (proof/ac7-git-workflow.gif), AC8 (drop a downloaded skill into <data dir>/skills; the agent's dry run with anthropics/skills' skill-creator is in PROOF).

Signed-off-by: Ayla Croft aylacroft@proton.me

…d the slice opens

Signed-off-by: Ayla Croft <aylacroft@proton.me>
…chers, the three tools, the prompt index, the /skills page, three bundled skills

SKILL.md parsed to the agentskills.io specification with Trinity's keys under trinity:; three
roots in precedence order with a per-file manifest check; a GenServer over ETS that scans at
boot, writes the index rows on the first read, keeps statuses and versions across rescans,
and watches the roots (inotify, polling without inotifywait); skills_list, skill_view and
skill_file (a symlink-resolving jail) as reads; the index in the context tier under 033's
338-token reserve; conditional activation by registered tools and toolsets; /skills with
badges, view, enable, disable, reindex and the load errors; mix trinity.skills.reindex;
VERSIONS rows for yaml_elixir and file_system.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
Signed-off-by: Ayla Croft <aylacroft@proton.me>
…ng backend on the gate's runners); TRINITY_SKILLS_POLL=1 forces the poll

Run 35623752961: gate and fips have no inotifywait, the registry polls once a second, and
the poll compares mtimes at one-second resolution, so an edit inside the file's first second
was no change. Under the forced poll on this machine the edit arrives in about 1.2 s.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
…osure)

PROOF.md with every criterion's evidence (the AC7 GIF under proof/, the AC8 dry run), NOTES
findings and follow-ups, the coverage row (79.86 at dc9dc6b), and the ROADMAP row to done.

Signed-off-by: Ayla Croft <aylacroft@proton.me>
Signed-off-by: Ayla Croft <aylacroft@proton.me>
@HackTuah
HackTuah merged commit 1a875f3 into main Sep 21, 2026
8 checks passed
@HackTuah
HackTuah deleted the slice/040-skills-registry branch September 21, 2026 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant