Skip to content

feat: Persona-Based Extension Distribution #431

@katriendg

Description

@katriendg

Issue Description

Enable HVE-Core to distribute multiple extension packages and support persona-based artifact collections for different user roles and domains. This delivers curated collections of agents, prompts, and instructions tailored to specific personas: Developers, Technical Program Managers (TPMs), DevOps Engineers, Architects, and Technical Writers.

Problem

Today HVE-Core ships a single monolithic extension package containing all 61 artifacts (21 agents, 22 prompts, 17 instructions, 1 skill). Every user receives every artifact regardless of role. The manual installer (Phase 7) only copies agents, leaving prompts and instructions behind, which breaks agents that depend on paired artifacts. There is no mechanism to filter or organize artifacts by user role.

Proposed Solution

Implement a hybrid distribution system combining:

  1. AI Artifacts Registry (ai-artifacts-registry.json) as the single source of truth for persona and dependency metadata
  2. Collection manifests defining which artifacts belong in each persona-targeted package
  3. Enhanced packaging scripts that build multiple .vsix packages from one codebase
  4. Enhanced installer agent with persona selection, all-artifact-type copying, and dependency resolution

Persona Taxonomy

Persona ID Display Name Target Audience
developer Developer Software engineers writing code
tpm Technical PM Program/product managers
devops DevOps Engineer Platform, SRE, infrastructure engineers
architect Software Architect Solution/system architects
technical-writer Technical Writer Documentation specialists

Note: A data-scientist persona is under evaluation. The HVE Data Science extension (ise-hve-essentials.hve-data-science) already covers this audience. A persona collection here may come later depending on how the two extensions relate.

Implementation Phases

Work is organized into phases delivered as sub-issues:

  1. Registry Design and Schema - Create the artifact registry, JSON schema, persona taxonomy, and validation integration
    1b. Maturity Migration - Remove maturity from frontmatter, update packaging scripts and validation to use registry
  2. Packaging Enhancement - Collection manifests, multi-package builds from Prepare-Extension.ps1 and Package-Extension.ps1
  3. Installer Agent Enhancement - Persona selection in Phase 7, all artifact type copying, dependency resolution, upgrade handling
  4. Documentation and Migration - Update contributing docs, architecture docs, per-collection descriptions
  5. Publishing Infrastructure - Marketplace IDs, CI/CD multi-package workflow, release process updates
  6. Persona-to-Artifact Mapping - Finalize persona definitions and assign all artifacts to personas with team input

Success Criteria

  • Multiple extension packages can be built from a single codebase
  • Users can install artifacts filtered by persona via extension or manual methods
  • Registry format supports persona tagging for all artifact types
  • Existing artifacts can be categorized without breaking current functionality
  • Installer copies agents, prompts, and instructions with dependency resolution
  • .hve-tracking.json tracks all artifact types with upgrade support

Sub-Issues

Additional Context

  • Breaking changes are acceptable per project conventions
  • Current artifact counts: 21 agents, 22 prompts, 17 instructions, 1 skill
  • Persona-to-artifact assignments are intentionally deferred to Phase 6 for team discussion
  • Related: #251 - Update extension packaging to distribute skills — skill distribution must adopt the persona-based approach

Handoff Resolution Architecture

The registry's requires.agents field captures only runtime dispatch dependencies (agents invoked via runSubagent). Agent-to-agent handoff relationships (the handoffs frontmatter field) are excluded from the registry to avoid circular dependencies. During packaging (Phase 2) and installation (Phase 3), handoff targets are resolved dynamically by parsing agent frontmatter and iterating until transitive closure is reached. This ensures complete agent graphs are distributed without redundant data or circular dependency issues in the registry.

Future: Plugin Distribution

Copilot CLI and Claude Code both support plugin-based distribution where collections of agents, skills, and prompts are packaged and installed as a unit. Awesome Copilot already ships its collections as installable plugins via copilot plugin install, and Claude Code plugins use a similar plugin.json manifest covering agents/, skills/, commands/, hooks, and MCP servers. The AI artifacts registry designed in Phase 1 should be structured so that it can drive plugin manifest generation in the future, enabling persona-filtered plugin packages alongside VS Code extensions. This is not in scope for the current work but should inform registry schema decisions.

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