highflame-ai/ai-factory/license-audit
Claude Code and agent skill by highflame-ai/ai-factory
- community
Checking that the SKILL.md file is still in the repository.
License and SBOM compliance audit — build a software bill of materials from the repo's actual dependency graph, resolve every component's license, judge each against the org's license policy (org.license_policy), and report allowed / denied / needs-review with evidence. Use on "are our licenses clean?", before a release or customer security review, or when a lockfile changes.
Install
npx vskill@latest install highflame-ai/ai-factory/license-auditSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
License-audit — SBOM + license policy compliance
Ethos
!sh .aif/partials/ethos-include.sh 2>/dev/null || sh ~/.claude/skills/partials/ethos-include.sh
Input
$ARGUMENTS
Overview
License risk enters the codebase one lockfile line at a time and is invisible until a customer audit or an acquisition finds it. This skill makes it visible on demand: a real SBOM from the dependency graph (transitive included, where tooling allows), each component's license resolved from evidence, and a verdict per component against the org's policy. The output is a report and an artifact — the merge/remediation decision stays human.
When to use
- "Are our licenses clean?" / preparing for a customer security review or due diligence
- A lockfile changed and you want a compliance check before merge (see
~/.claude/aif-references/trigger-recipes.md) - Producing an SBOM artifact for a release (
--sbom-only)
Skip for: dependency upgrades (that's /dep-update — though run this after a big batch), and legal interpretation of a specific license's obligations — flag those for counsel, don't improvise legal advice.
Process
Step 1 — Resolve the policy
Read org.license_policy from .aif/config.yml:
When absent: do NOT invent a policy. Run the inventory anyway, classify every component as allowed-by-default or needs-review (strong copyleft and unknown licenses go to needs-review), state clearly that no org policy is configured, and offer to write one into .aif/config.yml from the findings.
Step 2 — Build the SBOM
Prefer a dedicated SBOM tool when present; fall back per toolchain; always say which path produced the data:
If a toolchain has no license tooling installed, list its dependencies anyway and resolve licenses in Step 3 — a partial SBOM labeled partial beats a silent gap (no silent caps). --changed-since <ref> narrows the audit to components added/updated since that ref (diff the lockfiles).
Step 3 — Resolve licenses with evidence
For each component whose license the tooling reports as unknown, ambiguous (SEE LICENSE IN …), or dual (MIT OR GPL-2.0): read the actual license file in the dependency's source (module cache, node_modules/<pkg>/LICENSE, or the upstream repo via gh). Record WHERE each license claim came from — registry metadata vs license file read — because metadata lies often enough to matter (ethos #1). Dual-licensed components are judged by the license the org would actually elect, and that election is recorded.
Step 4 — Judge and report
Classify every component: allowed / denied / needs-review (unknown, unlisted, ambiguous). Write the report:
Every section appears even when empty (ethos #5). For denied components, list the realistic remediations: replace, isolate, or seek a commercial license — but do not pick one unilaterally.
Step 5 — Persist
Save the SBOM + report where the org keeps compliance artifacts (ask on first run; suggest .aif/knowledge/compliance/). In CI mode (trigger recipe), exit non-zero when a denied component is found; needs-review findings never fail the build — they page a human.
Failure modes to avoid
- Trusting registry license metadata without reading the license file for anything non-obvious (ethos #1).
- Inventing a policy when none is configured — advisory mode + offer to write one.
- Failing CI on needs-review items — that trains people to override the gate (ethos #6, in reverse).
- Giving legal interpretations ("GPL is fine here because…") — flag for counsel.
- Auditing only direct dependencies and calling it complete — label transitive coverage per toolchain honestly.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/license-audit/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/highflame-ai/ai-factory/license-audit)