Skill119 repo starsupdated 2d ago
agentscope
AgentScope is a framework for building AI agents with full observability through execution tracing, decision logging, and live debugging. Use it when you need transparent insight into agent behavior, want to understand why agents make specific choices, or require monitoring integration with tools like OpenTelemetry, Prometheus, Datadog, and Grafana for production agent systems.
Install in Claude Code
Copygit clone --depth 1 https://github.com/TerminalSkills/skills /tmp/agentscope && cp -r /tmp/agentscope/skills/agentscope ~/.claude/skills/agentscopeThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# AgentScope
Build transparent, observable AI agents using [AgentScope](https://github.com/agentscope-ai/agentscope) — a framework for creating agents you can see, understand, and trust with full execution tracing and debugging.
## Overview
AgentScope provides three pillars of observability for AI agents: execution tracing (every step recorded with inputs, outputs, timing), decision logging (why the agent chose action A over B), and live debugging (inspect, pause, and replay agent executions). It integrates with monitoring stacks like OpenTelemetry, Prometheus, Datadog, and Grafana.
## Instructions
### Installation
```bash
pip install agentscope
```
Or with Node.js:
```bash
npm install agentscope
```
### Basic Agent with Tracing
```python
from agentscope import Agent, Tracer
tracer = Tracer(output="./traces/")
agent = Agent(
name="research-assistant",
model="claude-sonnet-4-20250514",
tracer=tracer,
)
result = agent.run("Summarize the key findings from this paper")
trace = tracer.latest()
print(f"Steps: {trace.step_count}")
print(f"Duration: {trace.duration_ms}ms")
print(f"Tokens used: {trace.total_tokens}")
for step in trace.steps:
print(f" [{step.type}] {step.name}: {step.duration_ms}ms")
print(f" Input: {step.input[:100]}...")
print(f" Output: {step.output[:100]}...")
```
### Decision Logging
Track why an agent made specific choices:
```python
from agentscope import Agent, DecisionLogger
logger = DecisionLogger(
log_alternatives=True,
log_reasoning=True,
)
agent = Agent(
name="trading-agent",
model="claude-sonnet-4-20250514",
decision_logger=logger,
tools=["market-data", "portfolio", "trade-executor"],
)
result = agent.run("Review portfolio and suggest rebalancing")
for decision in logger.decisions:
print(f"Decision: {decision.action}")
print(f"Reasoning: {decision.reasoning}")
for alt in decision.alternatives:
print(f" - {alt.action} (score: {alt.score:.2f}, rejected: {alt.rejection_reason})")
```
### Multi-Agent Observability
```python
from agentscope import AgentTeam, Tracer, Dashboard
tracer = Tracer(output="./traces/")
team = AgentTeam(
agents=[
Agent(name="researcher", model="claude-sonnet-4-20250514", role="research"),
Agent(name="analyst", model="claude-sonnet-4-20250514", role="analysis"),
Agent(name="writer", model="claude-sonnet-4-20250514", role="writing"),
],
tracer=tracer,
coordination="sequential",
)
result = team.run("Create a market analysis report for Q4 2025")
for message in tracer.messages():
print(f"[{message.sender} → {message.receiver}] {message.content[:80]}...")
dashboard = Dashboard(tracer)
dashboard.serve(port=8080)
```
### Structured Audit Trails
```python
from agentscope import Agent, AuditTrail
audit = AuditTrail(
storage="./audit_logs/",
format="jsonl",
include_timestamps=True,
redact_pii=True,
)
agent = Agent(
name="claims-processor",
model="claude-sonnet-4-20250514",
audit_trail=audit,
)
result = agent.run("Process insurance claim #12345")
report = audit.export(
trace_id=result.trace_id,
format="pdf",
include_decisions=True,
)
report.save("audit-claim-12345.pdf")
```
### OpenTelemetry Integration
```python
from agentscope import Agent, Tracer
from agentscope.exporters import OTelExporter
exporter = OTelExporter(
endpoint="http://localhost:4317",
service_name="my-agent-service",
)
tracer = Tracer(exporters=[exporter])
agent = Agent(name="support-agent", model="claude-sonnet-4-20250514", tracer=tracer)
# Traces automatically appear in Jaeger/Grafana/Datadog
```
## Examples
### Example 1: Debug a Multi-Agent Research Pipeline
```python
from agentscope import AgentTeam, Tracer, Replayer
tracer = Tracer(output="./traces/")
team = AgentTeam(
agents=[
Agent(name="researcher", model="claude-sonnet-4-20250514", role="research"),
Agent(name="analyst", model="claude-sonnet-4-20250514", role="analysis"),
],
tracer=tracer,
)
result = team.run("Analyze Q4 revenue trends for FAANG companies")
# Replay and inspect each step
trace = tracer.latest()
replayer = Replayer(trace)
for step in replayer:
print(f"Step {step.index}: {step.name} — {step.duration_ms}ms")
if step.is_decision:
print(f" Chose: {step.decision.action}, Alternatives: {len(step.decision.alternatives)}")
```
### Example 2: Production Audit Trail for Insurance Claims
```python
from agentscope import Agent, AuditTrail
from agentscope.exporters import PrometheusExporter
audit = AuditTrail(storage="./audit_logs/", format="jsonl", redact_pii=True)
metrics = PrometheusExporter(port=9090)
agent = Agent(
name="claims-processor",
model="claude-sonnet-4-20250514",
audit_trail=audit,
tracer=Tracer(exporters=[metrics]),
)
result = agent.run("Process insurance claim #67890 for water damage — $12,400")
report = audit.export(trace_id=result.trace_id, format="pdf", include_decisions=True)
report.save("audit-claim-67890.pdf")
# Prometheus exposes: agent_step_duration_seconds, agent_total_tokens, agent_error_count
```
## Guidelines
- Enable `log_alternatives=True` during development to understand agent decision-making
- Use the Dashboard web UI for visual debugging — much easier than reading JSON traces
- Set `redact_pii=True` in production to avoid logging sensitive data
- OpenTelemetry export integrates with existing monitoring stacks (Datadog, Grafana, New Relic)
- For multi-agent systems, trace inter-agent messages to find communication bottlenecks
- Execution replay is invaluable for reproducing bugs — save traces from production errors
- Keep audit trail storage separate from application logs for compliance isolationMore from this repository
PULL_REQUEST_TEMPLATESkill
3dsmax-renderingSkill
>-
3dsmax-scriptingSkill
>-
3proxySkill
>-
a2a-protocolSkill
>-
ab-test-setupSkill
When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," or "hypothesis." For tracking implementation, see analytics-tracking.
ablySkill
>-
accessibility-auditorSkill
>-