Unified agent application scaffolding across 5 harnesses: Anthropic, Cursor, OpenAI, OpenCode, and Pi. Interactive project generator with live SDK docs, per-harness code patterns, and built-in verification. Use when someone says "create an agent app", "new SDK project", "build with [harness] SDK", "scaffold agent", or wants to verify an existing agent setup.
Default output: return only the result, blockers, and required evidence. Omit preambles, process narration, repeated context, confidence scores, and follow-up offers. Use at most five bullets unless a required artifact or schema needs more.
Agents SDK Dev
Unified agent scaffolding and verification. One interactive flow, per-harness SDK
detail, built-in verification.
Always fetch the latest live docs via WebFetch or WebSearch before generating
code. SDK surfaces evolve; the reference file is a baseline, not a substitute for
current documentation.
Check for latest versions before installing. Check the package registry
(npm, PyPI) and verify the version installs without errors.
Anthropic Agent SDK API surface, patterns, code examples
references/cursor-sdk.md
Cursor TypeScript SDK API surface, patterns, traps
references/openai-agents-sdk.md
OpenAI Agents SDK API surface, handoffs, tracing
references/opencode-sdk.md
OpenCode local SDK patterns and session management
references/pi-cli-bridge.md
Pi CLI bridge, subprocess patterns, MCP subagent tools
Voice and Posture
This skill helps the user build agent applications. It is not the place to
validate, congratulate, or sell any SDK as a choice. The user's intent is the
input; your job is execution.
Ask questions one at a time. Do not batch questions. Respect the user's time.
When the user specifies a harness, load the reference file and follow its
patterns. When the user asks to verify, run the verification checklist. When
the user asks for help with an existing project, skip to the relevant step.
1---2name: agents-sdk-dev3description: "Unified agent application scaffolding across 5 harnesses: Anthropic, Cursor, OpenAI, OpenCode, and Pi. Interactive project generator with live SDK docs, per-harness code patterns, and built-in verification. Use when someone says \"create an agent app\", \"new SDK project\", \"build with [harness] SDK\", \"scaffold agent\", or wants to verify an existing agent setup."4metadata:5 category: user-invoked6 version: 1.0.07 tags: agent-sdk, scaffold, anthropic, cursor, openai, opencode, pi, verification8disable-model-invocation: true9---1011Default output: return only the result, blockers, and required evidence. Omit preambles, process narration, repeated context, confidence scores, and follow-up offers. Use at most five bullets unless a required artifact or schema needs more.1213# Agents SDK Dev1415Unified agent scaffolding and verification. One interactive flow, per-harness SDK16detail, built-in verification.1718## Supported Harnesses1920| Harness | SDK Package | Languages | Runtime |21|---------|------------|-----------|---------|22| Anthropic | `@anthropic-ai/claude-agent-sdk` / `claude-agent-sdk` | TS, Python | API |23| Cursor | `@cursor/sdk` | TS | Local + Cloud |24| OpenAI | `@openai/agents` / `openai-agents` | TS, Python | API |25| OpenCode | `opencode` | TS | Local |26| Pi | CLI bridge (`pi -p`) | Any | Local subprocess |2728## Flow2930```31Gather Requirements → Load SDK Reference → Setup Plan → Implement → Verify32```3334---3536## Step 1: Gather Requirements3738Ask these questions **one at a time**. Wait for the answer before asking the next.39Skip any the user already provided via arguments.4041### 1. Harness (ask first)4243"Which harness are you targeting?"4445- Anthropic (Claude Agent SDK)46- Cursor SDK47- OpenAI (Agents SDK)48- OpenCode49- Pi (CLI bridge)5051If the user's request implies a harness ("build with claude", "cursor agent"),52infer it and confirm.5354### 2. Language (ask second)5556"TypeScript or Python?"5758- Skip if harness only supports one language (Cursor = TS, OpenCode = TS, Pi = any)59- Anthropic and OpenAI support both6061### 3. Project name (ask third)6263"What would you like to name your project?"6465- Use as directory name and package name66- If provided via argument, skip6768### 4. Agent type (ask fourth)6970"What kind of agent are you building?"7172- **Coding agent**: code review, security scan, SRE, debugging73- **Business agent**: customer support, content generation, data processing74- **Research agent**: multi-step investigation, synthesis, competitive analysis75- **Custom**: describe your use case7677### 5. Starting point (ask fifth)7879"Would you like:"8081- **Minimal**: Hello World, single agent, no tools82- **Basic**: Agent with tools, error handling, streaming83- **Full**: Multi-agent with handoffs, verification loop, state persistence8485### 6. Tooling (confirm)8687Confirm the package manager:8889- TS: npm / yarn / pnpm / bun (prefer bun if `bun.lock` exists)90- Python: pip / poetry / uv (prefer uv if `uv.lock` exists)91- Respect existing lockfiles in the target directory9293---9495## Step 2: Load SDK Reference9697Based on the harness choice, read the appropriate reference file from this98skill's `references/` directory:99100| Harness | Reference File | Official Docs |101|---------|---------------|---------------|102| Anthropic | `references/anthropic-sdk.md` | https://docs.anthropic.com/en/docs/agents-and-tools/claude-agent-sdk |103| Cursor | `references/cursor-sdk.md` | https://docs.cursor.com/tools/sdk |104| OpenAI | `references/openai-agents-sdk.md` | https://openai.github.io/openai-agents-python/ |105| OpenCode | `references/opencode-sdk.md` | Package types / README |106| Pi | `references/pi-cli-bridge.md` | `pi --help` / local examples |107108**Always fetch the latest live docs** via WebFetch or WebSearch before generating109code. SDK surfaces evolve; the reference file is a baseline, not a substitute for110current documentation.111112**Check for latest versions** before installing. Check the package registry113(npm, PyPI) and verify the version installs without errors.114115---116117## Step 3: Setup Plan118119Present a concise plan covering:1201211. **Project init**: directory, package manager, config files1222. **SDK install**: exact install command with latest version1233. **Starter files**: entry point with basic agent setup matching agent type1244. **Environment**: `.env.example`, `.gitignore`, API key instructions1255. **Optional**: harness-specific directory structure, example tools, README126127Get user confirmation before proceeding.128129---130131## Step 4: Implementation132133Execute the confirmed plan:1341351. Check for latest package versions (WebSearch if needed)1362. Create project directory and initialize package manager1373. Install SDK and dependencies at latest stable versions1384. Create starter files based on agent type and starting point1395. Add environment config (`.env.example`, `.gitignore`)1406. Verify installed version matches expectation1417. Add a README with setup and run instructions142143### Code requirements144145- Proper imports from the correct SDK package146- Type safety (TS: strict mode, Python: type hints)147- Error handling around API calls (rate limits, auth, transient errors)148- No hardcoded secrets — all keys via env vars149- Modern syntax compatible with latest SDK version150- Comments explaining the SDK-specific parts151- The shared workflow contract where applicable (see below)152153---154155## Step 5: Verification156157After all files are created and dependencies installed:158159### TypeScript projects160161```bash162npx tsc --noEmit163```164165Fix ALL type errors. Do not consider setup complete until this passes cleanly.166167### Python projects168169```bash170python -c "import <sdk_package>"171```172173Verify imports resolve and no syntax errors exist.174175### Universal verification checklist176177Run through these checks regardless of harness:178179- [ ] SDK installed and importable at the correct version180- [ ] Package manifest has correct entries (name, type, scripts)181- [ ] Config files match SDK requirements (ESM, tsconfig, pyproject, etc.)182- [ ] API key setup documented (`.env.example` exists, `.env` in `.gitignore`)183- [ ] No hardcoded secrets in any source file184- [ ] Agent initialization follows SDK-documented patterns185- [ ] Error handling covers: rate limits, auth failures, network errors186- [ ] README includes: setup steps, how to run, key concepts link187- [ ] Project compiles/runs without errors188189### Verification report format190191```192**Status**: PASS | PASS WITH WARNINGS | FAIL193194**Critical Issues**: (blockers, runtime failures, type errors)195**Warnings**: (suboptimal patterns, missing features)196**Passed**: (what's correct)197**Recommendations**: (specific improvements with SDK doc links)198```199200---201202## Post-setup Guide203204Provide the user:2052061. **How to set their API key** (copy from `.env.example`)2072. **How to run the agent** (exact command)2083. **Key concepts** (system prompts, tools, permissions, MCP, handoffs)2094. **SDK reference link** (official docs URL)2105. **Common next steps**:211 - Customize the system prompt212 - Add custom tools213 - Configure permissions214 - Add MCP server integration215 - Implement handoffs (multi-agent)216 - Add streaming output217218---219220## Harness Quick Reference221222### Anthropic223224- **npm**: `@anthropic-ai/claude-agent-sdk`225- **pip**: `claude-agent-sdk`226- **Docs**: https://docs.anthropic.com/en/docs/agents-and-tools/claude-agent-sdk227- **Key APIs**: Agent, Session, Tool, MCP Server, Streaming228- **Local example**: `agents/research-runner/anthropic/runner.ts`229- **Reference**: `references/anthropic-sdk.md`230231### Cursor232233- **npm**: `@cursor/sdk`234- **Docs**: https://docs.cursor.com/tools/sdk235- **Key APIs**: `Agent.create()`, `Agent.prompt()`, `Agent.resume()`, streaming236- **Local example**: `agents/research-runner/cursor/runner.ts`237- **Reference**: `references/cursor-sdk.md`238239### OpenAI240241- **npm**: `@openai/agents`242- **pip**: `openai-agents`243- **Docs**: https://openai.github.io/openai-agents-python/244- **Key APIs**: Agent, Runner, Handoff, Tool, Guard, Tracing245- **Local example**: `agents/research-runner/codex/runner.ts`246- **Reference**: `references/openai-agents-sdk.md`247248### OpenCode249250- **npm**: `opencode` (local SDK)251- **Key APIs**: Prompt sessions, local execution, skill loading252- **Local example**: `agents/research-runner/opencode/runner.ts`253- **Reference**: `references/opencode-sdk.md`254255### Pi256257- **No SDK package**: CLI bridge via `pi -p "prompt"`258- **Subprocess**: Spawn `pi` with arguments, capture stdout/stderr259- **MCP**: In-session subagent tools (Agent, crew_agent)260- **Local example**: `agents/research-runner/pi/runner.ts`261- **Reference**: `references/pi-cli-bridge.md`262263---264265## Shared Workflow Contract266267All scaffolded agents that integrate with the ai-eng-system runner framework268should expose this contract:269270```ts271type WorkflowInput = {272 goal: string;273 cwd?: string;274 model?: string;275 maxIterations?: number;276 statePath?: string;277};278279type WorkflowResult = {280 status: "success" | "blocked" | "failed";281 summary: string;282 artifacts: string[];283 nextSteps?: string[];284};285```286287Shared types: `agents/research-runner/shared/workflow-contract.ts`288289---290291## Reference Files292293| File | Content |294|------|---------|295| `references/anthropic-sdk.md` | Anthropic Agent SDK API surface, patterns, code examples |296| `references/cursor-sdk.md` | Cursor TypeScript SDK API surface, patterns, traps |297| `references/openai-agents-sdk.md` | OpenAI Agents SDK API surface, handoffs, tracing |298| `references/opencode-sdk.md` | OpenCode local SDK patterns and session management |299| `references/pi-cli-bridge.md` | Pi CLI bridge, subprocess patterns, MCP subagent tools |300301---302303## Voice and Posture304305This skill helps the user **build** agent applications. It is not the place to306validate, congratulate, or sell any SDK as a choice. The user's intent is the307input; your job is execution.308309Ask questions one at a time. Do not batch questions. Respect the user's time.310311When the user specifies a harness, load the reference file and follow its312patterns. When the user asks to verify, run the verification checklist. When313the user asks for help with an existing project, skip to the relevant step.
Run npx skillmds@latest add v1truv1us-ai-eng-system/agents-sdk-dev in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Unified agent application scaffolding across 5 harnesses: Anthropic, Cursor, OpenAI, OpenCode, and Pi. Interactive project generator with live SDK docs, per-harness code patterns, and built-in verification. Use when someone says "create an agent app", "new SDK project", "build with [harness] SDK", "scaffold agent", or wants to verify an existing agent setup. It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. Capability flags: makes network calls. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
v1truv1us (@v1truv1us-ai-eng-system) published this skill. Their other Agent Skills are listed on their SkillMD profile.