AgentSkillsCN

programmatic-claude

通过CLI(-p标志)、Python SDK或TypeScript SDK以编程方式运行Claude Code。用于自动化、CI/CD、会话链、无头执行以及协调多个Claude实例。触发器:编程、无头、CLI自动化、会话链、-p标志、Python SDK、协调Claude、CI/CD Claude、自动运行Claude。

SKILL.md
--- frontmatter
name: programmatic-claude
description: Run Claude Code programmatically via CLI (-p flag), Python SDK, or TypeScript SDK. For automation, CI/CD, session chaining, headless execution, and orchestrating multiple Claude instances. Triggers: programmatic, headless, CLI automation, session chaining, -p flag, Python SDK, orchestrate Claude, CI/CD Claude, run Claude automatically.

Programmatic Claude Code

Run Claude non-interactively for automation workflows.

Three Interfaces

InterfaceInstallBest For
CLI (-p)Built-inScripts, CI/CD, quick tasks
Python SDKpip install claude-agent-sdkCustom agents, hooks, multi-turn
TypeScript SDKnpm install @anthropic-ai/claude-agent-sdkType-safe apps, Node.js

Core Patterns

One-Shot Task

bash
claude -p "Fix TypeScript errors in src/" \
  --allowedTools "Read,Edit,Bash" \
  --output-format json

Session Chaining

bash
# Start task, capture session ID
result=$(claude -p "Create auth system" --output-format json)
session_id=$(echo "$result" | jq -r '.session_id')

# Continue in same session
claude -p "Add tests for auth" --resume "$session_id"

Structured Output

bash
claude -p "List all API endpoints" \
  --output-format json \
  --json-schema '{"type":"object","properties":{"endpoints":{"type":"array"}}}'

Python Multi-Turn

python
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

options = ClaudeAgentOptions(
    allowed_tools=["Read", "Write", "Edit", "Bash"],
    permission_mode="acceptEdits"
)

async with ClaudeSDKClient(options=options) as client:
    await client.query("Build the component")
    async for msg in client.receive_response():
        print(msg)

    await client.query("Now add tests")
    async for msg in client.receive_response():
        print(msg)

Key Flags

FlagPurpose
-p "prompt"Non-interactive mode
--allowedTools "X,Y"Auto-approve tools (no prompts)
--output-format jsonStructured output with session_id
--json-schema '{...}'Enforce response format
--resume <id>Continue specific session
--continueContinue most recent session

Files

  • README.md - Overview and quick examples
  • harvest-and-build.md - Website cloning automation pipeline

Use Cases

  1. CI/CD - Run in GitHub Actions for automated fixes
  2. Orchestration - Chain multiple Claude sessions
  3. Pipelines - Harvest → Analyse → Build → Validate workflows
  4. Scheduled Tasks - Daily security scans, dependency updates