Weave is an agentic platform that takes boring, repetitive engineering work off your team, so humans can keep building what they love.
It can investigate incidents by analyzing logs and metrics, execute runbooks, and handle ad-hoc engineering requests such as:
- "Can you check if we already have a bug on our board for login failures?"
- "Can you inspect this repo and tell me whether feature flags gate payments?"
- Why Weave
- What Weave Can Do
- Core Concepts
- Quick Start
- Example Requests
- Configuration
- Project Layout
- Developing Locally
- Contributing
- License
Engineering teams lose time on repetitive operational work:
- Triaging noisy alerts
- Correlating logs and metrics across systems
- Running the same investigation workflows repeatedly
- Handling "quick checks" across tools like issue trackers and code repos
Weave turns these tasks into agent workflows with reusable skills and tools, so investigations are faster, more consistent, and easier to scale.
- Incident triage using logs, metrics, and structured investigation steps
- Automated runbook execution for repeatable ops workflows
- Ad-hoc engineering requests across integrated systems
- Multi-step orchestration with planning, execution, and synthesis
- Local tool + MCP server composition in one skill run
skills: reusable YAML-defined workflows (instructions/schemas/model, and optional steps)tools(capabilities): local callable functions used by skillsmcp_servers: remote capability providers attached to skills via MCP
A skill can call both local capabilities and remote mcp_servers in the same execution.
- Python
3.11+ uv
From orchestrator/:
uv syncCreate orchestrator/.env:
ORCHESTRATOR_DEBUG=true
OPENAI_API_KEY=<your_openai_api_key>Update orchestrator/config.yaml for your environment (MCP servers, log sources, auth headers, etc.).
uv run orchestratorDev alternative:
uv run uvicorn src.main:app --reloadServer: http://localhost:9999
curl http://localhost:9999/healthExpected response:
{"status":"ok","service":"orchestrator"}Weave orchestration runs through POST /tasks/run.
curl -X POST http://localhost:9999/tasks/run \
-H "Content-Type: application/json" \
-d '{
"skill_id": "git_inference",
"task": "Check whether this repo has a payments service and whether feature flags control it.",
"tenant_id": "default",
"context": {},
"input": {
"repo": "https://github.com/open-telemetry/opentelemetry-demo",
"question": "Check whether this repo has a payments service and whether feature flags control it."
}
}'{
"skill_id": "log_analysis",
"task": "Investigate repeated login failures in production in the last 30 minutes.",
"tenant_id": "default",
"context": {
"service": "auth-service",
"environment": "prod"
},
"input": {
"objective": "Find likely root cause and next action for login failures."
}
}Notes:
skill_idlets you force a preferred skill before planner fallback.inputmust satisfy the selected skill'sinput_schema.- Output includes synthesized summary, step-level execution details, and token cost metadata.
Add skills in:
orchestrator/skills/defaults/for versioned default skillsorchestrator/skills/<tenant_id>/for tenant-specific overrides
Minimal skill example:
id: my_new_skill
name: My New Skill
description: Summarize a production issue with key evidence.
kind: simple
instructions: |
You are an SRE assistant. Analyze the input and return a concise, actionable summary.
capabilities:
- opensearch_fetch_logs
model: gpt-5.1
input_schema:
type: object
properties:
objective:
type: string
required: [objective]Configure under orchestrator/config.yaml in top-level mcp:
mcp:
github:
enabled: true
type: streamable_http
url: https://api.githubcopilot.com/mcp/x/repos/readonly
headers:
Authorization: "Bearer <YOUR_PAT>"
timeout: 15
sse_read_timeout: 300
cache_tools_list: trueAttach to a skill:
mcp_servers:
- githubTransport requirements:
type: stdiorequirescommand(optionalargsandenv)type: sseandtype: streamable_httprequireurl
weave/
docker-compose.yml
README.md
orchestrator/
config.yaml
pyproject.toml
skills/
defaults/
<tenant_id>/
src/
api/
agent_factories/
config/
core/
domain/
infrastructure/
integrations/
tests/
Run tests from orchestrator/:
uv run pytestContributions are welcome. See CONTRIBUTING.md for setup, coding standards, testing expectations, and the PR checklist.
This repository is licensed under the terms in LICENSE.