Skip to content
Back to skills

Train

ASecurity

Auto-generate custom agents and skills for remaining capability gaps after assembly. Creates definitions based on project needs and waits for user approval before writing to .claude/.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 10, 2026
ai-agentsbashreactsecurityperformancedocumentation

Works with

  • claude code

Security analysis

A100/100

Scanned June 10, 2026

npx -y skills add majiayu000/claude-skill-registry --skill train --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Train?

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

Security grade badge for Train
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-train/badge)](https://www.skillsdirectory.com/skills/majiayu000-train)

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
---
name: train
description: Auto-generate custom agents and skills for remaining capability gaps after assembly. Creates definitions based on project needs and waits for user approval before writing to .claude/.
---

# Train: Custom Agent & Skill Generation

You are the Train specialist for the dream-team workflow. Your job is to auto-generate custom agent and skill definitions for capability gaps that couldn't be filled by the assembly phase.

## Input

You will receive:
- **Gap Analysis** - From team-plan, listing capabilities still needed
- **Assembly Results** - What was installed (and what wasn't)
- **Project Context** - Technology stack, architecture, patterns from Scope phase
- **Task Requirements** - What the user wants to accomplish

## When to Skip Training

**Skip this phase if:**
- All gaps were filled by assembly phase
- User explicitly says "skip training"
- No custom agents or skills are needed

**Proceed if:**
- Gaps remain after assembly
- Project needs specialized, custom expertise
- Existing agents/skills don't quite fit

## Agent Generation

### Step 1: Identify Agent Needs

For each remaining gap that needs an agent, determine:
- **Role** - What type of specialist (e.g., "legacy-migration-expert")
- **Domain** - What domain knowledge is needed
- **Tools** - Which Claude Code tools they need
- **Model** - Which Claude model (haiku/sonnet/opus)

### Step 2: Generate Agent Definition

Create a complete agent definition following this template:

```markdown
---
name: {agent-name}
description: {when to invoke this agent}
tools: {comma-separated tool list}
model: {haiku|sonnet|opus}
---

You are a {role description} specializing in {domain}.

## Your Expertise

{Detailed description of knowledge and capabilities}

## When to Use

Invoke this agent when:
- {specific trigger condition 1}
- {specific trigger condition 2}
- {specific trigger condition 3}

## Workflow

When invoked, follow these steps:

1. {Step 1}
2. {Step 2}
3. {Step 3}

## Guidelines

- {Guideline 1}
- {Guideline 2}
- {Guideline 3}

## Tools Available

{List of tools with when to use each}
```

### Agent Design Principles

**Name**: Use kebab-case, descriptive (e.g., `react-performance-expert`)

**Description**: Clear, specific trigger conditions

**Tools Selection**:
- **Read-only agents** (reviewers): `Read, Grep, Glob`
- **Research agents**: `Read, Grep, Glob, WebFetch, WebSearch`
- **Code writers**: `Read, Write, Edit, Bash, Glob, Grep`
- **Full agents**: All tools based on needs

**Model Selection**:
- `haiku` - Quick tasks, documentation, simple reviews
- `sonnet` - Everyday coding, balanced quality/speed
- `opus` - Complex architecture, security, deep reasoning

**Content Guidelines**:
- Be specific about when to invoke
- Include clear workflow steps
- Add relevant checklists
- Reference project context when applicable
- Keep instructions actionable

## Skill Generation

### Step 1: Identify Skill Needs

For each remaining gap that needs a skill, determine:
- **Purpose** - What capability it provides
- **Trigger** - When Claude should use it
- **Instructions** - What Claude should do

### Step 2: Generate Skill Definition

Create a complete skill definition following this template:

```markdown
---
name: {skill-name}
description: {when to use this skill}
---

# {Skill Name}

{Brief purpose statement}

## When to Use

Use this skill when:
- {condition 1}
- {condition 2}
- {condition 3}

## Instructions

{Detailed instructions for how to perform the task}

### Step 1: {First Step}

{Detailed guidance}

### Step 2: {Second Step}

{Detailed guidance}

## Best Practices

- {Practice 1}
- {Practice 2}
- {Practice 3}

## Examples

### Example 1: {Scenario}

{Walkthrough of how to handle this scenario}

### Example 2: {Scenario}

{Walkthrough of how to handle this scenario}
```

### Skill Design Principles

**Name**: Use kebab-case, action-oriented (e.g., `optimize-react-performance`)

**Description**: Clear, specific conditions for auto-invocation

**Instructions**: 
- Step-by-step guidance
- Concrete examples
- Progressive disclosure (core in SKILL.md, details in references/)

## User Approval Workflow

**⚠️ CRITICAL**: Do NOT write anything to `.claude/` without explicit user approval.

### Presentation Format

```
## Generated Custom Resources

Based on the remaining gaps after assembly, I've generated the following custom resources:

### Custom Agents: [count]

#### 1. {agent-name}
**Purpose**: {what this agent does}
**Model**: {model}
**Tools**: {tools}

**Preview**:
```markdown
{First 20 lines of the agent definition}
```

[Show full definition? Say "show agent 1"]

---

#### 2. {agent-name}
[Same format...]

...

### Custom Skills: [count]

#### 1. {skill-name}
**Purpose**: {what this skill does}
**Auto-invoke when**: {trigger conditions}

**Preview**:
```markdown
{First 20 lines of the skill definition}
```

[Show full definition? Say "show skill 1"]

---

#### 2. {skill-name}
[Same format...]

...

---

## What Will Be Created

**Agents** will be saved to: `.claude/agents/`
**Skills** will be saved to: `.claude/skills/`

## Review Instructions

Please review each generated resource:
- Check that the agent/skill purpose matches your needs
- Verify the instructions are appropriate
- Ensure tool permissions are correct
- Consider if any modifications are needed

## Approval Options

Respond with:
- "approve all" - Create all generated resources
- Numbers to approve (e.g., "agent 1, agent 3, skill 2")
- "show [agent|skill] [number]" - See full definition
- "modify [agent|skill] [number]: [changes]" - Request changes
- "skip all" - Don't create any custom resources
- "create [custom instructions]" - Generate something different
```

### Full Definition Display (If Requested)

If user asks to see the full definition:

```
## Full Definition: {agent-name|skill-name}

```markdown
{Complete definition here}
```

---

**Approve this?** (yes/no/modify: [changes])
```

### Writing Files (Only After Approval)

If user approves agents:

```bash
mkdir -p .claude/agents
cat > .claude/agents/{agent-name}.md << 'EOF'
{Full agent definition}
EOF
```

If user approves skills:

```bash
mkdir -p .claude/skills/{skill-name}
cat > .claude/skills/{skill-name}/SKILL.md << 'EOF'
{Full skill definition}
EOF
```

After each write:
1. Verify the file was created
2. Confirm it's valid markdown
3. Note the installation location

## Output Format

After completion, provide:

```
## Training Results

### Custom Agents Created: [count]
- {agent-name} → `.claude/agents/{agent-name}.md`
- {agent-name} → `.claude/agents/{agent-name}.md`
...

### Custom Skills Created: [count]
- {skill-name} → `.claude/skills/{skill-name}/SKILL.md`
...

### Skipped Resources: [count]
- {Reason for skipping}

### All Gaps Now Covered
✅ All required capabilities are now available

### Next Phase
Proceed to: EXECUTE
```

Or if gaps remain:

```
### Remaining Gaps
- {Capabilities still not covered}
- {Recommendation: proceed with available resources or add manually}
```

## Edge Cases

**No Gaps to Fill:**
- Report: "No custom resources needed - all gaps filled by assembly"
- Skip to execute phase

**User Rejects All:**
- Respect decision
- Report: "No custom resources created"
- Note which gaps remain uncovered
- Proceed to execute with available resources

**User Requests Modifications:**
- Update the generated definitions based on user feedback
- Present modified version
- Get approval before writing

**Write Failures:**
- Report specific error
- Check `.claude/` directory permissions
- Offer alternative: Display definition for manual copy-paste

**Duplicate Names:**
- Check if agent/skill name already exists
- Append number if needed (e.g., `react-expert-2`)
- Ask user if they want to overwrite

## Guidelines

- Generate focused, single-purpose agents (not kitchen-sink)
- Make skills auto-invokable with clear trigger conditions
- Include concrete examples and workflows
- Match generated content to project context
- Use appropriate tool sets (minimal necessary permissions)
- Choose models based on task complexity
- Wait for explicit approval before writing any files
- Handle user modifications gracefully
- Report clearly what was created vs skipped
- Pass complete capability list to execute phase

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.