一键导入
suede-release-linter
Audit creative release folders before handoff: metadata, file structure, artwork, lyrics, stems, rights blockers, and platform readiness.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Audit creative release folders before handoff: metadata, file structure, artwork, lyrics, stems, rights blockers, and platform readiness.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
The pack's contract/customer-service negotiator, proven outside a repo: scans an Amazon account for restocking fees, short refunds, and forgotten or overpriced digital subscriptions (Prime Video Channels like Britbox/Starz/AMC+/Paramount+, Audible membership, Kindle Unlimited, Prime itself) — money Amazon is quietly holding or billing that the owner never noticed — then drives Amazon's live chat to get fees waived, refunds issued, or unused subscriptions canceled and the last charge refunded. Recovered $448.31 in one sitting — including a full refund on an item Amazon had already denied once, with no return required. Use this whenever the user mentions Amazon returns, restocking fees, an Amazon refund that looks short, a forgotten subscription (Britbox, Starz, Audible, Kindle Unlimited, etc.), disputing an Amazon charge, checking whether a return was fully refunded, auditing recurring Amazon charges, or asks something like 'did I get charged for that return', 'am I still paying for Britbox', or 'is Amazon sti
The pack's contract negotiator, generalized beyond Amazon: a recurring-charge auditor that finds forgotten, unused, or overpriced subscriptions across any service (Netflix, Spotify, Hulu, Disney+, gym memberships, SaaS tools, news sites, app subscriptions) and either cancels them directly or negotiates a refund/waiver through that service's own support channel. Complements amazon-returns-recovery, which stays scoped to Amazon returns/restocking fees and Amazon-billed subscriptions (Prime Video Channels, Audible, Kindle Unlimited) — this skill covers everything billed outside Amazon: direct-bill streaming and software, App Store and Google Play subscriptions, and PayPal-billed recurring payments. Use this whenever the user wants to audit recurring charges generally, asks what subscriptions they're paying for, mentions a specific non-Amazon subscription (Netflix, Spotify, a gym, a SaaS tool, etc.), wants to find and cancel unused subscriptions, or asks something like 'what am I still paying for', 'find my subsc
Umbrella workflow for 25 public skills: copy, design, code review, SEO, launch packaging, MCP QA, iOS conversion, and creator workflows.
Claude-directed parallel OpenAI Codex CLI worker fleet for bulk generation. Use when a job is high-volume, well-specified, and splits into independent worker-sized tasks (content batches, test generation, bulk refactors) and Codex CLI is installed and logged in. Claude decomposes, briefs, spawns codex exec runs in parallel, and review-gates every output. NOT FOR: multi-lane Claude agents coordinating one complex change (use suede-agent-teams); low-volume, judgment-dense copy Claude should write itself (use suede-copy or johnny-suede-write).
Design and write polished product surfaces people understand fast: landing pages, dashboards, campaigns, restyles, UI copy, and visual QA.
Make Suede interfaces feel intentional: tokens, color, components, type, motion, dark mode, and visual QA for shipped screens.
| name | suede-release-linter |
| description | Audit creative release folders before handoff: metadata, file structure, artwork, lyrics, stems, rights blockers, and platform readiness. |
Audit a music or media project folder and produce a practical release-readiness report. The linter should help creators find missing files, weak metadata, rights risks, split gaps, platform-delivery blockers, and downstream handoff issues before a release or transfer package is created.
Core principle: report what is present, missing, or unknown. Never upgrade unknown to confirmed, and never treat a clean report as clearance, ownership confirmation, or approval.
Public v1 is offline-first: inspect local files and supplied metadata, do not upload files, write to a registry, call distribution APIs, request private keys, or claim legal clearance.
references/lint-rules.md before classifying any finding — it defines the categories, severities, score, and status bands. Do not assign severities from memory.scripts/lint_release.py to generate release-lint-report.md and release-lint-report.json.references/fix-guidance.md when turning findings into specific next actions.suede-rights-passport package workflow.unknown, missing, or needs creator confirmation. Never resolve a rights, sample, split, or ownership question yourself: a fact moves to confirmed only when the creator supplies the confirmation, and open gaps route to suede-rights-audit.python3 /path/to/suede-release-linter/scripts/lint_release.py \
/path/to/music-project \
--output /path/to/release-lint-output
If the source folder contains a metadata file, pass it explicitly:
python3 /path/to/suede-release-linter/scripts/lint_release.py \
/path/to/music-project \
--metadata /path/to/music-project/metadata.json \
--output /path/to/release-lint-output
Accepted metadata formats are JSON, YAML/YML when PyYAML is installed, and
public-safe key=value text files. Do not point metadata at real .env,
credential, wallet, or deployment config files.
Safety defaults:
--include-other is passed.--include-absolute-paths is passed.--force is passed.python3 -m pip install PyYAML.Read each bundled reference at the moment it is needed, not up front:
references/lint-rules.md: before classifying findings, or when hand-linting without the script — categories, severity levels, score, and status bands.references/metadata-fields.md: when metadata is missing, malformed, or being authored — recommended fields, accepted aliases, and confirmation values.references/fix-guidance.md: when turning findings into next actions or a fix plan.references/passport-context.md: when the user asks how the lint report relates to Suede review or the Suede Creator Passport.The script writes:
release-lint-report.md: human-readable report.release-lint-report.json: machine-readable findings.Use the bundled assets when repairing or hand-writing reports:
assets/release-lint-report.template.mdassets/release-lint-report.template.jsonassets/metadata.example.jsonTwo synthetic release folders under scripts/fixtures/ exist to sanity-check
that the linter still categorizes correctly after any change to
scripts/lint_release.py. All names, contributors, and metadata in both
fixtures are fake — no real personal data.
scripts/fixtures/sample-clean-project/: a small release folder (metadata,
a WAV master, square 1600x1600 artwork, a lyrics file, three stems) shaped
to score cleanly against references/lint-rules.md.scripts/fixtures/sample-blocked-project/: a release folder deliberately
missing title, artist, primary media, artwork, ownership confirmation, and
valid split totals, with samples indicated but clearance unconfirmed — it
triggers real error-severity findings.scripts/fixtures/sample-clean-project.expected.md /
.expected.json and scripts/fixtures/sample-blocked-project.expected.md /
.expected.json: the actual release-lint-report.md / .json output
produced by running the script against each fixture, committed as a
regression baseline.To re-check the linter's behavior, run it from this skill folder and diff the result against the committed expected output:
python3 scripts/lint_release.py scripts/fixtures/sample-clean-project \
--output /tmp/suede-lint-check-clean
diff scripts/fixtures/sample-clean-project.expected.md \
/tmp/suede-lint-check-clean/release-lint-report.md
python3 scripts/lint_release.py scripts/fixtures/sample-blocked-project \
--output /tmp/suede-lint-check-blocked
diff scripts/fixtures/sample-blocked-project.expected.md \
/tmp/suede-lint-check-blocked/release-lint-report.md
The clean fixture should score 99 with 0 errors, 0 warnings, and the
status strong (the single unavoidable info finding is the
rights-passport-candidate note the script always appends). The blocked
fixture should score 0 with 7 errors, 11 warnings, 2 info findings,
and the status blocked, and the script should exit 1. The .md reports
diff byte-for-byte on a clean re-run; the .json reports will differ only in
the generated_at timestamp line, since that field is set to the current
time on every run.
Before reporting a lint result:
error findings and the most important warning findings.blocked (any error finding, or score below 50), needs-work (50-74), usable-with-cleanup (75-89), or strong (90+). Never soften a blocked status in prose.If any of these appear in your reasoning, stop and re-read the core principle:
A clean release-lint report is a portable review artifact. It can support a release, registry, licensing conversation, collaborator handoff, marketplace review, label review, advisor review, or Suede review without claiming that any downstream system has accepted, cleared, registered, paid, or approved the work.
error findings and the user wants handoff prep → suede-rights-passport
to build the transfer package.