Anthropic’s agent platform just hit general availability. That means Computer Use, Browser Tool, Skills API, and Files API are production-ready — SLAs, stable APIs, support included. The Anthropic Skills API tutorial you’ve been waiting for starts here: define a procedure once, version it, reuse it everywhere. No more copy-pasting prompts. Here’s what’s new and how to use it.
Anthropic Just Shipped Production-Ready AI Agents — Here’s What Changed
Beta → GA: What It Means for You
“Generally Available” isn’t marketing fluff. It means:
- Stable APIs — no breaking changes without notice
- SLAs — uptime guarantees for production workloads
- Support — actual humans who respond to tickets
- No “beta” limits — rate limits, storage, compute all increased
The GA announcement dropped August 21, 2026. If you were waiting for “ready for production,” this is it. This Anthropic Skills API tutorial covers the highlights.
The Four Tools Now Generally Available
| Tool | What It Does | GA Improvement |
|---|---|---|
| Skills API | Versioned reusable procedures | Stable API, versioning, org-wide sharing |
| Files API | Managed file storage/processing | 1 TB/org, 500 RPM, expiration control |
| Computer Use | Agents control virtual desktop | Production SLA, Claude 3.5 Sonnet+ |
| Browser Tool | Full web automation | Stable API, JS execution, session mgmt |
| AG-UI Adapter | Chat → managed agent bridge | Streaming tool calls/thinking to custom UIs |
Skills API: Reusable AI Functions (The Game Changer)
What Are Skills? (Plain English)
A Skill is a prompt you write once, version, and call by name. Instead of pasting “summarize this meeting and extract action items” into every conversation, you create a meeting-summarizer skill. Your agent invokes it. You update the skill once — every agent using it gets the improvement. This Anthropic Skills API tutorial shows you exactly how.
Think of it like a function in code, but the “code” is natural language instructions. This Anthropic Skills API tutorial walks through the complete workflow.
Create Your First Skill: Meeting Summarizer
Prerequisites: Anthropic API key, Claude Pro/Team/Enterprise, anthropic Python SDK (pip install anthropic)
import anthropic
client = anthropic.Anthropic()
# Create the skill
skill = client.beta.skills.create(
name="meeting-summarizer",
description="Summarize meeting transcripts and extract action items with owners and deadlines",
instructions="You are an expert meeting summarizer. Given a transcript: 1. Write a 3-5 sentence executive summary 2. List decisions made 3. Extract action items: task, owner, deadline 4. Flag any unresolved questions Output as structured markdown.",
version="1.0"
)
print(f"Created skill: {skill.id}")
That’s it. Your skill exists. Now invoke it:
# Use the skill in a conversation
message = client.messages.create(
model="claude-3-5-sonnet-20260821",
max_tokens=2000,
messages=[{"role": "user", "content": "Here's the transcript: [paste transcript]"}],
tools=[{"type": "skill", "name": "meeting-summarizer"}]
)
The agent calls your skill. You get structured output. Next week, improve the instructions — bump version to 1.1 — every agent using it benefits.
Versioning and Sharing Across Your Team
- Version control:
client.beta.skills.update(name="meeting-summarizer", version="1.1", instructions="...") - Org sharing: Skills are org-scoped. Team members see and use them.
- Rollback:
client.beta.skills.rollback(name="meeting-summarizer", version="1.0") - Deprecation: Mark old versions deprecated without breaking existing agents
This is the workflow Anthropic designed for: iterate on prompts like code, deploy with confidence. The Anthropic Skills API makes this practical. This Anthropic Skills API tutorial continues with the Files API.
Files API: 1 TB Storage, 500 RPM, Auto-Expiration
Upload, Process, Reference — The Workflow
# 1. Upload a file
file = client.files.create(
file=open("quarterly-report.pdf", "rb"),
purpose="assistants" # or "batch", "fine-tune"
)
file_id = file.id
# 2. Reference in a message
message = client.messages.create(
model="claude-3-5-sonnet-20260821",
max_tokens=4000,
messages=[{
"role": "user",
"content": [
{"type": "document", "source": {"type": "file", "file_id": file_id}},
{"type": "text", "text": "Extract all financial metrics from this report"}
]
}]
)
# 3. Set expiration (auto-delete after 7 days)
client.files.update(file_id, expires_after={"days": 7})
Key GA upgrades:
- 1 TB per org — upload thousands of PDFs, not dozens
- 500 requests/minute — 5x beta limit, handles batch processing
- Expiration control — set TTL, forget cleanup scripts
Practical Example: Extract Data from 50 PDFs
import os
from pathlib import Path
pdf_dir = Path("./invoices")
file_ids = []
# Batch upload
for pdf in pdf_dir.glob("*.pdf"):
file = client.files.create(file=open(pdf, "rb"), purpose="assistants")
file_ids.append(file.id)
# Process in chunks (respect 500 RPM)
results = []
for i in range(0, len(file_ids), 10):
chunk = file_ids[i:i+10]
content = [{"type": "document", "source": {"type": "file", "file_id": fid}} for fid in chunk]
content.append({"type": "text", "text": "Extract: vendor, amount, date, invoice number from each"})
msg = client.messages.create(
model="claude-3-5-sonnet-20260821",
max_tokens=8000,
messages=[{"role": "user", "content": content}]
)
results.append(msg.content[0].text)
# Auto-cleanup
for fid in file_ids:
client.files.update(fid, expires_after={"days": 1})
Run this once a month. No manual data entry. No custom pipeline.
Rate Limits and Pricing Notes
- 500 RPM = ~30,000 requests/hour. Plenty for most workflows.
- Storage: First 1 GB free, then $0.10/GB/month (check current pricing)
- Processing: Standard token pricing for the model used
- No separate Files API fee — you pay for tokens and storage
Computer Use & Browser Tool: Agents That Click and Browse
Computer Use GA — Stable Virtual Desktop
# Computer Use requires the beta header
client = anthropic.Anthropic(
default_headers={"anthropic-beta": "computer-use-2026-08-21"}
)
# Agent gets a virtual desktop
response = client.messages.create(
model="claude-3-5-sonnet-20260821",
max_tokens=4000,
messages=[{"role": "user", "content": "Open calculator and compute 47 * 83"}],
tools=[{"type": "computer_use_20260821", "name": "computer", "display_width": 1024, "display_height": 768}]
)
GA stability: The virtual desktop persists, recovers from crashes, supports multiple displays. Use for: legacy app automation, desktop testing, any GUI-only workflow.
Browser Tool GA — Full Web Automation
response = client.messages.create(
model="claude-3-5-sonnet-20260821",
max_tokens=4000,
messages=[{"role": "user", "content": "Go to github.com/anthropics/anthropic-sdk-python, find the latest release notes, summarize breaking changes"}],
tools=[{"type": "browser_20260821", "name": "browser"}]
)
Capabilities: Click, type, scroll, wait, execute JavaScript, manage cookies/sessions, handle auth flows. Use for: scraping, form filling, testing, research.
When to Use Each (and When Not To)
| Task | Use Computer Use | Use Browser Tool | Use Neither |
|---|---|---|---|
| Web scraping | ❌ | ✅ | |
| Legacy desktop app | ✅ | ❌ | |
| API available | ❌ | ❌ | Use API |
| JavaScript-heavy site | ❌ | ✅ | |
| Visual verification needed | ✅ | ✅ | |
| High-volume repetitive | Consider custom | Consider custom |
Rule of thumb: If an API exists, use the API. These tools are for when there’s no API.
AG-UI Adapter: Build Custom Agent Interfaces
Chat Threads → Managed Sessions
The AG-UI adapter bridges chat interfaces (Slack, Discord, custom web chat) to managed agent sessions on Claude Platform.
# Simplified concept — actual implementation uses AG-UI protocol
from ag_ui import AGUIAdapter
adapter = AGUIAdapter(anthropic_client=client)
# Map incoming chat message to managed session
session = adapter.create_session(
user_id="slack-user-123",
agent_config={"model": "claude-3-5-sonnet-20260821", "tools": ["skills", "files"]}
)
# Stream response back to chat interface
async for chunk in adapter.stream(session, user_message):
await send_to_slack(chunk)
Streaming Tool Calls and Thinking to Your UI
The adapter streams:
– Text deltas — incremental response
– Tool calls — {"tool": "skill:meeting-summarizer", "status": "running"}
– Thinking blocks — agent’s reasoning (optional, for debugging UIs)
This lets you build a custom chat UI that shows what the agent is doing in real time, not just the final answer.
Anthropic vs. OpenAI Assistants API: Quick Comparison
Skills vs. Assistants
| Aspect | Anthropic Skills API | OpenAI Assistants API |
|---|---|---|
| Definition | Natural language instructions | Tools + instructions + file search |
| Versioning | Built-in (semver) | Manual (assistant versions) |
| Sharing | Org-wide, automatic | Per-assistant, manual |
| Invocation | By name in tools array | Auto-triggered by model |
| Debugging | Clear skill boundaries | Black-box assistant runs |
Files vs. File Search
| Aspect | Anthropic Files API | OpenAI File Search |
|---|---|---|
| Storage | 1 TB/org | 100 GB/assistant |
| Processing | Direct document reference | Vector search (RAG) |
| Expiration | Per-file TTL | Manual cleanup |
| Best for | Known documents, exact extraction | Large corpora, semantic search |
Which to Choose?
Choose Anthropic if:
- You want versioned, shareable prompt procedures (Skills)
- You process known documents (PDFs, reports, contracts)
- You need GA stability and SLAs today
- Your team collaborates on prompt engineering
Choose OpenAI if:
- You need semantic search over large document sets
- You’re already invested in Assistants API
- You want the broader OpenAI ecosystem (GPT-Image, Realtime, etc.)
Both work. The difference is workflow philosophy: Anthropic = explicit skills you control. OpenAI = assistants that figure it out.
Takeaway
Anthropic’s GA release makes agent automation boring in the best way: stable, versioned, scalable. The Anthropic Skills API is the standout — it turns prompt engineering into prompt development. Define once, version, share, improve. This Anthropic Skills API tutorial showed you the path.
Start here: Create one skill this week. Something you do repeatedly — meeting summaries, code reviews, invoice extraction. Deploy it. Watch the time vanish.
The platform is ready. Your workflows are waiting.