allod skill: list agent skills, or print one in full #256

Merged
vnprc merged 2 commits from agent/skills-list into master 2026-09-30 23:12:33 +01:00
Member

allod skill makes skill discovery a command instead of an incantation an agent has to re-derive: bare allod skill lists every available skill (frontmatter name plus a brief description, truncated near 100 characters), and allod skill <name> prints that skill's SKILL.md in full, so an agent never needs to know where the skills directory lives.

What changes for a running machine: a new read-only skill namespace in the allod CLI. Skills come from allod/memory's skills/ directory by default, resolved through the repository registry and joined with WORK_DIR; --from <registry-id|dir> (repeatable, comma-separated) searches elsewhere. Nothing else changes: no existing command or output is touched, and the namespace carries no build tag.

If it is wrong: a wrong listing or a wrong file printed is visible by running the command; a straight revert of this PR removes the namespace entirely, and nothing persists outside the process.

Refs allod/memory#73 and allod/memory#74 (the pointer PR in allod/memory lands after this one).

Risk

R1. Read-only command, no state mutated, no secrets, no cross-repo ordering on this side; worst credible failure is wrong or empty output, immediately visible by running the command. Rollback is a straight revert.

Validation

  • go test ./... green in all four build-tag combinations ('', -tags site, -tags secret, -tags site,secret), plus gofmt -l and go vet clean.
  • Sixteen new tests in cmd/allod/skill_test.go cover the sorted list, brief-description truncation, whole-file printing for one and two names, the unknown-name refusal that lists what is available, block-scalar folding, the name fallback, the no-SKILL.md skip warning, the no-skills refusal, --from comma and repeat accumulation, registry-id resolution through INVENTORY/WORK_DIR, the allod/memory default and its refusal when the registry lacks the repo, unknown targets, and option handling.
  • Ran the command on this machine against the real registry: bare allod skill listed all six allod/memory skills with truncated descriptions; allod skill pick-next-issue printed that SKILL.md verbatim; allod skill nothere refused with exit 1, naming the available skills.
`allod skill` makes skill discovery a command instead of an incantation an agent has to re-derive: bare `allod skill` lists every available skill (frontmatter name plus a brief description, truncated near 100 characters), and `allod skill <name>` prints that skill's SKILL.md in full, so an agent never needs to know where the skills directory lives. **What changes for a running machine:** a new read-only `skill` namespace in the `allod` CLI. Skills come from `allod/memory`'s `skills/` directory by default, resolved through the repository registry and joined with `WORK_DIR`; `--from <registry-id|dir>` (repeatable, comma-separated) searches elsewhere. Nothing else changes: no existing command or output is touched, and the namespace carries no build tag. **If it is wrong:** a wrong listing or a wrong file printed is visible by running the command; a straight revert of this PR removes the namespace entirely, and nothing persists outside the process. Refs allod/memory#73 and allod/memory#74 (the pointer PR in `allod/memory` lands after this one). ## Risk R1. Read-only command, no state mutated, no secrets, no cross-repo ordering on this side; worst credible failure is wrong or empty output, immediately visible by running the command. Rollback is a straight revert. ## Validation - `go test ./...` green in all four build-tag combinations (`''`, `-tags site`, `-tags secret`, `-tags site,secret`), plus `gofmt -l` and `go vet` clean. - Sixteen new tests in `cmd/allod/skill_test.go` cover the sorted list, brief-description truncation, whole-file printing for one and two names, the unknown-name refusal that lists what is available, block-scalar folding, the name fallback, the no-SKILL.md skip warning, the no-skills refusal, `--from` comma and repeat accumulation, registry-id resolution through `INVENTORY`/`WORK_DIR`, the `allod/memory` default and its refusal when the registry lacks the repo, unknown targets, and option handling. - Ran the command on this machine against the real registry: bare `allod skill` listed all six `allod/memory` skills with truncated descriptions; `allod skill pick-next-issue` printed that SKILL.md verbatim; `allod skill nothere` refused with exit 1, naming the available skills.
Author
Member

Owner redirect: drop the list subcommand and make the namespace singular and self-sufficient. Bare allod skill lists the available skills (name plus a brief description); allod skill <name> prints that skill's SKILL.md in full, so an agent never needs to know where the skills directory lives. --from <registry-id|dir> (repeatable, comma-separated) stays for looking somewhere other than allod/memory.

Owner redirect: drop the `list` subcommand and make the namespace singular and self-sufficient. Bare `allod skill` lists the available skills (name plus a brief description); `allod skill <name>` prints that skill's SKILL.md in full, so an agent never needs to know where the skills directory lives. `--from <registry-id|dir>` (repeatable, comma-separated) stays for looking somewhere other than `allod/memory`.
allod-agent changed title from allod skills list: one command that prints every skill's trigger to allod skill: list agent skills, or print one in full 2026-09-30 23:01:56 +01:00
vnprc merged commit 3cab22e00e into master 2026-09-30 23:12:33 +01:00
vnprc deleted branch agent/skills-list 2026-09-30 23:12:34 +01:00
Sign in to join this conversation.
No description provided.