---
schema_version: 1
id: RAC-KTYJDJFWM5BH
type: roadmap
---
# v0.10.5 — Review and Ingest Skills

## Outcomes

- An agent in a host project has bundled procedures for the two
  judgement-bearing RAC workflows beyond authoring: working a corpus
  review worst-first, and converting legacy documents into valid,
  linked artifacts.
- Multiple bundled skills are installable from the package with one
  command surface, without weakening the never-overwrite contract.
- The review skill realises part of the v1.4 skills intent
  (review-oriented agent procedures) ahead of that item's remaining
  scope.

## Initiatives

- Bundle two new skills alongside `rac-artifacts`, packaged
  identically (resource under `rac.skills`, dogfood copy under
  `.claude/skills/`, per-skill byte-equality sync test):
  - `rac-review` — corpus review and triage: run `rac review`
    worst-first; distinguish mechanical findings (missing recommended
    sections → `rac improve --template`) from judgement findings
    (broken or ambiguous relationships); re-validate after each fix;
    never touch ids or frontmatter identity.
  - `rac-ingest` — legacy document conversion: `rac ingest` (DOCX,
    PDF, HTML, PPTX, XLSX, Markdown) → `rac inspect` classification →
    restructure sections per `rac schema <type>` → `rac migrate` to
    mint canonical identity → `rac validate` → link via
    `## Related …` sections. Skills describe released CLI behaviour
    only, verified against the current command surface.
- Extend the install surface: `rac skill install` with no name
  installs all bundled skills, all-or-nothing — if any target file
  already exists, the command refuses with exit 1, reports the
  existing path(s), and writes nothing. `rac skill install <name>`
  installs one skill; an unknown name is a usage error (exit 2)
  listing the available skills, mirroring the templates convention.
- Add `rac skill list`, mirroring `rac templates`: enumerate bundled
  skills with one-line descriptions, human and `--json`.
- Unify the install JSON contract on a list shape
  (`"skills": [{"skill": …, "path": …}, …]`) for both no-arg and
  named installs; refresh the earlier install goldens accordingly (nothing is
  tagged, so this is a reviewed contract change, not a break).

## Success Measures

- From an installed wheel in a clean project, `rac skill install`
  writes all three skills and Claude Code discovers each; re-running
  exits 1 and writes nothing.
- `rac skill install rac-review` installs exactly one skill; an
  unknown name exits 2 and names the available skills.
- Each packaged skill is byte-identical to its dogfood copy, enforced
  by tests; pytest, `rac validate rac/`, and
  `rac relationships rac/ --validate` pass; goldens pin `skill list`
  and both install shapes.

## Assumptions

- The earlier install surface may change shape because the bundled
  skill work is untagged and unreleased; goldens are refreshed in
  review rather than versioned.
- Three skills remain few enough for a flat name list; categories or
  pattern selection are out of scope.

## Risks

- Skill prose drifts from CLI behaviour as commands evolve; the sync
  tests catch content drift between copies but cannot catch drift
  against the CLI itself.
- All-or-nothing refusal can frustrate partial adoption (one skill
  already installed by hand); the named-install path is the
  documented recovery.

## Related Decisions

- adr-003
- adr-007
- adr-021

## Related Requirements

- rac-growth-agent-skill

## Related Roadmaps

- v0.10.5-bundled-agent-skill
- v1.4-claude-skills
