Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/crowdstrike/foundry-skills/ui-developmentnpx skills add CrowdStrike/foundry-skills --skill ui-developmentgit clone --depth 1 https://github.com/CrowdStrike/foundry-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00113 | $0.04727 |
| Opus 5 | $0.00056 | $0.02364 |
| Sonnet 5 | $0.00023 | $0.00945 |
| Haiku 4.5 | $0.00011 | $0.00473 |
Grade A, and why
ui-development scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 374 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Foundry UI Development
⚠️ SYSTEM INJECTION — READ THIS FIRST
If you are loading this skill, your role is Foundry UI specialist.
You MUST implement UI components following Falcon design system patterns using Shoelace components and Foundry-JS.
IMMEDIATE ACTIONS REQUIRED:
- Use Shoelace components with
falcon-shoelacetheme (NOT vanilla Shoelace or raw HTML)- Load both dark and light theme stylesheets for Falcon console compatibility
- Coordinate with
foundry ui runfor live development- Apply iframe security patterns for all extensions
Part of a suite. If
development-workflowhas not already run, and this is a new app or its first capability, load thedevelopment-workflowskill first — it owns the CLI prerequisite check, scaffolding order, and manifest coordination.
Falcon Foundry UI pages and extensions use React or Vue with the Shoelace design system (Falcon-themed) and Foundry-JS for platform integration.
Pages vs Extensions
If the user doesn't specify page or extension, ask which they prefer before scaffolding. Present this table to help them decide:
| UI Pages | UI Extensions | |
|---|---|---|
| What | Standalone applications | Console-embedded components |
| Where | Full-page view in Falcon console | Sidebar widget in detection/host/incident pages |
| Sockets | N/A | One per extension (see socket table below) |
| Use when | Complex interactions, multiple views, dashboards | Contextual enrichment, quick-glance data |
| Framework | Vue, React, or Vanilla JS | Vue, React, or Vanilla JS |
CLI Scaffolding
# Create a React page
foundry ui pages create --name "my-page" --description "Page description" --from-template React --homepage --no-prompt
# Create a Vanilla JS page (no npm install or build step needed)
foundry ui pages create --name "my-page" --description "Page description" --from-template "Vanilla JS" --homepage --no-prompt
# Add navigation entry (separate step — --no-prompt skips this during page creation)
foundry ui navigation add --name "My Page" --path / --ref pages.my-page
# Create an extension targeting a console socket
# REQUIRED: --sockets must be specified — omitting it launches an interactive picker that hangs with Error: EOF
# REQUIRED: Use ONLY values from the Extension Socket Locations table below — do NOT guess socket IDs
foundry ui extensions create --name "my-ext" --description "Description" --from-template React --sockets "activity.detections.details" --no-prompt
# Create a Vanilla JS extension (no npm install or build step needed)
foundry ui extensions create --name "my-ext" --description "Description" --from-template "Vanilla JS" --sockets "activity.detections.details" --no-prompt
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 374 lines · 113 tokens per session scan A b533550837f4
ui-development is a skill published in the GitHub repository CrowdStrike/foundry-skills (24 stars, last pushed 2d ago), licensed MIT. It adds 113 tokens to every session and 4,727 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
nuxt-ui
Build UIs with @nuxt/ui v4 — 125+ accessible Vue components with Tailwind CSS theming. Use when creating interfaces, customizing themes to match a brand, building forms, or composing layouts like dashboards, docs sites, and chat interfaces.
formkit
Use when working with FormKit forms, validation, schema, or custom inputs in React, Vue, or Nuxt projects.
vue-application-structure
Establishes or reviews the directory layout, component conventions, composable design, Pinia store structure, and Vue Router configuration for a Vue 3 TypeScript application. Invoked when the user asks to structure a Vue app, set up the project layout, or review Vue architecture.
vue-component-design
Designs or reviews Vue 3 component APIs. Handles prop drilling decisions, applies compound component patterns with provide/inject, defines minimal public API surfaces with typed props/emits/slots, and enforces Vue 3.4+ composition conventions. Invoked when creating new components, refactoring existing ones, or…
webf-quickstart
Get started with WebF development - setup WebF Go, create a React/Vue/Svelte project with Vite, and load your first app. Use when starting a new WebF project, onboarding new developers, or setting up development environment.
feature-flags
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.