{
  "name": "crowdstrike-falcon-foundry — 5 hooks",
  "slug": "source-hooks-8d43c4dad27a1ccf5d100e79",
  "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 5 hook declarations. Ran 132 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): SessionStart; UserPromptSubmit; PreToolUse; PreToolUse; PreToolUse"
  ],
  "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/CrowdStrike/foundry-skills.git",
  "documentation_url": "https://github.com/CrowdStrike/foundry-skills.git",
  "commit": "61572f38592d47c747e2595182459781bf0bc679",
  "tree_sha256": "a039a15867d1893fc1eb5e2c80759f2827f3604aa705b5f22a3509b51e98cba2",
  "file_sha256": {
    ".agents/plugins/marketplace.json": "9fd993512f8677e30aac3107e424862a631a68f21f8af8b7e8db9026baaff508",
    ".claude-plugin/marketplace.json": "ed3cff25d4ebf49de5d2ed3146310c11d5a03a050698e213e87493972ee78315",
    ".claude-plugin/plugin.json": "c847d8ce9c1aec79bf7a6ead2e25762a1e512f522a379b02d67d6a1fe30e00c6",
    ".codex-plugin/plugin.json": "4eb6889b577e8bb0ef0d499c9e3ec6c42e9494b3bfea460804d3ba9bac7ee91c",
    ".coveragerc": "f995a9e6a8d7f9844cc5bf31ac9857e54cf4c6a9cfaed1dd4558bf2f356ba584",
    ".cursor-plugin/plugin.json": "dcecda6f7a24af1bfcdd76ef55c9107af093279396e8274db981d591b42a7e79",
    ".cursorrules": "148332e763b39ef6f8fb5843901173ab8ca7a4c8d2f3d1c0cabce245e4ce9d55",
    ".github/copilot-instructions.md": "704fa0fa3453495e1ade199ab911618ecbc980535d510f0b49e601a1c78e271b",
    ".github/dependabot.yml": "b158427b595cd0574ef5fe8877ef30202dc09135d7da55a49b8d54352affdb6b",
    ".github/workflows/main.yml": "ea8b2f17c3466d3d16f5f58abfe4037fa800dc492f2d875bc91348ebb35d3b15",
    ".gitignore": "cc9be9b6624bfb2d146837982f0d839bb9fd826d79b51d937ec6bf1bff0e692e",
    ".markdownlint.json": "79df006e2df41aec461a46856677090f5725af651e0d935b3faf981cd20a48f4",
    ".pylintrc": "db3dafb1571d21a59e82d44e878add6d333333c60b406151471c127a51094407",
    "AGENTS.md": "76f1b0f2be332df98c97cc587af316d76f5fae4169a93e5f85630faf8ecf5f8b",
    "CHANGELOG.md": "dc3975fc025e28b460930e164c6736ade1fa18fa990ae629ece199fb240ce202",
    "CITATION.cff": "3ef23a733390bd0c0bc559efd1c3e215473e28ac0db3fe7740faa02ddeface7d",
    "CLAUDE.md": "5758ddbdb24b03e5b596419d308f4e961db688ac19afc3fbec66ee44bbaa101b",
    "CODE_OF_CONDUCT.md": "49a57656b2ce23ffe9d87515ab553dbd20f3f410522fc7b3e618aefe91fa41dd",
    "CONTRIBUTING.md": "e5b4586553628942b45b02a4147764576acba7619e55e966f0e9f84c4fb93cc3",
    "LICENSE": "98e0a8035cd69aa3f126e1f6c4f3922d350cb2253ad79807f895d9d04e373d46",
    "README.md": "2fbaa673dd7d8cae86f3623732f1705c712a701b188d9898b85aa7f3cbfdb08c",
    "SECURITY.md": "9a9c0358a5c70a1e3accf4e491f653cdf3a44f4ab0ba33dad6568c6b58d64a13",
    "SUPPORT.md": "4ec0ff4c02a23217d0ebfac053cec57ad4bed00d561fa8f59b78e2753084ef38",
    "assets/crowdstrike-logo.png": "5132bd5af60a22182bd531e1e9e3f0f11784038b0ef2ef611459af7b80cb6ff9",
    "hooks/foundry-cli-guard.sh": "c38f9051df207dab7421d3e6d3f3e389f308f3491a790c7242fc838011d71567",
    "hooks/foundry-session-start.sh": "0bc804f23203bab8b9184b99db7fe58de5f77de1c875a59d362fc6725a84c535",
    "hooks/foundry-skill-router.sh": "5f765b11841edc52298f32e355c0dbf745f82ed32dc7ec421b2f902184bded92",
    "hooks/hooks-cursor.json": "d738b9962b3ea1548d9cdc2749b8d9282c4589ef819c985d122e8d3488a07996",
    "hooks/hooks.json": "fbc8f56395cfe6519ceddf05f3a3cb08a14739bda083713246547d1103ad4899",
    "hooks/host-output.sh": "999b432871924eec6d64401cb085695cc141738e3339be852233d1383f2a16ca",
    "hooks/superpowers-foundry-bridge.sh": "c19991016ab161a731aad543607d39b168a7c4ead4664f26e2e03913a67971ce",
    "images/adversary-bear.png": "82c1ef74598208027385cdf368ecfcaa91fa9b62bacbbcea69d7c8407ec7f0eb",
    "images/adversary-goblin-panda.png": "a381665b744e6ffab99fe54a08a3c480a01a26211cfb3b4ccc06171335a32692",
    "images/alliance-team.png": "eff8eeff2d447aa0bfd5b5ccac6a565ed5ed42894db58a5c136a2ca82e503dc0",
    "images/cs-logo-footer.png": "77f33b2dc2eae6fb655c257bfa1d8a13f5d945c1c1e8cba358e93274c673c523",
    "images/cs-logo.png": "61f4d2f3d6ec66f6fc081e554339de247cf2cda4f7192cb26fe24e2ef3bce45b",
    "images/falcon-logo.png": "ca92a2c5440c8b5a0bfb9e0cc2742648943c4a844ef6e6349ba22984a1a61522",
    "images/hollywood-adversaries.jpg": "e3d9e1754c16fba4ce190a291e99224acdec24ec80a5e86ed20cbe626b11b501",
    "images/image-dark.png": "41209088963392e328805d609cb2ba9ce57b92883fa69db03cb2d9b3fe89032c",
    "images/image-light.png": "6cc27a8fefd6f99437122981e7e9d7779be2a5677ac3b10134fad56989630d2e",
    "images/turbine-panda.png": "2ad1fc483770f65512f1a4a9e313180186e5f715f3049f0d6394456f29e880d8",
    "plugin.json": "0489f89432ede4da6dffbc694cd639f2936f2ea56175b1ec065331a1e86e64da",
    "release.sh": "1744275e33f940795c85161e3ff70ed2b5615c1d247ef992717853d77fdd63a7",
    "requirements-test.txt": "e42a495e8555aacaeca16160061803ba4256fb25591bf2eeaa940aece12c20e3",
    "requirements.txt": "512249ffb3d6c6aed0bbabc674577f4383178c878a29a7e93e986fea90e9c7e4",
    "run-ab-test.sh": "12e0e3fdf7c45c431fe7bf393b7f7873d1f48cd9e44dcf8e54a05c15c236e219",
    "scripts/agy-plugin-swap.sh": "fc21dcb6057925144026d28723f779de105bd503991c568a9367a47ddab7fea2",
    "scripts/lint.sh": "73e827301908e26e838719034c8dc09c3c8a22ba57c6e146b82fb65682c43572",
    "skills/ai-agents-development/SKILL.md": "60e1e06518b8a91d7293f6a3bdaac4b994439f8b90476e32a2c4d2f0d52ed46c",
    "skills/ai-agents-development/references/knowledge-bases.md": "3c90b0f2d2a9fed4614137253358826b65201ff2267a352a65ee2107cae9dfa8",
    "skills/ai-agents-development/references/manifest-schema.md": "b95ce80e5b30b4a2105c4c0c1c6bbfdc5c319ee3066cf6674df61b754c5851ff",
    "skills/ai-agents-development/references/workflow-invocation.md": "d3d0b1761dc1c97e80e1004b6258a6ab7788b72b8178f13e7dfd886e1e90c77a",
    "skills/api-integrations/SKILL.md": "57f91ddf0ce841755005d445c628f3fae57ce985acb4713cddc038a8aca739a6",
    "skills/api-integrations/references/auth-examples.md": "d8e3cb92b8135bce7adf1c1a70b3198ceefdc9eb047ce985038007651c7d67fe",
    "skills/api-integrations/references/calling-patterns.md": "cea164de12c95f2608cd167237f37a3b62a69a1cdff40ee0c166e58168ab161d",
    "skills/api-integrations/references/spec-adaptation-examples.md": "7f361cf400c96d5097797aff7d7a37cd8dae65729c1a7f4f3ad6716b10337caf",
    "skills/api-integrations/scripts/adapt_spec_for_foundry.py": "0b7d6a0c7f9fb979c117db450d5c1b4debe8767225d0598d029396c4235fd71b",
    "skills/collections-development/SKILL.md": "c4f7accb086fb4baa5ed129d469b940abf0f56c9ca769e7c5aaaf80ae032073c",
    "skills/collections-development/references/advanced-patterns.md": "cf6246c67d3d993acd494a6bd6d4937f91ff5d656b49a1abbaffc7870bdd5f75",
    "skills/debugging-workflows/SKILL.md": "6fc704a7b8a169f12f65c16e1fda8684dcd328ce5df0002f4e39ee2f6a8be614",
    "skills/development-workflow/SKILL.md": "7d00fc6c614bd33c15a87eda2e6c45d07d5ab9516a92417bc66d3320f04183d8",
    "skills/development-workflow/references/advanced-patterns.md": "c92b33b3c5d7e0d763cfc6ffcf7085731e0d1f82251777a72d3b20202b3e6f4a",
    "skills/development-workflow/references/counter-rationalizations.md": "f80803eaa0edd1cbc7fe07fb1a43c10fdd152c27ba0f7f3f238221ca93e619f7",
    "skills/development-workflow/references/headless-operation.md": "6ff5cfec2ba47a66915c1722783460aa9b9bc1d121c907cca17a349a309e85b5",
    "skills/development-workflow/references/performance-optimization.md": "bef6aed81d05fe31442121c4633568387013dce88c6e0f4970264746647518dc",
    "skills/development-workflow/references/superpowers-integration.md": "727aa4cc31178e71ff8cafdb60796571de1a7d296b70a717c7b14d58d13a5709",
    "skills/development-workflow/scripts/detect_fusion_redirect.py": "a3b1a35ee6af0659df1026c7dc91d4fadf0e7b13507503548d2898b6e8a2e0a7",
    "skills/e2e-testing/SKILL.md": "10bfe08a6baee205bc04cfcde109c673d0e019fab0fc38eb1faea78911be1ac8",
    "skills/e2e-testing/references/debugging-with-mcp.md": "2ec362bcba75dcf35fea006554c2df3b3dab735b24ca143f51e55012f7eda80a",
    "skills/functions-development/SKILL.md": "75e1c773a3bcfae328b3ba766f05b559e9621b3b00670062d09e49aa778ee97d",
    "skills/functions-development/references/code-review-checklist.md": "f919a2fc42f0c5f09c37f3155749245e892203e9c4137ec12aab0deea7c4a74c",
    "skills/functions-development/references/execution-and-testing.md": "e8997288a5a90d76eb16007868c2401afe8b985d8e216670b4f53576fe2b4b76",
    "skills/functions-development/references/go-patterns.md": "2eba409b628a1080d710ba3746c3c5513f0ea9485b1dc123138a77106aa756ba",
    "skills/functions-development/references/python-patterns.md": "e783837c573adbda37eccfba1acc86311e90f54dd90120d6c6d172e8cbf2da48",
    "skills/functions-development/references/testing-patterns.md": "2cfccb9622476086bb65b26049bfe68c0f34fc90984a1b08f97e01471d2460a0",
    "skills/functions-falcon-api/SKILL.md": "594c8f35a460a950bc4268c2085dfcedc159a59dfde2e72e8194f99768064a53",
    "skills/functions-falcon-api/references/advanced-patterns.md": "f3723b6f62b13cd7c962ee5dce0fae0855c3841a485f8de657bd811845694999",
    "skills/fusion-redirect/SKILL.md": "74bf0f7eaea14b9a2c24cc4310162bf04ae2d412b89900c1ac699a0c8042d410",
    "skills/security-patterns/SKILL.md": "54360a49ee704b7dd6e9b1a2d65329588da980d5778fa895b4a09ccd29c7dc4b",
    "skills/security-patterns/references/security-examples.md": "e110b3334dc184b9f1a8c624a444a61dd9c295f74d681707fdd3564b08225011",
    "skills/ui-development/SKILL.md": "8d0b68764321564000fbe29304934eec7c043a7270ef8ea1ae4812427e3f7c1b",
    "skills/ui-development/references/advanced-patterns.md": "1b06fa851b0b908f2aa63554cba84a4b8c589308a6aec76f3fdb0a0074501320",
    "skills/ui-development/references/blueprint-templates.md": "b7ba2879390c378d5b329741217847bebaf8afd6262ac73ad343309ce52231b2",
    "skills/ui-development/references/falcon-theming.md": "94759ff019504a923c2cdf85189e072615122535bd2afa433d35621347b92151",
    "skills/ui-development/references/foundry-js.md": "3eaf2f283dda65bf8e50040b096cd2dbb1c244326d270753d4b763055bcfc048",
    "skills/ui-development/references/react-patterns.md": "e1352ab239f691747c89b7497efd4442777bdb490ee89ad6008b1dc1b8669759",
    "skills/ui-development/references/sandboxed-iframe.md": "9b2f18b3a6c5fa869553011c63930cd7f3144dc9e8b78c8cdd788ce8f46564b5",
    "skills/ui-development/references/shoelace-reference.md": "3a58104ca6437fdc7aad0d9d8d66442e6f49b5ff21b18b96726eda48e4804533",
    "skills/ui-development/references/vue-patterns.md": "c2b1cb5997a011ed45b6f842f13187d7f8f62b66d9761f041222474c7ddc2a2b",
    "skills/workflows-development/SKILL.md": "223720c0d3c8876c1219df32ec60ac8922d09ded933a6ba8edafd22ec362116d",
    "skills/workflows-development/references/action-discovery.md": "5ec918d9aae754feb33a898ed8120511b0bc91b2afcef132c09da4250822115a",
    "skills/workflows-development/references/advanced-patterns.md": "c507760d2ee9da89db81d9526e1495c9ab09f763aab1ac7ae71dad585996bd42",
    "skills/workflows-development/references/cel-expressions.md": "3108a44df72ecb3a1ed3ac0fcce80187bdfe056b57d91567a96732cc9440ef60",
    "skills/workflows-development/references/event-query-vs-api.md": "959ec087f92e1ff88f04d4a275d39979c88497347cececda5e7c53d7b9bbd3f7",
    "skills/workflows-development/references/http-actions.md": "e1a388ce26ac69ffdc9816206e5ac937848f273d6bf2c28b43ac81303f40434a",
    "skills/workflows-development/references/pagination-patterns.md": "a10ced00650004dd2d5442180c5c711571ed8b0125f78c1bb610e1b192965858",
    "skills/workflows-development/references/workflow-examples.md": "f34cc4fa38b074f35933a35f33f48b0b45bbd640611e3482e30eb19564f5b3ef",
    "skills/workflows-development/scripts/action_search.py": "410551258500301b94923a01f7a2ed78a1b0da7a981f2645811f5543cdc7fa15",
    "tail-test.sh": "6d69943ae177319dc1d2d4f8f969247931e04e69009a82138f415c34254b088d",
    "test-agy-plugin-swap.sh": "aa22052cce3899c335051a0af0f0c34e0a5204720085f3e04de63d1b3c3b6cc2",
    "test-assistants.sh": "72b7208656f60564befcb24c54b2d4969d43b30032249b10a9c7862c312ba53c",
    "test-hooks.sh": "44b5acd33545e2b5ae7bccd9f6c7ce6c2224e41ae3247ffaa46ce02e20dbf2e5",
    "test-result-schema.json": "807468aecd2279edff2c6c48bb9358cf60f842ca92d002d6e5c5118f50192f30",
    "test-scorecard-parser.sh": "574cc9c7014790da4850be20b9d8158ed356ed3f2a85f7d0f4d4b4b23b2c0dcf",
    "test-skill.sh": "17b67c1587dbd94b1a9b663ec7ceddf6c13c966c668e2d10097ce55b6928fc87",
    "tests/conftest.py": "5976c1425e4c8c8e9a6ee1be9209684e6f3d515187490e86d8524bd53a4f4c40",
    "tests/test_action_search.py": "1f27d18074f0c1699b863e8cc951038647d85540221fd6e3ab2d1bbad041b8c1",
    "tests/test_adapt_spec.py": "2718c7ddb90e044d7c99970011f03e1adaab3883f936aa00a01269b6312f721c",
    "tests/test_detect_fusion_redirect.py": "c43a0c623d63576b4dda7f2310f6d7e309ee70ad92540b5d67f929fa200f6673",
    "tests/test_skill_content.py": "63fefe399400ad4a207f1d4be89c2b8a131995b2a806c776c603e4920380c150",
    "use-cases/README.md": "5ac2b974aef907b81c0df2b569639348e27f6ea3996619c208d20dc8b8ebe37e",
    "use-cases/api-pagination.md": "927f7e35486da78f5d9b384dc09d4e882a3e391d5efdad18b80a50ae267d404b",
    "use-cases/collections.md": "6f44951bd8754c07270bbbeaba31a2040d00950e79bb9c9b8a65f10672912c70",
    "use-cases/custom-soar-actions.md": "a1250afd03a9f665cd09e567264e648e3359e861d6f94d544028256b8b47c158",
    "use-cases/detection-enrichment.md": "2416897b34397a27168778982b3ac2f23ff8a9c59809a1335a098af71148dc4b",
    "use-cases/first-app.md": "8d1a207066aee61812acfd472bbed99a08710b409d0040bf18548b91b66386db",
    "use-cases/graphql-apis.md": "33f52462cf116d99b9adea48dde9263e301be486bda81f10f62945826b7ad6fe",
    "use-cases/greynoise-deep-dive.md": "e6d56b2c2224ce344fc9eda34a37e972e07274cacb8e8494287db512085c4bfa",
    "use-cases/http-actions.md": "c621435694a80ab089c2841b2f61320cfad8eb65e11a033733f4ca6069211072",
    "use-cases/logscale-ingestion.md": "99374e07c6618c0163c9601de2b92f47b3016644264582491bc84b301aa8eb29",
    "use-cases/lookup-table-enrichment.md": "93cc6c50d79f4cbd7f2591a34c326688a4150ecc58e1979a88e44db60b7f03c2",
    "use-cases/ngsiem-query-export.md": "d8c12f51870ca5c5a7d8a3d867257a8115805da1e8fe04d6e7fafd7a0cdfdf01",
    "use-cases/publishing-certified-apps.md": "37fcee6fc88764ae502353bd9c01d77e3242a2ce0e382254dd59ed1f22eb62f3",
    "use-cases/python-functions.md": "26fb1556eb9a83ba2b756d4eec1693256208e5a74702347150b0d8fe1901cc8b",
    "use-cases/schemaless-queries.md": "142ab5a55fc17e6664e99fdc51f485e7ab0d960109c2a62d77fefd970c316fda",
    "verify-apps.sh": "9b88c031b99ecea1184d81148ad4975fc5fdcc060689a2649b736a6080100d77",
    "verify-result-schema.json": "2245c5fe4c2d152bc4def31ec8144fe88e04f95bcad6fc22adb8fa2c325c97ee"
  },
  "lockfiles": [
    "LOCK.json"
  ],
  "utc_date": "2026-10-18T15:09:31Z",
  "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 c086df0eda39d1552f8cab383c0b4a275ced82c4",
  "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 132 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-18T15:09:31Z: pinned source inspection"
  ],
  "application": {
    "name": "crowdstrike-falcon-foundry — 5 hooks",
    "softwareVersion": "61572f38592d47c747e2595182459781bf0bc679",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Not exercised"
  },
  "artifacts": {
    "transcript": "Ran 132 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/ai-agents-development/SKILL.md\",\n        \"name\": \"ai-agents-development\",\n        \"description\": \"Build AI agents and knowledge bases for Falcon Foundry apps. TRIGGER when user asks to \\\"create an AI agent\\\", \\\"add a Foundry agent\\\", \\\"build a knowledge base\\\", \\\"give my agent documents\\\", \\\"expose a collection as an agent tool\\\", \\\"expose an API operation to an agent\\\", \\\"put my agent in Charlotte\\\", \\\"expose an agent as a tool for other agents\\\", \\\"delete an agent or knowledge base\\\", runs `foundry agents create`, `foundry agents delete`, `foundry knowledge-bases create`, or `foundry knowledge-bases delete`, or needs help with the `ai.agents` / `ai.knowledge_bases` manifest blocks, agent system prompts, agent input/output formats, agent exposure, or agent tool references. DO NOT TRIGGER for Fusion SOAR workflow YAML — use workflows-development. DO NOT TRIGGER for serverless function handlers — use functions-development. DO NOT TRIGGER for designing a collection schema itself — use collections-development, then return here to wire the collection up as an agent tool.\",\n        \"files\": {\n          \"skills/ai-agents-development/SKILL.md\": \"60e1e06518b8a91d7293f6a3bdaac4b994439f8b90476e32a2c4d2f0d52ed46c\",\n          \"skills/ai-agents-development/references/knowledge-bases.md\": \"3c90b0f2d2a9fed4614137253358826b65201ff2267a352a65ee2107cae9dfa8\",\n          \"skills/ai-agents-development/references/manifest-schema.md\": \"b95ce80e5b30b4a2105c4c0c1c6bbfdc5c319ee3066cf6674df61b754c5851ff\",\n          \"skills/ai-agents-development/references/workflow-invocation.md\": \"d3d0b1761dc1c97e80e1004b6258a6ab7788b72b8178f13e7dfd886e1e90c77a\"\n        }\n      },\n      {\n        \"path\": \"skills/api-integrations/SKILL.md\",\n        \"name\": \"api-integrations\",\n        \"description\": \"Expose external APIs to Falcon Foundry via OpenAPI specs. TRIGGER when user asks to \\\"create an API integration\\\", \\\"adapt an OpenAPI spec for Foundry\\\", \\\"expose an API to workflows\\\", \\\"connect to a third-party API\\\", or runs `foundry api-integrations create`. Also trigger when user has an OpenAPI/Swagger spec and wants it working in Falcon Foundry. DO NOT TRIGGER when user wants to call Falcon platform APIs from function code — use functions-falcon-api instead.\",\n        \"files\": {\n          \"skills/api-integrations/SKILL.md\": \"57f91ddf0ce841755005d445c628f3fae57ce985acb4713cddc038a8aca739a6\",\n          \"skills/api-integrations/references/auth-examples.md\": \"d8e3cb92b8135bce7adf1c1a70b3198ceefdc9eb047ce985038007651c7d67fe\",\n          \"skills/api-integrations/references/calling-patterns.md\": \"cea164de12c95f2608cd167237f37a3b62a69a1cdff40ee0c166e58168ab161d\",\n          \"skills/api-integrations/references/spec-adaptation-examples.md\": \"7f361cf400c96d5097797aff7d7a37cd8dae65729c1a7f4f3ad6716b10337caf\",\n          \"skills/api-integrations/scripts/adapt_spec_for_foundry.py\": \"0b7d6a0c7f9fb979c117db450d5c1b4debe8767225d0598d029396c4235fd71b\"\n        }\n      },\n      {\n        \"path\": \"skills/collections-development/SKILL.md\",\n        \"name\": \"collections-development\",\n        \"description\": \"Design JSON Schema collections and CRUD patterns for Falcon Foundry apps. TRIGGER when user asks to \\\"create a collection\\\", \\\"define a JSON schema\\\", \\\"store data in Foundry\\\", runs `foundry collections create`, or needs help with indexable fields, FQL queries, or collection access patterns. DO NOT TRIGGER for workflow YAML, function handlers, or UI components — use the appropriate sub-skill.\",\n        \"files\": {\n          \"skills/collections-development/SKILL.md\": \"c4f7accb086fb4baa5ed129d469b940abf0f56c9ca769e7c5aaaf80ae032073c\",\n          \"skills/collections-development/references/advanced-patterns.md\": \"cf6246c67d3d993acd494a6bd6d4937f91ff5d656b49a1abbaffc7870bdd5f75\"\n        }\n      },\n      {\n        \"path\": \"skills/debugging-workflows/SKILL.md\",\n        \"name\": \"debugging-workflows\",\n        \"description\": \"Systematic troubleshooting for Falcon Foundry CLI errors, manifest validation failures, deploy failures, artifact runtime errors, and development server issues. TRIGGER when user encounters CLI errors, `foundry ui run` not working, deploy failures, authentication issues, function execution failures, \\\"debug my function\\\", \\\"why did this fail\\\", or any unexpected behavior during Foundry app development. Also trigger for headless/CI environment setup failures.\",\n        \"files\": {\n          \"skills/debugging-workflows/SKILL.md\": \"6fc704a7b8a169f12f65c16e1fda8684dcd328ce5df0002f4e39ee2f6a8be614\"\n        }\n      },\n      {\n        \"path\": \"skills/development-workflow/SKILL.md\",\n        \"name\": \"development-workflow\",\n        \"description\": \"Orchestrates the complete Falcon Foundry app lifecycle from requirements through deployment. TRIGGER when user asks to \\\"create a Foundry app\\\", \\\"build a Foundry app\\\", \\\"plan a Foundry app\\\", runs any `foundry apps` CLI command, or discusses Foundry app architecture. DO NOT TRIGGER when user is working on a specific capability (UI, function, workflow, collection) within an existing app — use the appropriate sub-skill instead. This skill OWNS the entire Foundry development flow. Do not delegate Foundry app creation to superpowers:brainstorming or superpowers:writing-plans — those skills do not know about the Foundry CLI.\",\n        \"files\": {\n          \"skills/development-workflow/SKILL.md\": \"7d00fc6c614bd33c15a87eda2e6c45d07d5ab9516a92417bc66d3320f04183d8\",\n          \"skills/development-workflow/references/advanced-patterns.md\": \"c92b33b3c5d7e0d763cfc6ffcf7085731e0d1f82251777a72d3b20202b3e6f4a\",\n          \"skills/development-workflow/references/counter-rationalizations.md\": \"f80803eaa0edd1cbc7fe07fb1a43c10fdd152c27ba0f7f3f238221ca93e619f7\",\n          \"skills/development-workflow/references/headless-operation.md\": \"6ff5cfec2ba47a66915c1722783460aa9b9bc1d121c907cca17a349a309e85b5\",\n          \"skills/development-workflow/references/performance-optimization.md\": \"bef6aed81d05fe31442121c4633568387013dce88c6e0f4970264746647518dc\",\n          \"skills/development-workflow/references/superpowers-integration.md\": \"727aa4cc31178e71ff8cafdb60796571de1a7d296b70a717c7b14d58d13a5709\",\n          \"skills/development-workflow/scripts/detect_fusion_redirect.py\": \"a3b1a35ee6af0659df1026c7dc91d4fadf0e7b13507503548d2898b6e8a2e0a7\"\n        }\n      },\n      {\n        \"path\": \"skills/e2e-testing/SKILL.md\",\n        \"name\": \"e2e-testing\",\n        \"description\": \"End-to-end testing for Falcon Foundry apps using Playwright and @crowdstrike/foundry-playwright. TRIGGER when user asks to \\\"add e2e tests\\\", \\\"add playwright tests\\\", \\\"write end-to-end tests\\\", \\\"test my app\\\", or mentions \\\"e2e\\\", \\\"playwright\\\", or \\\"end-to-end\\\" in the context of testing a Foundry app. DO NOT TRIGGER during normal app creation, UI development, or function development. This skill is opt-in; not all apps need e2e tests.\",\n        \"files\": {\n          \"skills/e2e-testing/SKILL.md\": \"10bfe08a6baee205bc04cfcde109c673d0e019fab0fc38eb1faea78911be1ac8\",\n          \"skills/e2e-testing/references/debugging-with-mcp.md\": \"2ec362bcba75dcf35fea006554c2df3b3dab735b24ca143f51e55012f7eda80a\"\n        }\n      },\n      {\n        \"path\": \"skills/functions-development/SKILL.md\",\n        \"name\": \"functions-development\",\n        \"description\": \"Build serverless Go or Python functions for Falcon Foundry apps. TRIGGER when user asks to \\\"create a function\\\", \\\"write a serverless function\\\", \\\"build backend logic\\\", runs `foundry functions create`, or needs help with FDK handler patterns, function testing, or collection integration from functions. Also TRIGGER when user asks to \\\"execute a function\\\", \\\"run my function\\\", \\\"debug this function\\\", \\\"get function logs\\\", \\\"check execution status\\\", \\\"write function tests\\\", \\\"test my function handler\\\", or \\\"add test cases for my function\\\". DO NOT TRIGGER for generic \\\"write integration tests\\\" or \\\"write tests\\\" without function context — ask which capability they want to test first. DO NOT TRIGGER for calling Falcon platform APIs from functions — use functions-falcon-api instead. DO NOT TRIGGER for workflow YAML or UI components. DO NOT TRIGGER for Playwright/e2e/browser tests — use e2e-testing instead.\",\n        \"files\": {\n          \"skills/functions-development/SKILL.md\": \"75e1c773a3bcfae328b3ba766f05b559e9621b3b00670062d09e49aa778ee97d\",\n          \"skills/functions-development/references/code-review-checklist.md\": \"f919a2fc42f0c5f09c37f3155749245e892203e9c4137ec12aab0deea7c4a74c\",\n          \"skills/functions-development/references/execution-and-testing.md\": \"e8997288a5a90d76eb16007868c2401afe8b985d8e216670b4f53576fe2b4b76\",\n          \"skills/functions-development/references/go-patterns.md\": \"2eba409b628a1080d710ba3746c3c5513f0ea9485b1dc123138a77106aa756ba\",\n          \"skills/functions-development/references/python-patterns.md\": \"e783837c573adbda37eccfba1acc86311e90f54dd90120d6c6d172e8cbf2da48\",\n          \"skills/functions-development/references/testing-patterns.md\": \"2cfccb9622476086bb65b26049bfe68c0f34fc90984a1b08f97e01471d2460a0\"\n        }\n      },\n      {\n        \"path\": \"skills/functions-falcon-api/SKILL.md\",\n        \"name\": \"functions-falcon-api\",\n        \"description\": \"Call CrowdStrike Falcon platform APIs (detections, alerts, hosts, RTR) from within Foundry function handlers. TRIGGER when user asks to \\\"call Falcon APIs from a function\\\", \\\"use FalconPy in a function\\\", \\\"use gofalcon in a function\\\", or needs to integrate Falcon platform APIs within serverless function code. DO NOT TRIGGER when user wants to expose external third-party APIs to Foundry — use api-integrations instead.\",\n        \"files\": {\n          \"skills/functions-falcon-api/SKILL.md\": \"594c8f35a460a950bc4268c2085dfcedc159a59dfde2e72e8194f99768064a53\",\n          \"skills/functions-falcon-api/references/advanced-patterns.md\": \"f3723b6f62b13cd7c962ee5dce0fae0855c3841a485f8de657bd811845694999\"\n        }\n      },\n      {\n        \"path\": \"skills/fusion-redirect/SKILL.md\",\n        \"name\": \"fusion-redirect\",\n        \"description\": \"TRIGGER when user asks for a \\\"standalone Falcon Fusion workflow\\\" that needs NO Foundry app — just a trigger plus actions that already exist in their CID, with no UI, function, collection, or custom API integration to build. DO NOT TRIGGER when the request needs anything built (a custom action, a UI page, a function, a collection) — that is a Foundry app and development-workflow owns it. This skill exists so the redirect works without hooks and yields to the real Falcon Fusion plugin when both are loaded.\",\n        \"files\": {\n          \"skills/fusion-redirect/SKILL.md\": \"74bf0f7eaea14b9a2c24cc4310162bf04ae2d412b89900c1ac699a0c8042d410\"\n        }\n      },\n      {\n        \"path\": \"skills/security-patterns/SKILL.md\",\n        \"name\": \"security-patterns\",\n        \"description\": \"Security patterns for Falcon Foundry apps including OAuth scopes, RBAC, input validation, UI security, and credential management. TRIGGER when user asks to \\\"configure OAuth scopes\\\", \\\"secure a Foundry app\\\", \\\"handle secrets\\\", \\\"add input validation\\\", or needs to review a Foundry app for security concerns (XSS, CSP, credential management). Also trigger during pre-deployment security reviews.\",\n        \"files\": {\n          \"skills/security-patterns/SKILL.md\": \"54360a49ee704b7dd6e9b1a2d65329588da980d5778fa895b4a09ccd29c7dc4b\",\n          \"skills/security-patterns/references/security-examples.md\": \"e110b3334dc184b9f1a8c624a444a61dd9c295f74d681707fdd3564b08225011\"\n        }\n      },\n      {\n        \"path\": \"skills/ui-development/SKILL.md\",\n        \"name\": \"ui-development\",\n        \"description\": \"Build UI pages and extensions for Falcon Foundry apps using React or Vue with the Shoelace design system and Foundry-JS. TRIGGER when user asks to \\\"create a UI page\\\", \\\"build a UI extension\\\", \\\"add a Shoelace component\\\", \\\"call an API from the UI\\\", runs `foundry ui pages create` or `foundry ui run`, or needs help with Vite config, Foundry-JS, or Falcon console theming. DO NOT TRIGGER for backend functions, workflow YAML, or collection schemas.\",\n        \"files\": {\n          \"skills/ui-development/SKILL.md\": \"8d0b68764321564000fbe29304934eec7c043a7270ef8ea1ae4812427e3f7c1b\",\n          \"skills/ui-development/references/advanced-patterns.md\": \"1b06fa851b0b908f2aa63554cba84a4b8c589308a6aec76f3fdb0a0074501320\",\n          \"skills/ui-development/references/blueprint-templates.md\": \"b7ba2879390c378d5b329741217847bebaf8afd6262ac73ad343309ce52231b2\",\n          \"skills/ui-development/references/falcon-theming.md\": \"94759ff019504a923c2cdf85189e072615122535bd2afa433d35621347b92151\",\n          \"skills/ui-development/references/foundry-js.md\": \"3eaf2f283dda65bf8e50040b096cd2dbb1c244326d270753d4b763055bcfc048\",\n          \"skills/ui-development/references/react-patterns.md\": \"e1352ab239f691747c89b7497efd4442777bdb490ee89ad6008b1dc1b8669759\",\n          \"skills/ui-development/references/sandboxed-iframe.md\": \"9b2f18b3a6c5fa869553011c63930cd7f3144dc9e8b78c8cdd788ce8f46564b5\",\n          \"skills/ui-development/references/shoelace-reference.md\": \"3a58104ca6437fdc7aad0d9d8d66442e6f49b5ff21b18b96726eda48e4804533\",\n          \"skills/ui-development/references/vue-patterns.md\": \"c2b1cb5997a011ed45b6f842f13187d7f8f62b66d9761f041222474c7ddc2a2b\"\n        }\n      },\n      {\n        \"path\": \"skills/workflows-development/SKILL.md\",\n        \"name\": \"workflows-development\",\n        \"description\": \"Create and configure Falcon Fusion SOAR workflow YAML for Falcon Foundry apps. TRIGGER when user asks to \\\"create a workflow\\\", \\\"build an automation\\\", \\\"configure Fusion SOAR\\\", \\\"add an on-demand workflow\\\", runs `foundry workflows create`, or needs help with Fusion YAML syntax, triggers, actions, or variable references. DO NOT TRIGGER for UI pages, functions, or collection schemas — use the appropriate sub-skill.\",\n        \"files\": {\n          \"skills/workflows-development/SKILL.md\": \"223720c0d3c8876c1219df32ec60ac8922d09ded933a6ba8edafd22ec362116d\",\n          \"skills/workflows-development/references/action-discovery.md\": \"5ec918d9aae754feb33a898ed8120511b0bc91b2afcef132c09da4250822115a\",\n          \"skills/workflows-development/references/advanced-patterns.md\": \"c507760d2ee9da89db81d9526e1495c9ab09f763aab1ac7ae71dad585996bd42\",\n          \"skills/workflows-development/references/cel-expressions.md\": \"3108a44df72ecb3a1ed3ac0fcce80187bdfe056b57d91567a96732cc9440ef60\",\n          \"skills/workflows-development/references/event-query-vs-api.md\": \"959ec087f92e1ff88f04d4a275d39979c88497347cececda5e7c53d7b9bbd3f7\",\n          \"skills/workflows-development/references/http-actions.md\": \"e1a388ce26ac69ffdc9816206e5ac937848f273d6bf2c28b43ac81303f40434a\",\n          \"skills/workflows-development/references/pagination-patterns.md\": \"a10ced00650004dd2d5442180c5c711571ed8b0125f78c1bb610e1b192965858\",\n          \"skills/workflows-development/references/workflow-examples.md\": \"f34cc4fa38b074f35933a35f33f48b0b45bbd640611e3482e30eb19564f5b3ef\",\n          \"skills/workflows-development/scripts/action_search.py\": \"410551258500301b94923a01f7a2ed78a1b0da7a981f2645811f5543cdc7fa15\"\n        }\n      }\n    ],\n    \"hooks\": [\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"fbc8f56395cfe6519ceddf05f3a3cb08a14739bda083713246547d1103ad4899\",\n        \"event\": \"SessionStart\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"${CLAUDE_PLUGIN_ROOT}/hooks/foundry-session-start.sh\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"fbc8f56395cfe6519ceddf05f3a3cb08a14739bda083713246547d1103ad4899\",\n        \"event\": \"UserPromptSubmit\",\n        \"matcher\": null,\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"${CLAUDE_PLUGIN_ROOT}/hooks/foundry-skill-router.sh\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"fbc8f56395cfe6519ceddf05f3a3cb08a14739bda083713246547d1103ad4899\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": \"\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"${CLAUDE_PLUGIN_ROOT}/hooks/foundry-skill-router.sh\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"fbc8f56395cfe6519ceddf05f3a3cb08a14739bda083713246547d1103ad4899\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": \"Bash|Shell\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"${CLAUDE_PLUGIN_ROOT}/hooks/foundry-cli-guard.sh\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      },\n      {\n        \"path\": \"hooks/hooks.json\",\n        \"sha256\": \"fbc8f56395cfe6519ceddf05f3a3cb08a14739bda083713246547d1103ad4899\",\n        \"event\": \"PreToolUse\",\n        \"matcher\": \"Skill\",\n        \"declaration\": {\n          \"type\": \"command\",\n          \"command\": \"${CLAUDE_PLUGIN_ROOT}/hooks/superpowers-foundry-bridge.sh\",\n          \"timeout\": 5\n        },\n        \"executed\": false\n      }\n    ],\n    \"executions\": []\n  }\n}"
  },
  "review_input": {
    "identity_artifact": "identity.json",
    "evidence_sha256": {
      "LOCK.json": "0a5a8cf7e9921b3f0c8d9b798ef0eb0bef7b7abe2aa651a82022585a2bb22cbc",
      "commands.json": "f6387cbb4eb9e7f982c6f6526859e508b9749c853d1be3aedf1367630b29c6d0",
      "complete.json": "91b504b43905fdc009504d516c45eea831f39a1995b9e7d69987c9756c936d6f",
      "identity.json": "5367609b48494aa3b05b042e51f7b9e02352bbd8d0669339b4ea4e0b5d91b37a",
      "listing.json": "c18732f28b3971947b173199443c90901f0cc60e58e09f51fb199cb78d583a81",
      "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 5 hook declarations. Ran 132 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): SessionStart; UserPromptSubmit; PreToolUse; PreToolUse; PreToolUse",
        "sources": [
          "LOCK.json",
          "listing.json",
          "commands.json"
        ]
      }
    ]
  },
  "review": {
    "kind": "machine-checked",
    "date": "2026-10-18",
    "reviewed_sha256": "145e0744634888d25ad3680459964e93910d6b3600fe0d99507f6f5d73f8fa97",
    "gates": "effa52c72a39141689e15b645b5fa076c7deeaa5a115b05a50f995af7fcd5e78",
    "codex": "8ec63a1b2af39cd62928e6181f11c38b360eb42c132ba2c70d57de9ff0abeefe",
    "grok": "037488486058f4ed7f0fbf135464a1caeda732d595ebb192a9176a53922eacc7",
    "summary": "Deterministic gates passed; every claim rebuilt from evidence with a reviewed template; Grok reported no standing refutation."
  }
}
