Files
reliquary/docs/workpad/brainstorm/2026-05-11-17-documentation-skill-adaptation.md
T
g4borg 1b5a7638d7 🧠 Add brain-dump docs for skill adaptation
Add exploratory and design docs for porting dirigent skills to
reliquary, including:
- Explore port options for the gitea skill (in-plugin vs vendored)
- Document activation mechanics across Claude Code and cross-tools
- Include an orchestration comparison between dirigent and reliquary
  approaches
- Add research on glob negation and flag-file activation patterns
- Create uv-detection goals and skill-engines cross-tool reports
- Provide a research plan for future porting work and risk notes
2026-05-11 23:01:30 +02:00

5.6 KiB

Brainstorm: should dirigent's documentation skill move to reliquary, and in what shape?

Source

../dirigent/.claude/skills/documentation.md — a flat markdown file (no folder, no frontmatter, no name:/description: header). 237 LOC. Defines a documentation philosophy + templates for CLAUDE.md, README.md, docs/architecture/, docs/api/.

First observation: it's not actually a skill

It's missing a frontmatter block. Claude Code skills need at minimum name: and description: so the runtime knows when to surface them. Without that, this file would never auto-activate — it's effectively a static reference document the user grep'd into manually. If we port it as-is, we'd be porting a doc, not a skill.

So the real question isn't "should we copy it" — it's "what concept inside it deserves to become a real skill, if any?"

What the file actually contains

Three loosely-related things bundled together:

  1. A philosophy statement — "AI agents first, humans second", CLAUDE.md is lightweight, README is human-friendly, docs/ is deep-dive, cargo doc is API.
  2. A folder structure prescription for monorepo / cargo-workspace Rust projects.
  3. Four file templates — CLAUDE.md, README.md, architecture doc, API doc.

The philosophy is interesting. The folder structure is dirigent-specific (cargo packages, docs/architecture/, docs/api/). The templates are generic but opinionated.

Where each piece could go

The philosophy → a small skill, maybe

A skill called something like agent-readable-docs could be valuable. It would activate when the user asks to "document this package", "write a README", "add a CLAUDE.md", and would advise:

  • Default reader is an LLM agent, not a human.
  • CLAUDE.md = short, navigational, 20-50 lines.
  • README.md = human-friendly with examples.
  • Long-form goes in docs/.
  • API specs go in docs/api/.

This is a real judgment-shape skill, not a template repository. It would compose with workpad (which owns docs/workpad/, not docs/architecture/).

The folder structure → not portable

The cargo-package layout in the file is dirigent-specific. Different projects (Python, Rust app, monorepo, library) want different shapes. Hardcoding "packages/<name>/CLAUDE.md" is wrong for anything that isn't a cargo workspace.

If we want this to be reusable, the skill must say "the user's project already has some layout — adapt" rather than "use this layout."

The templates → reference, not skill

Four templates is a small enough library that it could be a references/ folder inside an agent-readable-docs skill. The skill markdown points at them: "see references/claude-md-template.md for the structure."

Skills shouldn't paste 100 lines of template into their description — but they can host template files alongside and reference them.

Three options, ranked

A new skill in plugins/g4b_ai/skills/agent-readable-docs/:

  • SKILL.md — the philosophy + when to use which doc type. 60-80 LOC.
  • references/CLAUDE-md.md — template (generic, not cargo-specific).
  • references/README-md.md — template.
  • references/architecture-doc.md — template.
  • references/api-doc.md — template.

Composes with workpad ("workpad is for thinking-about-the-work; this skill is for documenting-the-work-itself"). Stays language-agnostic.

Risk: scope creep. "How to document code" is huge. Keep it tight — this skill is just about which file goes where and what shape, not about content quality.

Option 2 — Leave it in dirigent

It's dirigent-specific (cargo workspace, the project's own docs/architecture/ convention). Ports as a doc, not a skill. If you want to reuse it in dirigent forks, fine — but reliquary's plugins should be more generic.

Option 3 — Don't port, write fresh

The existing file has the right seed of an idea ("agent-readable docs first") but the wrong shape (templates inline, cargo-coupled). If you do port it, you'd rewrite ~80% anyway. Might be cleaner to write the skill fresh, taking only the philosophy paragraph as input.

In practice this is identical to Option 1 in outcome — the difference is whether you frame it as a port or a new skill.

Recommendation

Option 1, with these specific moves:

  • Strip cargo-specific examples; replace with language-agnostic phrasing ("source root", not "src/lib.rs").
  • Move all four templates into references/ rather than the skill body.
  • Add a frontmatter description that triggers on "document this", "write a README", "add CLAUDE.md", "API docs", "architecture doc".
  • Cross-reference workpad explicitly: workpad is for working about the code; this skill is for docs of the code.

Open question — overlap with workpad?

The workpad skill is very clear that it covers thinking-in-markdown (plans, reports, designs). Docs of the code (CLAUDE.md in a package, README.md, API specs) are deliberately out of workpad's scope — workpad owns docs/workpad/, not all of docs/.

An agent-readable-docs skill fills that gap cleanly. The two compose:

  • workpad → where do my plans, reports, journals live?
  • agent-readable-docs → where does my package's README + agent context + API spec live?

That's a healthy split. Worth doing.

What we'd skip

  • The "Maintenance" section in the original (refactor → update CLAUDE files; new feature → update README). That's project-discipline advice, not skill content.
  • The "Tips for Agents" section. Self-referential and adds noise.
  • The hardcoded label Type: Library | Binary | UI | Service. Too narrow.