Skip to content

Add @agentrelay/personas persona pack #816

@willwashburn

Description

@willwashburn

Summary

Create a Relay-owned AgentWorkforce persona pack, @agentrelay/personas, in this repo.

The Workforce repo should own the generic/internal persona surface, especially persona-maker because agentworkforce create depends on it. Relay-specific personas should live with Relay because their prompts, docs, tests, release cadence, and domain assumptions belong here.

Related Workforce context:

Goal

Publish an npm package that can be installed by AgentWorkforce as a persona pack:

agentworkforce install @agentrelay/personas
agentworkforce install @agentrelay/personas --persona relay-orchestrator
agentworkforce install @agentrelay/personas@<version>

This gives Relay a first-class distribution path for Relay-oriented agents without keeping those personas built into workforce for compatibility.

Proposed Location

Add a new workspace package under:

packages/personas/
  package.json
  README.md
  personas/
    relay-orchestrator.json
    agent-relay-workflow.json
    agent-relay-e2e-conductor.json
    cloud-sandbox-infra.json
    cloud-slack-proxy-guard.json
    sage-slack-egress-migrator.json
    sage-proactive-rewirer.json
    opencode-workflow-specialist.json

The exact persona list can be adjusted during implementation. The key point is that Relay-specific personas move into this repo/package instead of remaining bundled in workforce.

Package Metadata

Suggested packages/personas/package.json shape:

{
  "name": "@agentrelay/personas",
  "version": "<repo version or independent package version>",
  "private": false,
  "type": "module",
  "files": [
    "personas",
    "README.md",
    "package.json"
  ],
  "keywords": [
    "agentworkforce-personas",
    "agent-relay",
    "personas"
  ],
  "agentworkforce": {
    "personas": "personas"
  },
  "publishConfig": {
    "access": "public"
  }
}

Notes:

  • The agentworkforce.personas field is the package discovery contract for agentworkforce install.
  • Keep the package public so users can install it directly from npm.
  • Decide whether this package follows the Relay repo/root version or uses an independent package version.

Persona Migration Notes

When moving personas over from AgentWorkforce/workforce/personas:

  • Preserve stable persona IDs and file basenames where possible.
  • Preserve all persona fields that are meaningful to AgentWorkforce, including system, tiers, skills, env, mcpServers, permissions, and model/provider settings.
  • Update any prompt wording that assumes the persona is built into workforce.
  • Keep Relay-specific operational guidance near the Relay source/docs it depends on.
  • Do not move persona-maker into this package. That should remain internal/built-in to workforce because agentworkforce create depends on it.

README Requirements

Add packages/personas/README.md with:

  • What this package is.
  • How to install all personas.
  • How to install one persona.
  • How to pin a version.
  • A table of included personas with short descriptions.
  • Notes on compatibility with AgentWorkforce persona pack metadata.

Example:

# @agentrelay/personas

Relay-maintained AgentWorkforce personas.

## Install

\`\`\`sh
agentworkforce install @agentrelay/personas
agentworkforce install @agentrelay/personas --persona relay-orchestrator
\`\`\`

## Personas

| Persona | Purpose |
| --- | --- |
| relay-orchestrator | Coordinates Relay implementation and operations work. |
| agent-relay-workflow | Works on Relay workflow and integration tasks. |

Validation

Add a lightweight validation path so this does not regress silently. Options:

  • Use an existing AgentWorkforce validation command if available.
  • Add a small repo script that verifies every persona JSON file is valid JSON and has required fields.
  • Test local install from a fixture or temp directory with:
agentworkforce install ./packages/personas
agentworkforce install ./packages/personas --persona relay-orchestrator

If AgentWorkforce is not available inside this repo's CI, at least validate the package shape and JSON files locally in CI, then rely on a cross-repo/manual install check before publish.

Release / Publishing Questions

Decide before implementation:

  • Should @agentrelay/personas use the Relay root version or an independent package version?
  • Should this package be included in the existing release flow for workspace packages?
  • Is the npm scope definitely @agentrelay, or should it align with existing repo packages under @agent-relay?
  • Should opencode-workflow-specialist live here, or should it move to a separate AgentWorkforce/OpenCode persona pack later?

Non-goals

  • Do not create a custom persona registry.
  • Do not require workforce to keep Relay-specific persona source files.
  • Do not make persona-maker part of this package.
  • Do not add compatibility-only built-ins to Workforce for these personas.

Acceptance Criteria

  • packages/personas/package.json exists with name: "@agentrelay/personas" and agentworkforce.personas: "personas".
  • Relay-specific persona JSON files live under packages/personas/personas.
  • The package README documents install commands, version pinning, and the included personas.
  • Persona JSON files are validated by a script or existing check.
  • The package can be consumed locally via agentworkforce install ./packages/personas.
  • The package is ready to publish publicly to npm.
  • Workforce issue/PR docs can point users to @agentrelay/personas instead of relying on built-in Relay personas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions