▶📚 Playbooks is a semantic programming system for AI agents
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 1f6ee0c · analyzer v33 · 2w ago
skills & prompt files 3
danger signals5
- dynamic code execution eval()/exec() playbooks-ai-playbooks-1f6ee0c/src/playbooks/compilation/expression_engine.py :587
result = eval( - dynamic code execution eval()/exec() playbooks-ai-playbooks-1f6ee0c/src/playbooks/debug/server.py :57
return eval(self.condition, {"__builtins__": {}}, variables) - dynamic code execution eval()/exec() playbooks-ai-playbooks-1f6ee0c/src/playbooks/execution/python_executor.py :236
exec(compiled_code, temp_namespace) - dynamic code execution eval()/exec() playbooks-ai-playbooks-1f6ee0c/src/playbooks/execution/streaming_python_executor.py :333
exec( - dynamic code execution eval()/exec() playbooks-ai-playbooks-1f6ee0c/src/playbooks/playbook/python_playbook.py :73
exec(code_block, namespace_manager.namespace, python_local_namespace)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 255
filesystem 43
- fs (weak) playbooks-ai-playbooks-1f6ee0c/examples/deep_file_researcher/mcp_server.py :8
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/examples/deep_thinker/mcp_server.py :12
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/examples/deepagents/filesystem_mcp.py :9
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/examples/stock-analyst/file_system_mcp.py :9
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/examples/stock-analyst/run.py :3
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/agents/ai_agent.py :12
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/applications/agent_chat.py :13
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/cli.py :201
with open(output_file, "w") as f: - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/compilation/compiler.py :11
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/compilation/import_processor.py :9
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/compilation/loader.py :8
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/config.py :27
from pathlib import Path
show 28 more
- fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/debug/server.py :9
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/llm/messages/types.py :25
with open(prompt_path, "r", encoding="utf-8") as f: - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/main.py :10
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/program.py :13
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/transport/mcp_module_loader.py :11
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/transport/mcp_transport.py :95
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/utils/env_loader.py :2
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/utils/file_utils.py :5
from pathlib import Path - fs playbooks-ai-playbooks-1f6ee0c/src/playbooks/utils/langfuse_export_trace.py :282
with open(fd, "w") as f: - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/conftest.py :2
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli.py :5
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli_compilation.py :6
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli_integration.py :5
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli_utility.py :4
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_compiler.py :9
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_examples.py :3
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_langfuse_trace_structure.py :12
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_mcp_memory_transport.py :5
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_pbasm_support.py :7
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_source_line_numbers.py :141
with open(test_data_dir / "multi-agent.pbasm", "r") as f: - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_source_tracking.py :4
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_web_server.py :98
import pathlib - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/agents/test_agent_source_simple.py :4
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/compilation/test_import_integration.py :6
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/compilation/test_import_processor.py :6
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/compilation/test_loader.py :4
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/compilation/test_loader_improvements.py :6
from pathlib import Path - fs (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/compilation/test_markdown_to_ast.py :899
with open(test_data_dir / "multi-agent.pbasm", "r") as f:
3 more not shown — this panel samples each group; the count above is the real total.
shell / exec 9
- shell (weak) playbooks-ai-playbooks-1f6ee0c/examples/deep_thinker/mcp_server.py :10
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/examples/deepagents/filesystem_mcp.py :7
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/examples/deepagents/shell_mcp.py :7
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/tests/chaos/async_chaos_tests.py :529
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli_integration.py :2
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli_utilities_integration.py :3
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_examples.py :2
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_langfuse_trace_structure.py :10
import subprocess - shell (weak) playbooks-ai-playbooks-1f6ee0c/tests/unit/compilation/test_expression_engine.py :149
"subprocess.call(['rm', '-rf', '/'])",
network 7
- net (weak) playbooks-ai-playbooks-1f6ee0c/examples/deepagents/web_tools_mcp.py :9
import requests - net (weak) playbooks-ai-playbooks-1f6ee0c/examples/stock-analyst/web_mcp.py :9
import requests - net playbooks-ai-playbooks-1f6ee0c/src/playbooks/applications/web_server.py :12
from urllib.parse import urlparse - net playbooks-ai-playbooks-1f6ee0c/src/playbooks/compilation/import_processor.py :11
from urllib.parse import urlparse - net playbooks-ai-playbooks-1f6ee0c/src/playbooks/debug/server.py :5
import socket - net playbooks-ai-playbooks-1f6ee0c/src/playbooks/transport/mcp_module_loader.py :13
from urllib.parse import parse_qs, urlparse - net (weak) playbooks-ai-playbooks-1f6ee0c/tests/integration/test_cli.py :3
import socket
secrets 2
- secrets (weak) playbooks-ai-playbooks-1f6ee0c/examples/deepagents/web_tools_mcp.py :18
TavilyClient(api_key=os.environ.get("TAVILY_API_KEY")) - secrets (weak) playbooks-ai-playbooks-1f6ee0c/examples/stock-analyst/web_mcp.py :41
if not os.getenv("SERPER_API_KEY"):
database 1
- db playbooks-ai-playbooks-1f6ee0c/src/playbooks/utils/llm_helper.py :32
from redis import Redis
declared dependencies 26
- fastmcp@^2.13.1
- dotenv@^0.9.9
- litellm@^1.80.5
- tiktoken@^0.9.0
- diskcache@^5.6.3
- langfuse@^3.10.1
- redis@^7.1.0
- markdown-it-py@^4.0.0
- python-frontmatter@^1.1.0
- rich@^14.2.0
- fastapi@^0.122.0
- orjson@^3.11.4
show 14 more
- apscheduler@^3.11.1
- fastapi-sso@^0.18.0
- websockets@^15.0.1
- bidict@^0.23.1
- pydantic@^2.12.4
- platformdirs@^4.5.0
- simpleeval@^1.0.3
- python-box@^7.3.2
- pytest@^9.0.1
- pytest-asyncio@^1.3.0
- coverage@^7.12.0
- pytest-cov@^7.0.0
- ruff@^0.14.6
- black@^25.11.0