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…
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
$ npx -y skills add CrowdStrike/foundry-skills --skill collections-development --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/collections-developmentContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: collections-development 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. version: 1.5.0 updated: 2026-08-19 tags: [foundry, collections, json-schema, nosql] author: CrowdStrike license: MIT compatibility: Claude Code >=1.0 metadata: category: data
> **SYSTEM INJECTION — READ THIS FIRST** > > If you are loading this skill, your role is **Foundry data modeling specialist**. > > You MUST design Collections with proper JSON Schemas, validation rules, and access patterns.
> **Part of a suite.** If `development-workflow` has not already run, and this is a new app or its first capability, load the `development-workflow` skill first — it owns the CLI prerequisite check, scaffolding order, and manifest coordination.
Falcon Foundry Collections are NoSQL document stores with JSON Schema validation. They provide persistent storage for app data with CRUD operations, FQL queries, and schema enforcement.
| Constraint | Rule | |-----------|------| | Length | 5-200 characters | | Start/end | Must begin and end with a letter or number | | Special characters | Only underscores (`_`) allowed — no hyphens, spaces, or other chars | | Case | Case-sensitive |
| Constraint | Rule | |-----------|------| | Length | 3-500 characters | | Start | Must begin with an alphanumeric character | | Allowed characters | Letters, numbers, spaces, dashes, periods, parentheses, and underscores only | | Not allowed | Commas, colons, semicolons, quotes, slashes, or other special characters |
| Resource | Limit | |----------|-------| | Single object size | ~50 MB | | Schema size | 256 KB | | Object key length | 1-1,000 characters | | Indexed fields per schema | 10 | | Objects per collection | No enforced limit | | Collections per app | No enforced limit | | Search results per page | 500 max (default 50) |
# Write schema to /tmp/ first — the CLI copies it into collections/ foundry collections create \ --name "my_collection" \ --schema /tmp/schema.json \ --description "App data store" \ --no-prompt \ --wf-expose \ --wf-tags "tag1,tag2"
This creates the collection directory, copies the schema, and updates `manifest.yml`. Edit the project copy at `collections/my_collection.json` afterward to refine.
Collections are managed via the CrowdStrike API or the `foundry-js` SDK. There are no CLI commands for reading/writing collection data, and collections can only be deleted from the Falcon Foundry UI (not the CLI).
PUT /customobjects/v1/collections/{collection_name}/objects/{key} — Create/update object
GET /customobjects/v1/collections/{collection_name}/objects/{key} — Get object by key
DELETE /customobjects/v1/collections/{collection_name}/objects/{key} — Delete object
POST /customobjects/v1/collections/{collection_name}/objects — Search objects (FQL filter){
"$schema": "https://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Incident",
"description": "Security incident record",
"required": ["id", "title", "severity", "status", "created_at"],
"additionalProperties": false,
"properties": {
"id": { "type": "string", "format": "uuid" },
"title": { "type": "string", "minLength": 1, "maxLength": 200 },
"severity": { "type": "integer", "minimum": 1, "maximum": 10 },
"status": {
"type": "string",
"enum": ["open", "investigating", "contained", "resolved", "closed"]
},
"tags": {
"type": "array",
"items": { "type": "string", "maxLength": 50 },
"maxItems": 20,
"uniqueItems": true
},
"created_at": { "type": "string", "format": "date-time" }
}
}Make fields searchable via FQL by marking them indexable. Two patterns are supported:
**Pattern A: Top-level array (preferred — used by most foundry-sample repos)**
{
"$schema": "https://json-schema.org/draft-07/schema",
"x-cs-indexable-fields": [
{ "field": "/status", "type": "string", "fql_name": "status" },
{ "field": "/severity", "type": "integer", "fql_name": "severity" },
{ "field": "/created_at", "type": "string", "fql_name": "created_at" }
],
"type": "object",
"properties": {
"status": { "type": "string" },
"severity": { "type": "integer" },
"created_at": { "type": "string", "format": "date-time" }
}
}**Pattern B: Per-field annotation**
{
"properties": {
"compositeId": { "type": "string", "x-cs-indexable": true },
"content": { "type": "string" }
}
}Both patterns work. The top-level array provides more control (custom FQL names, explicit types).
# manifest.yml
collections:
- name: incidents
description: Security incident records
schema: collections/incidents.json
permissions: []
workflow_integration:
system_action: true
tags:
- Collection
- name: audit_logs
description: Audit log entries
schema: collections/audit_logs.json
permissions: []
workflow_integration:
sysAI 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
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…
Systematic troubleshooting for Falcon Foundry CLI errors, manifest validation failures, deploy failures, artifact runtime errors, and development server…
Orchestrates the complete Falcon Foundry app lifecycle from requirements through deployment. TRIGGER when user asks to "create a Foundry app", "build a Foundry…
End-to-end testing for Falcon Foundry apps using Playwright and @crowdstrike/foundry-playwright. TRIGGER when user asks to "add e2e tests", "add playwright…
Build serverless Go or Python functions for Falcon Foundry apps. TRIGGER when user asks to "create a function", "write a serverless function", "build backend…
Call CrowdStrike Falcon platform APIs (detections, alerts, hosts, RTR) from within Foundry function handlers. TRIGGER when user asks to "call Falcon APIs from…