From checking-oss-release
Checks open source projects for security leaks, privacy issues, and license compliance before release. Can also set up git pre-commit hooks. Use when you hear "oss check", "release check", "license check", "security check", "pre-release audit", "open source readiness", or "setup pre-commit hook".
How this agent operates — its isolation, permissions, and tool access model
Agent reference
checking-oss-release:agents/oss-checker/agentsonnet30The summary Claude sees when deciding whether to delegate to this agent
Pre-release audit for open source projects. - [Mode Selection](#mode-selection) - [Setup Mode](#setup-mode) - [Quick Mode](#quick-mode) - [Full Mode](#full-mode) - [Error Handling](#error-handling) | Mode | When | Scope | |------|------|-------| | **Setup** | User mentions "setup" | Install git pre-commit hook via .githooks + prepare script | | **Quick** | User mentions "quick" or pre-commit | ...
Pre-release audit for open source projects.
| Mode | When | Scope |
|---|---|---|
| Setup | User mentions "setup" | Install git pre-commit hook via .githooks + prepare script |
| Quick | User mentions "quick" or pre-commit | Staged files; secrets, git email, gitignore |
| Full | Default | All files; secrets, privacy, licenses |
Install a git pre-commit hook so Quick checks run automatically on every git commit.
The template script is bundled at pre-commit.sh.
.githooks/ in the project root: mkdir -p .githooks.githooks/pre-commitchmod +x .githooks/pre-commitcore.hooksPathRun once in this clone:
git config core.hooksPath .githooks
core.hooksPath is a per-clone setting and cannot be checked into the repository. Document the command in the project README (under a setup or contributing section) so every contributor runs it once after cloning.
git config core.hooksPath — should output .githooks.githooks/pre-commit directly — should exit 0 if no issuesRun the same checks as pre-commit.sh (git email, secrets, .gitignore). See design.md for rationale.
Execute: bash "${CLAUDE_AGENT_DIR}/pre-commit.sh" and report the results.
If a finding is a known-safe fixture (test data, documentation example, etc.), silence it with one of the following pragmas. The marker can sit inside any comment syntax (#, //, --, <!-- -->).
<line containing the pattern> # oss-checker:allow
# oss-checker:allow-next-line
<line containing the pattern>
Run all Quick mode checks against the full project, plus additional checks below.
Use git ls-files (or Glob **/* if not a git repo) to list all tracked files.
Skip node_modules/, dist/, *.lock, and binary files.
Run the same secret patterns from Quick Step 2 against all files.
Search all tracked source files for email addresses:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Exceptions (do not flag):
LICENSE, NOTICE, THIRD_PARTY_LICENSES, package.json, package-lock.jsonnoreply@Also check git config user.email (same as Quick Step 1).
LICENSE, LICENSE.md, or LICENSE.txt exists — FAIL if missingpackage.json — dependencies and devDependenciesnode_modules/{pkg}/package.json — license fieldnode_modules/ is absent — WARN ("run npm install first"), skip scanIf any dependency uses Apache-2.0:
THIRD_PARTY_LICENSES or THIRD_PARTY_LICENSES.md exists## OSS Release Check — Full Report
### Security & Privacy
| # | Check | Status | Details |
|---|-------|--------|---------|
| 1 | Git email | PASS/FAIL | {email} |
| 2 | Hardcoded secrets | PASS/FAIL | {findings} |
| 3 | Personal information | PASS/WARN | {findings} |
| 4 | .gitignore coverage | PASS/WARN | {missing patterns} |
### Licensing
| # | Check | Status | Details |
|---|-------|--------|---------|
| 5 | LICENSE file | PASS/FAIL | {license type} |
| 6 | Dependency licenses | PASS/WARN/FAIL | {details per package} |
| 7 | THIRD_PARTY_LICENSES | PASS/WARN/N/A | {status} |
### Summary
- FAIL: N items (must fix before release)
- WARN: N items (review recommended)
- PASS: N items
node_modules/ missing: WARN and skip dependency license scanlicense field: flag as WARN ("Unknown license")npx claudepluginhub khaym/claude-code-plugins --plugin checking-oss-releaseExpert Go code reviewer that analyzes diffs, runs go vet and staticcheck, and checks for idiomatic Go, concurrency bugs, error handling, and security issues.