Agent skill

Claude Agent SDK

by sammcj in sammcj/agentic-coding

A skill your agent uses when working with Anthropic Claude Agent SDK.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Claude Agent SDK

skills CLI
$ npx skills add sammcj/agentic-coding --skill claude-agent-sdk -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sammcj/agentic-coding claude-agent-sdk --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills_disabled/claude-agent-sdk .claude/skills/claude-agent-sdk && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
claude-agent-sdk
GitHub stars
162
Token cost
~3.8k tokens
SKILL.md length
1,054 words
Files
1
Skills in repo
64
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when working with Anthropic Claude Agent SDK.

  • Works in 12 steps: Custom Tools (SDK MCP Servers) → Hooks (Lifecycle Callbacks) → Permission System → …
  • Working with Anthropic Claude Agent SDK
  • SKILL.md covers Overview, Installation, Core Architecture: Feedback… and Execution Mechanisms (Priority…, plus 5 more sections
  • Calls pip and npm; needs ANTHROPIC_API_KEY

What it does

Claude Agent SDK is an agent skill from sammcj/agentic-coding. Use when working with Anthropic Claude Agent SDK. Provides architecture guidance, implementation patterns, best practices, and common pitfalls.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering. It works with Claude Agent SDK, Python, TypeScript and Model Context Protocol. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.

When your agent uses it

  • Working with Anthropic Claude Agent SDK

Example prompts

  • “/claude-agent-sdk”

Requirements

  • Python 3
  • Node.js
  • A credential in ANTHROPIC_API_KEY

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Custom Tools (SDK MCP Servers)
  2. Hooks (Lifecycle Callbacks)
  3. Permission System
  4. Subagents
  5. Context Management
  6. System Prompt Not Loading
  7. Tool Not Available
  8. Permission Denied
  9. Python Keyword Conflicts
  10. Context Overflow
  11. Tool Execution Failures
  12. External MCP Server Not Connecting

What it can do on your machine

Read from SKILL.md and the folder at commit 2f25ced. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • platform.claude.com
    • github.com
    • anthropic.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ANTHROPIC_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Claude Agent SDK loads about 3.8k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 1,054 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 1,054 words, ~3,811 tokens.

Download SKILL.mdSave it as .claude/skills/claude-agent-sdk/SKILL.md (or your agent's skills folder).
name
claude-agent-sdk
description
Use when working with Anthropic Claude Agent SDK. Provides architecture guidance, implementation patterns, best practices, and common pitfalls.

Claude Agent SDK

Overview

The Claude Agent SDK enables building autonomous AI agents with Claude through a feedback loop architecture. Available for Python (3.10+) and TypeScript (Node 18+).

Repository:

Documentation: https://platform.claude.com/docs/en/agent-sdk/overview

Installation

bash
# Python
pip install claude-agent-sdk

# TypeScript
npm install @anthropic-ai/agent-sdk

Core Architecture: Feedback Loop Pattern

Every agent follows this cycle:

  1. Gather Context → filesystem navigation, subagents, tools
  2. Take Action → tools, bash, code generation, MCP
  3. Verify Work → rules-based, visual, LLM-as-judge
  4. Repeat → iterate until completion

This pattern applies whether you're building a simple script or a complex multi-agent system.

Execution Mechanisms (Priority Order)

Choose mechanisms based on task requirements:

  1. Custom Tools → Primary workflows (appear prominently in context)
  2. Bash → Flexible one-off operations
  3. Code Generation → Complex, reusable outputs (prefer TypeScript for linting feedback)
  4. MCP → Pre-built external integrations (Slack, GitHub, databases)

Rule: Use tools for repeatable operations, bash for exploration, code generation when you need structured output that can be validated.

Quick Start Patterns

Python: Basic Query
python
from claude_agent_sdk import query

result = await query(
    model="claude-sonnet-4-5",
    system_prompt="You are a helpful coding assistant.",
    user_message="List files in current directory",
    working_dir=".",
)
print(result.final_message)
TypeScript: Session Management
typescript
import { ClaudeSdkClient } from '@anthropic-ai/agent-sdk';

const client = new ClaudeSdkClient({ apiKey: process.env.ANTHROPIC_API_KEY });

const result = await client.query({
  model: 'claude-sonnet-4-5',
  systemPrompt: 'You are a helpful coding assistant.',
  userMessage: 'List files in current directory',
  workingDir: '.',
});

console.log(result.finalMessage);

Key Components

1. Custom Tools (SDK MCP Servers)

In-process tools with no subprocess overhead. Primary building block for agents.

Python:

python
from claude_agent_sdk.mcp import tool, create_sdk_mcp_server

@tool(
    name="calculator",
    description="Perform calculations",
    input_schema={"expression": str}
)
async def calculator(args):
    result = eval(args["expression"])  # Use safe eval in production
    return {"content": [{"type": "text", "text": str(result)}]}

server = create_sdk_mcp_server(name="math", tools=[calculator])

TypeScript:

typescript
import { createSdkMcpServer, tool } from '@anthropic-ai/agent-sdk';
import { z } from 'zod';

const calculator = tool({
  name: 'calculator',
  description: 'Perform calculations',
  inputSchema: z.object({ expression: z.string() }),
  async execute({ expression }) {
    const result = eval(expression); // Use safe eval in production
    return { content: [{ type: 'text', text: String(result) }] };
  },
});

const server = createSdkMcpServer({ name: 'math', tools: [calculator] });

Benefits over external MCP: Better performance, easier debugging, shared memory space, no IPC overhead.

2. Hooks (Lifecycle Callbacks)

Intercept and modify agent behaviour at specific points.

Available hooks:

  • PreToolUse → Validate/modify/deny tool calls before execution
  • PostToolUse → Process/log/modify tool results
  • Stop → Handle completion events

Python validation example:

python
async def validate_command(input_data, tool_use_id, context):
    if "rm -rf" in input_data["tool_input"].get("command", ""):
        return {
            "hookSpecificOutput": {
                "permissionDecision": "deny",
                "permissionDecisionReason": "Dangerous command blocked"
            }
        }

TypeScript logging example:

typescript
const loggingHook = {
  matcher: (input) => input.toolName === 'bash',
  async handler(input, toolUseId, context) {
    console.log(`Executing: ${input.toolInput.command}`);
  }
};
3. Permission System

Four modes with progressively less restriction:

  • default → Prompt for each tool use
  • plan → Agent can read/explore freely, prompts for modifications
  • acceptEdits → Auto-approve file edits, prompt for bash/destructive ops
  • bypassPermissions → Fully autonomous (use carefully)

Dynamic control with canUseTool:

python
async def permission_callback(tool_name, tool_input, context):
    if tool_name == "bash" and "git push" in tool_input.get("command", ""):
        return False  # Deny
    return True  # Allow
4. Subagents

Isolated agents with separate context windows and specialised capabilities.

When to use:

  • Parallel processing of independent tasks
  • Context isolation (prevent one task from bloating main context)
  • Specialised agents with different tools/models

Python:

python
from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(
    subagent_definitions={
        "researcher": {
            "tools": ["read", "grep", "glob"],
            "model": "claude-haiku-4",
            "description": "Fast research agent"
        }
    }
)

TypeScript:

typescript
const options = {
  subagentDefinitions: {
    researcher: {
      tools: ['read', 'grep', 'glob'],
      model: 'claude-haiku-4',
      description: 'Fast research agent'
    }
  }
};
5. Context Management

Agentic Search (Preferred): Use bash + filesystem navigation (grep, ls, tail) before reaching for semantic search. Simpler and more reliable.

Automatic Compaction: SDK automatically summarises messages when approaching token limits. Transparent and automatic.

Folder Structure as Context Engineering: Organise files intentionally—directory structure is visible to the agent and influences its understanding.

Verification Patterns

Rules-Based (Preferred)

Explicit validation enables self-correction:

python
# In PostToolUse hook
if tool_name == "write":
    # Run linter on generated file
    lint_result = run_linter(tool_output)
    if lint_result.has_errors:
        return {"continue": True}  # Let agent fix errors
Visual Feedback

For UI tasks, screenshot and re-evaluate:

python
@tool(name="check_ui", description="Verify UI matches requirements")
async def check_ui(args):
    screenshot = take_screenshot(args["url"])
    # Return screenshot to agent for evaluation
    return {"content": [{"type": "image", "source": screenshot}]}
LLM-as-Judge

Only for fuzzy criteria where rules don't work (higher latency):

python
judge_result = await secondary_model.evaluate(
    criteria="Does output match tone guidelines?",
    output=agent_output
)

Common Pitfalls & Solutions

1. System Prompt Not Loading

Symptom: CLAUDE.md ignored, custom prompts not applied Solution: Set setting_sources=["project"] or ["user", "project"]

python
# Python
options = ClaudeAgentOptions(setting_sources=["project"])

# TypeScript
const options = { settingSources: ['project'] };
2. Tool Not Available

Symptom: "Tool not found" errors Solution: Check MCP tool naming: mcp__{server_name}__{tool_name}

3. Permission Denied

Symptom: Agent can't access directories Solution: Add directories explicitly:

python
options = ClaudeAgentOptions(add_dirs=["/path/to/data"])
4. Python Keyword Conflicts

Symptom: Syntax errors with async or continue parameters Solution: Use async_ and continue_ (SDK auto-converts)

python
# Use async_ not async
hook_result = {"async_": True, "continue_": False}
5. Context Overflow

Symptom: Token limit errors Solution: Use subagents for isolation or let automatic compaction handle it

6. Tool Execution Failures

Symptom: Tools fail silently or with unclear errors Solution: Return structured error messages in tool responses:

python
return {
    "content": [{
        "type": "text",
        "text": "Error: Invalid input. Expected format: ...",
        "isError": True
    }]
}
7. External MCP Server Not Connecting

Symptom: stdio/SSE MCP servers timeout Solution: Verify server is executable and logs are accessible:

python
# Check server stderr in context.mcp_server_logs
async def debug_hook(input_data, tool_use_id, context):
    print(context.mcp_server_logs.get("server_name"))

Language-Specific Considerations

Python vs TypeScript
AspectPythonTypeScript
Runtimeanyio.run(main)Native async/await
Min VersionPython 3.10+Node.js 18+
Type SafetyType hints optionalStrict types with Zod
Hook Fieldsasync_, continue_async, continue
CLIBundled (no install)Separate install needed
Tool ValidationDict-based schemasZod schemas
TypeScript Advantages
  • Linting provides extra feedback layer for generated code
  • Stronger type safety catches errors earlier
  • Better IDE integration
Python Advantages
  • Simpler setup for data science workflows
  • Direct integration with ML/data tools
  • More concise for scripting tasks

Decision Frameworks

When to Use Claude Agent SDK

✅ Use when:

  • Building autonomous agents that need computer access
  • Iterative workflows with verification loops
  • Multi-step tasks requiring context and tool use
  • Custom tool integration requirements
  • Need for permission control and safety

❌ Don't use when:

  • Simple API calls sufficient (use Messages API)
  • No tool/computer access needed
  • Purely conversational applications
  • Real-time streaming responses critical
Show full SKILL.md (404 more words)Show less
Tool vs Bash vs Code Generation

Use Custom Tools when:

  • Operation repeats frequently
  • Need structured input/output validation
  • Want prominent placement in agent context
  • Require error handling and retry logic

Use Bash when:

  • One-off exploration or debugging
  • System operations (git, file management)
  • Flexible scripting without formal structure

Use Code Generation when:

  • Need structured, reusable output
  • Can validate with linting/compilation
  • Building components or modules
  • TypeScript preferred for feedback quality
SDK MCP vs External MCP

Use SDK MCP (in-process) when:

  • Building custom tools for your agent
  • Performance matters (no subprocess overhead)
  • Need shared state with main process
  • Debugging tool logic

Use External MCP (stdio/SSE) when:

  • Integrating third-party services
  • Tool needs isolation
  • Using pre-built MCP servers
  • Cross-language tool requirements

Session Management

Resuming Sessions

Python:

python
# First run
result1 = await query(user_message="Create a file", working_dir=".")

# Resume with new message
result2 = await query(
    user_message="Now modify it",
    working_dir=".",
    session_id=result1.session_id
)

TypeScript:

typescript
// First run
const result1 = await client.query({ userMessage: 'Create a file' });

// Resume
const result2 = await client.query({
  userMessage: 'Now modify it',
  sessionId: result1.sessionId
});
Forking Sessions

Create alternative branches from a point:

python
# Fork for different approach
result_fork = await query(
    user_message="Try different implementation",
    session_id=original_result.session_id,
    fork_session=True
)

Budget Control

Set USD spending limits:

python
options = ClaudeAgentOptions(budget={"usd": 5.00})

Agent stops when budget exceeded. Useful for cost control in production.

Testing Patterns

Mock Tools for Testing

Python:

python
import pytest
from unittest.mock import AsyncMock

@pytest.fixture
def mock_tool():
    return AsyncMock(return_value={
        "content": [{"type": "text", "text": "mocked"}]
    })

async def test_agent(mock_tool):
    server = create_sdk_mcp_server(name="test", tools=[mock_tool])
    # Test with mocked tool

TypeScript:

typescript
import { jest } from '@jest/globals';

const mockTool = {
  name: 'test',
  execute: jest.fn().mockResolvedValue({
    content: [{ type: 'text', text: 'mocked' }]
  })
};
Integration Testing

Test with real tools in isolated environment:

python
import tempfile
import os

async def test_file_operations():
    with tempfile.TemporaryDirectory() as tmpdir:
        result = await query(
            user_message="Create test.txt with content 'hello'",
            working_dir=tmpdir,
            permission_mode="bypassPermissions"
        )
        assert os.path.exists(f"{tmpdir}/test.txt")

Migration from Claude Code SDK

If migrating from the deprecated claude-code-sdk:

  1. Package renamed: claude-code-sdk → claude-agent-sdk
  2. System prompt not default: Must explicitly set or enable via setting_sources
  3. Type renamed (Python): ClaudeCodeOptions → ClaudeAgentOptions
  4. Settings sources not automatic: Must set setting_sources=["project"]

See migration guide: https://platform.claude.com/docs/en/agent-sdk/migration-guide

Performance Optimisation

  1. Use Haiku for simple tasks → 5x cheaper, faster for research/exploration
  2. SDK MCP over external → No subprocess overhead
  3. Batch operations → Combine file operations when possible
  4. Set turn limits → Prevent infinite loops (turn_limit parameter)
  5. Monitor token usage → Use budget controls in production

Security Best Practices

  1. Always validate tool inputs → Never trust unchecked input
  2. Use permission callbacks → Deny dangerous operations dynamically
  3. Restrict filesystem access → Use add_dirs to limit scope
  4. Sandbox external MCP servers → Isolate third-party tools
  5. Set budgets → Prevent runaway costs
  6. Log all tool uses → Audit trail via PostToolUse hooks
  7. Never hardcode API keys → Use environment variables

Key Principles

  1. Folder structure is context engineering → Organise intentionally
  2. Rules-based feedback enables self-correction → Add linting and validation
  3. Start with agentic search → Bash navigation before semantic search
  4. Tools are primary, bash is secondary → Use tools for repeatable operations
  5. TypeScript for generated code → Extra feedback layer improves quality
  6. Verification closes the loop → Always validate agent work
  7. Use subagents for isolation → Prevent context bloat and enable parallelism

Additional Resources

© sammcj, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in Skills_disabled/claude-agent-sdk of sammcj/agentic-coding.

Open the folder on GitHubat commit 2f25ced

Compare with similar skills

Claude Agent SDK next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Claude Agent SDK compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Claude Agent SDK this skillsammcj/agentic-coding162—~3.8kAutomated safety check: PassApache-2.0
Strandsstrands-agents/harness-sdk8.8k—~1kAutomated safety check: PassApache-2.0
Copilot SDKgithub/awesome-copilot40k4 repos~6.3kAutomated safety check: PassMIT
Agent BuilderMathews-Tom/armory329—~1.7kAutomated safety check: PassMIT
Ydc Openai Agent SDK IntegrationLeoYeAI/openclaw-master-skills2.2k—~4.4kAutomated safety check: NotesMIT
Sponsio Agent Safety SetupSponsioLabs/Sponsio454—~12kAutomated safety check: PassApache-2.0

Similar skills

  • Strands

    strands-agents/harness-sdk

    Build, extend, evaluate, or migrate applications with Strands Agents in Python or TypeScript.

    8.8k GitHub stars~1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Copilot SDK

    github/awesome-copilot

    Official

    Build agentic applications with GitHub Copilot SDK. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 4 repos~6.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Agent Builder

    Mathews-Tom/armory

    Build AI agents and automate Claude Code programmatically via the Claude Agent SDK and headless CLI mode.

    329 GitHub stars~1.7k tokensUpdated 4 days ago
    AI & LLM EngineeringAuto-check passed
  • Ydc Openai Agent SDK Integration

    LeoYeAI/openclaw-master-skills

    Integrate OpenAI Agents SDK with You.com MCP server - Hosted and Streamable HTTP support for Python and TypeScript.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check: notes
  • Sponsio Agent Safety Setup

    SponsioLabs/Sponsio

    Installs, tunes and enforces Sponsio contracts that block unsafe tool calls in LLM agents, covering setup, auditing, observe mode and flipping to enforce.

    454 GitHub stars~12k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Opik

    comet-ml/opik-mcp

    Reference for the Opik SDK — tracing, span types, framework integrations, threads, and the prompt library (Python, TypeScript, REST).

    220 GitHub stars~2.1k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed

More from sammcj/agentic-coding

All 64 skills in this repo
  • Yue2 Music

    sammcj/agentic-coding

    A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…

    162 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Bento Slides

    sammcj/agentic-coding

    A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.

    162 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Idrive Backup

    sammcj/agentic-coding

    A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS

    162 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check: notes
  • Piper Tts Training

    sammcj/agentic-coding

    Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.

    162 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • PPTX To Md

    sammcj/agentic-coding

    Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.

    162 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Skill Creator Primer

    sammcj/agentic-coding

    You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.

    162 GitHub stars~9.8k tokensUpdated yesterday
    Auto-check passed

Questions about Claude Agent SDK

What does Claude Agent SDK do?

A skill your agent uses when working with Anthropic Claude Agent SDK. Claude Agent SDK is an agent skill from sammcj/agentic-coding. Use when working with Anthropic Claude Agent SDK.

When should I use Claude Agent SDK?

Claude Agent SDK fits situations like: working with Anthropic Claude Agent SDK.

How do I install Claude Agent SDK in Claude Code?

Run `npx skills add sammcj/agentic-coding --skill claude-agent-sdk -a claude-code`. Or copy the skill folder (Skills_disabled/claude-agent-sdk in sammcj/agentic-coding) into .claude/skills/claude-agent-sdk in your project. Claude Code loads it when a task matches its description.

How do I install Claude Agent SDK in Codex?

Run `npx skills add sammcj/agentic-coding --skill claude-agent-sdk -a codex`. Or copy the skill folder (Skills_disabled/claude-agent-sdk in sammcj/agentic-coding) into .agents/skills/claude-agent-sdk in your project. Codex loads it when a task matches its description.

Can I use Claude Agent SDK in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sammcj/agentic-coding --skill claude-agent-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/claude-agent-sdk, .gemini/skills/claude-agent-sdk, .github/skills/claude-agent-sdk and .opencode/skills/claude-agent-sdk in your project.

What does Claude Agent SDK need to run?

Going by SKILL.md and its folder, Claude Agent SDK needs the command-line tools its instructions call (pip and npm) and credentials named ANTHROPIC_API_KEY. Our summary lists: Python 3; Node.js; A credential in ANTHROPIC_API_KEY.

Does Claude Agent SDK access the network?

SKILL.md names 3 domains. As links in the text: platform.claude.com, github.com and anthropic.com. This is read from the text; nothing was executed.

Is Claude Agent SDK safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Claude Agent SDK use?

Claude Agent SDK is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Claude Agent SDK use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Claude Agent SDK?

Skills that share tags, products or a category with Claude Agent SDK: Strands (strands-agents/harness-sdk, 8.8k stars), Copilot SDK (github/awesome-copilot, 40k stars), Agent Builder (Mathews-Tom/armory, 329 stars) and Ydc Openai Agent SDK Integration (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Claude Agent SDK?

sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.

Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.