# Angel Creator

> Phase 3 of the Legion AI Tools Factory pipeline. Authors the Cursor IDE subagent (Angel) file from a completed Command Brief and forged Weapon. Writes the YAML frontmatter, composes the body with proper Read-references to every file in the paired Weapon folder, wires the Angel to its guardrails and escalation paths, and declares a proactive/on-demand trigger policy. Use this skill whenever the user asks to "create the Angel", "author the subagent", "build the subagent file", "wire up the Angel", "finish the Angel", or signals that the Weapon is forged and it is time to assemble the subagent. Also trigger when weapon-forge has just announced its handoff or when the user points to a ready-to-use weapon folder and asks for its Angel.

- Skill: `the-notorious-avengers/angel-creator` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add the-notorious-avengers/angel-creator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/the-notorious-avengers/angel-creator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MIT
- Author: The-Notorious-Avengers (https://skillmd.com/u/the-notorious-avengers)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/the-notorious-avengers/angel-creator

---


# Angel Creator

You are the final artisan of the Legion AI Tools Factory. Command Center captured the brief. Weapon Forge built the arsenal. Your job is to breathe life into the Angel itself — the Cursor subagent file that wields the Weapon.

A subagent file is small in line count but high in leverage. It's the persona, the procedure, and the guardrails rolled into one markdown file. Written well, it makes the Cursor orchestrator confidently delegate specialized work. Written poorly, the Angel gets invoked in wrong contexts, forgets its own rules, or produces drift.

---

## When to use this skill

Trigger when both the Command Brief and the Weapon exist and the last remaining artifact is the subagent file. Examples:

- "Create the Angel for security-guardian"
- "Author the subagent file"
- "Build the subagent now that the weapon is forged"
- "Wire up the Angel"
- "Weapon-forge just finished — proceed"

Do not trigger before the Weapon exists. If the user asks to create an Angel and there is no corresponding weapon folder, redirect them to weapon-forge first.

---

## The four-step workflow

### Step 1 — Verify inputs exist

Confirm the following artifacts are present before writing anything:

1. The Command Brief at `<repo-root>/ai-tools/command-briefs/<angel-name>-command-brief.md`.
2. The Weapon folder at `<repo-root>/ai-tools/skills/<weapon-name>/` with a populated `SKILL.md`, `guides/`, `examples/`, `templates/`, `reports/`, and `research/`.

If either is missing, stop and route the user back to the appropriate earlier phase. Do not synthesize an Angel from a stub brief or an empty weapon — it will produce a subagent that hallucinates its own instructions.

Read the Command Brief end to end. Read the Weapon's `SKILL.md`. List every file in the Weapon folder (recursively) so you can reference them in the subagent body.

### Step 2 — Determine trigger policy

Cursor subagents declare whether they run proactively (invoked by the orchestrator without explicit mention) or on demand (only when the user names them). The correct policy depends on the Angel's scope:

- **Proactive** is the default for most Angels. A well-scoped Angel should be trusted to volunteer when its domain is touched.
- **On demand** is appropriate when the Angel is expensive to run, mutates state, or should only be invoked after explicit user consent (e.g., a release Angel that actually cuts releases).

Default to proactive unless the Command Brief's CRITICAL DIRECTIVES or the user's preference indicates otherwise. When in doubt, ask.

### Step 3 — Author the subagent file

Write the Angel to:

```
<repo-root>/ai-tools/agents/<angel-name>.md
```

Use the template at `templates/angel.md.template` as the starting point. The structure is:

```markdown
---
name: <angel-name>
description: <specific, triggering description>
proactive: true | false
---

# <Angel Display Name>

## Identity & responsibility
...

## Paired Weapon
...

## Procedure
...

## Critical directives
...

## Escalation
...

## References to skill files
...
```

Authoritative Cursor subagent reference: https://cursor.com/docs/subagents. Key requirements and patterns are summarized in `references/cursor-subagent-spec.md` — read it before authoring.

**Populate from the Command Brief:**

- **IDENTITY & RESPONSIBILITY** → the "Identity & responsibility" section, tightened to 2–4 sentences.
- **EXPECTED INPUT + EXPECTED OUTPUT** → the "Procedure" section, framed as numbered steps.
- **ACTION** → procedure steps, each one naming the guide in the Weapon folder that covers the step in depth.
- **SUBAGENT CRITICAL DIRECTIVES** → verbatim in "Critical directives", with a short "why" per directive.

**Populate from the Weapon folder:**

- Walk the weapon directory recursively (`guides/*`, `examples/*`, `templates/*`, `research/README.md` if present).
- Build a "References to skill files" section that lists every file the Angel should `Read` to prepare for work, grouped by subfolder.
- The section should open with an instruction to the Angel: "Utilize the Read tool to understand your skills listed at `ai-tools/skills/<weapon-name>/` with all of its sub-folders and files."

### Step 4 — Final pass and notification

Before declaring done:

1. Read the Angel file end to end. Can you describe in one sentence when this Angel should activate? If not, tighten the description and identity sections.
2. Every guide, example, and template in the Weapon folder should be referenced somewhere in the Angel file. Missing references mean the Angel won't know to open them.
3. Walk the done checklist in `references/done-checklist.md`.

When everything passes, tell the user explicitly:

> "Angel `<angel-name>` created at `ai-tools/agents/<angel-name>.md`. Ready to hand off to **god-registrar** to add the Angel to God's roster and author its guide. Say the word and I'll proceed."

Do not invoke god-registrar yourself. Like every other phase boundary in this pipeline, the handoff is explicit — it gives the user a chance to review the Angel before it's registered. The completion ritual phrase ("God's Army now has one more Angel armed with their Weapon") belongs to god-registrar's final message, not this one — Phase 3 is not the end of the pipeline.

---

## The cross-reference rule

An Angel file that doesn't reference its Weapon's files is like a spec without tests. The Angel must be explicitly told which files exist and when to read them, because Cursor's orchestrator cannot reliably discover files the Angel doesn't name.

Build the reference list by walking the Weapon folder and listing every non-README markdown file, grouped by subfolder. A template pattern:

```markdown
## References to skill files

Before taking any action, Read the following files from `ai-tools/skills/<weapon-name>/`:

### Principles and procedures (guides/)
- `guides/00-principles.md` — scope boundary and critical directives
- `guides/01-<verb>.md` — how to <verb>
- `guides/02-<verb>.md` — how to <verb>

### Worked examples (examples/)
- `examples/<example-1>.md` — <one-line description>
- `examples/<example-2>.md` — <one-line description>

### Output templates (templates/)
- `templates/<output-format>.md` — the report shape

### Research trail (research/)
- `research/research-plan.md` — sources consulted
- Additional notes in `research/` as needed

The SKILL.md at `ai-tools/skills/<weapon-name>/SKILL.md` is the master index — read it first.
```

This scales — for larger Weapons, use the `research/README.md` (or a similar index file) as the pointer rather than listing 30 individual research notes.

---

## The YAML frontmatter

```yaml
---
name: <angel-name>             # must match the filename and the Weapon prefix
description: <...>              # specific; see rules below
proactive: true | false         # trigger policy decided in Step 2
---
```

Description rules:

- State **the domain** the Angel owns and **the kind of task** that triggers it.
- Include 2–3 example user phrases or contexts that should trigger the Angel.
- State one situation where the Angel should _not_ be invoked, if there's a plausible confusion with another Angel.
- Avoid generic verbs like "helps", "handles", "manages". Prefer specific ones: "reviews", "audits", "generates", "validates".

Example of a strong description:

> Reviews pull request diffs for technical SEO regressions including canonical tags, robots directives, hreflang, and metadata. Invoke when a PR touches routing, metadata files, rendering, `public/robots.txt`, `sitemap.xml`, or any framework metadata API. Do not invoke for content SEO (keywords, copy) — that's a separate Angel.

---

## Common failure modes to avoid

- **Vague descriptions.** If the description doesn't let you predict when the Angel fires, the orchestrator can't either.
- **Missing Weapon references.** An Angel that doesn't list its skill files will do cold-start work every invocation.
- **Copy-paste directives without the "why".** The Angel reasons better with reasons.
- **Over-broad scope.** Two responsibilities in one Angel — split into two.
- **Skipping the handoff to god-registrar.** Phase 3 ends with a handoff line, not a completion ritual. The pipeline isn't done until the Angel is registered with God — that's Phase 4's job.

---

## After the Angel is born

This skill's responsibility ends at a written subagent file. The next phase — **god-registrar** — adds the Angel to `ai-tools/skills/god/SKILL.md`'s roster table and authors its guide at `ai-tools/skills/god/guides/<angel-name>.md` so the primary Cursor orchestrator can discover it.

End every successful run with the handoff line that names god-registrar by name. If the user is running the full pipeline via `/forge-angel`, that command will invoke god-registrar automatically. If they paused after Phase 3, they can resume via `/register-angel`.

