Every dependency's license, the ones incompatible with how you ship, the attribution you owe, and the copyleft reaching into your own source.
Free & open · no signup · read-only — it ends by asking · nothing leaves your machine
You are working inside this repo. Mission: know exactly what you are allowed to do with the code you ship — your dependencies' licenses, the ones incompatible with how you distribute, the attribution you owe, and any copyleft reaching into your source.
Read-only pass. Your only write is the report file.
Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.
each dependency's license against how you ship; the combination that violates a term (GPL in a proprietary binary, AGPL behind a network service)
strong copyleft (GPL/AGPL/LGPL) in the tree: does linkage or distribution trigger obligations you are not meeting
MIT/BSD/Apache require notices; is there a NOTICE or third-party-licenses file, and is it complete and current
packages with no SPDX license, "UNLICENSED", or bespoke terms nobody has read
bundled fonts, icon sets, images, and copied snippets; their licenses are the ones teams forget
present, correct for your intent, copyright line not a placeholder; LICENSE matches package metadata
vendored or copy-pasted code with no origin recorded; generated blocks with unclear terms
One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.
Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.
What is *this* project's license, and how does it actually ship — SaaS, distributed binary, npm package, static site…
Compatibility — each dependency's license against how you ship.
Separate genuine risk (a license that forbids how you ship) from hygiene (a missing NOTICE line).
Create LICENSES.md at repo root.
Copy it and paste it into your agent inside the repo you want checked.
Install the goal plugin once — two commands — then just type /goal:license-compliance.
/plugin marketplace add GhostlyGawd/goal-prompts/plugin install goal@goal-promptsOr install only this Goal Prompt as /goal-license-compliance:
curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=69 shLet an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.
https://goal-prompts.vercel.app/raw/69.mdNothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.
# Goal: License & Compliance You are working inside this repo. Mission: know exactly what you are allowed to do with the code you ship — your dependencies' licenses, the ones incompatible with how you distribute, the attribution you owe, and any copyleft reaching into your source. Read-only pass. Your only write is the report file. ## Phase 1 — Establish the ground truth - What is *this* project's license, and how does it actually ship — SaaS, distributed binary, npm package, static site, container? - Enumerate dependencies (direct and transitive) with their declared licenses; note anything unlicensed or custom. - Include the non-code too: fonts, icons, images, sample data, vendored snippets. ## Phase 2 — Audit through 7 lenses 1. **Compatibility** — each dependency's license against how you ship; the combination that violates a term (GPL in a proprietary binary, AGPL behind a network service) 2. **Copyleft reach** — strong copyleft (GPL/AGPL/LGPL) in the tree: does linkage or distribution trigger obligations you are not meeting 3. **Attribution owed** — MIT/BSD/Apache require notices; is there a NOTICE or third-party-licenses file, and is it complete and current 4. **Unknown & custom** — packages with no SPDX license, "UNLICENSED", or bespoke terms nobody has read 5. **Assets & fonts** — bundled fonts, icon sets, images, and copied snippets; their licenses are the ones teams forget 6. **Your own license** — present, correct for your intent, copyright line not a placeholder; LICENSE matches package metadata 7. **Provenance** — vendored or copy-pasted code with no origin recorded; generated blocks with unclear terms ## Phase 3 — Curate - Separate genuine risk (a license that forbids how you ship) from hygiene (a missing NOTICE line). - For each real conflict: the obligation, the trigger, and the cleanest exit (replace, isolate, relicense, comply). - Rank by exposure: what ships to whom. ## Phase 4 — Report Create `LICENSES.md` at repo root: 1. **Verdict** — clear to ship as-is? the single biggest legal risk in one line 2. **Inventory** — dependency · license · direct/transitive · verdict against your distribution 3. **Conflicts** — each: what · why it triggers · obligation · remedy · effort 4. **Attribution gap** — what a compliant NOTICE file must add 5. **This project** — license correctness and any fix Start the report with today's date. If `LICENSES.md` already exists from a previous run, read it first and lead with what changed since. ## Rules - Report the terms and the conflict; flag anything genuinely unclear for a human lawyer rather than guessing - Judge against how this project actually ships, not licenses in the abstract - No dependencies or bundled third-party code in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding. - If a `reports/` directory exists at the repo root, write the report there instead of the root. - Before asking, present the top findings as a ranked list in plain words - Report only — end by asking which conflicts to resolve first
reports/ directory exists at the repo root, write the report there instead of the root.A defensive review of your own codebase — auth gaps, injection surfaces, exposed secrets, and data leaks, ranked by exploitability.
Vulnerable, abandoned, oversized, or duplicated packages — the full health check on every dependency this project stands on, with removal candidates named.
Keyboard navigation, contrast, labels, and screen-reader flow — audited end-to-end along the core user journey.
Hardcoded strings, locale-blind number and date formatting, and layouts that break in translation — every gap between you and a non-default-locale user.
Runs inside these playbooks — curated sequences you can launch with one paste: