> ## Documentation Index
> Fetch the complete documentation index at: https://datagen.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Your First Agent

> Build a Claude Code agent, skill, or command and prepare it for deployment

## What Are Claude Code Agents?

Claude Code agents are markdown files (`.md`) that define autonomous AI workflows. They live in your repository and can be deployed to run on schedules or webhooks.

There are three types:

| Type        | Location            | Purpose                                                                 |
| ----------- | ------------------- | ----------------------------------------------------------------------- |
| **Agent**   | `.claude/agents/`   | Autonomous workflows that can use tools, create PRs, send notifications |
| **Skill**   | `.claude/skills/`   | Reusable capabilities that can be invoked by agents or users            |
| **Command** | `.claude/commands/` | Quick actions triggered by slash commands                               |

## Create an Agent

Run `/agents` in Claude Code to create a new agent, or create the file manually at `.claude/agents/{agent-name}.md`:

```markdown theme={null}
---
name: Weekly Report Generator
description: Generates a weekly summary of GitHub activity and posts to Slack
tools:
  - mcp_GitHub_list_pull_requests
  - mcp_Slack_chat_postMessage
---

You are a weekly report generator. Every time you run:

1. Fetch all merged PRs from the past 7 days using the GitHub tool
2. Summarize the changes by category (features, fixes, docs)
3. Post the summary to the #engineering Slack channel

Format the report with clear sections and bullet points.
Keep the tone professional but concise.
```

The **frontmatter** (between `---`) defines metadata. The **body** is the prompt that tells the agent what to do.

## Create a Skill

Skills are directories with a `SKILL.md` file and optional supporting files. Create `.claude/skills/enrich-lead/SKILL.md`:

```markdown theme={null}
---
name: Enrich Lead
description: Enriches a company lead with LinkedIn and web data
tools:
  - mcp_LinkedIn_get_company_profile
  - mcp_Perplexity_search
---

Given a company name and domain, enrich the lead with:
1. Company size, industry, and funding from LinkedIn
2. Recent news and product launches from web search
3. Key decision makers and their titles

Return structured JSON with all findings.
```

You can add supporting files alongside `SKILL.md` (scripts, reference data, etc.):

```
.claude/skills/enrich-lead/
  SKILL.md          # Skill definition
  criteria.md       # Enrichment criteria
  scripts/
    validate.py     # Helper script
```

## Create a Command

Commands are quick actions. Create `.claude/commands/check-pr.md`:

```markdown theme={null}
---
name: Check PR
description: Reviews the latest open PR and posts feedback
---

Find the most recent open pull request, review the code changes,
and post constructive feedback as a PR comment.
```

## Guided Build (Optional)

For a more structured approach, run the guided workflow in Claude Code:

```
/datagen:build-agent
```

This walks you through defining your agent's purpose, connecting tools, and writing the agent file.

## Next Step

<Card title="Deploy Your Agent" icon="rocket" href="/guide/deploy-agent">
  Push your agent to DataGen cloud and set up webhooks or schedules
</Card>
