Keep FMA custom script comments admin-facing (new-fma skill) - #50805
Open
allenhouchins wants to merge 1 commit into
Open
Keep FMA custom script comments admin-facing (new-fma skill)#50805allenhouchins wants to merge 1 commit into
allenhouchins wants to merge 1 commit into
Conversation
FMA install/uninstall scripts are returned verbatim by GET /fleet/software/fleet_maintained_apps/:id and rendered in editable Ace editors in the Edit software modal, so every comment in them is customer-read product copy. Some shipped scripts carry long headers of internal history instead: validator timeouts, CI behavior, winget metadata archaeology, silentinstallhq links, and narratives of what was tried first. Add a "Custom script comments: these ship to customers" section to the new-fma skill with a keep/cut list, a length budget anchored to the existing corpus (only 51 of 580 scripts open with more than 6 comment lines), a worked before/after on darktable_install.ps1, and a prune-on-touch rule. Internal rationale belongs in the PR body. Also add a pre-ship checklist item and widen the skill description so it triggers when cleaning up an existing FMA script.
allenhouchins
temporarily deployed
to
Docker Hub
August 7, 2026 19:20 — with
GitHub Actions
Inactive
allenhouchins
marked this pull request as ready for review
August 7, 2026 19:22
allenhouchins
requested review from
cdcme,
getvictor and
lucasmrod
as code owners
August 7, 2026 19:22
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the new-fma Claude skill guidance to treat FMA custom install/uninstall script comments as admin-facing “product copy” (since scripts are exposed via API/UI), and adds concrete rules/budget for keeping comments short and relevant.
Changes:
- Expands the skill’s trigger description to include writing/cleaning up custom FMA install/uninstall scripts and reviewing script comments.
- Adds a new “Custom script comments: these ship to customers” section with keep/cut guidance, a length budget, and a darktable before/after example.
- Adds a pre-ship checklist item to enforce the new comment guidance.
Suppressed comments (1)
.claude/skills/new-fma/SKILL.md:117
- This uses the shorthand
inputs/*/scripts/, but elsewhere in this skill (and in the repo) the scripts live underee/maintained-apps/inputs/*/scripts/. Using the full repo-relative path avoids confusion for contributors trying to verify the numbers.
Budget: the Fleet template header (`# Learn more about .exe install scripts:` + URL) if the script started from a template, then **at most ~4 lines** of app-specific comment. Of the 580 scripts in `inputs/*/scripts/`, only 51 open with a longer block than that — a big header is the exception you have to justify, not the norm.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ### Custom script comments: these ship to customers | ||
|
|
||
| FMA install/uninstall scripts are not internal code. They're returned verbatim by `GET /fleet/software/fleet_maintained_apps/:id` and by the software title endpoint, and rendered in the "Install script" / "Uninstall script" editors of the Edit software modal ([AdvancedOptionsFields.tsx](../../../frontend/pages/SoftwarePage/components/forms/AdvancedOptionsFields/AdvancedOptionsFields.tsx)), where an admin reads them and can edit them. Every comment you leave is product copy — treat it like the app description, not like a commit message. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue: NA
Updates the
new-fmaClaude Code skill so custom FMA install/uninstall scripts ship with short, admin-facing comments instead of internal engineering history.Why
FMA install and uninstall scripts are customer-visible and customer-editable:
MaintainedApp.InstallScript/UninstallScriptare JSON-exposed (server/fleet/maintained_apps.go:19-20) and returned byGET /api/_version_/fleet/software/fleet_maintained_apps/{app_id}(server/service/maintained_apps.go:189) and by the software title endpoint (server/fleet/software_installer.go:92,102).frontend/pages/SoftwarePage/components/forms/AdvancedOptionsFields/AdvancedOptionsFields.tsx:93-127), writable outside GitOps mode. FMAs aren't excluded from "Edit software."So every comment in these scripts is product copy an admin reads. Today a number of shipped scripts open with headers about Fleet's own tooling instead — validator timeouts, "hangs in CI", the ingester, winget metadata archaeology,
silentinstallhq.comlinks, and narratives of what was tried first and why it failed. None of that means anything to a customer reading the script in Fleet.What changed
One file:
.claude/skills/new-fma/SKILL.md.ee/maintained-apps/inputs/*/scripts/, only 51 open with a longer block, so a big header is the exception to justify.Write-Host/echoit, since install output surfaces in the host's software install details.darktable_install.ps1(20-line header to 4 lines), naming which facts survive and which move to the PR.descriptionso it also triggers on writing or cleaning up an FMA script, not just adding a new FMA.What this PR does not do
It does not rewrite the 51 over-budget scripts. Each needs its facts checked against the script it documents (as the darktable example was), so that's a separate reviewable change — likely letter-batched like the other FMA workstreams.
Checklist for submitter
Changes file added for user-visible changes in
changes/,orbit/changes/oree/fleetd-chrome/changes.See Changes files for more information.
N/A — tooling/docs only. No product code, API, schema, or UI changes; nothing user-visible in a Fleet release.
Testing
QA'd all new/changed functionality manually
Verified the claims the guidance rests on before writing it: traced the script text from the datastore through both API responses to the Ace editors in the Edit software modal, and confirmed the editors are writable outside GitOps mode. Measured the comment-block distribution across all 580 scripts in
ee/maintained-apps/inputs/*/scripts/for the length budget. Confirmed the three files the section links to exist, and checked that the condensed darktable header stays faithful to what that script actually does.No automated tests — the change is a Markdown skill file with no executable code.