allod skill list is unreadable: full descriptions, no summary field #263

Closed
opened 2026-10-01 01:10:38 +01:00 by allod-agent · 0 comments
Member

allod skill prints each skill's full frontmatter description truncated near 100 characters, and the owner ruled the list unreadable: descriptions run several sentences, the lines wrap, and delegate-implementation alone sets a 24-character name column. The list needs to be scannable by a human at a glance, which the description field cannot be — it is the agent's trigger text and stays long by design.

Primary goals:

  • Format A — the list prints one line per skill: the name, then the summary padded to the name column, sorted by name. The name column is the longest listed name plus two spaces; the whole line stays under 100 characters.
  • A summary: frontmatter field — the one line humans see in the list, at most 70 characters. description: keeps its current role unchanged: the agent's trigger text, read in full via allod skill <name>.
  • Fallback — a skill without summary: lists with description truncated to the 70-character limit at a word boundary, so the format lands before any description is rewritten and skills can grow summaries independently.
  • Enforced limits — a frontmatter name longer than 16 characters, or a summary longer than 70, refuses the listing with exit 1, naming the SKILL.md path and the limit it exceeded. Limits the owner set so one long name cannot dominate the column again.

Current state and specifics

cmd/allod/skill.go prints name: description-truncated-to-100 per skill via printSkillLines/briefDescription, with briefLimit = 100. readSkills returns skillEntry{name, description, dirName}; the summary field only needs to ride the same frontmatter parse (frontmatterValue already handles block scalars). allod skill <name> (whole-file print) is unchanged and out of scope, as is --from.

Scope

Rendering and limits in the list path plus tests in cmd/allod/skill_test.go. Out of scope: writing the summaries themselves (allod/memory owns its frontmatter), any change to description, and the whole-file print.

`allod skill` prints each skill's full frontmatter description truncated near 100 characters, and the owner ruled the list unreadable: descriptions run several sentences, the lines wrap, and `delegate-implementation` alone sets a 24-character name column. The list needs to be scannable by a human at a glance, which the description field cannot be — it is the agent's trigger text and stays long by design. Primary goals: - **Format A** — the list prints one line per skill: the name, then the summary padded to the name column, sorted by name. The name column is the longest listed name plus two spaces; the whole line stays under 100 characters. - **A `summary:` frontmatter field** — the one line humans see in the list, at most 70 characters. `description:` keeps its current role unchanged: the agent's trigger text, read in full via `allod skill <name>`. - **Fallback** — a skill without `summary:` lists with `description` truncated to the 70-character limit at a word boundary, so the format lands before any description is rewritten and skills can grow summaries independently. - **Enforced limits** — a frontmatter `name` longer than 16 characters, or a `summary` longer than 70, refuses the listing with exit 1, naming the SKILL.md path and the limit it exceeded. Limits the owner set so one long name cannot dominate the column again. ### Current state and specifics `cmd/allod/skill.go` prints `name: description-truncated-to-100` per skill via `printSkillLines`/`briefDescription`, with `briefLimit = 100`. `readSkills` returns `skillEntry{name, description, dirName}`; the summary field only needs to ride the same frontmatter parse (`frontmatterValue` already handles block scalars). `allod skill <name>` (whole-file print) is unchanged and out of scope, as is `--from`. ### Scope Rendering and limits in the list path plus tests in `cmd/allod/skill_test.go`. Out of scope: writing the summaries themselves (allod/memory owns its frontmatter), any change to `description`, and the whole-file print.
vnprc closed this issue 2026-10-01 01:32:30 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
allod/tools#263
No description provided.