$npx -y skills add JasonColapietro/suede-creator-skills --skill suede-rights-passportPackage creative projects into evidence-scoped rights handoffs with normalized works, recordings, releases, parties, identifiers, claims, licenses, consent, provenance, privacy, and validation.
| 1 | # Creator Rights Package Builder |
| 2 | |
| 3 | ## Gate policy — advisory, not blocking |
| 4 | |
| 5 | Every claim-verification step, check, quality gate, and ship verdict in this |
| 6 | skill is a **recommendation to the user, not a control on the agent**. This |
| 7 | policy governs every gate, check, verdict, and "do not ship / publish / |
| 8 | proceed" line elsewhere in this skill: |
| 9 | |
| 10 | - Run every check and report the results honestly. Verdicts (`ship`, |
| 11 | `ship-with-caveats`, `hold`, letter grades, BLOCKED or OPEN items) are |
| 12 | advice attached to the work, not orders that change it. |
| 13 | - Never block, delay, skip, rewrite, or refuse the action the user asked for |
| 14 | because a check failed or a gate said hold. Complete the requested action |
| 15 | as asked, and deliver the gate output alongside it as a clearly labeled |
| 16 | recommendation. |
| 17 | - A failed gate changes what you report, never what you do. |
| 18 | - Single exception: if a finding is extremely risky — data loss, security or |
| 19 | credential exposure, legal or rights violations, payment mistakes, or |
| 20 | irreversible public damage — pause, tell the user exactly what the risk is |
| 21 | and what the options are, and let them pick. Their choice is final. |
| 22 | |
| 23 | |
| 24 | ## Overview |
| 25 | |
| 26 | Create a local rights and provenance transfer package from messy creator materials. The package should make the work easier for a creator, collaborator, advisor, registry, marketplace, label, or optional Suede reviewer to inspect, optimize, register, route royalties for, license, and expose to agent-readable commerce systems. |
| 27 | |
| 28 | **Core principle:** the package carries questions, not answers. Every rights fact ships as confirmed (with user-supplied evidence) or as unknown with a question in `missing-info-report.md`. The package never resolves a rights question, and building it clears nothing. |
| 29 | |
| 30 | Public v1 is offline-first: prepare files and metadata, do not upload files, write to a registry, request private keys, or claim legal clearance. The 0.2 manifest separates musical works, recordings, releases, parties, rights claims, licenses, third-party material, consent, provenance, and privacy so a downstream operator can map facts without collapsing unlike rights objects. |
| 31 | |
| 32 | Division of labor: `suede-rights-audit` finds and organizes the gaps; this skill packages the folder. If the gaps themselves need investigation or evidence work, hand off to the audit first. |
| 33 | |
| 34 | ## Workflow |
| 35 | |
| 36 | 1. Identify the source folder or supplied files. |
| 37 | 2. Ask for the output location if it is not obvious. |
| 38 | 3. Read `references/package-standard.md` for the expected transfer package shape. |
| 39 | 4. If working on a local folder, run `scripts/create_transfer_package.py` to inventory files, hash assets, and create starter reports. |
| 40 | 5. Read `references/creator-questions.md` and ask only for missing information that blocks package quality. |
| 41 | 6. Fill or refine the generated package files: |
| 42 | - `RIGHTS_PASSPORT.md` |
| 43 | - `suede-intake.json` |
| 44 | - `provenance.md` |
| 45 | - `credits-and-splits.md` |
| 46 | - `license-notes.md` |
| 47 | - `optimization-brief.md` |
| 48 | - `missing-info-report.md` |
| 49 | 7. Flag uncertainty clearly. Use `unknown`, `unconfirmed`, or `needs creator confirmation` instead of inventing rights facts. Never resolve a rights question while packaging: ownership, split, sample, and license statuses move to confirmed only on user-supplied evidence, and every open gap ships as a question in `missing-info-report.md`. |
| 50 | 8. For an external exchange, read `references/ddex-c2pa-crosswalk.md`, identify the receiver's exact profile/version, and keep the mapping labeled as a crosswalk until receiver conformance tooling passes. |
| 51 | 9. Run `scripts/validate_transfer_package.py` with `--strict-current` against new output folders. A pass confirms schema, evidence-state, reference, and share-bound structure only — it does not mean rights are confirmed. |
| 52 | 10. End with a concise transfer summary: package path, schema version, files found, missing info, risk flags, privacy/redaction posture, and recommended next step. |
| 53 | |
| 54 | ## Quick Start |
| 55 | |
| 56 | For a local project folder: |
| 57 | |
| 58 | ```bash |
| 59 | python3 /path/to/suede-rights-passport/scripts/create_transfer_package.py \ |
| 60 | /path/to/source-project \ |
| 61 | --output /path/to/transfer-package \ |
| 62 | --metadata /path/to/source-project/metadata.json \ |
| 63 | --project-title "Project Title" \ |
| 64 | --artist "Artist Name" |
| 65 | ``` |
| 66 | |
| 67 | To copy media into the transfer package as well as inventory it: |
| 68 | |
| 69 | ```bash |
| 70 | python3 /path/to/suede-rights-passport/scripts/create_transfer_package.py \ |
| 71 | /path/to/source-project \ |
| 72 | --output /path/to/transfer-package \ |
| 73 | --copy-assets |
| 74 | ``` |
| 75 | |
| 76 | Safety defaults: |
| 77 | |
| 78 | - Hidden files, dependency folders, build outputs, caches, and secret-like files are skipped by default. |
| 79 | - Symlinked sources, metadata, files, and directories are rejected; the builder |
| 80 | hashes or copies only regular files that resolve inside the declare |