multi-agent-workflow-lab

作者 christiangrey922已验证

Testing and observability for multi-agent delegation, MCP tools, permissions, sandboxed actions, prompts, and workflow replay.

85
Stars
77
Forks
TypeScript
语言
2026/8/24
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/christiangrey922/multi-agent-workflow-lab

快速入门

使用 multi-agent-workflow-lab 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

Multi-Agent Workflow Lab

An open-source testing and observability framework for multi-agent delegation, tool execution, MCP workflows, permissions, sandboxed actions, prompts, and runtime behavior.

Status: Experimental — v0.1.0 release candidate. Suitable for local development, evaluation, and policy testing; not production-hardened infrastructure.

Why this exists

Most model evaluation stops at input → model → output. Multi-agent systems add behavior that a final answer cannot explain:

  • Which agent delegated a task, to whom, and why?
  • What context, permissions, tools, MCP servers, and budget did the child receive?
  • Did an agent attempt privilege escalation, repeat work, or enter a loop?
  • Was the delegation efficient, and was the child result actually integrated?
  • Can the run be inspected, compared, or replayed without repeating side effects?

MAWL makes those decisions explicit, policy-controlled, and traceable. Prompts are versioned assets; delegation is a first-class runtime event; deterministic rules evaluate behavior independently from optional model judges.

Key capabilities

AreaWhat is implemented
Agent runtimeTyped model actions, task limits, cancellation, retries, and deterministic mock execution
DelegationParent/child task graph, target and capability checks, depth/fan-out limits, loop detection, and result integration events
Tool executionRegistry-based invocation with schema validation, allowlists, permissions, policy, optional approval, redaction, timeout, and audit
MCPOfficial stdio and Streamable HTTP client adapters plus an in-memory mock connector; MCP data remains untrusted
SandboxRestricted local-process adapter and optional Docker provider interface with auditable lifecycle events
Identity and permissionsRuntime-issued agent identity, local development auth, deny-by-default permission and contextual policy engines
Prompt systemSemantic versions, SHA-256 hashes, strict variables, trusted/untrusted provenance, and deterministic prompt-injection signals
Input parsingJSON, YAML, Markdown, text, and structured-task normalization
ObservabilityAppend-only events, SQLite/JSONL storage, structured logs, task traces, Mermaid delegation graphs, metrics, budgets, and monitors
EvaluationNine deterministic rules, eight diagnostic dimensions, assertions, YAML specs, run comparison, prompt regression, and optional model judge
ReplayExact reconstruction, dry run, model rerun, and guarded tool rerun
Security testingPrompt injection, escalation, malicious MCP/tool output, secret leakage, traversal, sandbox, recursion, and resource-exhaustion cases

Architecture

flowchart TD
  Input["User or test input"] --> Parser["Input parsers"]
  Parser --> Runtime["Agent runtime + task graph"]
  Runtime --> Delegation["Delegation engine"]
  Delegation --> Guards["Identity + permission + policy"]
  Guards --> Agents["Child agents"]
  Guards --> Tools["Tool executor"]
  Tools --> MCP["MCP connectors"]
  Tools --> Sandbox["Sandbox providers"]
  Agents --> Events["Runtime events"]
  MCP --> Events
  Sandbox --> Events
  Events --> Observe["Trace + metrics + monitors"]
  Events --> Evaluate["Rules + optional judge + replay"]

Quick Start

Requirements: Node.js 22 or newer and pnpm 11.

From a clone or an extracted release archive:

cd multi-agent-workflow-lab
pnpm install --frozen-lockfile
pnpm demo

The demo requires no API key or paid service. A public clone URL can be added after the maintainer chooses and publishes the repository location.

What the demo shows

pnpm demo runs a deterministic review chain through the CLI:

status: completed

orchestrator
  → researcher
    → analyst
      → reviewer
        → evaluator

delegation score: 88.75/100
workflow completed

The actual CLI output is JSON and includes the run ID, every task/agent/status, all eight evaluation dimensions, derived metrics, and the JSONL trace path.

