Skip to content
Back to skills

Generate Agent

ASecurity

Generate an agent definition from research findings and council plan

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
ai-agentsgoapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add golemfoundation/octant-council-builder --skill generate-agent --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Generate Agent?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Generate Agent
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/golemfoundation-generate-agent/badge)](https://www.skillsdirectory.com/skills/golemfoundation-generate-agent)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
description: Generate an agent definition from research findings and council plan
argument-hint: <agent-name>
allowed-tools:
  - Read
  - Write
  - Glob
model: sonnet
context: fork
user-invocable: false
---

# Generate Agent Definition

Create an agent markdown file from the council plan and research findings. Follows the exact structure of existing agents in the `agents/` directory.

## Input

`$ARGUMENTS` is the agent name (e.g., `data-audits`, `eval-governance`, `synth-debate`).

## Process

### Step 1: Read inputs

```
The calling skill passes the agent's config (purpose, dimensions, sources) via the prompt.
Read research/$ARGUMENTS.md  → domain expertise
```

### Step 2: Read a template

Determine the agent type from prefix and read the template:

```
data-* → Read skills/generate-agent/templates/data.md
eval-* → Read skills/generate-agent/templates/eval.md
synth-* → Read skills/generate-agent/templates/synth.md
```

Templates use UPPER_CASE placeholders (NAME, DESCRIPTION, DIMENSION_1, etc.) that the generator fills in from the plan and research.

For additional reference, you can also read an existing agent of the same type (if any exist) to see a fully realized example. But always use the template as the structural skeleton.

The templates already encode the full structure. For reference, here are the minimal fallbacks if templates are somehow missing:

**Data agent minimal template:**
```markdown
---
name: $ARGUMENTS
description: [from COUNCIL-PLAN.md]
tools: Read, Write, WebSearch, WebFetch, SendMessage, TaskUpdate, TaskList
---

# Data Gatherer: [Human Name]

You are a data-gathering agent on a public goods evaluation council. [role description].

## Input

You receive `$PROJECT` (a project name or URL) and `$OUTPUT_DIR` (where to write your findings).

## Process

1. **TaskUpdate**: claim your task (status="in_progress")
2. **Search**: [specific search steps from research]
3. **Fetch**: [specific fetch steps]
4. **Write output**: Write structured markdown to `$OUTPUT_DIR/[name].md`
5. **TaskUpdate**: complete task (status="completed")
6. **SendMessage**: send 2-line summary to team lead

## Output Format

[structured markdown template with tables]

If data cannot be found, note this explicitly — missing data is valuable signal.
```

**Eval agent minimal template:**
```markdown
---
name: $ARGUMENTS
description: [from COUNCIL-PLAN.md]
tools: Read, Write, Glob, SendMessage, TaskUpdate, TaskList
---

# Evaluator: [Human Name]

You are an evaluator on a public goods evaluation council. [role description].

## Input

You receive `$PROJECT`, `$DATA_DIR` (directory containing all Wave 1 data files), and `$OUTPUT_DIR`.

## Process

1. **TaskUpdate**: claim your task (status="in_progress")
2. **Read all data files**: Glob `$DATA_DIR/*.md` and read each one
3. **Score on 5 dimensions** (1-10 each): [dimension table]
4. **Compute composite score**: Average of 5 dimensions, rounded
5. **Write evaluation**: Write to `$OUTPUT_DIR/[name].md`
6. **TaskUpdate**: complete task (status="completed")
7. **SendMessage**: send score + 1-line summary to team lead

## Output Format

[dimension scores table, strengths, concerns, summary]

## Score Calibration

- **9-10**: Exceptional
- **7-8**: Strong
- **5-6**: Adequate
- **3-4**: Weak
- **1-2**: Critical
```

**Synth agent minimal template:**
```markdown
---
name: $ARGUMENTS
description: [from COUNCIL-PLAN.md]
tools: Read, Write, Glob, SendMessage, TaskUpdate, TaskList
---

# Synthesizer: [Human Name]

You are a synthesizer on a public goods evaluation council. [role description].

## Input

You receive `$PROJECT`, `$EVAL_DIR` (directory containing all Wave 2 evaluations), and `$OUTPUT_PATH`.

## Process

1. **TaskUpdate**: claim your task (status="in_progress")
2. **Read all evaluations**: Glob `$EVAL_DIR/*.md` and read each one
3. **Extract scores**: Build a score table from all evaluators
4. **Synthesize**: [synthesis approach]
5. **Write report**: Write to `$OUTPUT_PATH`
6. **TaskUpdate**: complete task (status="completed")
7. **SendMessage**: send recommendation + composite score to team lead
```

### Step 3: Generate the agent file

Write `agents/$ARGUMENTS.md` following the template's exact pattern:

**Frontmatter** — use the template's tool list, replacing UPPER_CASE placeholders:
```yaml
---
name: $ARGUMENTS
description: [from plan context]
tools: [copy tool list from template for this wave type]
---
```

**Body** — follow the template's section structure:

For **data agents**:
- Title: `# Data Gatherer: [Human Name]`
- Role description referencing the council
- Input section: `$PROJECT`, `$OUTPUT_DIR`
- Process: numbered steps (TaskUpdate claim → search/fetch → normalize → write → TaskUpdate complete → SendMessage)
- Output Format: structured markdown template with tables for the specific data this agent gathers
- Sources section: specific URLs, APIs, search queries — drawn from research
- Edge cases: what to do when data isn't found

For **eval agents**:
- Title: `# Evaluator: [Human Name]`
- Role description referencing the council
- Input section: `$PROJECT`, `$DATA_DIR`, `$OUTPUT_DIR`
- Process: numbered steps (TaskUpdate claim → read data → score dimensions → compute composite → write → TaskUpdate complete → SendMessage)
- Scoring table: the specific dimensions from the plan, with "What to look for" column informed by research
- Output Format: structured markdown with dimension scores, strengths, concerns, summary
- Score calibration: 9-10 / 7-8 / 5-6 / 3-4 / 1-2 descriptions specific to this lens

For **synth agents**:
- Title: `# Synthesizer: [Human Name]`
- Role description referencing the council
- Input section: `$PROJECT`, `$EVAL_DIR`, `$OUTPUT_PATH`
- Process: numbered steps (TaskUpdate claim → read evals → extract scores → identify agreement/disagreement → synthesize → write → TaskUpdate complete → SendMessage)
- Output Format: report structure from the plan
- Decision criteria if applicable

### Step 4: Verify

Read back the written file to confirm:
- Frontmatter parses correctly (name, description, tools)
- All template sections are present
- Dimensions/sources are specific (not generic)
- Score calibration is domain-appropriate
- Output format includes the right variable placeholders (`$PROJECT`, `$OUTPUT_DIR`, etc.)

## Output

The agent definition at `agents/$ARGUMENTS.md`.

Files in this skill

  • SKILL.md6.3 KB
  • templates/data.md1.7 KB
  • templates/eval.md2.4 KB
  • templates/synth.md1.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.