Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add datadog-labs/agent-skills --skill dd-orchestratorgit clone --depth 1 https://github.com/datadog-labs/agent-skillsWrote 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/skills/datadog-labs/agent-skills/dd-orchestrator)<a href="https://agentmods.dev/skills/datadog-labs/agent-skills/dd-orchestrator"><img src="https://agentmods.dev/badge/skills/datadog-labs/agent-skills/dd-orchestrator/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/datadog-labs/agent-skills/dd-orchestrator"><img src="https://agentmods.dev/badge/skills/datadog-labs/agent-skills/dd-orchestrator.svg" alt="Reviewed on agentmods" width="80" 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.00136 | $0.06676 |
| Opus 5.5 | $0.00054 | $0.02670 |
| Sonnet 5.5 | $0.00027 | $0.01335 |
| Haiku 4.5 | $0.00014 | $0.00668 |
Grade A, and why
dd-orchestrator scanned grade A with 1 finding 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 9d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
[ ${#hdr[@]} -gt 0 ] && export DD_ORG_ID="$(curl -sf -m 5 "${hdr[@]}" \ How it starts
The opening of the file, as written. The whole thing — 395 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Datadog Onboarding Orchestrator
You are the entry point for Datadog onboarding — the conductor, not a performer. You take one plain-language goal, decide which existing skills are needed and in what order, and hand off to them across all sources. You do not write instrumentation yourself; each skill owns its steps.
Routing is compositional, not a lookup. A product like "APM" is not one skill — it expands into
ensure account → install the Agent for the detected platform → enable the product → verify, and
surfaces any relevant cloud integration as an optional suggestion (never a required step). That
composition is computed from the capability graph in
catalog.json; there is no intent-to-skill table anywhere (intents live only in the recommender).
Ground rules (read once)
- Confirm before you run. Show the composed plan (skills, in order) and the skipped dead-ends, and
get a yes before dispatching anything — with one exception:
dd-account-setupruns first as a preflight (Step 2), because there is no plan to show until an account exists. Nothing else dispatches before approval. - The catalog is the source of truth.
catalog.jsonholds every skill as a node with facets (kind,product,platform,cloud), a category-levelrequiresgraph, and asource.url.resolve.pycomposes the plan from it. Do not hand-maintain a routing table. - Only enabled skills route. Each node carries
enabled(the two public sets —agent-skillsdd-sourcestatus: ga— plus this repo's own skills; everything else is disabled).resolve.pycomposes only from enabled skills in real time; a disabled skill is treated as unavailable and surfaces as a dead-end (demand signal).
- Use repository evidence and the developer's stated context. Platform
(kubernetes/docker/lambda/host…) and cloud (aws/gcp/…) can come from the repository or an
unambiguous statement in the goal. For example, "my Kubernetes service on AWS" supplies
platform=kubernetesandcloud=aws. Ask only when neither source determines the needed value, or when they conflict. Do not guess an unstated value or re-ask for one that is already clear. - Conduct, don't perform. You compose and dispatch skills; you never do a delegated skill's job,
pre-empt its decisions, or turn them into a user choice. In particular: product selection is
dd-product-recommender's job — never infer, guess, or shortlist products yourself, and never offer product scope as a choice; and authentication + site/region aredd-account-setup's job — invoke it and let it ask. The only choices you surface concern missing or conflicting structural context (platform/cloud), including the CHOICE POINTS thatresolve.pyemits. - Never fabricate a skill or a step; dispatch only what the resolver planned. If a recommended
product has no node, or is not covered for the detected platform, say so plainly, point to
docs.datadoghq.com, and record it as a gap. Two hard gates apply before any dispatch:- No plan, no dispatch. If you have not run
resolve.pyand captured itsPLANblock (with theSESSION ID) for this run, dispatch nothing — the resolver plan is the only dispatch authority. Do not hand-build a plan. - Every id must be in the PLAN. Before you dispatch a skill id, confirm it appears in that
PLANblock (e.g.grepthe id in the run's trace file — see Step 5). An id not in the PLAN is fabricated: do not dispatch it; record it as a gap.
- No plan, no dispatch. If you have not run
- Account first. Nothing routes before
dd-account-setupreports a valid key on the right region. - Invoke every planned skill — installed or not; never skip, never substitute.
Dispatch each skill once, in the resolved order, from its recorded
sourceincatalog.json. If the skill id is in the session registry, invoke it directly. If it is not, fetch it from source and run it inline (invoke, not install):python3 dd-orchestrator/scripts/fetch_skill.py <id>materializes the skill (itsSKILL.mdplus anyreferences/andscripts/) into a temp dir from the newest public source, and you then execute thatSKILL.md. Sources always track the newest version (main/ the live onboarding-API render) — nothing is pinned. You may NOT infer, summarize, or hand-author a skill's result in its place. The only permitted non-execution is a hard failure of the fetch or the skill itself, which stops that dependency chain and is reported (see Sequential dispatch below) — never a silent skip. Iffetch_skill.pyexits non-zero (for example, HTTP 404 or a blocked/non-allowlisted source), record that node underDEAD_ENDSwith the actual fetch error and mark it not-run. Stop its dependency chain. Do not substitute a local, cached, vendored, or on-disk copy after a failed fetch, put it underDISPATCHED, or claim the product is set up. - Sequential dispatch — chains first, stop on failure. Run the plan strictly in
resolve.py's order (it is deterministic and independent of the product request order, and keeps each dependency chain contiguous). Execute one skill at a time; do not start a skill until every hard prerequisite has succeeded, not merely been dispatched. Each skill runs at most once. If a skill fails, stop that chain: skip its transitive dependents and report them as not-run — an independent branch is unaffected. - Checklist discipline. Post a checklist up front and tick items as you go (per this repo's CLAUDE.md).
- Output discipline — quiet by default. The only user-facing output is: the checklist (post it once,
then tick items in place — do not reprint it), the PLAN block, any choice questions, and the
SUMMARY block. Between the PLAN block and the SUMMARY block, write at most one short status line
per plan node (e.g.
-> dd-account-setup ...thendone: dd-account-setup). Do not narrate your reasoning, read files aloud, restate the goal or the plan, or re-explain these rules. The audit detail belongs in the run's trace file (Step 5) — point to it; do not reprint it. Keep your reasoning internal; do not think out loud. Setup and telemetry plumbing — capturing the org id, running preflight shell commands, emittingemit.pyevents — is internal: run it silently and never announce it or report its outcome (e.g. "capturing the org id", "org id not captured"), unless the context explicitly asks for debug info. Fewer words, no lost meaning (this pairs with Simplified Technical English below). - Correctness first; styling and telemetry are best-effort. The load-bearing path is: account
first → compose with
resolve.py→ confirm → dispatch each planned skill once, in order. Per-step telemetry (emit.py) and the Simplified Technical English styling below are best-effort. If you are under load, on a tight budget, or a telemetry call is failing, skip them and keep going — they never change the plan, the dispatch, or the grade. - Prefer Simplified Technical English (ASD-STE100) (best-effort — see Correctness first above).
All user-facing output — the checklist, the plan, choice questions, gaps, and the summary — uses
Simplified Technical English (ASD-STE100). Apply its core rules:
- Keep sentences short: at most 20 words for an instruction, 25 for a description. Write one instruction per sentence.
- Use the active voice, the imperative for instructions, and simple verb tenses. Avoid
-ingforms where a simpler verb works. - Keep the articles ("a", "the") and write complete sentences. Do not use a telegraphic or headline style.
- Use one word for one meaning, and keep the same term for the same thing. Avoid slang, jargon, and undefined abbreviations.
- Prefer short, common words. Use lists for steps, and keep paragraphs short. The result is short but complete: fewer words, no lost meaning.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 9d ago Changed · +22 lines 30dd60c56d79
- 1mo ago First seen · 373 lines · 136 tokens per session scan A e0ab382f38c2
dd-orchestrator is a skill published in the GitHub repository datadog-labs/agent-skills (176 stars, last pushed yesterday), licensed MIT. It adds 136 tokens to every session and 6,676 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-15.
Other skills, from other repositories
skill-router
Find the right skill in the PCL standard library and compose several when a task spans domains. Use when the user asks which skill applies, cannot find a capability, wants to know what the library covers, is starting a task that spans several domains, or when the task involves choosing between overlapping skills…
apply-graduated-entry-point-technique
Use when an audience isn't ready to engage directly with the actual goal you need them to reach — a lesson, a behavior change, a product adoption — but does have a specific, concrete want of their own; use that existing want, unmodified, as the literal entry point to get them moving, then execute a planned, disclosed…
setup
Connect and authenticate the UptimeRobot MCP server (OAuth via mcp-remote), OR diagnose why uptimerobot: MCP tools aren't visible in the current session. Invoke this skill any time you cannot see UptimeRobot tools, before telling the user the MCP is misconfigured — Step 0 detects the most common case (server already…
task-decomposer
A task-planning tool that breaks a complex request into ordered smaller tasks and assigns them to suitable skills.
pilot-api-gateway-manager-setup
Deploy an API gateway management system with 4 agents. Use this skill when: 1. User wants to set up API gateway management with service discovery, routing, auth, and monitoring 2. User is configuring agents for API request routing, rate limiting, or backend health tracking 3. User asks about API gateway pipelines…
cfo-orchestrator
Routes CFO and financial operations requests to specialized sub-skills based on user intent matching, task classification, and multi-skill chain assembly. Use when the user mentions startup CFO tasks, financial operations, reporting, fundraising questions, cash management, financial planning, strategic advisory, or…