Delegation observability

A trace records behavior rather than only the final answer:

orchestrator
  delegation.requested → researcher
  delegation.created   context + permissions + budget + depth

researcher
  tool.requested       → mcp.mock.search
  policy.allowed       explicit decision evidence
  tool.completed       size + redaction metadata

orchestrator
  delegation.result.accepted → child task integrated

Use these commands after a run:

pnpm mawl trace show <run-id>
pnpm mawl evaluate <run-id>
pnpm mawl graph <run-id>
pnpm mawl replay <run-id> dry-run

Evaluation scores are normalized diagnostics, not mathematical truth or a security guarantee.

Example workflows

WorkflowPurposeExpected result
01-basic-delegation.yamlOrchestrator delegates one bounded research taskCompletes
02-parallel-research.yamlTwo research tasks fan out and an analyst joins themCompletes
03-review-chain.yamlResearcher → analyst → reviewer → evaluatorCompletes
04-permission-denied.yamlDirect delegation to a non-allowlisted targetFails safely
05-mcp-untrusted-output.yamlHostile MCP content is treated as data in the test harnessCompletes safely
06-delegation-loop.yamlAgent A → B → A recursionFails safely
07-human-approval.yamlApproval-provider checkpoint behaviorCompletes; approval logic is tested separately
08-budget-exceeded.yamlWorkflow-wide token budget exhaustionFails safely
09-bad-vs-good-orchestrator.yamlGood baseline for comparative evaluationCompletes

Run any positive example with:

pnpm mawl run workflows/02-parallel-research.yaml

The negative examples intentionally return a non-zero exit code when the requested action is blocked.

Good vs. bad orchestrator

The lab compares a bounded, least-privilege orchestration trace with a synthetic bad trace containing duplicate work, leaked context, escalated permission, and an unauthorized tool request. RunComparator and DelegationEvaluator report changes in:

  • agent selection and delegation edges;
  • task decomposition and depth;
  • context and permission minimization;
  • tool use, retries, tokens, runtime, and failures;
  • result integration and overall diagnostic score.

The executable coverage is in tests/lab.test.ts, with scenario inputs under scenarios/.

CLI

In this workspace, prefix CLI arguments with pnpm mawl:

pnpm mawl run <workflow.yaml> [json-input]
pnpm mawl agents list
pnpm mawl workflow inspect <run-id>
pnpm mawl task inspect <task-id>
pnpm mawl inspect agent permissions <agent-id>
pnpm mawl inspect mcp server [server-id]
pnpm mawl trace show <run-id>
pnpm mawl evaluate <run-id>
pnpm mawl graph <run-id> [output.mmd]
pnpm mawl replay <run-id> [exact|model-rerun|tool-rerun|dry-run]
pnpm mawl compare <run-a> <run-b>
pnpm mawl test <workflow-test.yaml>
pnpm mawl prompts list
pnpm mawl prompts inspect <prompt-id> [version]
pnpm mawl permissions inspect <agent-id>
pnpm mawl doctor

tool-rerun blocks tool names or manifests classified as external side effects unless the embedding application supplies explicit permission for that exact tool. The CLI supplies no side-effect permissions.

Prompts are first-class assets

This is not a directory of free-form prompt snippets. YAML assets under prompts/ include:

  • stable ID and semantic version;
  • owner, type, purpose, and known risks;
  • declared input schema and expected output;
  • allowed actions and recommended capabilities;
  • content hash verified by PromptRegistry;
  • provenance and trust classification when assembled at runtime.

Runtime and security policy layers remain separate from untrusted user, tool, MCP, and child-agent content. Prompt quality tests detect duplicate IDs, invalid versions, missing metadata, variable/placeholder errors, unexpected hashes, and undeclared references.

