- Move plugin.json to .claude-plugin directory to match pr-review-toolkit pattern - Add author information: Ashwin Bhat (ashwin@anthropic.com) - Update model field from sonnet-4.5 to sonnet in all agent/command definitions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
7.7 KiB
description, argument-hint, model
| description | argument-hint | model | |
|---|---|---|---|
| Create and setup a new Claude Agent SDK application |
|
sonnet |
You are tasked with helping the user create a new Claude Agent SDK application. Follow these steps carefully:
Reference Documentation
Before starting, review the official documentation to ensure you provide accurate and up-to-date guidance. Use WebFetch to read these pages:
- Start with the overview: https://docs.claude.com/en/api/agent-sdk/overview
- Based on the user's language choice, read the appropriate SDK reference:
- Read relevant guides mentioned in the overview such as:
- Streaming vs Single Mode
- Permissions
- Custom Tools
- MCP integration
- Subagents
- Sessions
- Any other relevant guides based on the user's needs
IMPORTANT: Always check for and use the latest versions of packages. Use WebSearch or WebFetch to verify current versions before installation.
Gather Requirements
IMPORTANT: Ask these questions one at a time. Wait for the user's response before asking the next question. This makes it easier for the user to respond.
Ask the questions in this order (skip any that the user has already provided via arguments):
-
Language (ask first): "Would you like to use TypeScript or Python?"
- Wait for response before continuing
-
Project name (ask second): "What would you like to name your project?"
- If $ARGUMENTS is provided, use that as the project name and skip this question
- Wait for response before continuing
-
Agent type (ask third, but skip if #2 was sufficiently detailed): "What kind of agent are you building? Some examples:
- Coding agent (SRE, security review, code review)
- Business agent (customer support, content creation)
- Custom agent (describe your use case)"
- Wait for response before continuing
-
Starting point (ask fourth): "Would you like:
- A minimal 'Hello World' example to start
- A basic agent with common features
- A specific example based on your use case"
- Wait for response before continuing
-
Tooling choice (ask fifth): Let the user know what tools you'll use, and confirm with them that these are the tools they want to use (for example, they may prefer pnpm or bun over npm). Respect the user's preferences when executing on the requirements.
After all questions are answered, proceed to create the setup plan.
Setup Plan
Based on the user's answers, create a plan that includes:
-
Project initialization:
- Create project directory (if it doesn't exist)
- Initialize package manager:
- TypeScript:
npm init -yand setuppackage.jsonwith type: "module" and scripts (include a "typecheck" script) - Python: Create
requirements.txtor usepoetry init
- TypeScript:
- Add necessary configuration files:
- TypeScript: Create
tsconfig.jsonwith proper settings for the SDK - Python: Optionally create config files if needed
- TypeScript: Create
-
Check for Latest Versions:
- BEFORE installing, use WebSearch or check npm/PyPI to find the latest version
- For TypeScript: Check https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk
- For Python: Check https://pypi.org/project/claude-agent-sdk/
- Inform the user which version you're installing
-
SDK Installation:
- TypeScript:
npm install @anthropic-ai/claude-agent-sdk@latest(or specify latest version) - Python:
pip install claude-agent-sdk(pip installs latest by default) - After installation, verify the installed version:
- TypeScript: Check package.json or run
npm list @anthropic-ai/claude-agent-sdk - Python: Run
pip show claude-agent-sdk
- TypeScript: Check package.json or run
- TypeScript:
-
Create starter files:
- TypeScript: Create an
index.tsorsrc/index.tswith a basic query example - Python: Create a
main.pywith a basic query example - Include proper imports and basic error handling
- Use modern, up-to-date syntax and patterns from the latest SDK version
- TypeScript: Create an
-
Environment setup:
- Create a
.env.examplefile withANTHROPIC_API_KEY=your_api_key_here - Add
.envto.gitignore - Explain how to get an API key from https://console.anthropic.com/
- Create a
-
Optional: Create .claude directory structure:
- Offer to create
.claude/directory for agents, commands, and settings - Ask if they want any example subagents or slash commands
- Offer to create
Implementation
After gathering requirements and getting user confirmation on the plan:
- Check for latest package versions using WebSearch or WebFetch
- Execute the setup steps
- Create all necessary files
- Install dependencies (always use latest stable versions)
- Verify installed versions and inform the user
- Create a working example based on their agent type
- Add helpful comments in the code explaining what each part does
- VERIFY THE CODE WORKS BEFORE FINISHING:
- For TypeScript:
- Run
npx tsc --noEmitto check for type errors - Fix ALL type errors until types pass completely
- Ensure imports and types are correct
- Only proceed when type checking passes with no errors
- Run
- For Python:
- Verify imports are correct
- Check for basic syntax errors
- DO NOT consider the setup complete until the code verifies successfully
- For TypeScript:
Verification
After all files are created and dependencies are installed, use the appropriate verifier agent to validate that the Agent SDK application is properly configured and ready for use:
- For TypeScript projects: Launch the agent-sdk-verifier-ts agent to validate the setup
- For Python projects: Launch the agent-sdk-verifier-py agent to validate the setup
- The agent will check SDK usage, configuration, functionality, and adherence to official documentation
- Review the verification report and address any issues
Getting Started Guide
Once setup is complete and verified, provide the user with:
-
Next steps:
- How to set their API key
- How to run their agent:
- TypeScript:
npm startornode --loader ts-node/esm index.ts - Python:
python main.py
- TypeScript:
-
Useful resources:
- Link to TypeScript SDK reference: https://docs.claude.com/en/api/agent-sdk/typescript
- Link to Python SDK reference: https://docs.claude.com/en/api/agent-sdk/python
- Explain key concepts: system prompts, permissions, tools, MCP servers
-
Common next steps:
- How to customize the system prompt
- How to add custom tools via MCP
- How to configure permissions
- How to create subagents
Important Notes
- ALWAYS USE LATEST VERSIONS: Before installing any packages, check for the latest versions using WebSearch or by checking npm/PyPI directly
- VERIFY CODE RUNS CORRECTLY:
- For TypeScript: Run
npx tsc --noEmitand fix ALL type errors before finishing - For Python: Verify syntax and imports are correct
- Do NOT consider the task complete until the code passes verification
- For TypeScript: Run
- Verify the installed version after installation and inform the user
- Check the official documentation for any version-specific requirements (Node.js version, Python version, etc.)
- Always check if directories/files already exist before creating them
- Use the user's preferred package manager (npm, yarn, pnpm for TypeScript; pip, poetry for Python)
- Ensure all code examples are functional and include proper error handling
- Use modern syntax and patterns that are compatible with the latest SDK version
- Make the experience interactive and educational
- ASK QUESTIONS ONE AT A TIME - Do not ask multiple questions in a single response
Begin by asking the FIRST requirement question only. Wait for the user's answer before proceeding to the next question.