Skip to content

feat: Installer Agent Persona Selection and All-Artifact Copying #434

@katriendg

Description

@katriendg

Issue Description

Enhance the HVE-Core installer agent's Phase 7 (Agent Customization) to support persona-based agent selection. When users choose a persona collection, the installer copies only agents assigned to that persona in the artifact registry. This scope is limited to agents; copying of dependent prompts, instructions, and skills is tracked as future work.

Motivation

The existing Phase 7 default installs all stable agents (hve-core-all). Adding persona-based filtering enables users who want a focused set to select agents by role without changing the default experience. The artifact registry already defines persona assignments per agent, so the installer reads those assignments to determine which agents to copy.

Adopted Approach

The following changes were implemented across three files:

Installer Agent (.github/agents/hve-core-installer.agent.md)

Checkpoint 6 now offers three:

  1. Install RPI Core only
  2. Install by persona collection (new)
  3. Skip agent installation (unchanged, renumbered from option 3)

Option 2 triggers a Persona Selection Sub-Flow with four steps:

  1. Read the registry and count stable agents per persona
  2. Present a persona table showing display names, agent counts, and descriptions sourced from personas.definitions
  3. Build a filtered agent list including agents where personas contains the selected identifier(s) or hve-core-all, filtered to stable maturity
  4. Present the filtered list for user confirmation before copying

Additional implementation details:

  • Collision detection script handles persona-based agent lists via a default case in the selection switch
  • Manifest initialization records a collection field (hve-core-all, rpi-core, or persona identifier(s) like developer or developer,devops)
  • Upgrade detection reports INSTALLED_COLLECTION so upgrades respect the previously selected collection
  • Bundle definitions now include persona:<id> alongside rpi-core and all

Install Documentation (docs/getting-started/install.md)

The "Clone Methods (Persona Filtering)" section now accurately describes agents-only behavior and includes a [!NOTE] callout indicating that prompts, instructions, and skills filtering is planned for a future release.

Acceptance Criteria

  • Default selection remains hve-core-all (all stable agents) when no preference specified
  • Persona-based collections available as alternative to installing all
  • Users can select multiple persona collections to combine agent sets
  • Installer reads persona definitions and agent-to-persona mappings from the registry
  • Only agents matching the selected persona(s) or hve-core-all are copied
  • Experimental and deprecated agents are excluded from persona-filtered results
  • Filtered agent list is presented for user confirmation before copying
  • .hve-tracking.json records the selected collection
  • Upgrade mode respects the previously selected collection

Out of Scope (Future Work)

The following features are intentionally deferred to separate issues:

  • Copying prompts, instructions, or skills alongside agents
  • Dependency resolution (auto-including required prompts/instructions/skills for agents)
  • Handoff dependency resolution from agent frontmatter
  • Per-artifact-type selection (agents + prompts, agents + instructions, etc.)
  • Subdirectory structure preservation for instructions and skills

These capabilities build on the persona filtering foundation established here.

Technical Notes

  • The installer agent file is .github/agents/hve-core-installer.agent.md
  • Persona filtering reads from .github/ai-artifacts-registry.json
  • Registry agents entries contain a personas array and maturity field used for filtering
  • Registry personas.definitions provides display names and descriptions for each persona
  • Collision detection, resolution, and upgrade mode remain unchanged

Additional Context

  • Current installer: .github/agents/hve-core-installer.agent.md (Phase 7)
  • Depends on: Phase 1 (Registry Design and Schema)
  • Persona-to-artifact assignments determined by: Phase 6 (Persona-to-Artifact Mapping)

Metadata

Metadata

Assignees

Labels

featureNew feature triggering minor version bump

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions