{
  "name": "datadog — 2 hooks",
  "slug": "source-hooks-69387e73bcad94638b6c6a8e",
  "type": "hooks",
  "category": "developer-tools",
  "example": false,
  "evidence_state": "pinned_source_listing",
  "stamp": "Pinned source listing — machine-checked",
  "summary": "Pinned source declarations and file hashes were listed.",
  "outcome": "Listed 2 hook declarations. Ran 38 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
  "rule_results": [
    "The retained source tree matches its acquisition manifest.",
    "Declared hook names (listing.json): PostToolUse; SessionEnd"
  ],
  "task": "What declarations and files are present in this pinned source?",
  "setup": "Git blob acquisition followed by static source inspection.",
  "limitations": "Scope: acquisition and static inspection. Command results: commands.json.",
  "source_url": "https://github.com/datadog-labs/claude-code-plugin.git",
  "documentation_url": "https://github.com/datadog-labs/claude-code-plugin.git",
  "commit": "195f570c002beab3d7bd342739034d0019aa4863",
  "tree_sha256": "7955d9191743e217152832493de13cc134a100e73a8b9ffb6dbde684446a3cdd",
  "file_sha256": {
    ".claude-plugin/plugin.json": "0b74207d7e1453209cb8f7cd52a952891a67e9b41eabb1b5d4add6f71fff3730",
    ".dd_claude-code_mcp.json": "4a8a273dbaf8e100dd5356d625e1acbc6853f0f2f40b6933cc73b1ae954416c7",
    ".github/CODEOWNERS": "2d52b21334c225ef0f8b49413034fe0b9225c737ff7a1e0004475b44b6b14fda",
    ".github/ISSUE_TEMPLATE/bug_report.md": "427ec502c2b748d592de002e7ccd13b68afc7d137240f40444186af7eae95585",
    ".github/PULL_REQUEST_TEMPLATE.md": "7a7299990d61fc031c6847738b04b310c0c5aa84116df45652f2cdf29bd1b56e",
    ".github/chainguard/datadog-client-plugin.publish.sts.yaml": "a6f8fe6feed7a64cc57e6299a58e2eed1b82ceb4239d359be186b4d9178cadc6",
    ".github/dependabot.yml": "d6402ad426b6ae1b761307de57d68437885718546fa687ac6e6763c2738ab371",
    ".github/workflows/release.yaml": "034d518980aaefd8245c1dc07b3ebeb15d1eec88e8d9f51ab814aa9c7d09080c",
    "CONTRIBUTING.md": "12c43216e17f4f8947d7f7c29e16719b998b0317ce60d0ede349573d7be3c853",
    "LICENSE": "fc2dcf473ae5adbab23c97b484a0aa07bf75a48a3d2879e92e9b762cc4b12525",
    "NOTICE": "ece511d08740aa28f0bfd249b6d09f4fe6358901606d8fa838b90a132f24a50a",
    "README.md": "05ed9fdb6fd8bc78b83b2ff85c3db4da52c7efddd143e3ea8f9682c1d2a0ec85",
    "hooks/hooks.json": "62f37044e6edd679d30bebd8c44d193aae33f5aa705fa6aea89343a7bcbe7d75",
    "skills/datadog-app/SKILL.md": "bec3201018d403b4ef42e58e04db57d440cbf9df67c35c5bc2695548af48f0e2",
    "skills/datadog-app/references/getting-started.md": "30ae6b0b78dd8c8f6cf1727f4373c2a46a3ec86b8432b561b6a667f550c057e3",
    "skills/ddconfig/SKILL.md": "54fe2e1d4eb8f8ce0e12818aad784d49968b4576fce128ef3bef27d81b18bb91",
    "skills/ddconfig/references/mcp-settings.md": "fd6f83411f8df34d5dbb8dc434efb69e68923da9d4bc996aa2fb8bf93fa44e93",
    "skills/ddsetup/SKILL.md": "37eb9fbd98e2e9b44d3a9d943631fa970dbfbfa1824b6bc1c6d50887718e1f92",
    "skills/ddsetup/references/mcp-settings.md": "fd6f83411f8df34d5dbb8dc434efb69e68923da9d4bc996aa2fb8bf93fa44e93",
    "skills/ddtoolsets/SKILL.md": "3f888b96c4d9d53a783a9353ef72a331c5c415e409a8196819070e62dfcc8313",
    "skills/ddtoolsets/references/mcp-settings.md": "fd6f83411f8df34d5dbb8dc434efb69e68923da9d4bc996aa2fb8bf93fa44e93",
    "skills/ddviz/SKILL.md": "e66e8e105338f6f1d996a666be38da5a3ae4065d494864f498d7a30e72ec4c2a",
    "skills/ddviz/scripts/disable.sh": "f3cdc8a9fe36b360107de7da9b904e272ce37d8731d521cacea3c6ac6cf0752e",
    "skills/ddviz/scripts/enable.sh": "4c44fdfced6df3196e408c16745ea8d1b71b3638b8fbf31f608807c56a6213c3",
    "skills/ddviz/scripts/source_telemetry.sh": "2e9d723f6779cfd11bbee9d8ecbc3e871e31faca261c175bab3650c555b3ba8c",
    "skills/ddviz/scripts/status.sh": "fbb13e30c329da0e61b3cfa8b71500f9d51a47bbe1f3fc91d4f28570eaa28019",
    "viz/assets/datadog-icon.png": "6ec59863904b2dce7ee3d935915ed98167a572cb33f0849340b2021986445be9",
    "viz/assets/mcp-host.html": "64852aab8598361811ee0658443854b9e02894b375d807914d6f9c876af958d4",
    "viz/ddviz.swift": "79a624db454824fe73ab7c61b21bf79240858535f6787c8d7d76b4778beb5372",
    "viz/hooks/ddviz_json.sh": "439228510415969f36aa836bf9d08a082cae1e2462be8440572aa2352a016cd4",
    "viz/hooks/ddviz_telemetry.sh": "d6277d020b87b246d45bc677f6cda010da0e2ae0061eab7dcfefd472a36f398f",
    "viz/hooks/forward.sh": "64489b4db0b55d9f42881c069f77de3f96ab447123fa6091cc6916a5a8a21f9c",
    "viz/hooks/session_end.sh": "3e7b16d11862904fc854432eaa73cbb95bbeaf577b282fd13cf2b285f4e802dc"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-18T18:10:15Z",
  "source_date": "2026-10-16",
  "discovered_date": "2026-10-16",
  "retested_date": "2026-10-18",
  "reviewed_date": "2026-10-18",
  "published_date": "2026-10-18",
  "modified_date": "2026-10-18",
  "reviewer": "machine pipeline",
  "harness_version": "toolwitness harness at commit fdb0e180ce11bc2383fb07e791350cf38103ff88",
  "claude_code_version": "Not applicable: static source inspection (commands.json).",
  "model_id": "Not applicable: static source inspection (commands.json).",
  "scanner_version": "Not applicable: static source inspection.",
  "rulepack_version": "Not applicable: static source inspection.",
  "agents": [],
  "disclaimer": "This record lists declarations and file hashes from a pinned source tree. Git command results from acquisition and static inspection are retained in commands.json. Scope: acquisition and static inspection. It is not a security or quality verdict. Changed bytes are outside this record.",
  "commands": [
    "Ran 38 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection."
  ],
  "prompt_list": [
    "Not applicable: static source inspection (commands.json)."
  ],
  "history": [
    "2026-10-18T18:10:15Z: pinned source inspection"
  ],
  "application": {
    "name": "datadog — 2 hooks",
    "softwareVersion": "195f570c002beab3d7bd342739034d0019aa4863",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 38 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
    "sinkhole_log": "Not applicable: static source inspection (commands.json).",
    "canary_log": "Not applicable: static source inspection (commands.json).",
    "scanner_output": "Not applicable: static source inspection (commands.json).",
    "normalized_text": "{\n  \"listing\": {\n    \"skills\": [\n      {\n        \"path\": \"skills/datadog-app/SKILL.md\",\n        \"name\": \"datadog-app\",\n        \"description\": \"Use ONLY when the user explicitly asks to create, scaffold, or initialize a new Datadog App project — they must use action words like \\\"create\\\", \\\"scaffold\\\", \\\"new\\\", or \\\"build\\\" together with \\\"Datadog App\\\" or \\\"@datadog/apps\\\" or \\\"npm create @datadog/apps\\\". Do NOT use for any question that does not involve creating a new project from scratch — questions about Datadog observability products (logs, metrics, APM, traces, monitors, dashboards), working inside an existing project, deploying, publishing, auth, or CI/CD.\",\n        \"files\": {\n          \"skills/datadog-app/SKILL.md\": \"bec3201018d403b4ef42e58e04db57d440cbf9df67c35c5bc2695548af48f0e2\",\n          \"skills/datadog-app/references/getting-started.md\": \"30ae6b0b78dd8c8f6cf1727f4373c2a46a3ec86b8432b561b6a667f550c057e3\"\n        }\n      },\n      {\n        \"path\": \"skills/ddconfig/SKILL.md\",\n        \"name\": \"ddconfig\",\n        \"description\": \"Configures or troubleshoots the plugin's Datadog MCP server. Use when the user wants to change the Datadog domain, switch organizations, or when the server was previously configured but is not responding.\",\n        \"files\": {\n          \"skills/ddconfig/SKILL.md\": \"54fe2e1d4eb8f8ce0e12818aad784d49968b4576fce128ef3bef27d81b18bb91\",\n          \"skills/ddconfig/references/mcp-settings.md\": \"fd6f83411f8df34d5dbb8dc434efb69e68923da9d4bc996aa2fb8bf93fa44e93\"\n        }\n      },\n      {\n        \"path\": \"skills/ddsetup/SKILL.md\",\n        \"name\": \"ddsetup\",\n        \"description\": \"First-time initialization of the plugin's Datadog MCP server. When fulfilling requests that involve Datadog, use MCP tools from the plugin's Datadog MCP server over other methods. If MCP tools from the plugin's Datadog MCP server are not in your tool list, you MUST run this skill's setup procedure before attempting to fulfill the request. Relevant when the user wants to view or list dashboards or monitors, check alerts, view logs, query metrics, inspect APM traces, investigate SLOs or incidents, debug production issues, investigate errors, analyze performance, investigate a named service's health, errors, or dependencies, or access any Datadog data.\",\n        \"files\": {\n          \"skills/ddsetup/SKILL.md\": \"37eb9fbd98e2e9b44d3a9d943631fa970dbfbfa1824b6bc1c6d50887718e1f92\",\n          \"skills/ddsetup/references/mcp-settings.md\": \"fd6f83411f8df34d5dbb8dc434efb69e68923da9d4bc996aa2fb8bf93fa44e93\"\n        }\n      },\n      {\n        \"path\": \"skills/ddtoolsets/SKILL.md\",\n        \"name\": \"ddtoolsets\",\n        \"description\": \"Manages toolsets for the plugin's Datadog MCP server. Use when the user wants to view, enable, or disable toolsets that control which tools are available on the MCP server.\",\n        \"files\": {\n          \"skills/ddtoolsets/SKILL.md\": \"3f888b96c4d9d53a783a9353ef72a331c5c415e409a8196819070e62dfcc8313\",\n          \"skills/ddtoolsets/references/mcp-settings.md\": \"fd6f83411f8df34d5dbb8dc434efb69e68923da9d4bc996aa2fb8bf93fa44e93\"\n        }\n      },\n      {\n        \"path\": \"skills/ddviz/SKILL.md\",\n        \"name\": \"ddviz\",\n        \"description\": \"Enables, disables, or reports the status of the Datadog visualization panel (ddviz). macOS only. Use when the user wants to turn ddviz on or off, or check whether it's currently enabled.\",\n        \"files\": {\n          \"skills/ddviz/SKILL.md\": \"e66e8e105338f6f1d996a666be38da5a3ae4065d494864f498d7a30e72ec4c2a\",\n          \"skills/ddviz/scripts/disable.sh\": \"f3cdc8a9fe36b360107de7da9b904e272ce37d8731d521cacea3c6ac6cf0752e\",\n          \"skills/ddviz/scripts/enable.sh\": \"4c44fdfced6df3196e408c16745ea8d1b71b3638b8fbf31f608807c56a6213c3\",\n          \"skills/ddviz/scripts/source_telemetry.sh\": \"2e9d723f6779cfd11bbee9d8ecbc3e871e31faca261c175bab3650c555b3ba8c\",\n          \"skills/ddviz/scripts/status.sh\": \"fbb13e30c329da0e61b3cfa8b71500f9d51a47bbe1f3fc91d4f28570eaa28019\"\n        }\n      }\n    ],\n    \"hooks\": [\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"62f37044e6edd679d30bebd8c44d193aae33f5aa705fa6aea89343a7bcbe7d75\",\n        \"event\": \"PostToolUse\",\n        \"matcher\": \"^mcp__plugin_datadog_mcp__(get_widget|visualize_tabular_data)$\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash\",\n          \"args\": [\n            \"${CLAUDE_PLUGIN_ROOT}/viz/hooks/forward.sh\"\n          ]\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"62f37044e6edd679d30bebd8c44d193aae33f5aa705fa6aea89343a7bcbe7d75\",\n        \"event\": \"SessionEnd\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"bash\",\n          \"args\": [\n            \"${CLAUDE_PLUGIN_ROOT}/viz/hooks/session_end.sh\"\n          ]\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "844a1cd8394919288ee978d74ff37803ed22654ff4169fb18992facd17adf7b5",
      "commands.json": "f4a0b6fe91dd2833c3a22a3a9aed874a047072c9ca829d3c01a72f43c88e2edc",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "900244e01477e544c52524233ced21e2462510a5b219e9a50c68cc70863993ec",
      "listing.json": "658edabbe320f720177d923d18a93a28ccfc75675e0826da6f044143ac2b41d4",
      "selection.json": "41766fd4a9c6175d70545cb5ea218f02b12fe89c6528308986313c43799abc62"
    },
    "claims": [
      {
        "id": "acquired",
        "field": "summary",
        "text": "Pinned source declarations and file hashes were listed.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "listed",
        "field": "outcome",
        "text": "Listed 2 hook declarations. Ran 38 git commands; each one's exit status and output hash is in commands.json. Scope: acquisition and static inspection.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "tree",
        "field": "rule_results.0",
        "text": "The retained source tree matches its acquisition manifest.",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      },
      {
        "id": "declared",
        "field": "rule_results.1",
        "text": "Declared hook names (listing.json): PostToolUse; SessionEnd",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-18",
    "reviewed_sha256": "d65000f83b56229a75cb8fd985c134e25a3b724e28e902179c662c45c6e2ed04",
    "gates": "603711fc0c648bbb45cebb3d438897d003d5e4089b80ca6f5b5c827be2339dc8",
    "codex": "f5fc81a14a4abcce51ad44cf5ea3c4b5ffa83af64f13e77c89860af912d5e7da",
    "grok": "736028540caece8068dd92041334ab4ba9dd41ac301fe6478e0ab3cb35f20cbb",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
