with one click
add-maintainer-property
// Auto-detect top maintainers for each repo in an org and set the maintainers custom property via the GitHub API. Use when the user wants to populate or update maintainer metadata.
// Auto-detect top maintainers for each repo in an org and set the maintainers custom property via the GitHub API. Use when the user wants to populate or update maintainer metadata.
Validate metadata fields (author, source, category) in opengrep/semgrep YAML rule files. Use when the user wants to lint or check rule quality.
Clean up stale security-action Slack messages based on review signals (reactions, label removal, resolved threads). Use when the user wants to clean old notifications from a Slack channel.
Delete Slack messages from a channel filtered by bot username and repository names. Use when the user wants to bulk-delete bot messages for specific repos.
Auto-dismiss Dependabot alerts matching configurable hotwords (e.g. DoS) or a GHSA/CVE dismiss list. Use when the user wants to bulk-dismiss low-priority Dependabot alerts.
Scan org repos for open Dependabot alerts at or above a severity threshold and build notification messages for maintainers. Use when the user wants to check or nudge about Dependabot vulnerabilities.
Fetch and parse a JSON config file from a GitHub repository. Use when the user wants to read a configuration file from a remote repo.
| name | add-maintainer-property |
| description | Auto-detect top maintainers for each repo in an org and set the maintainers custom property via the GitHub API. Use when the user wants to populate or update maintainer metadata. |
| argument-hint | [org] |
| allowed-tools | Bash(node *) |
Determine top maintainers for each repository in an org and set the maintainers custom property.
Run from the project root:
# Full scan (2-year commit history analysis)
node run.js ./src/addMaintainerCustomProperty.js --org=brave
# Simple scan (uses contributor list, faster)
node run.js ./src/addMaintainerCustomProperty.js --org=brave --simpleScan=true
# Debug mode (dry run)
node run.js ./src/addMaintainerCustomProperty.js --org=brave --debug=true
# Skip repos and ignore specific users
node run.js ./src/addMaintainerCustomProperty.js --org=brave --skipRepositories=chromium,fork-repo --ignoreMaintainers=bot-user,dependabot
| Parameter | Required | Default | Description |
|---|---|---|---|
--org | Yes | - | GitHub organization name |
--githubToken | No | $GITHUB_TOKEN | GitHub PAT |
--debug | No | false | Dry run with verbose logging |
--simpleScan | No | false | Use contributor list instead of commit history |
--skipRepositories | No | chromium | Comma-separated repo names to skip |
--ignoreMaintainers | No | - | Comma-separated usernames to exclude |
Returns a Markdown string listing repositories with no identifiable maintainers, or empty string if all repos have maintainers.
.env file with GITHUB_TOKEN (needs org custom properties write + repo read permissions)run.js entry point automatically loads .env credentialssimpleScan uses the contributor list (faster but less accurate)maintainers custom property on each repo--debug=true first to preview changes