Claude-code-plugins-plus-skills anth-hello-world
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/anthropic-pack/skills/anth-hello-world" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-anth-hello-world && rm -rf "$T"
manifest:
plugins/saas-packs/anthropic-pack/skills/anth-hello-world/SKILL.mdsource content
Anthropic Hello World
Overview
Three minimal examples covering the Claude Messages API core surfaces: basic text completion, vision (image analysis), and streaming responses.
Prerequisites
- Completed
setupanth-install-auth - Valid
in environmentANTHROPIC_API_KEY - Python 3.8+ with
package or Node.js 18+ withanthropic@anthropic-ai/sdk
Instructions
Example 1: Basic Text Message (Python)
import anthropic client = anthropic.Anthropic() message = client.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[ {"role": "user", "content": "Explain quantum computing in 3 sentences."} ] ) # Response structure print(message.content[0].text) # The actual text response print(f"ID: {message.id}") # msg_01XFDUDYJgAACzvnptvVoYEL print(f"Model: {message.model}") # claude-sonnet-4-20250514 print(f"Stop: {message.stop_reason}")# end_turn print(f"Usage: {message.usage.input_tokens}in / {message.usage.output_tokens}out")
Example 2: Vision — Analyze an Image (TypeScript)
import Anthropic from '@anthropic-ai/sdk'; import * as fs from 'fs'; const client = new Anthropic(); // From file (base64) const imageData = fs.readFileSync('chart.png').toString('base64'); const message = await client.messages.create({ model: 'claude-sonnet-4-20250514', max_tokens: 1024, messages: [{ role: 'user', content: [ { type: 'image', source: { type: 'base64', media_type: 'image/png', data: imageData, }, }, { type: 'text', text: 'Describe what this chart shows.' }, ], }], }); console.log(message.content[0].type === 'text' ? message.content[0].text : '');
Example 3: Streaming Response (Python)
import anthropic client = anthropic.Anthropic() with client.messages.stream( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[{"role": "user", "content": "Write a haiku about APIs."}] ) as stream: for text in stream.text_stream: print(text, end="", flush=True) # Get final message with full metadata final = stream.get_final_message() print(f"\nTokens used: {final.usage.input_tokens}+{final.usage.output_tokens}")
Output
- Working code file with Claude client initialization
- Successful API response with text content
- Console output showing model response and usage metadata
Error Handling
| Error | HTTP Code | Cause | Solution |
|---|---|---|---|
| 401 | Invalid API key | Check |
| 400 | Bad params (e.g., empty messages) | Validate request body |
| 429 | Too many requests | Implement backoff (see ) |
| 529 | API temporarily overloaded | Retry after 30-60s |
| 500 | Server error | Retry with exponential backoff |
Key API Parameters
| Parameter | Required | Description |
|---|---|---|
| Yes | Model ID: , , |
| Yes | Maximum output tokens (model-dependent max) |
| Yes | Array of objects |
| No | System prompt (string or content blocks) |
| No | 0.0-1.0, default 1.0 |
| No | Nucleus sampling (use temperature OR top_p) |
| No | Array of strings that stop generation |
| No | Enable SSE streaming |
Resources
Next Steps
Proceed to
anth-local-dev-loop for development workflow setup.