Skip to content

Consider task-oriented framing for agent examples instead of persona/job-title patterns #156

Description

@JayDoubleu

First off, the core concept here is great. A dependency manager for agent configuration is a genuine gap in the ecosystem, and the manifest approach makes a lot of sense.

One concern about the documentation and examples. Throughout the repo, agents are framed as "personas" and "personalities," and every example uses the "You are a senior [job title]" pattern:

  • README: "Specialized personas | Accessibility auditor, API designer"
  • docs/concepts.md: name: "Backend Developer" with "You are a senior backend developer..."
  • docs/primitives.md: "You are a senior backend engineer with 10+ years experience..."
  • docs/examples.md: name: "Senior Code Reviewer" with "You are a senior software engineer with 10+ years experience..."
  • templates/hello-world/: "You are a backend development specialist..."
  • Sample package: "You are a design review specialist..."

The directory itself is labelled "Personas (.agent.md)" in the README.

Why this matters for adoption

When organisations adopt tools like this, the naming conventions signal something to the teams using them. An agent called "Backend Developer" or "Senior Code Reviewer" implicitly suggests that role can be reduced to a system prompt. People who hold those titles tend to notice, and they disengage rather than lean in.

Research on team effectiveness (Google's Project Aristotle being the most cited) shows psychological safety is the strongest predictor of whether teams adopt new tools honestly. Naming automation after people's job titles works against that.

The evidence on role prompting has also shifted. "You are an expert X" was a measurably useful technique with earlier models (GPT-3.5, early GPT-4), but with stronger models the gap between role-framed and task-framed prompts has narrowed considerably. The major labs have all moved toward task-oriented agent design in their own documentation. Being specific about the task tends to outperform being specific about the persona.

Suggestion

Reframe agents as task-scoped configurations rather than personas. The examples could focus on what the agent does rather than what job title it holds:

---
name: "API Design Review"
description: "Reviews backend code for API design, security, and performance issues"
tools: ["terminal", "file-manager"]
---
Review code for API design consistency, security vulnerabilities, and performance patterns.
Focus on: [specific standards]

vs the current:

---
name: "Backend Developer"
description: "Senior backend developer focused on API design"
tools: ["terminal", "file-manager"]
---
You are a senior backend developer focused on API design and security.

Same capability. The agent does the same thing. But the framing respects the humans in the room.

This would touch:

  • README primitives table and directory labels
  • docs/concepts.md agents section
  • docs/primitives.md agent examples
  • docs/examples.md chatmode example
  • templates/hello-world/ chatmodes
  • apm-sample-package design reviewer agent

Happy to contribute a PR if there's interest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageDeprecated: use status/needs-triage. Kept for issue history; will be removed in milestone 0.10.0.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions