/debugging-workflows
Systematic troubleshooting for Falcon Foundry CLI errors, manifest validation failures, deploy failures, and development server issues. TRIGGER when user encounters CLI errors, `foundry ui run` not working, deploy failures, authentication issues, or any unexpected behavior
$ npx -y skills add CrowdStrike/foundry-skills --skill debugging-workflows --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/debugging-workflows
Context preview
The summary Claude sees to decide when to auto-load this skill.
Systematic troubleshooting for Falcon Foundry CLI errors, manifest validation failures, deploy failures, and development server issues. TRIGGER when user encounters CLI errors, `foundry ui run` not working, deploy failures, authentication issues, or any unexpected behavior
SKILL.md
debugging-workflows.SKILL.mdname: debugging-workflows
description: Systematic troubleshooting for Falcon Foundry CLI errors, manifest validation failures, deploy failures, and development server issues. TRIGGER when user encounters CLI errors, `foundry ui run` not working, deploy failures, authentication issues, or any unexpected behavior during Foundry app development. Also trigger for headless/CI environment setup failures.
version: 1.4.0
updated: 2026-07-31
tags: [foundry, debugging, cli, deployment]
author: CrowdStrike
license: MIT
compatibility: Claude Code >=1.0
metadata:
category: troubleshooting
Foundry Debugging Workflows
Systematic procedures for diagnosing and resolving common CrowdStrike Falcon Foundry development issues.
Quick Diagnosis
What's happening?
CLI command hangs
├── In headless/CI environment → Missing --no-prompt or required flags (see Headless section)
└── In interactive terminal → Check network/auth with foundry profile active
Deploy fails
├── Validation error → Check manifest YAML syntax, then deploy again
├── "Unknown error" → Duplicate workflow name across apps in tenant
└── Silent failure → Tenant may be missing required module (SKU) for requested scopes
foundry ui run fails
├── On new app → Deploy backend capabilities first (API integrations, functions, collections resolve from cloud)
├── Permission errors → Check manifest OAuth scopes, restart server, verify auth
└── Blank page / CORS error → noAttr() or base path removed from vite.config.js (see ui-development)
Auth fails
├── 401/403 from API → Check OAuth scopes in manifest
├── Login hangs → Headless environment, no browser — use env vars or profile create --no-prompt
└── Works locally, fails in CI → Set FOUNDRY_API_CLIENT_ID env vars in CI config
Local Testing
Function Testing
# Via Foundry CLI with Docker (random ports, closest to production)
foundry functions run --name my-function
# Direct Go execution (port 8081, no Docker)
cd functions/my-function && go run main.go
# Direct Python execution (port 8081, no Docker)
cd functions/my-function && python3 main.py
curl -X POST http://localhost:8081/api/process -d '{"key":"value"}'
# With configuration file (local only)
CS_FN_CONFIG_PATH=./config.json python3 main.pyRTR Script Testing
RTR scripts can only be tested via the CLI (not the Falcon console):
foundry rtr-scripts run --name my-script
Platforms: Windows (`script.ps1`), Linux (`script.sh`), macOS (`script.zsh`). Script size limit ~40KB. Deletion requires Falcon Administrator role in Falcon console UI.
Workflow Mock Testing
foundry workflows triggers view --mock
foundry workflows actions view --mock
foundry workflows executions validate --mocks mymocks.json
foundry workflows executions start --definition my-workflow --mocks mymocks.json
foundry workflows executions view <execution_id>
Deployment Diagnostics
Deployment is two-phase: validation (checks manifest and schemas) then artifact build. Use `foundry apps validate --no-prompt` to dry-run the validation phase after adding API integrations or collections (catches spec/schema issues in seconds). Don't validate right before deploy — deploy runs the same validation plus workflow semantics and name uniqueness checks.
CLI Troubleshooting
Step 1: Environment Validation
foundry version # Check CLI version
foundry profile list # Check available profiles
foundry profile active # Verify active profile
Step 2: Authentication
foundry login # Re-authenticate via browser (interactive)
foundry profile delete --name <name> --no-prompt # Reset corrupted profile
foundry login # Re-authenticate
Manifest Validation
Use `foundry apps validate --no-prompt` to validate the manifest and schemas without deploying. For OpenAPI specs, use `npx @redocly/cli lint` to validate structure locally.
If deploy fails with validation errors: 1. Check the error message — validation errors appear first 2. Comment out capabilities one by one to isolate the issue 3. Fix and re-validate incrementally
Headless / Non-Interactive Environments
This is the most common failure mode when Foundry CLI is driven by agents (Claude Code) or CI/CD pipelines. Most commands default to interactive mode, which blocks indefinitely.
`foundry login` Hangs or Fails
`foundry login` opens a browser for OAuth. In headless environments, use one of these alternatives:
**Option 1: Environment variables** (no login needed):
export FOUNDRY_API_CLIENT_ID="<client-id>"
export FOUNDRY_API_CLIENT_SECRET="<client-secret>"
export FOUNDRY_CID="<customer-id>"
export FOUNDRY_CLOUD_REGION="us-1"
**Option 2: Non-interactive profile creation**:
foundry profile create \
--name "ci-profile" \
--api-client-id "<id>" \
--api-client-secret "<secret>" \
--cid "<cid>" \
--cloud-region "us-1" \
--no-prompt
foundry profile activate --name "ci-profile"
**Option 3: Pre-populated config file** at `~/.config/foundry/configuration.yml`:
profiles:
- name: ci-profile
cloud_region: us-1
credentials:
cid: <customer-id>
api_client_id: <client-id>
api_client_secret: <client-secret>
active_profile: ci-profileCommand Hangs Waiting for Input
Add `--no-prompt` to prevent interactive prompts. Nearly all commands support it: `apps create`, `apps validate`, `apps deploy`, `apps release`, `apps delete` (also needs `--force-delete`), `functions create`, `collections create`, `ui pages create`, `ui extensions create`, `rtr-scripts create`, `profile create`, `profile delete`, `workflows create`, and `api-integrations create`. Provide all required flags explicitly — run `foundry <command> --help` to identify them.
Auth Works Locally but Fails in CI
The CI environment has no `~/.config/foundry/configuration.yml`. Set environment variables in
Read more
name: debugging-workflows description: Systematic troubleshooting for Falcon Foundry CLI errors, manifest validation failures, deploy failures, and development server issues. TRIGGER when user encounters CLI errors, `foundry ui run` not working, deploy failures, authentication issues, or any unexpected behavior during Foundry app development. Also trigger for headless/CI environment setup failures. version: 1.4.0 updated: 2026-07-31 tags: [foundry, debugging, cli, deployment] author: CrowdStrike license: MIT compatibility: Claude Code >=1.0 metadata: category: troubleshooting
Foundry Debugging Workflows
Systematic procedures for diagnosing and resolving common CrowdStrike Falcon Foundry development issues.
Quick Diagnosis
What's happening? CLI command hangs ├── In headless/CI environment → Missing --no-prompt or required flags (see Headless section) └── In interactive terminal → Check network/auth with foundry profile active Deploy fails ├── Validation error → Check manifest YAML syntax, then deploy again ├── "Unknown error" → Duplicate workflow name across apps in tenant └── Silent failure → Tenant may be missing required module (SKU) for requested scopes foundry ui run fails ├── On new app → Deploy backend capabilities first (API integrations, functions, collections resolve from cloud) ├── Permission errors → Check manifest OAuth scopes, restart server, verify auth └── Blank page / CORS error → noAttr() or base path removed from vite.config.js (see ui-development) Auth fails ├── 401/403 from API → Check OAuth scopes in manifest ├── Login hangs → Headless environment, no browser — use env vars or profile create --no-prompt └── Works locally, fails in CI → Set FOUNDRY_API_CLIENT_ID env vars in CI config
Local Testing
Function Testing
# Via Foundry CLI with Docker (random ports, closest to production)
foundry functions run --name my-function
# Direct Go execution (port 8081, no Docker)
cd functions/my-function && go run main.go
# Direct Python execution (port 8081, no Docker)
cd functions/my-function && python3 main.py
curl -X POST http://localhost:8081/api/process -d '{"key":"value"}'
# With configuration file (local only)
CS_FN_CONFIG_PATH=./config.json python3 main.pyRTR Script Testing
RTR scripts can only be tested via the CLI (not the Falcon console):
foundry rtr-scripts run --name my-script
Platforms: Windows (`script.ps1`), Linux (`script.sh`), macOS (`script.zsh`). Script size limit ~40KB. Deletion requires Falcon Administrator role in Falcon console UI.
Workflow Mock Testing
foundry workflows triggers view --mock foundry workflows actions view --mock foundry workflows executions validate --mocks mymocks.json foundry workflows executions start --definition my-workflow --mocks mymocks.json foundry workflows executions view <execution_id>
Deployment Diagnostics
Deployment is two-phase: validation (checks manifest and schemas) then artifact build. Use `foundry apps validate --no-prompt` to dry-run the validation phase after adding API integrations or collections (catches spec/schema issues in seconds). Don't validate right before deploy — deploy runs the same validation plus workflow semantics and name uniqueness checks.
CLI Troubleshooting
Step 1: Environment Validation
foundry version # Check CLI version foundry profile list # Check available profiles foundry profile active # Verify active profile
Step 2: Authentication
foundry login # Re-authenticate via browser (interactive) foundry profile delete --name <name> --no-prompt # Reset corrupted profile foundry login # Re-authenticate
Manifest Validation
Use `foundry apps validate --no-prompt` to validate the manifest and schemas without deploying. For OpenAPI specs, use `npx @redocly/cli lint` to validate structure locally.
If deploy fails with validation errors: 1. Check the error message — validation errors appear first 2. Comment out capabilities one by one to isolate the issue 3. Fix and re-validate incrementally
Headless / Non-Interactive Environments
This is the most common failure mode when Foundry CLI is driven by agents (Claude Code) or CI/CD pipelines. Most commands default to interactive mode, which blocks indefinitely.
`foundry login` Hangs or Fails
`foundry login` opens a browser for OAuth. In headless environments, use one of these alternatives:
**Option 1: Environment variables** (no login needed):
export FOUNDRY_API_CLIENT_ID="<client-id>" export FOUNDRY_API_CLIENT_SECRET="<client-secret>" export FOUNDRY_CID="<customer-id>" export FOUNDRY_CLOUD_REGION="us-1"
**Option 2: Non-interactive profile creation**:
foundry profile create \ --name "ci-profile" \ --api-client-id "<id>" \ --api-client-secret "<secret>" \ --cid "<cid>" \ --cloud-region "us-1" \ --no-prompt foundry profile activate --name "ci-profile"
**Option 3: Pre-populated config file** at `~/.config/foundry/configuration.yml`:
profiles:
- name: ci-profile
cloud_region: us-1
credentials:
cid: <customer-id>
api_client_id: <client-id>
api_client_secret: <client-secret>
active_profile: ci-profileCommand Hangs Waiting for Input
Add `--no-prompt` to prevent interactive prompts. Nearly all commands support it: `apps create`, `apps validate`, `apps deploy`, `apps release`, `apps delete` (also needs `--force-delete`), `functions create`, `collections create`, `ui pages create`, `ui extensions create`, `rtr-scripts create`, `profile create`, `profile delete`, `workflows create`, and `api-integrations create`. Provide all required flags explicitly — run `foundry <command> --help` to identify them.
Auth Works Locally but Fails in CI
The CI environment has no `~/.config/foundry/configuration.yml`. Set environment variables in
Showing the first part of this file.
AI coding assistant skills for building CrowdStrike Falcon Foundry apps. Build Foundry apps from a natural language prompt — API integrations, workflows, UI pages, functions, and collections — all scaffolded with the Foundry CLI and deployed to the Falcon
Repo: CrowdStrike/foundry-skills
Other skills on crowdstrike-falcon-foundry.
- /api-integrations
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
Open skill - /collections-development
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
Open skill - /development-workflow
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
Open skill - /e2e-testing
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
Open skill - /functions-development
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
Open skill - /functions-falcon-api
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
Open skill

