TAGS
Curated list of every tag an agent is allowed to declare. Source of truth: [`tags.json`](tags.json). Linter rejects any tag not in this list.
How it fires
How this agent gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Curated list of every tag an agent is allowed to declare. Source of truth: [`tags.json`](tags.json). Linter rejects any tag not in this list.
Agent definition
TAGS.mdTag Vocabulary
> Curated list of every tag an agent is allowed to declare. > Source of truth: [`tags.json`](tags.json). > Linter rejects any tag not in this list.
Why a fixed vocabulary
Auto-generated tags (`json`, `JSON`, `Json`, `json-parsing`) fragment the routing index. A curated list makes the orchestrator's job tractable: when it looks up `by_tag.security`, it gets every agent that should be there, not half of them plus a scatter of `secure`, `sec`, `security-audit`.
New tags aren't forbidden — they require one thing: **add the tag to `tags.json` in the same MR as the agent that uses it**. That discipline is the vocabulary's immune system.
Layers
Every tag lives in one of six layers. An agent typically carries 5–10 tags spread across `skill`, `domain`, `tech`, and `concern`.
| Layer | What it answers | Typical count per agent | |-------|-----------------|-------------------------| | `skill` | What the agent does functionally (backend, review, growth, qa) | 1–3 | | `domain` | Subject matter (fintech, blockchain, gamedev, xr) | 1–2 | | `tech` | Concrete stack / platform (react, postgres, unity, tiktok) | 0–3 | | `concern` | Non-functional property (security, performance, a11y) | 0–3 | | `workflow` | Output mode (implementation, audit, reporting) | 0–1 | | `marker` | Pack infrastructure tags (template, bootstrap) | 0–1 |
Layer summaries
`skill` — what the agent does
Engineering roles: `backend`, `frontend`, `fullstack`, `devops`, `sre`, `infra`, `data-engineering`, `data-science`, `ai`, `ml`, `llm`, `mobile`, `embedded`.
Design: `ui-design`, `ux-design`, `ux-research`, `brand-design`, `visual-storytelling`, `whimsy`, `prompt-design`.
Testing: `qa`, `e2e-testing`, `api-testing`, `performance-testing`, `accessibility-testing`, `evidence-collection`, `reality-check`.
Protocol-bound: `review`, `audit`, `scout`, `orchestration`.
Writing: `technical-writing`, `content-creation`, `book-authoring`.
Marketing / growth: `growth`, `seo`, `aso`, `aeo`, `social-media`, `community-building`, `livestream-commerce`, `localization`.
Paid media: `ppc`, `paid-social`, `programmatic`, `tracking`, `paid-audit`, `search-analysis`.
Sales: `outbound`, `discovery-selling`, `deal-strategy`, `sales-engineering`, `proposal-writing`, `pipeline-analysis`, `account-expansion`, `sales-coaching`.
Product / PM: `product-management`, `prioritization`, `feedback-analysis`, `trend-research`, `behavioral-design`, `project-planning`, `experiment-tracking`, `jira-workflow`, `studio-ops`.
Finance: `bookkeeping`, `fpa`, `tax-strategy`, `investment-research`.
Support: `customer-support`, `legal-compliance`, `analytics-reporting`, `executive-summary`, `finance-tracking`, `infra-maintenance`.
Academic: `historical-analysis`, `anthropology`, `psychology`, `narratology`, `geography`.
Game craft: `game-design`, `level-design`, `technical-art`, `game-audio`, `narrative-design`.
Security / ops specializations: `threat-modeling`, `threat-detection`, `smart-contract-audit`, `compliance-audit`, `incident-response`, `identity-engineering`, `workflow-design`, `document-generation`, `automation-governance`, `knowledge-management`, `recruiting`, `training-design`, `supply-chain`.
`domain` — subject matter
Platforms: `web`, `api`, `microservices`, `event-driven`, `serverless`, `cli-tools`.
Finance: `fintech`, `banking`, `payments`, `trading`, `escrow`, `wallet`, `ledger`.
Blockchain: `blockchain`, `defi`, `nft`, `smart-contracts`, `zk-proofs`, `mev`.
Games: `gamedev`, `multiplayer`, `open-world`.
Verticals: `healthcare`, `gov-tech`, `education`.
B2B: `saas`, `multi-tenant`.
Reality: `xr`, `vr`, `ar`, `webxr`, `visionos`, `cockpit`.
Academic: `academic`.
Regional: `china-market`, `cross-border`, `korean-market`, `french-market`.
Commerce / community: `marketplace`, `ecommerce`, `devrel`.
`tech` — concrete stack
Languages: `python`, `java`, `kotlin`, `scala`, `go`, `rust`, `swift`, `typescript`, `javascript`, `ruby`, `php`, `c-cpp`, `solidity`, `gdscript`, `luau`, `hlsl`, `glsl`, `metal`.
Web / backend frameworks: `react`, `react-native`, `vue`, `angular`, `next`, `svelte`, `node`, `spring`, `django`, `rails`.
Game engines: `unity`, `unreal`, `godot`, `roblox`, `blender`.
Data systems: `postgres`, `mysql`, `mongodb`, `redis`, `elasticsearch`, `kafka`.
Infra: `docker`, `kubernetes`, `terraform`, `aws`, `gcp`, `azure`.
Mobile: `ios`, `android`, `flutter`.
CMS / SaaS: `wordpress`, `drupal`, `cms`, `salesforce`.
Chinese platforms: `wechat`, `feishu`, `bilibili`, `xiaohongshu`, `weibo`, `douyin`, `kuaishou`, `zhihu`, `baidu`.
Global platforms: `tiktok`, `instagram`, `twitter`, `linkedin`, `reddit`, `youtube`.
Blockchain nets: `ton`, `ethereum`, `solana`.
AI infra: `mcp`.
`concern` — non-functional
Security: `security`, `auth`, `authz`, `secrets`, `owasp`.
Performance: `performance`, `caching`, `scaling`.
Reliability: `reliability`, `observability`, `chaos-engineering`.
Compliance: `privacy`, `gdpr`, `pci`, `soc2`, `hipaa`.
UX / code: `a11y`, `architecture`, `refactoring`, `minimal-change`, `database-design`, `query-optimization`, `observability-instrumentation`, `regression`.
`workflow` — output mode
`implementation`, `design`, `strategy`, `reporting`, `coaching`, `estimation`, `coordination`.
`marker` — pack infra only
`template` (for files in `agents/templates/`), `bootstrap` (used in memory templates).
Using the vocabulary
From the migrator
`scripts/migrate_schema.py` loads `tags.json` on start, then for each agent:
1. Seeds tags with the category's `per_category_defaults` + the agent's own `category`. 2. Scans the filename, description, and body for tag names and synonyms. 3. Filters out foreign-category tags so `marketing` tags don't leak onto `engineering` agents.
From the linter
`scripts/lint_agents.py` loads `tags.json` and rejects any tag not in the vocabulary with a clear error message, including the closest match suggestion.
Read more
Tag Vocabulary
> Curated list of every tag an agent is allowed to declare. > Source of truth: [`tags.json`](tags.json). > Linter rejects any tag not in this list.
Why a fixed vocabulary
Auto-generated tags (`json`, `JSON`, `Json`, `json-parsing`) fragment the routing index. A curated list makes the orchestrator's job tractable: when it looks up `by_tag.security`, it gets every agent that should be there, not half of them plus a scatter of `secure`, `sec`, `security-audit`.
New tags aren't forbidden — they require one thing: **add the tag to `tags.json` in the same MR as the agent that uses it**. That discipline is the vocabulary's immune system.
Layers
Every tag lives in one of six layers. An agent typically carries 5–10 tags spread across `skill`, `domain`, `tech`, and `concern`.
| Layer | What it answers | Typical count per agent | |-------|-----------------|-------------------------| | `skill` | What the agent does functionally (backend, review, growth, qa) | 1–3 | | `domain` | Subject matter (fintech, blockchain, gamedev, xr) | 1–2 | | `tech` | Concrete stack / platform (react, postgres, unity, tiktok) | 0–3 | | `concern` | Non-functional property (security, performance, a11y) | 0–3 | | `workflow` | Output mode (implementation, audit, reporting) | 0–1 | | `marker` | Pack infrastructure tags (template, bootstrap) | 0–1 |
Layer summaries
`skill` — what the agent does
Engineering roles: `backend`, `frontend`, `fullstack`, `devops`, `sre`, `infra`, `data-engineering`, `data-science`, `ai`, `ml`, `llm`, `mobile`, `embedded`.
Design: `ui-design`, `ux-design`, `ux-research`, `brand-design`, `visual-storytelling`, `whimsy`, `prompt-design`.
Testing: `qa`, `e2e-testing`, `api-testing`, `performance-testing`, `accessibility-testing`, `evidence-collection`, `reality-check`.
Protocol-bound: `review`, `audit`, `scout`, `orchestration`.
Writing: `technical-writing`, `content-creation`, `book-authoring`.
Marketing / growth: `growth`, `seo`, `aso`, `aeo`, `social-media`, `community-building`, `livestream-commerce`, `localization`.
Paid media: `ppc`, `paid-social`, `programmatic`, `tracking`, `paid-audit`, `search-analysis`.
Sales: `outbound`, `discovery-selling`, `deal-strategy`, `sales-engineering`, `proposal-writing`, `pipeline-analysis`, `account-expansion`, `sales-coaching`.
Product / PM: `product-management`, `prioritization`, `feedback-analysis`, `trend-research`, `behavioral-design`, `project-planning`, `experiment-tracking`, `jira-workflow`, `studio-ops`.
Finance: `bookkeeping`, `fpa`, `tax-strategy`, `investment-research`.
Support: `customer-support`, `legal-compliance`, `analytics-reporting`, `executive-summary`, `finance-tracking`, `infra-maintenance`.
Academic: `historical-analysis`, `anthropology`, `psychology`, `narratology`, `geography`.
Game craft: `game-design`, `level-design`, `technical-art`, `game-audio`, `narrative-design`.
Security / ops specializations: `threat-modeling`, `threat-detection`, `smart-contract-audit`, `compliance-audit`, `incident-response`, `identity-engineering`, `workflow-design`, `document-generation`, `automation-governance`, `knowledge-management`, `recruiting`, `training-design`, `supply-chain`.
`domain` — subject matter
Platforms: `web`, `api`, `microservices`, `event-driven`, `serverless`, `cli-tools`.
Finance: `fintech`, `banking`, `payments`, `trading`, `escrow`, `wallet`, `ledger`.
Blockchain: `blockchain`, `defi`, `nft`, `smart-contracts`, `zk-proofs`, `mev`.
Games: `gamedev`, `multiplayer`, `open-world`.
Verticals: `healthcare`, `gov-tech`, `education`.
B2B: `saas`, `multi-tenant`.
Reality: `xr`, `vr`, `ar`, `webxr`, `visionos`, `cockpit`.
Academic: `academic`.
Regional: `china-market`, `cross-border`, `korean-market`, `french-market`.
Commerce / community: `marketplace`, `ecommerce`, `devrel`.
`tech` — concrete stack
Languages: `python`, `java`, `kotlin`, `scala`, `go`, `rust`, `swift`, `typescript`, `javascript`, `ruby`, `php`, `c-cpp`, `solidity`, `gdscript`, `luau`, `hlsl`, `glsl`, `metal`.
Web / backend frameworks: `react`, `react-native`, `vue`, `angular`, `next`, `svelte`, `node`, `spring`, `django`, `rails`.
Game engines: `unity`, `unreal`, `godot`, `roblox`, `blender`.
Data systems: `postgres`, `mysql`, `mongodb`, `redis`, `elasticsearch`, `kafka`.
Infra: `docker`, `kubernetes`, `terraform`, `aws`, `gcp`, `azure`.
Mobile: `ios`, `android`, `flutter`.
CMS / SaaS: `wordpress`, `drupal`, `cms`, `salesforce`.
Chinese platforms: `wechat`, `feishu`, `bilibili`, `xiaohongshu`, `weibo`, `douyin`, `kuaishou`, `zhihu`, `baidu`.
Global platforms: `tiktok`, `instagram`, `twitter`, `linkedin`, `reddit`, `youtube`.
Blockchain nets: `ton`, `ethereum`, `solana`.
AI infra: `mcp`.
`concern` — non-functional
Security: `security`, `auth`, `authz`, `secrets`, `owasp`.
Performance: `performance`, `caching`, `scaling`.
Reliability: `reliability`, `observability`, `chaos-engineering`.
Compliance: `privacy`, `gdpr`, `pci`, `soc2`, `hipaa`.
UX / code: `a11y`, `architecture`, `refactoring`, `minimal-change`, `database-design`, `query-optimization`, `observability-instrumentation`, `regression`.
`workflow` — output mode
`implementation`, `design`, `strategy`, `reporting`, `coaching`, `estimation`, `coordination`.
`marker` — pack infra only
`template` (for files in `agents/templates/`), `bootstrap` (used in memory templates).
Using the vocabulary
From the migrator
`scripts/migrate_schema.py` loads `tags.json` on start, then for each agent:
1. Seeds tags with the category's `per_category_defaults` + the agent's own `category`. 2. Scans the filename, description, and body for tag names and synonyms. 3. Filters out foreign-category tags so `marketing` tags don't leak onto `engineering` agents.
From the linter
`scripts/lint_agents.py` loads `tags.json` and rejects any tag not in the vocabulary with a clear error message, including the closest match suggestion.
Portable AI agent orchestration with mechanical protocol enforcement. 186 agents, zero runtime dependencies.
Other agents on harmonist.
- SCHEMA
Single source of truth for the shape of every agent in this pack. One schema, one pool — `agents/index.json` is generated from these files, and the orchestrator routes tasks to agents via that index. **See also**: `agents/STYLE.md` — how the body of an agent should *read*
Open agent - STYLE
How to write an agent body that is useful, compact, and consistent with the rest of the pack. Follow this when adding a new agent or materially rewriting an existing one. This is a *companion* to `SCHEMA.md`. SCHEMA defines the **shape** every file must conform to (frontmatter,
Open agent - academic-anthropologist
Expert in cultural systems, rituals, kinship, belief systems, and ethnographic method — builds culturally coherent societies that feel lived-in rather than invented
Open agent - academic-geographer
Expert in physical and human geography, climate systems, cartography, and spatial analysis — builds geographically coherent worlds where terrain, climate, resources, and settlement patterns make scientific sense
Open agent - academic-historian
Expert in historical analysis, periodization, material culture, and historiography — validates historical coherence and enriches settings with authentic period detail grounded in primary and secondary sources
Open agent - academic-narratologist
Expert in narrative theory, story structure, character arcs, and literary analysis — grounds advice in established frameworks from Propp to Campbell to modern narratology
Open agent

