maintainers
Identify the real maintainers of a repository and the best way to contact them about a security issue.
Skill by lukehinds
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lukehinds-maintainers
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/maintainers
Tools it pre-approves 1
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Write,WebFetch,Grep,Glob,LS
What's inside
- Skill name
maintainers- Description
- Identify the real maintainers of a repository and the best way to contact them about a security issue. Distinguishes active leads from occasional contributors and bots, using commit history, issue activity, and registry ownership. Use when preparing a disclosure and needing to know who to reach.
- License
- MIT
- Compatibility
- Needs network access to commits.ecosyste.ms, issues.ecosyste.ms, and packages.ecosyste.ms.
- Allowed tools
- Read,Write,WebFetch,Grep,Glob,LS
- Metadata
- scrutineer.version: 1 · scrutineer.output_file: report.json · scrutineer.output_kind: maintainers
- Instructions
- 60 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- SKILL.md.bundle
- schema.json
- schema.json.bundle
SKILL.md (first lines)
# maintainers
You are identifying who maintains a repository so a security disclosure can reach the right person. The answer needs to distinguish:
- active leads (primary decision makers, recent activity)
- regular maintainers (active but not decision makers)
- occasional contributors (one-off PRs, not reviewers)
- bots (dependabot, renovate, github-actions, etc)
## Workspace
- `./src` — the cloned repository. Useful for reading `SECURITY.md`, `CODEOWNERS`, `.github/`, and `git log`.
- `./context.json` — the repository URL and metadata. Read the `repository.url` field.
- `./report.json` — write your final report here.
- `./schema.json` — the JSON schema your report must validate against.
## Data sources
Fetch each of these using your fetch tool. Each returns JSON. Include the repository URL from `context.json` as the query parameter.
1. **Commits**: `https://commits.ecosyste.ms/api/v1/repositories/lookup?url={repo_url}` — who has written code, how much, past-year activity. Follow redirects.
2. **Issues and PRs**: `https://issues.ecosyste.ms/api/v1/repositories/lookup?url={repo_url}` — who reviews, responds, closes issues. Follow redirects.
3. **Packages**: `https://packages.ecosyste.ms/api/v1/packages/lookup?repository_url={repo_url}` — registry owners and publishers.
URL-encode the repository URL before substituting it into the query string.
If all three lookups return empty or 404, fall back to `git -C ./src shortlog -sne --since='1 year ago'` plus `git -C ./src log --no-merges -20 --format='%aN <%aE>'` and classify from that alone; say so in `notes`.
Also read `SECURITY.md`, `.github/SECURITY.md`, `CODEOWNERS`, and `README.md` in `./src` if they exist. These often name a security contact directly.
## How to classify
- **lead** — named in SECURITY.md, owns the repo on the registry, or is consistently the final reviewer on PRs over the past year.
- **maintainer** — has merged PRs in the past year, reviews other people's PRs, has commit access.
- **contributor** — authored commits but has not merged or reviewed anyone else's work. Infrequent activity.
- **bot** — account name matches a bot (`dependabot`, `renovate`, `github-actions`, `*[bot]`), or all commits are automated.
- **active** — evidence of any activity (commit, comment, review, release) in the past year.
- **inactive** — no activity in the past year.
Keep `evidence` to one sentence: which data you used to classify (e.g. "98% of past-year commits", "merged 14 PRs in 2025", "registry owner and listed in SECURITY.md").
Filter bots out of the final list unless the repo's only active account is a bot, in which case include them and say so in `notes`.
## Disclosure channel
Pick the best one, based on what you found:
- `SECURITY.md` email or contact block if present
- GitHub Security Advisories if the repo is on GitHub and has advisories enabled
- Registry owner contact if packages data surfaced one
- The lead's git-log author email if none of the above; if it is a `noreply.github.com` address, skip it
Put the concrete channel name or URL in `disclosure_channel`. Leave empty if nothing reliable was found.
## Output
Write `./report.json` conforming to `./schema.json`. Include every human you classified, not just the top few; bots stay out of the list (per the filter above) but mention in `notes` how many were dropped. Use `notes` for anything a reviewer would want to know that does not fit the schema — bus factor, recent turnover, maintainer handoff, corporate sponsorship.From lukehinds/scrutineer-attest-test, MIT.
More from lukehinds/scrutineer-attest-test
- 0.479score
sbom
lukehinds
Generate a CycloneDX Software Bill of Materials for the repository.
SkillCFreshness: CClaude Code +9 - 0.476score
zizmor
lukehinds
Audit the repository's GitHub Actions workflows for common security issues (credential mishandling, untrusted inputs, template injection, overly permissive…
SkillCFreshness: CClaude Code +9 - 0.476score
semgrep
lukehinds
Run semgrep static analysis with the security-audit and secrets rulesets, then map each hit into scrutineer's findings shape so it surfaces alongside…
SkillCFreshness: CClaude Code +9 - 0.476score
dependencies
lukehinds
Index every dependency declared in the repository's manifest and lockfile files (package.json, Gemfile, go.mod, requirements.txt, etc.) and record each one…
SkillCFreshness: CClaude Code +9 - 0.474score
fork
lukehinds
Fork the scanned repository into the configured GitHub organisation, enable private vulnerability reporting on the fork, record the scan as a git note, and…
SkillCFreshness: CClaude Code +9 - 0.474score
cna-match
lukehinds
Determine which CVE Numbering Authority (if any) covers this repository, so disclosures can be routed to the CNA's security contact rather than only the…
SkillCFreshness: CClaude Code +9 - 0.474score
reachability
lukehinds
Check whether known sinks in this application's dependencies are reachable from its own trust boundaries.
SkillCFreshness: CClaude Code +9 - 0.474score
posture
lukehinds
Assess a repository's security posture and its readiness to receive a vulnerability report.
SkillCFreshness: CClaude Code +9 - 0.474score
repo-overview
lukehinds
Produce a structured plain-language overview of what a repository does, who maintains it, its activity level, and the shape of its codebase.
SkillCFreshness: CClaude Code +9 - 0.474score
security-deep-dive
lukehinds
Audit first-party source for security vulnerabilities using an inventory-first, six-step per-sink methodology.
SkillCFreshness: CClaude Code +9 - 0.474score
disclose
lukehinds
Draft the disclosure content for a finding in GitHub Security Advisory shape.
SkillCFreshness: CClaude Code +9 - 0.471score
patch
lukehinds
Propose a code patch for a finding.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 11, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lukehinds
- 0.479score
sbom
lukehinds
Generate a CycloneDX Software Bill of Materials for the repository.
SkillCFreshness: CClaude Code +9 - 0.476score
zizmor
lukehinds
Audit the repository's GitHub Actions workflows for common security issues (credential mishandling, untrusted inputs, template injection, overly permissive…
SkillCFreshness: CClaude Code +9 - 0.476score
semgrep
lukehinds
Run semgrep static analysis with the security-audit and secrets rulesets, then map each hit into scrutineer's findings shape so it surfaces alongside…
SkillCFreshness: CClaude Code +9 - 0.476score
dependencies
lukehinds
Index every dependency declared in the repository's manifest and lockfile files (package.json, Gemfile, go.mod, requirements.txt, etc.) and record each one…
SkillCFreshness: CClaude Code +9 - 0.474score
disclose
lukehinds
Draft the disclosure content for a finding in GitHub Security Advisory shape.
SkillCFreshness: CClaude Code +9 - 0.474score
fork
lukehinds
Fork the scanned repository into the configured GitHub organisation, enable private vulnerability reporting on the fork, record the scan as a git note, and…
SkillCFreshness: CClaude Code +9
Cite this page
maintainers skill. Agent Mart. https://agentmart.dev/skills/lukehinds-maintainers (last updated 2026-10-24)