Initial commit: Brachnha Insight project setup
- Next.js 14+ with App Router and TypeScript - Tailwind CSS and ShadCN UI styling - Zustand state management - Dexie.js for IndexedDB (local-first data) - Auth.js v5 for authentication - BMAD framework integration Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
208
_bmad/bmb/workflows/agent/data/agent-metadata.md
Normal file
208
_bmad/bmb/workflows/agent/data/agent-metadata.md
Normal file
@@ -0,0 +1,208 @@
|
||||
# Agent Metadata Properties
|
||||
|
||||
Core identification and classification properties for all agents.
|
||||
|
||||
---
|
||||
|
||||
## Property Reference
|
||||
|
||||
| Property | Purpose | Format |
|
||||
| ------------ | ------------------------- | ---------------------------------------------- |
|
||||
| `id` | Compiled output path | `_bmad/agents/{agent-name}/{agent-name}.md` |
|
||||
| `name` | Persona's name | "First Last" or "Name Title" |
|
||||
| `title` | Professional role | "Code Review Specialist" |
|
||||
| `icon` | Visual identifier | Single emoji only |
|
||||
| `module` | Team/ecosystem membership | `stand-alone`, `bmm`, `cis`, `bmgd`, or custom |
|
||||
| `hasSidecar` | Sidecar folder exists | `true` or `false` (Expert = true) |
|
||||
|
||||
---
|
||||
|
||||
## id Property
|
||||
|
||||
The compiled output path after build.
|
||||
|
||||
**Format:** `_bmad/agents/{agent-name}/{agent-name}.md`
|
||||
|
||||
**Examples:**
|
||||
```yaml
|
||||
id: _bmad/agents/commit-poet/commit-poet.md
|
||||
id: _bmad/agents/journal-keeper/journal-keeper.md
|
||||
id: _bmad/agents/security-engineer/security-engineer.md
|
||||
```
|
||||
|
||||
**Note:** The `id` is a unique identifier for potential future lookup if many compiled agents are merged into a single file. Conventionally matches the agent's filename pattern.
|
||||
|
||||
---
|
||||
|
||||
## name Property
|
||||
|
||||
The persona's identity - what the agent is called.
|
||||
|
||||
**Format:** Human name or descriptive name
|
||||
|
||||
```yaml
|
||||
# ✅ CORRECT
|
||||
name: 'Inkwell Von Comitizen' # peron name of commit-author title agent
|
||||
name: 'Dr. Demento' # person name for a joke writer agent
|
||||
name: 'Clarity' # person name for a guided thought coach agent
|
||||
|
||||
# ❌ WRONG
|
||||
name: 'commit-poet' # That's the filename
|
||||
name: 'Code Review Specialist' # That's the title
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## title Property
|
||||
|
||||
Professional role identifier.
|
||||
|
||||
**Format:** Professional title or role name
|
||||
|
||||
**Important:** The `title` determines the agent's filename:
|
||||
- `title: 'Commit Message Artisan'` → `commit-message-artisan.agent.yaml`
|
||||
- `title: 'Strategic Business Analyst'` → `strategic-business-analyst.agent.yaml`
|
||||
- `title: 'Code Review Specialist'` → `code-review-specialist.agent.yaml`
|
||||
|
||||
The `id` and filename are derived from the `title` (kebab-cased).
|
||||
|
||||
**Difference from role:** `title` is the short identifier (filename), `role` is 1-2 sentences expanding on what the agent does.
|
||||
|
||||
```yaml
|
||||
# ✅ CORRECT
|
||||
title: 'Commit Message Artisan'
|
||||
title: 'Strategic Business Analyst'
|
||||
title: 'Code Review Specialist'
|
||||
|
||||
# ❌ WRONG
|
||||
title: 'Inkwell Von Comitizen' # That's the name
|
||||
title: 'Writes git commits' # Full sentence - not an identifying functional title
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## icon Property
|
||||
|
||||
Single emoji representing the agent's personality/function.
|
||||
|
||||
**Format:** Exactly one emoji
|
||||
|
||||
```yaml
|
||||
# ✅ CORRECT
|
||||
icon: '🔧'
|
||||
icon: '🧙♂️'
|
||||
icon: '📜'
|
||||
|
||||
# ❌ WRONG
|
||||
icon: '🔧📜' # Multiple emojis
|
||||
icon: 'wrench' # Text, not emoji
|
||||
icon: '' # Empty
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## module Property
|
||||
|
||||
Which module or ecosystem this agent belongs to.
|
||||
|
||||
**Valid Values:**
|
||||
|
||||
| Value | Meaning |
|
||||
| ------------- | --------------------------------------- |
|
||||
| `stand-alone` | Independent agent, not part of a module |
|
||||
| `bmm` | Business Management Module |
|
||||
| `cis` | Continuous Innovation System |
|
||||
| `bmgd` | BMAD Game Development |
|
||||
| `{custom}` | Any custom module code |
|
||||
|
||||
```yaml
|
||||
# ✅ CORRECT
|
||||
module: stand-alone
|
||||
module: bmm
|
||||
module: cis
|
||||
|
||||
# ❌ WRONG
|
||||
module: standalone # Missing hyphen
|
||||
module: 'BMM' # Uppercase
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## hasSidecar Property
|
||||
|
||||
Whether this agent has a sidecar folder with additional files.
|
||||
|
||||
**Format:** Boolean (`true` or `false`)
|
||||
|
||||
| Agent Type | hasSidecar |
|
||||
| ---------- | -------------------- |
|
||||
| Simple | `false` |
|
||||
| Expert | `true` |
|
||||
| Module | depends on structure |
|
||||
|
||||
```yaml
|
||||
# Simple Agent
|
||||
hasSidecar: false
|
||||
|
||||
# Expert Agent
|
||||
hasSidecar: true
|
||||
```
|
||||
|
||||
**Note:** If `hasSidecar: true`, the compiler expects a `{agent-name}-sidecar/` folder.
|
||||
|
||||
---
|
||||
|
||||
## Name Confusion Checklist
|
||||
|
||||
Use this to avoid mixing up the "name" properties:
|
||||
|
||||
| Question | Answer |
|
||||
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| What's the file called? | Derived from `title`: `"Commit Message Artisan"` → `commit-message-artisan.agent.yaml` |
|
||||
| What's the persona called? | `name` - "Inkwell Von Comitizen" (who the agent is) |
|
||||
| What's their job title? | `title` - "Commit Message Artisan" (determines filename) |
|
||||
| What do they do? | `role` - 1-2 sentences expanding on the title |
|
||||
| What's the unique key? | `id` - `_bmad/agents/commit-message-artisan/commit-message-artisan.md` (future lookup) |
|
||||
|
||||
---
|
||||
|
||||
## Common Issues
|
||||
|
||||
### Issue: name = title
|
||||
|
||||
**Wrong:**
|
||||
```yaml
|
||||
name: 'Commit Message Artisan'
|
||||
title: 'Commit Message Artisan'
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
```yaml
|
||||
name: 'Inkwell Von Comitizen'
|
||||
title: 'Commit Message Artisan'
|
||||
```
|
||||
|
||||
### Issue: id path mismatch
|
||||
|
||||
**Wrong:** Agent file is `my-agent.agent.yaml` but:
|
||||
```yaml
|
||||
id: _bmad/agents/different-agent/different-agent.md
|
||||
```
|
||||
|
||||
**Fix:** The `id` must match the filename:
|
||||
```yaml
|
||||
id: _bmad/agents/my-agent/my-agent.md
|
||||
```
|
||||
|
||||
### Issue: Wrong module format
|
||||
|
||||
**Wrong:**
|
||||
```yaml
|
||||
module: Standalone
|
||||
module: STAND_ALONE
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
```yaml
|
||||
module: stand-alone # lowercase, hyphenated
|
||||
```
|
||||
Reference in New Issue
Block a user