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 skills add CrowdStrike/foundry-skills --skill app-auditgit clone --depth 1 https://github.com/CrowdStrike/foundry-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/crowdstrike/foundry-skills/app-audit)<a href="https://agentmods.dev/skills/crowdstrike/foundry-skills/app-audit"><img src="https://agentmods.dev/badge/skills/crowdstrike/foundry-skills/app-audit/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/crowdstrike/foundry-skills/app-audit"><img src="https://agentmods.dev/badge/skills/crowdstrike/foundry-skills/app-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00104 | $0.01202 |
| Opus 5.5 | $0.00042 | $0.00481 |
| Sonnet 5.5 | $0.00021 | $0.00240 |
| Haiku 4.5 | $0.00010 | $0.00120 |
Grade A, and why
app-audit 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 7d 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 — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Auditing a Foundry App
Run the bundled script against the app directory (the one with manifest.yml). It reads the manifest and the files it points to, calls no API, and needs only pyyaml:
python3 skills/app-audit/scripts/audit_app.py path/to/app # report
python3 skills/app-audit/scripts/audit_app.py path/to/app --json # machine-readable
python3 skills/app-audit/scripts/audit_app.py path/to/app --fix # apply the safe fixes, then report
It exits 1 when an error-level finding remains. Each finding names the skill and section that explains it; read that section before changing anything.
What It Checks
| Check | Severity | Why |
|---|---|---|
function-count |
warn | More than 20 functions. Each is a separate container build, and a fresh install with 43 failed where the same handlers in 11 functions deployed. |
handler-name-length |
error | Handler names must be 5 to 64 characters (the CLI's own limits). |
handler-name-duplicate |
error | Handler names must be unique within a function. |
request-property-undeclared |
error | A workflow passes a property the function's request_schema doesn't declare, so it's silently dropped. |
response-key-missing |
warn | A workflow reads a FaaS output key the handler's response_schema doesn't declare. |
unknown-function-action |
error | A workflow calls functions.<name>.<handler> that isn't in the manifest. |
missing-workflow-integration |
error | A workflow calls a handler that has no workflow_integration, so deploy fails. |
provision-on-install-missing |
warn, fixable | Installing won't create the workflow. Leave it off only when the app provisions the workflow itself through the Workflows API, as rapid-response and scalable-rtr do. |
provision-on-install-false |
info | Fine when deliberate. |
pycache-not-ignored |
warn, fixable | A local __pycache__/ would deploy. The CLI already skips hidden paths like .venv/. |
secret-in-env |
warn | A function reads a key, token, secret, or password from an environment variable, which is visible in app exports. |
server-url-protocol |
error | An OpenAPI server URL with variables starts with https:// or http://, so the protocol doubles. |
server-variable-default |
warn | A server variable has a default but no enum, which renders as a one-value dropdown. |
ui-not-built |
error | A page or extension has no dist/; deploy never builds the UI. |
ui-stale-build |
warn | src/ is newer than dist/, so deploy would ship the previous build. |
invalid-file |
error | manifest.yml, a workflow, or an API spec it points to doesn't parse, so the checks that read it were skipped. |
What ships with it
1 file 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.
- 7d ago Changed 0db14f5c58ae
- 8d ago First seen · 64 lines · 104 tokens per session scan A 2e397548990a
app-audit is a skill published in the GitHub repository CrowdStrike/foundry-skills (36 stars, last pushed yesterday), licensed MIT. It adds 104 tokens to every session and 1,202 once invoked, about $0.0004 per session on Opus 5.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-10-30.
app-audit compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| app-auditCrowdStrike/foundry-skills | Skill | 36 | yesterday | MIT | A | 104 | Claude Code |
| skill-debugnyldn/claude-octopus | Skill | 4.4k | yesterday | MIT | A | 18 | Claude Code |
| graph-it-livemagic5644/Graph-It-Live | Skill | 63 | yesterday | MIT | A | 160 | Claude Code |
| dead-code-huntermagic5644/Graph-It-Live | Skill | 63 | yesterday | MIT | A | 165 | Claude Code |
| graph-it-refactormagic5644/Graph-It-Live | Skill | 63 | yesterday | MIT | A | 52 | Claude Code |
| component-flattening-analysistech-leads-club/agent-skills | Skill | 7.1k | yesterday | none | A | 86 | Claude Code, Codex |
| codenavitech-leads-club/agent-skills | Skill | 7.1k | yesterday | none | A | 139 | Claude Code, Codex |