Borrowing it
Nothing to install: this file belongs to PleasePrompto/ductor. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/PleasePrompto/ductor/main/CLAUDE.mdgit clone --depth 1 https://github.com/PleasePrompto/ductorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/pleaseprompto/ductor/claude-md)<a href="https://agentmods.dev/instructions/pleaseprompto/ductor/claude-md"><img src="https://agentmods.dev/badge/instructions/pleaseprompto/ductor/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.01808 | $0.01808 |
| Opus 5 | $0.00904 | $0.00904 |
| Sonnet 5 | $0.00362 | $0.00362 |
| Haiku 4.5 | $0.00181 | $0.00181 |
Grade A, and why
ductor CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
89% identical to ductor AGENTS.md — 15 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.
This file gives coding agents a current map of the repository.
Project Overview
ductor is a multi-transport chat orchestrator for the official provider CLIs (claude, codex, gemini, agy, grok).
It runs Telegram, Matrix and/or Slack, can expose an optional direct WebSocket API, keeps state under ~/.ductor, and supervises the main agent plus optional sub-agents in one asyncio process.
Stack:
- Python 3.11+
- aiogram 3.x (Telegram)
- matrix-nio (Matrix, optional extra)
- slack-bolt (Slack, optional extra)
- aiohttp (webhook server, internal API, optional direct API)
- Pydantic 2.x
- asyncio
Development Commands
# Setup
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Run
ductor
ductor -v
# Tests
pytest
pytest -k "pattern"
# Quality
ruff format .
ruff check .
mypy ductor_bot
Runtime Flow
Telegram:
Update -> AuthMiddleware -> SequentialMiddleware -> TelegramBot
-> Orchestrator -> CLIService -> provider subprocess -> Telegram delivery
Matrix:
sync event -> MatrixBot auth/room checks -> Orchestrator
-> CLIService -> provider subprocess -> Matrix delivery
API (optional):
/ws auth (token + e2e_pk + optional chat_id/channel_id)
-> encrypted frames -> Orchestrator streaming -> encrypted result events
Background and async delivery:
Observer / TaskHub / InterAgentBus callback
-> bus.adapters -> Envelope -> MessageBus
-> optional shared lock + optional session injection
-> registered transport adapters (TelegramTransport / MatrixTransport)
Module Map
| Module | Purpose |
|---|---|
cli_commands/ |
CLI command implementations (service, docker, api, agents, lifecycle, install, status) |
messenger/ |
transport protocol, capabilities, notifications, registry, multi-transport adapter |
messenger/telegram/ |
Telegram transport: middleware, handlers, startup, callback routing, file/media UX |
messenger/matrix/ |
Matrix transport: sync loop, auth, segment streaming, reaction buttons, media |
messenger/slack/ |
Slack transport: Socket Mode bot, native streaming, ID mapping, sender/media |
orchestrator/ |
command routing, directives/hooks, flows, provider/session/task wiring, lifecycle split |
bus/ |
unified Envelope, MessageBus, shared LockPool, delivery adapters |
cli/ |
provider wrappers, stream parsing, auth detection, model caches, process registry |
session/ |
SessionKey(transport, chat_id, topic_id), provider-isolated session buckets, named sessions |
tasks/ |
delegated background task runtime (TaskHub) and persistent registry |
background/ |
named background session execution for /session |
multiagent/ |
supervisor, inter-agent bus, internal localhost API bridge, shared knowledge sync |
api/ |
optional direct WebSocket API and authenticated file endpoints |
cron/, webhook/, heartbeat/, cleanup/ |
in-process automation observers |
workspace/ |
~/.ductor path model, seeding, rule deployment/sync, skill sync |
infra/ |
PID lock, service backends, Docker manager, restart/update/recovery helpers |
files/ |
shared file/path safety, MIME detection, image processing (image_processor.py: resize/convert incoming images) |
security/, text/ |
prompt safety, formatting helpers |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 185 lines · 1,808 tokens per session scan A 4af6018ecd2f
ductor CLAUDE.md is an instructions file published in the GitHub repository PleasePrompto/ductor (454 stars, last pushed 1mo ago), licensed MIT. It adds 1,808 tokens to every session, about $0.0090 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to ductor AGENTS.md, differing in 15 lines, and is treated as a copy.
Other instructions, from other repositories
codex AGENTS.md
AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).
spec-kit AGENTS.md
AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.