Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Generate Python code for invoking Claude in cloud/remote environments using Anthropic's Messages API. Handles API authentication, SDK setup, basic/multi-turn conversations, model selection, and tool use/function calling patterns. Trigger keywords: Anthropic API, Claude API, Messages API, invoke Claude programmatically, Claude SDK, remote Claude, cloud Claude execution, API integration, programmatic tool calling, function calling, tool use API, Python SDK --- name: cloud-api-invocation description: | Generate Python code for invoking Claude in cloud/remote environments using Anthropic's Messages API. Handles API authentication, SDK setup, basic/multi-turn conversations, model selection, and tool use/function calling patterns. Trigger keywords: Anthropic API, Claude API, Messages API, invoke Claude programmatically, Claude SDK, remote Claude, cloud Claude execution, AP Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
cloud-api-invocation is best for copy, you, call workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Generate Python code for invoking Claude in cloud/remote environments using Anthropic's Messages API. Handles API authentication, SDK setup, basic/multi-turn conversations, model selection, and tool use/function calling patterns. Trigger keywords: Anthropic API, Claude API, Messages API, invoke Claude programmatically, Claude SDK, remote Claude, cloud Claude execution, API integration, programmatic tool calling, function calling, tool use API, Python SDK --- name: cloud-api-invocation description: | Generate Python code for invoking Claude in cloud/remote environments using Anthropic's Messages API. Handles API authentication, SDK setup, basic/multi-turn conversations, model selection, and tool use/function calling patterns. Trigger keywords: Anthropic API, Claude API, Messages API, invoke Claude programmatically, Claude SDK, remote Claude, cloud Claude execution, AP
Public facts
4
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Apr 15, 2026
Vendor
Ak Skill
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Setup snapshot
git clone https://github.com/ak-skill/cloud-api-invocation.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Ak Skill
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
python
import anthropic
import os
# Initialize the Anthropic client (uses ANTHROPIC_API_KEY env var by default)
client = anthropic.Anthropic()
# Make a basic API call
message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Claude! What can you help me with today?"}
]
)
# Extract and print the response text
print(message.content[0].text)python
import anthropic
client = anthropic.Anthropic()
# Use streaming for real-time response output
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain quantum computing in simple terms."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
print() # Newline after streaming completespython
import anthropic
import json
client = anthropic.Anthropic()
# Define tools that Claude can call
tools = [
{
"name": "get_weather",
"description": "Get the current weather for a location",
"input_schema": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City and state, e.g. San Francisco, CA"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "default": "fahrenheit"}
},
"required": ["location"]
}
}
]
# Make request with tools
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "What's the weather like in Boston?"}]
)
# Handle tool use response
for block in response.content:
if block.type == "tool_use":
print(f"Tool called: {block.name}")
print(f"Input: {json.dumps(block.input, indent=2)}")
elif block.type == "text":
print(f"Response: {block.text}")python
import anthropic
client = anthropic.Anthropic()
# Maintain conversation history
conversation_history = []
def chat(user_message: str) -> str:
"""Send a message and get a response, maintaining conversation context."""
conversation_history.append({"role": "user", "content": user_message})
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
system="You are a helpful assistant.",
messages=conversation_history
)
assistant_message = response.content[0].text
conversation_history.append({"role": "assistant", "content": assistant_message})
return assistant_message
# Example conversation
print(chat("My name is Alice."))
print(chat("What's my name?")) # Claude remembers contextpython
import anthropic
import os
# Verify API key is set
if not os.environ.get("ANTHROPIC_API_KEY"):
raise ValueError("ANTHROPIC_API_KEY environment variable is not set")
# Initialize client
client = anthropic.Anthropic()
# Create message with all common parameters
message = client.messages.create(
model="claude-sonnet-4-5-20250929", # or claude-opus-4-5-20251101, claude-haiku-4-5
max_tokens=1024,
temperature=0.7, # Optional: 0.0-1.0, lower = more deterministic
system="You are a helpful coding assistant.", # Optional system prompt
messages=[
{"role": "user", "content": "Write a Python function to reverse a string."}
]
)
# Response handling
print(f"Response: {message.content[0].text}")
print(f"Stop reason: {message.stop_reason}") # end_turn, max_tokens, tool_use
print(f"Usage: {message.usage.input_tokens} input, {message.usage.output_tokens} output tokens")python
import anthropic
client = anthropic.Anthropic()
# Streaming with full event access
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=2048,
messages=[{"role": "user", "content": "Write a short story about a robot."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
# Get final message after streaming completes
final_message = stream.get_final_message()
print(f"\n\nTotal tokens: {final_message.usage.input_tokens + final_message.usage.output_tokens}")Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Generate Python code for invoking Claude in cloud/remote environments using Anthropic's Messages API. Handles API authentication, SDK setup, basic/multi-turn conversations, model selection, and tool use/function calling patterns. Trigger keywords: Anthropic API, Claude API, Messages API, invoke Claude programmatically, Claude SDK, remote Claude, cloud Claude execution, API integration, programmatic tool calling, function calling, tool use API, Python SDK --- name: cloud-api-invocation description: | Generate Python code for invoking Claude in cloud/remote environments using Anthropic's Messages API. Handles API authentication, SDK setup, basic/multi-turn conversations, model selection, and tool use/function calling patterns. Trigger keywords: Anthropic API, Claude API, Messages API, invoke Claude programmatically, Claude SDK, remote Claude, cloud Claude execution, AP
This skill generates ready-to-use Python code for invoking Claude via Anthropic's Messages API in cloud and remote environments. It produces complete, working code snippets that users can copy and run immediately, covering API authentication, SDK setup, message handling, streaming responses, and tool use patterns.
Follow this workflow when generating API integration code:
User Request: "How do I call the Claude API?"
Generated Code:
import anthropic
import os
# Initialize the Anthropic client (uses ANTHROPIC_API_KEY env var by default)
client = anthropic.Anthropic()
# Make a basic API call
message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Claude! What can you help me with today?"}
]
)
# Extract and print the response text
print(message.content[0].text)
User Request: "Generate code for streaming Claude responses"
Generated Code:
import anthropic
client = anthropic.Anthropic()
# Use streaming for real-time response output
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain quantum computing in simple terms."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
print() # Newline after streaming completes
User Request: "How do I use tool calling with Claude API?"
Generated Code:
import anthropic
import json
client = anthropic.Anthropic()
# Define tools that Claude can call
tools = [
{
"name": "get_weather",
"description": "Get the current weather for a location",
"input_schema": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City and state, e.g. San Francisco, CA"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "default": "fahrenheit"}
},
"required": ["location"]
}
}
]
# Make request with tools
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "What's the weather like in Boston?"}]
)
# Handle tool use response
for block in response.content:
if block.type == "tool_use":
print(f"Tool called: {block.name}")
print(f"Input: {json.dumps(block.input, indent=2)}")
elif block.type == "text":
print(f"Response: {block.text}")
User Request: "Create an API integration with conversation history"
Generated Code:
import anthropic
client = anthropic.Anthropic()
# Maintain conversation history
conversation_history = []
def chat(user_message: str) -> str:
"""Send a message and get a response, maintaining conversation context."""
conversation_history.append({"role": "user", "content": user_message})
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
system="You are a helpful assistant.",
messages=conversation_history
)
assistant_message = response.content[0].text
conversation_history.append({"role": "assistant", "content": assistant_message})
return assistant_message
# Example conversation
print(chat("My name is Alice."))
print(chat("What's my name?")) # Claude remembers context
import anthropic
import os
# Verify API key is set
if not os.environ.get("ANTHROPIC_API_KEY"):
raise ValueError("ANTHROPIC_API_KEY environment variable is not set")
# Initialize client
client = anthropic.Anthropic()
# Create message with all common parameters
message = client.messages.create(
model="claude-sonnet-4-5-20250929", # or claude-opus-4-5-20251101, claude-haiku-4-5
max_tokens=1024,
temperature=0.7, # Optional: 0.0-1.0, lower = more deterministic
system="You are a helpful coding assistant.", # Optional system prompt
messages=[
{"role": "user", "content": "Write a Python function to reverse a string."}
]
)
# Response handling
print(f"Response: {message.content[0].text}")
print(f"Stop reason: {message.stop_reason}") # end_turn, max_tokens, tool_use
print(f"Usage: {message.usage.input_tokens} input, {message.usage.output_tokens} output tokens")
import anthropic
client = anthropic.Anthropic()
# Streaming with full event access
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=2048,
messages=[{"role": "user", "content": "Write a short story about a robot."}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
# Get final message after streaming completes
final_message = stream.get_final_message()
print(f"\n\nTotal tokens: {final_message.usage.input_tokens + final_message.usage.output_tokens}")
import anthropic
import json
client = anthropic.Anthropic()
def execute_tool(name: str, input_data: dict) -> str:
"""Execute a tool and return the result. Implement your tool logic here."""
if name == "calculator":
expression = input_data.get("expression", "")
try:
result = eval(expression) # In production, use a safe math parser
return json.dumps({"result": result})
except Exception as e:
return json.dumps({"error": str(e)})
return json.dumps({"error": f"Unknown tool: {name}"})
tools = [
{
"name": "calculator",
"description": "Evaluate mathematical expressions",
"input_schema": {
"type": "object",
"properties": {
"expression": {"type": "string", "description": "Math expression to evaluate"}
},
"required": ["expression"]
}
}
]
messages = [{"role": "user", "content": "What is 25 * 47 + 123?"}]
# Initial request
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
tools=tools,
messages=messages
)
# Handle tool use loop
while response.stop_reason == "tool_use":
# Process tool calls
tool_results = []
for block in response.content:
if block.type == "tool_use":
result = execute_tool(block.name, block.input)
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# Continue conversation with tool results
messages.append({"role": "assistant", "content": response.content})
messages.append({"role": "user", "content": tool_results})
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
tools=tools,
messages=messages
)
# Print final response
for block in response.content:
if hasattr(block, "text"):
print(block.text)
import anthropic
import time
import random
client = anthropic.Anthropic()
def call_with_retry(messages: list, max_retries: int = 5) -> anthropic.types.Message:
"""Make an API call with exponential backoff for rate limits."""
for attempt in range(max_retries):
try:
return client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=messages
)
except anthropic.RateLimitError as e:
if attempt == max_retries - 1:
raise
wait_time = (2 ** attempt) + random.uniform(0, 1)
print(f"Rate limited. Waiting {wait_time:.2f}s before retry...")
time.sleep(wait_time)
except anthropic.APIConnectionError as e:
print(f"Connection error: {e}. Retrying...")
time.sleep(1)
except anthropic.AuthenticationError as e:
raise ValueError(f"Invalid API key: {e}")
raise Exception("Max retries exceeded")
# Usage
response = call_with_retry([{"role": "user", "content": "Hello!"}])
print(response.content[0].text)
import anthropic
client = anthropic.Anthropic()
# Define a tool with programmatic calling enabled (beta feature)
tools = [
{
"name": "code_executor",
"description": "Execute Python code safely",
"input_schema": {
"type": "object",
"properties": {
"code": {"type": "string", "description": "Python code to execute"}
},
"required": ["code"]
},
"allowed_callers": ["user", "tool"] # Beta: allows programmatic invocation
}
]
# Use beta flag for advanced tool features
response = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
tools=tools,
betas=["advanced-tool-use-2025-11-20"],
messages=[{"role": "user", "content": "Run some Python code to calculate fibonacci(10)"}]
)
for block in response.content:
if block.type == "tool_use":
print(f"Tool: {block.name}, Input: {block.input}")
When generating API integration code, follow these guidelines:
import anthropic, import os, etc.)os.environ.get("ANTHROPIC_API_KEY")AuthenticationError, RateLimitError, and APIConnectionErrorclaude-sonnet-4-5-20250929 for balanced performance, claude-opus-4-5-20251101 for complex tasksend_turn (normal), max_tokens (truncated), tool_use (tool call needed)pip install anthropic
export ANTHROPIC_API_KEY="your-api-key-here"
| Model | Use Case | Model ID |
|-------|----------|----------|
| Sonnet | Balanced performance/cost | claude-sonnet-4-5-20250929 |
| Opus | Complex reasoning tasks | claude-opus-4-5-20251101 |
| Haiku | Fast, simple tasks | claude-haiku-4-5 |
client.messages.create(
model="claude-sonnet-4-5-20250929", # Required: model to use
max_tokens=1024, # Required: max output tokens
messages=[...], # Required: conversation messages
system="...", # Optional: system prompt
temperature=0.7, # Optional: 0.0-1.0 randomness
tools=[...], # Optional: tool definitions
stop_sequences=["END"], # Optional: stop generation triggers
)
ANTHROPIC_API_KEY before creating client; raise clear error with setup instructionsAPIConnectionError, retry with backoffstop_reason is tool_use but no tools provided, handle gracefullylen(message.content) > 0 before accessing content[0]stop_reason is max_tokens, warn user response may be truncatedMachine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/snapshot"
curl -s "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/contract"
curl -s "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 5d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-17T00:21:01.978Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "copy",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "you",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "call",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:copy|supported|profile capability:you|supported|profile capability:call|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Ak Skill",
"href": "https://github.com/ak-skill/cloud-api-invocation",
"sourceUrl": "https://github.com/ak-skill/cloud-api-invocation",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T03:16:45.460Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T03:16:45.460Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/ak-skill-cloud-api-invocation-2/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to cloud-api-invocation and adjacent AI workflows.