app-upgrades SKILL.md skillA
app-upgrades from crowdstrike/foundry-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add crowdstrike/foundry-skills/app-upgrades@v1.7.0Pins v1.7.0 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- crowdstrike/foundry-skills
- Path
skills/app-upgrades/SKILL.md- Versions recorded
- 4
- Latest version
- v1.7.0, committed Oct 30, 2026
- First version recorded
- Oct 26, 2026
- Size
- 7,143 bytes
- Repository stars
- 36
- License
- MIT
Upgrade a Falcon Foundry app that was installed from a template to a newer version of that template, in place. TRIGGER when user asks to "upgrade an app", "update an app installed from a template", "pull the latest template into my app", "update a sample app installed in my CID to the latest version", or gives an app ID plus a newer template archive, directory, or GitHub repo. DO NOT TRIGGER for creating a new app (use development-workflow) or for deploying changes to an app the user develops…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Upgrading Template-Installed Apps A Falcon Foundry template installs an app into a CID once. Nothing updates it when the template changes, and deploying the new template as-is creates a second app, because template manifests ship without IDs. This skill copies the installed app's IDs into the new version so `foundry apps deploy` updates the app the customer already has. The template is the source of truth. The app keeps its current name. Changes the customer made after installing are overwritten; artifacts only the customer added are removed. Stop and confirm before anything is removed. **Inputs:** the app ID, and optionally the new version as a `.tar.gz`/`.tgz` or `.zip` archive, an unpacked directory, or `owner/repo[@ref]`. With no version given, the skill finds the template by the app's name and uses its GitHub repo's default branch. The script is `scripts/upgrade_manifest.py` in this skill's directory. It needs `pyyaml`, and `crowdstrike-falconpy` for `find-template`. Run it from a virtual environment outside the app directory. ## Procedure Use a new scratch directory per upgrade (`$WORK` below). Never sync or extract into the user's working copy. …
Read the whole file at its exact version.
How to install
mdr add crowdstrike/foundry-skills/app-upgrades@sha256:ab2d14522109e82eThe line at the top of this page pins the label v1.7.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_ucsrgf2dr32hra73)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Oct 26, 2026 and Oct 30, 2026, about one every day.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v1.7.0 latest | 2026-10-30 | 024c8b0 | 7,143 B | A | view · diff |
| v1.6.0 | 2026-10-28 | c61303b | 7,143 B | A | view · diff |
| v1.6.0 | 2026-10-27 | c8e5aa4 | 6,796 B | A | view · diff |
| v1.6.0 | 2026-10-26 | bf5c202 | 6,456 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (7143 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
crowdstrike/foundry-skills · 36 stars · license MIT · pushed 2026-11-05 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_ucsrgf2dr32hra73 GET https://markdownregistry.com/api/v1/resolve?ref=crowdstrike/foundry-skills/app-upgrades GET https://markdownregistry.com/api/v1/blob/ab2d14522109e82e5c1f749bcde64bc132869261954689c75a68575cc0271754
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.