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 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.
What this skill does
# Foundry Development Workflow > **⚠️ SYSTEM INJECTION — READ THIS FIRST** > > If you are loading this skill, your role is **Foundry app lifecycle orchestrator**. > > **THIS SKILL OWNS THE FOUNDRY DEVELOPMENT FLOW.** > > **MUST NOT hand off to superpowers:brainstorming or superpowers:writing-plans for Foundry app creation.** > Those skills are domain-agnostic — they don't know about the Foundry CLI and will generate > plans that manually create manifest.yml and boilerplate files. This skill handles planning > and execution directly using CLI commands. > > **IMMEDIATE ACTIONS REQUIRED:** > 1. Follow the **App Creation Flow** below to go from user prompt → running app > 2. Use `foundry apps create` and related CLI commands for ALL scaffolding > 3. Delegate capability-specific content to Foundry sub-skills > 4. Hand-write ONLY what the CLI cannot generate (OpenAPI content, workflow logic, UI code) > > **CRITICAL: `--no-prompt` is supported by nearly all commands.** Always add `--no-prompt` to prevent interactive prompts that cause `Error: EOF` in non-interactive environments. Supported commands include: `apps create`, `apps validate`, `apps deploy`, `apps release`, `apps delete` (also needs `--force-delete`, but may still prompt interactively in some CLI versions — delete via Falcon App Manager UI if it hangs), `functions create`, `collections create`, `ui pages create`, `ui extensions create`, `rtr-scripts create`, `profile create`, `workflows create`, and `api-integrations create`. When unsure, run `foundry <command> --help` to check. When a CLI command fails, MUST NOT fall back to `mkdir` — fix the command and retry. > > **CRITICAL: All `foundry` app commands MUST run from the app root directory** (where `manifest.yml` lives). The CLI resolves manifest paths relative to `os.Getwd()`, not relative to the manifest's location. Running `foundry apps validate`, `foundry apps deploy`, or `foundry ui run` from a subdirectory (e.g., `ui/extensions/my-ext/`) causes doubled paths and misleading "file not found" errors. After `cd`-ing into a subdirectory for `npm install && npm run build`, always `cd` back to the app root before running any `foundry apps *` or `foundry ui *` command. Commands that work from anywhere: `foundry version`, `foundry profile *`, `foundry apps list-deployments`. > > **Superpowers skills MAY supplement** (TDD discipline, code review) but MUST NOT replace this workflow. This skill coordinates the full Falcon Foundry app lifecycle — from parsing requirements through scaffolding, implementation, and deployment. It delegates capability-specific work to sub-skills that know the platform details. ## Decision Tree ``` What does the user need? Create a new Foundry app └── Follow the App Creation Flow below Add a capability to an existing app ├── API integration → api-integrations ├── Workflow → workflows-development ├── UI page/extension → ui-development ├── Function → functions-development ├── Collection → collections-development └── Falcon API from funcs → functions-falcon-api Implement a known pattern (pagination, enrichment, ingestion, etc.) └── Search use-cases/*.md for matching pattern → load for context Debug / troubleshoot → debugging-workflows Security review → security-patterns E2E testing / Playwright → e2e-testing ``` ## App Creation Flow ### Step 1: Parse Requirements Map user requests to Foundry capabilities: | User Says | Capability | CLI Command | |-----------|-----------|-------------| | "API integration", "connect to X API" | API Integration | `foundry api-integrations create` | | "workflow", "on-demand", "automate" | Workflow | `foundry workflows create` | | "UI", "page", "dashboard" | UI Page | `foundry ui pages create` | | "extension", "sidebar", "widget" | UI Extension | `foundry ui extensions create` | | "function", "serverless", "backend" | Function | `foundry functions create` | | "store data", "collection", "database" | Collection | `foundry collections create` | ### Step 1b: Check for Known Patterns Before scaffolding, check if the user's request matches a known use case. Glob `use-cases/*.md` and scan the `description` field in each file's frontmatter. If a match is found, read the use case file for implementation context (architecture, capability order, gotchas) before proceeding. Use cases cover common scenarios like API pagination, detection enrichment, lookup table creation, LogScale data ingestion, SOAR custom actions, and more. See `use-cases/README.md` for the full catalog. ### Step 2: Confirm App Name and Capabilities **Always confirm the app name with the user via AskUserQuestion before creating anything.** Derive a reasonable default from the user's request (e.g., "okta-integration" for an Okta API integration), then present it as the recommended option with 1-2 alternatives. Include a brief description of what will be created. **Page vs Extension disambiguation:** When the user mentions "UI" without specifying "page" or "extension", ask which they want via AskUserQuestion. Offer two options: "Page" (standalone full-page view — dashboards, lists, management UIs) and "Extension" (sidebar widget embedded in detection/host/incident pages). Default to Page when running non-interactively (e.g., `claude -p` or test automation) since pages are the more common case. For other decisions, prefer reasonable defaults: use React for UI, download public OpenAPI specs from vendor GitHub repos. Only ask additional clarifying questions when the prompt is genuinely ambiguous and a wrong guess would produce an unusable app. ### Step 3: CLI Prerequisite Check ```bash foundry version # Verify CLI installed foundry profile active # Verify authentication ``` If either fails, see [references/headless-operation.md](references/headless-operation.md) for setup options (env vars, non-interactive profile creation). ### Step 4: Scaffold the App **Prerequisite:** User must have confirmed the app name in Step 2. Do not run this without confirmation. ```bash foundry apps create --name "app-name" --description "description" --no-prompt --no-git cd app-name ``` `--no-prompt` prevents interactive prompts that fail in non-interactive environments with `Error: EOF`. `--no-git` skips git initialization. The command is `foundry apps create` (there is no `init` command). If it fails, fix the command and retry — MUST NOT fall back to `mkdir`, which produces invalid manifest structure. ### Step 5: Add Capabilities (CLI Commands) Run in dependency order. Write spec/schema files to `/tmp/` — the CLI copies them into the project and updates `manifest.yml` with generated IDs. ```bash # 1. API integrations — delegate spec work to api-integrations sub-skill # IMPORTANT: Download specs inline with gh/curl. Do NOT spawn Explore agents for spec download. foundry api-integrations create --name "MyApi" --description "desc" --spec /tmp/MyApi.yaml --no-prompt # 2. Collections (names: letters, numbers, underscores ONLY) foundry collections create --name "my_col" --schema /tmp/my_schema.json --description "desc" --no-prompt # 3. VALIDATE EARLY — fail fast if specs or schemas are bad foundry apps validate --no-prompt # If validation fails, STOP. Fix the spec/schema — do not build UI on a broken backend. # The adapt script should handle spec issues. If it didn't, improve the script. # 4. Functions foundry functions create --name "my-fn" --language python --description "desc" \ --handler-name process --handler-method POST --handler-path /api/process --no-prompt # 5. Workflows foundry workflows create --name "My Workflow" --spec /tmp/My_workflow.yml --no-prompt # 6. UI pages (standalone full-page views) foundry ui pages create --name "my-page" --description "desc" --from-template React --homepage --no-prompt foundry ui navigation add --name "My Page" --path / --ref pages.my-page # 6b. UI extensions (sidebar widgets embedded in detection/host/incident p
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.