Security model

  • Permissions and contextual policies deny unmatched requests by default.
  • Agent execution identities are issued by the runtime and linked to workflow/task/session IDs.
  • Child context, authority, and budget are reduced from the parent.
  • MCP responses and model/tool/child output are untrusted data, not authority.
  • Secret references and output redaction limit accidental exposure.
  • Tool requests pass manifest resolution, validation, permission, policy, optional approval, output checks, and audit.
  • Delegation depth, ancestry, task count, retries, calls, tokens, output, and runtime are bounded.
  • Replay refuses external side effects without an explicit per-tool permission.

The restricted local sandbox is intended for development and policy testing. It is not equivalent to hardened container, VM, microVM, or kernel isolation, and network denial is best-effort. MAWL does not claim to be prompt-injection-proof, sandbox-escape-proof, or fully zero-trust. Read the threat model and security policy.

Using a real model provider

The default path always uses MockModelProvider. An optional OpenAI-compatible chat-completions adapter is available in @mawl/providers:

cp .env.example .env

Populate MODEL_PROVIDER, MODEL_ENDPOINT, and MODEL_API_KEY from a secret manager, then inject OpenAICompatibleProvider into the runtime. The CLI intentionally does not auto-load credentials. See provider integration.

Repository structure

multi-agent-workflow-lab/
├── apps/                    CLI and runnable examples
├── packages/
│   ├── core/                Schemas and provider contracts
│   ├── runtime/             Agent loop, tasks, delegation, scheduler, replay
│   ├── evaluation/          Rules, assertions, scores, specs, comparison
│   ├── observability/       Events, traces, graphs, metrics, budgets, monitors
│   ├── tools/ mcp/ sandbox/ Controlled execution surfaces
│   ├── auth/ permissions/ policy/ security/ secrets/
│   └── prompts/ parsers/ providers/ storage/ testing/
├── agents/                  Agent definitions
├── prompts/                 Versioned prompt assets
├── workflows/               Executable workflow examples
├── examples/                Compatibility examples and guide
├── scenarios/ redteam/      Deterministic failure and attack inputs
├── tests/                   Unit, security, lab, and end-to-end tests
├── config/                  Example pricing configuration
└── docs/                    Architecture, operations, security, and release docs

Testing and development

All default tests use local mock providers and require no external API access:

pnpm install --frozen-lockfile
pnpm typecheck
pnpm lint
pnpm build
pnpm test
pnpm test:e2e
pnpm test:security
pnpm demo
pnpm mawl doctor

To extend the framework, add YAML agents under agents/, versioned prompts under prompts/, workflows under workflows/, tool manifests through ToolRegistry, MCP adapters through McpConnection/McpConnector, rules through RuleEvaluator, and scenario coverage under tests/ or scenarios/. See the documentation index and contributing guide.

Roadmap

  • distributed execution and atomic shared budgets;
  • hardened remote container or microVM sandbox providers;
  • OpenTelemetry exporters and remote observability storage;
  • additional model, identity, and MCP adapters;
  • workflow visualization UI and benchmark datasets.

Contributing, security, and license

Contributions to agents, prompts, tools, MCP connectors, workflow scenarios, evaluators, and security tests are welcome. Read CONTRIBUTING.md and CODE_OF_CONDUCT.md.

Report vulnerabilities privately as described in SECURITY.md. Do not place sensitive vulnerability details in public issues.

Licensed under the MIT License.

常见问题

What is multi-agent-workflow-lab?

multi-agent-workflow-lab is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by christiangrey922. Testing and observability for multi-agent delegation, MCP tools, permissions, sandboxed actions, prompts, and workflow replay. It has 85 GitHub stars.

Is multi-agent-workflow-lab safe to use?

Yes. multi-agent-workflow-lab passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install multi-agent-workflow-lab?

Clone the repository with "git clone https://github.com/christiangrey922/multi-agent-workflow-lab" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is multi-agent-workflow-lab written in?

multi-agent-workflow-lab is primarily written in TypeScript. It is open-source under christiangrey922 on GitHub, so you can review or fork the full source.

Are there alternatives to multi-agent-workflow-lab?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh multi-agent-workflow-lab against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情