asset-license-checker
Skill3 starsChanged 6 months agoMITView on GitHub
Verify license compliance for downloaded 3D assets, textures, HDRIs, fonts before scene build or export.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- acceptance-criteria-builderSkill
- asset-discoverySkill
- asset-fallback-strategySkill
- asset-library-planSkill
- asset-style-checkSkill
- blender-brainstormingSkill
- blender-recipe-decomposerSkill
- blender-troubleshootingSkill
- blendops-helpSkill
- bridge-conflictsSkill
- camera-compositionSkill
- character-portraitSkill
- cli-appendix-job-outlineSkill
- color-management-decisionSkill
- composition-quality-checkerSkill
- cycles-vs-eevee-decisionSkill
- done-criteriaSkill
- environment-shotSkill
- glb-animation-handoffSkill
- glb-web-handoffSkill
- intent-to-3d-brief-writerSkill
- interior-sceneSkill
- lighting-material-planSkill
- lighting-quality-checkerSkill
- material-quality-checkerSkill
- mobile-glb-budgetSkill
- output-format-decisionSkill
- pack-prerequisite-checkerSkill
- path-one-host-outlineSkill
- plain-language-responseSkill
- polycount-budget-checkerSkill
- pre-handoff-verificationSkill
- preview-reportSkill
- product-grid-scene-plannerSkill
- product-hero-scene-plannerSkill
- r3f-component-planSkill
- recipe-fit-assessorSkill
- render-export-evidenceSkill
- resolution-aspect-decisionSkill
- runtime-attempt-reportSkill
- runtime-path-pickerSkill
- runtime-readinessSkill
- runtime-setupSkill
- scene-readinessSkill
- scope-guardSkill
- stage-gatesSkill
- <skill-name>Skill
- workflow-stage-routerSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 2 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Before handing off to asset-style-check, asset-library-plan, or scene planners (product-hero-scene-planner, character-portrait, …
- Very specific: line 20
Before pre-handoff-verification, render-export-evidence, glb-web-handoff, or glb-animation-handoff.
- Very specific: line 101
Ensure every external asset has its own row.
- Very specific: line 102
Look up documented license terms per references/license-source-rules.md (do not interpret ambiguous legal language).
- Very specific: line 132
Verify documented terms cover internal or non-commercial use.
- Distinctive: line 136
Verify documented redistribution and modification permissions for every external asset row, ensure package-level attribution lines are …
- Very specific: line 147
If source URLs or license files are unreadable or missing, assign per-asset verdict Fail (unknown license blocks use), keep Artifact …
- Distinctive: line 185
Never ship without verifying every external asset's license.
- Very specific: line 236
Check visual style or aesthetic consistency (asset-style-check).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
asset-license-checker
Purpose
Catch license risk before assets go into a scene that will be rendered, exported, or shipped. This is a planning / validation skill — does not modify assets, does not consult lawyers.
Quick start
- Receive the sourced external asset list from
asset-discovery(models, textures, HDRIs, fonts, sounds, brushes). - Record source URL, documented license name, and stated permissions per asset.
- Flag risk per asset (
Pass/Warn/Fail) and specify required attribution lines and attribution plan. - Gate progression: hand off to
asset-style-check,asset-library-plan, orworkflow-stage-routeronly if all rows arePassor explicitly acceptedWarn; route anyFailrows toasset-fallback-strategy.
When to use
- Immediately after
asset-discoveryproduces a candidate asset list. - Before handing off to
asset-style-check,asset-library-plan, or scene planners (product-hero-scene-planner,character-portrait,environment-shot,interior-scene,product-grid-scene-planner). - Before
pre-handoff-verification,render-export-evidence,glb-web-handoff, orglb-animation-handoff. - Whenever a previously sourced asset's license or attribution requirement is unclear.
When not to use
<!-- blendops:generated:start exclusions -->- Sourcing or searching for candidate assets → use
../asset-discovery/SKILL.md(Delegates out-of-scope requests to asset-discovery) - Checking visual consistency, scale, or aesthetic fit across assets → use
../asset-style-check/SKILL.md(Delegates out-of-scope requests to asset-style-check) - Replacing or working around rejected/blocked assets → use
../asset-fallback-strategy/SKILL.md(Delegates out-of-scope requests to asset-fallback-strategy) - Structuring folders, naming conventions, or catalog storage → use
../asset-library-plan/SKILL.md(Delegates out-of-scope requests to asset-library-plan) - First-party assets authored entirely in-house with no external dependencies. → use
../asset-discovery/SKILL.md(Delegates out-of-scope requests to asset-discovery) - Legal advice or binding legal interpretation (this skill flags risk only; escalate ambiguity to legal). → use
../asset-style-check/SKILL.md(Delegates out-of-scope requests to asset-style-check)
<!-- blendops:generated:end exclusions -->Trigger phrases
<!-- blendops:generated:start triggers -->- "is this license OK"
- "can I use this commercially"
- "what's the license"
- "license check"
<!-- blendops:generated:end triggers -->Prerequisites / readiness
- Sourced asset list from
asset-discoverywith source URLs/origins recorded. - Intended use case stated (commercial, non-commercial, internal, or open-source).
- Target attribution plan defined (where and how attribution lines will be rendered, or whether attribution cannot be supported).
Input schema
Required inputs
| Input | Why it is required |
| Asset list (name + source) | Scope of check |
| Intended use case | Drives compatibility |
| Target attribution policy | Some licenses require attribution |
Optional inputs
| Input | Use |
| Existing internal license whitelist | Pre-approved sources |
| Brand legal policy | Per-company override rules |
Assumptions to confirm
- Asset license file or page is publicly readable.
- License version is current (licenses sometimes change).
- The user's intended use is accurately stated.
Output schema
Primary output
A per-asset row table: asset name, source URL, documented license name, attribution required (Y/N), commercial allowed (Y/N), modification allowed (Y/N), redistribution allowed (Y/N), validation verdict (Pass / Warn / Fail), and notes.
Secondary output
- Required attribution lines and attribution rendering plan (where applicable).
- Blocked assets (
Fail) routed toasset-fallback-strategy. - Top-line gate status (
Pass/Warn/Fail).
Evidence / caveat output
Validation verdicts (Pass / Warn / Fail) apply per asset and are separate from runtime and artifact truth states. Truth states are downgrade-only (never upgrade), and Artifact status defaults to Not Produced:
Runtime status: Not Run | Attempted | Produced | Verified | Failed
Artifact status: Not Produced | Produced | Verified | Failed
Evidence used: <links, paths, logs, or "none">
Limitations: <known gaps>Required laws
../../laws/evidence-before-done.md../../laws/non-blender-user-language.md../../laws/no-arbitrary-python-interface.md../../laws/official-runtime-only.md
Official runtime boundary
Validation skill — does not modify assets, does not run Blender. Verdicts are based on documented license terms, not legal interpretation. Not legal advice: when in doubt, recommend the user consult their legal team.
Operating procedure
- Ingest the external asset list from
asset-discovery. - Ensure every external asset has its own row; unknown or missing license immediately blocks use (
Fail). - Look up documented license terms per
references/license-source-rules.md(do not interpret ambiguous legal language). - Map documented permissions (commercial, modification, redistribution, attribution) against the stated intended use and attribution plan.
- Assign a per-asset validation verdict (
Pass/Warn/Fail) separate from runtime/artifact truth states. - Compile exact attribution lines and verify an attribution plan exists wherever attribution is required.
- Route any
Failassets toasset-fallback-strategy(or back toasset-discoveryfor re-sourcing). - Gate downstream progression: proceed to
asset-style-check,asset-library-plan, orworkflow-stage-routeronly if all rows arePassor explicitly acceptedWarn.
Decision tree
License unknown, missing, or unverified source?
→ Fail (blocks use until source and license are confirmed)
"CC0 / public domain" with documented dedication?
→ Pass for the stated use (still record attribution plan as N/A)
Documented terms forbid intended use (e.g., non-commercial-only license for a commercial project, or no modification/redistribution when required)?
→ Fail (route asset to asset-fallback-strategy)
Attribution required by license, but no attribution plan exists?
→ Fail (blocks use until attribution plan is confirmed)
Documented terms permit intended use, but contain ambiguity?
→ Warn (escalate ambiguity to legal; requires explicit user/legal acceptance to proceed)Playbooks
Playbook A: Commercial delivery
Require explicit documented commercial permission for every asset row. If attribution is required, verify the attribution plan is approved before gating; otherwise mark Fail and route to asset-fallback-strategy. Escalate any custom or ambiguous terms to legal.
Playbook B: Internal / non-commercial review
Verify documented terms cover internal or non-commercial use. Track all required attribution lines so internal prototypes cannot advance to commercial handoff (pre-handoff-verification) without re-running asset-license-checker.
Playbook C: Redistributed or shared package
Verify documented redistribution and modification permissions for every external asset row, ensure package-level attribution lines are included in the attribution plan, and escalate cross-license compatibility questions to legal.
Mode handling
Text-only mode
Evaluate license rows strictly from the provided asset specification and documented source text. No Python and no Blender execution. Set Runtime status: Not Run and Artifact status: Not Produced (downgrade-only, never upgrade).
Runtime-ready mode
Evaluate license rows against user-supplied license files or manifest records. Maintain Runtime status: Not Run (this skill never runs Blender) and downgrade truth states if any expected documentation artifact is missing.
Blocked runtime mode
If source URLs or license files are unreadable or missing, assign per-asset verdict Fail (unknown license blocks use), keep Artifact status: Not Produced, and route blocked assets to asset-fallback-strategy.
Validation checklist
- Every external asset has a dedicated row in the table.
- Source URL and documented license name are recorded per row (unknown license marked
Fail). - Permissions per row recorded (
commercial/modification/redistribution/attribution). - Per-asset validation verdict (
Pass/Warn/Fail) assigned separately from truth states. - Required attribution lines and attribution plan recorded where applicable.
- Runtime and artifact truth states included (
Artifact statusdefaults toNot Produced; downgrade-only). - Scene gate enforced: downstream handoff allowed only on all-
Passor explicitly acceptedWarn;Failrows routed toasset-fallback-strategy.
Pass / Warn / Fail rubric
| Verdict | Criteria |
| Pass | License is explicitly documented, permissions match intended use, and required attribution is covered by a concrete attribution plan. |
| Warn | Documented permissions appear compatible, but terms contain ambiguity requiring legal review or the attribution plan needs explicit user confirmation. |
| Fail | License is unknown/missing, documented terms forbid intended use, attribution is required without an attribution plan, or rights are reserved without explicit permission. |
Failure handling
- Unknown or missing license → assign
Failand block asset use immediately. - Attribution required without a rendering plan → assign
Failand block until an attribution plan is established. - Vague or unverified assurance ("probably fine") → never assign
Pass; markWarn(if documented terms exist but need legal review) orFail(if undocumented), and escalate ambiguity to legal. - Any
Failverdict → block downstream scene progression and hand off rejected assets toasset-fallback-strategyorasset-discovery. - Truth states → downgrade-only; never upgrade
Runtime statusorArtifact status.
Troubleshooting
| Problem | Response |
| License page unreachable / missing | Assign Fail (unknown license blocks use); route to asset-fallback-strategy or asset-discovery. |
| License terms changed since download | Flag as Warn or Fail depending on whether dated proof of prior terms exists; do not assume grandfathering — escalate to legal. |
| Mixed-license asset bundle | Split bundle so every individual external sub-asset gets its own row and verdict. |
| AI-generated external asset | Treat as unknown/ambiguous unless platform terms are explicitly documented for the intended use; escalate ambiguity to legal. |
Best practices
- Record license at acquisition time, not at build time.
- Maintain an internal whitelist for repeat sources.
- Never ship without verifying every external asset's license.
- "Not legal advice" — escalate ambiguity to legal.
Good examples
- "Asset:
studio_hdri.exr, source: documented vendor URL, license: explicitly documented public-domain/permissive terms, commercial: Y, mod: Y, redist: Y, attribution: N. Verdict:Pass." - "Asset:
hero_chair.glb, source: documented marketplace URL, license: attribution-required license, commercial: Y, attribution plan: credits screen line recorded. Verdict:Pass."
Bad examples
- "Asset is from internet." — no source, no license.
User-facing response template
Intended use: <commercial / non-commercial / internal / open-source>
Attribution plan: <where attribution will render or "none">
| Asset | Source | License | Comm | Mod | Redist | Attribution | Verdict | Notes |
|---|---|---|---|---|---|---|---|---|
Required attribution lines:
- <line 1 or "none">
Assets blocked (Fail — route to asset-fallback-strategy): <list or "none">
Top-line gate verdict: <Pass / Warn / Fail>
Note: Not legal advice; escalate any license ambiguity to your legal team.
Runtime status: Not Run | Attempted | Produced | Verified | Failed
Artifact status: Not Produced | Produced | Verified | Failed (default: Not Produced)
Evidence used: <links, paths, logs, or "none">
Limitations: <known gaps>
Next: <if all Pass or explicitly accepted Warn: asset-style-check / asset-library-plan / workflow-stage-router | if any Fail: asset-fallback-strategy / asset-discovery>Anti-patterns
- "Should be fine" verdicts.
- Skipping the attribution plan.
- Treating "all rights reserved" assets as usable.
- Inventing license terms.
Cross-skill handoff
<!-- blendops:generated:start handoffs -->- [upstream_reference] Upstream asset sourcing →
../asset-discovery/SKILL.md - [progression] Visual style validation →
../asset-style-check/SKILL.md - [fallback] Rejected/blocked asset handling →
../asset-fallback-strategy/SKILL.md - [progression] Asset library organization →
../asset-library-plan/SKILL.md - [progression] Stage routing & scene planning gate →
../workflow-stage-router/SKILL.md
<!-- blendops:generated:end handoffs -->Non-goals
- Give legal advice or interpret complex contracts (escalate ambiguity to legal).
- Source or discover candidate assets (
asset-discovery). - Check visual style or aesthetic consistency (
asset-style-check). - Plan fallbacks or replacements for failed assets (
asset-fallback-strategy). - Organize asset libraries or folder structures (
asset-library-plan). - Modify asset files, write Python, or run Blender.
References
references/common-license-mapping.mdreferences/license-source-rules.mdreferences/attribution-rendering-patterns.md../../docs/skill-system.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

