asc-whats-new-writer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited asc-whats-new-writer (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Generate engaging, localized release notes from flexible input. Optionally pair with promotional text updates.
asc metadata pull --app "APP_ID" --version "1.2.3" --dir "./metadata". OR: user provides keywords manually.asc auth login or ASC_* env vars).en-US unless the user specifies otherwise.references/release_notes_guidelines.md for tone, structure, and examples.metadata/version/ (highest semver). Use this for all metadata reads.Accept one of three input modes (auto-detect):
Parse commits since the last tag:
# Find latest tag
git describe --tags --abbrev=0
# List commits since that tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-mergesFilter out noise: merge commits, dependency bumps, CI changes, formatting-only commits. Extract user-facing changes.
User provides rough bullets like:
User describes changes conversationally:
"We made search faster, fixed that annoying crash when you open the app, and added a sleep timer feature"
The skill extracts and structures the changes from the text.
Prompt the user: "What changed in this release? You can paste git log output, bullet points, or just describe the changes."
Group changes into sections per the guidelines:
Omit empty sections. If all changes are fixes, only show "Fixed."
Follow the tone rules from references/release_notes_guidelines.md:
The first ~170 characters are the only visible part before "more." Lead with the single most impactful change in a complete, compelling sentence.
keywords from metadata/version/{latest}/{primary-locale}.jsonasc metadata keywords ... reads and writes.If the user wants it, draft a 170-char promotional text that:
Show the draft to the user with character count. Wait for approval before localizing.
Translate the approved notes to all existing locales.
For each locale:
keywords from metadata/version/{latest}/{locale}.jsonShow a table of all locales with their notes and character counts:
| Locale | What's New (first 80 chars...) | Chars | Promo Text | Chars |
|--------|-------------------------------|-------|------------|-------|
| en-US | Search just got faster — ... | 847 | New sleep… | 142 |
| ar-SA | البحث أصبح أسرع — ... | 923 | نوم جديد… | 138 |
| ... | ... | ... | ... | ... |Do not upload without user confirmation.
Upload via asc (verify exact syntax with asc --help):
# Individual locale direct update
asc apps info edit --app "APP_ID" --version-id "VERSION_ID" --locale "en-US" --whats-new "Your release notes here"
# Bulk canonical-metadata push after writing ./metadata/version/<version>/<locale>.json
asc metadata push --app "APP_ID" --version "1.2.3" --dir "./metadata" --dry-run
asc metadata push --app "APP_ID" --version "1.2.3" --dir "./metadata"If promotional text was drafted, either include --promotional-text "..." in the direct update command or write promotionalText into the canonical JSON before asc metadata push.
On partial upload failure:
metadata/version/{latest-version}/{locale}.json → keywords fieldmetadata/version/{latest-version}/{locale}.json → whatsNew fieldmetadata/version/./metadata tree is what asc metadata pull, asc metadata push, and asc metadata keywords ... operate on.asc-aso-auditasc-localize-metadata instead.asc-aso-audit first.asc metadata pull or inspect planned keyword changes with asc metadata keywords diff.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.