Files
reliquary/docs/workpad/goals/igor-project-adoption.md
T
g4borg e9ab299b83 goal: Igor project adoption flow — per-project config override + spire:init
Igor's references/project.md ships read-only in the plugin cache with no
mechanism for per-project override. Projects can't fill in the template,
so Igor rediscovers basics each session. This goal captures the fix:
project-local resolution, an init skill, and /assistant alias docs.
2026-09-16 18:09:42 +02:00

2.4 KiB

Goal: Igor project adoption flow

Problem

Igor's references/project.md is a per-project configuration template ("swap this file when adopting Igor"), but it ships read-only in the plugin cache (~/.claude/plugins/cache/reliquary/spire/*/skills/igor/references/project.md). There is no mechanism to actually swap it — every project gets the blank template, and Igor has to rediscover workpad location, verification commands, pinned agents, and conventions from scratch each session.

The @references/project.md directive in the Igor skill loads the bundled file. Consuming projects cannot override it.

Acceptance criteria

  1. Project-local override: Igor's skill resolves @references/project.md from a project-local path first (e.g. .claude/spire/project.md), falling back to the bundled template if none exists.

  2. spire:init skill: A new skill (or extending an existing one) that:

    • Copies the template to the project-local path
    • Auto-fills what it can discover (workpad location via the workpad skill's resolution logic, agents from .claude/agents/, verification commands from Justfile/Makefile/package.json, conventions from CLAUDE.md)
    • Leaves placeholders for what it can't discover (tome skill, domain skills, adept roster)
    • Commits the result
  3. /assistant as project alias: Projects should be able to create a thin .claude/skills/assistant.md that invokes spire:igor with the project context pre-loaded. Document how to do this — or make it part of spire:init.

  4. Backward compatible: Projects without a local override continue to work (Igor orients from CLAUDE.md and codebase reads, as today).

Why

Every Igor session currently spends its first minutes rediscovering project basics (workpad path, build commands, existing agents). This is wasted work that compounds across sessions. The template exists but can't be filled in, which is worse than not having one — it signals "configure me" with no way to do so.

Context

Discovered while using Igor in the dirigent project. The workpad was at docs/workpad/, verification is just check-all, there are pinned agents in .claude/agents/, and conventions are in CLAUDE.md — but Igor had to figure all of this out from scratch because project.md was the blank template.

The @references/ mechanism may need a resolution chain: project-local → plugin-bundled. If @ directives don't support this, the skill text itself could use a conditional read pattern.