Renovate Actions PR Review
backnotprop/plannotator
Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.
Triage a host that was blocked by the Dependabot proxy egress allowlist, add it to internal/handlers/egressallowlistdefaults.yaml with the correct matching form and regression tests, and open a pull…
$ npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dependabot/proxy add-egress-allowlist-domain --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/dependabot/proxy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/add-egress-allowlist-domain .claude/skills/add-egress-allowlist-domain && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-egress-allowlist-domain" agent skill from https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domain into .claude/skills/add-egress-allowlist-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-egress-allowlist-domain", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domainType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dependabot/proxy add-egress-allowlist-domain --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dependabot/proxy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/add-egress-allowlist-domain .agents/skills/add-egress-allowlist-domain && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-egress-allowlist-domain" agent skill from https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domain into .agents/skills/add-egress-allowlist-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-egress-allowlist-domain", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dependabot/proxy add-egress-allowlist-domain --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dependabot/proxy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/add-egress-allowlist-domain .cursor/skills/add-egress-allowlist-domain && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-egress-allowlist-domain" agent skill from https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domain into .cursor/skills/add-egress-allowlist-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-egress-allowlist-domain", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/dependabot/proxy.git --path .github/skills/add-egress-allowlist-domain--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dependabot/proxy add-egress-allowlist-domain --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dependabot/proxy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/add-egress-allowlist-domain .gemini/skills/add-egress-allowlist-domain && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-egress-allowlist-domain" agent skill from https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domain into .gemini/skills/add-egress-allowlist-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-egress-allowlist-domain", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install dependabot/proxy add-egress-allowlist-domainInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dependabot/proxy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/add-egress-allowlist-domain .github/skills/add-egress-allowlist-domain && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-egress-allowlist-domain" agent skill from https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domain into .github/skills/add-egress-allowlist-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-egress-allowlist-domain", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dependabot/proxy add-egress-allowlist-domain --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dependabot/proxy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/add-egress-allowlist-domain .opencode/skills/add-egress-allowlist-domain && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-egress-allowlist-domain" agent skill from https://github.com/dependabot/proxy/tree/main/.github/skills/add-egress-allowlist-domain into .opencode/skills/add-egress-allowlist-domain/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-egress-allowlist-domain", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-egress-allowlist-domainTriage a host that was blocked by the Dependabot proxy egress allowlist, add it to internal/handlers/egressallowlistdefaults.yaml with the correct matching form and regression tests, and open a pull…
Add Egress Allowlist Domain is an agent skill from dependabot/proxy. Triage a host that was blocked by the Dependabot proxy egress allowlist, add it to internal/handlers/egressallowlistdefaults.yaml with the correct matching form and regression tests, and open a pull request. Use when someone reports a blocked domain, asks to allowlist a host, or pastes an egress 403 from a Dependabot update job.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Dependency management and Pull requests. The repository describes itself as: Dependabot's HTTP proxy to authenticate requests to package registries, git servers, and the GitHub API. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 20763b1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlgogitopensslghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
cloudsmith.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Egress Allowlist Domain loads about 3.6k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 1,688 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from dependabot/proxy at commit 20763b1, republished under its MIT licence (© dependabot). 1,688 words, ~3,609 tokens.
.claude/skills/add-egress-allowlist-domain/SKILL.md (or your agent's skills folder).Use this skill when someone says something like "repo.example.org is blocked", "please allowlist foo.bar.com", or pastes a Dependabot job log showing an egress block.
Do not skip to editing YAML. Most of this skill's value is step 1: a large fraction of reported hosts must not go into the static defaults at all. Adding them there is a security regression, not a fix.
The static defaults are applied as a union to every Dependabot job in the world. Anything added here is reachable by every tenant. Classify the host before touching anything.
Ask the requester for the host, the package ecosystem, and — if they have it — the job log line or what the host serves.
| Category | Examples | Action |
|---|---|---|
| Public, provider-controlled package infrastructure | public registry, mirror, CDN, checksum/CRL endpoint, public VCS forge | Add to the YAML. Continue to step 2. |
| Private, internal, or org-specific registry | artifacts.acme-corp.internal, acme.jfrog.io, a self-hosted Nexus/Artifactory | Do not add. Tell the user to declare it under registries: in their dependabot.yml. Those hosts are allowlisted per-job automatically by internal/handlers/egress_dynamic_hosts.go. Stop here. |
| Shared multi-tenant host where the tenant is in the URL path | dl.cloudsmith.io, generic object-store download hosts | Do not add to the static sections. The handler authorizes the hostname only — it never constrains path or method — so allowing the host grants every tenant's content to every job. If the host is the download target a configured registry redirects to, add it under registry_redirect_derivations: instead, where it is allowed only for jobs holding that registry's credential. Otherwise explain this and stop. |
| User-uploadable file hosting | downloads.sourceforge.net, arbitrary release-file mirrors | Do not add without explicit maintainer sign-off. Flag it and ask. |
| Documentation, changelog, or homepage host | project docs sites, blog domains | Usually don't add. These fail gracefully — dependabot-core's metadata finder treats a non-200 as "no metadata", so the only loss is a missing changelog link in the PR body. Say so and ask whether it's worth it. |
If the host is private or multi-tenant, the correct outcome of this skill is a clear explanation and no code change. That is a success, not a failure.
This step is the gate. Only a host you have classified as public, provider-controlled infrastructure proceeds to step 2. Step 2 does not revisit this decision — it cannot (see the warning there) — so a misclassification here is never caught later.
These are not proof, but each should send you back to the table above:
CN=*.jfrog.io, CN=*.cloudsmith.io, CN=*.fury.io, CN=*.myget.org. This shows the provider owns the domain; it says nothing about the tenant being public. Note the inverse is not a signal: *.julialang.org and *.huaweicloud.com are wildcards on genuinely public infrastructure, so judge the parent domain, not the wildcard.package-manager.aa.com and dl.cloudsmith.io both 302 to https://cloudsmith.com/. A private tenant fronted by a hosted registry commonly advertises its backing vendor this way.artifactory.<company>.com, npm.<company>.com, <company>.jfrog.io).401/403 on a real artifact path means the host expects authentication, which is what registries: is for.A passing
verify_hostdoes NOT authorise an addition. It answers "is it safe for me to send a request here?" — not "is this host public infrastructure?". Most private registries pass it:package-manager.aa.com,dl.cloudsmith.ioandcentraluhg.jfrog.ioall resolve to public IPs and serve valid certificates. A private registry that is properly internet-facing is indistinguishable from public infrastructure at this layer. Step 1 is what decides; this step only keeps the probe itself safe and collects evidence for the PR.
Never add a host on the strength of a report alone.
A reported hostname is untrusted input. Validate it as a bare DNS hostname before it reaches any command, require every resolved address to be public, and walk redirects one hop at a time — curl -L will happily follow a public host to loopback, RFC1918, link-local, or metadata endpoints.
verify_host() {
local host="$1" ip ips
# Reject anything that is not a bare DNS hostname, before it reaches a command.
if ! printf '%s' "$host" | grep -qE '^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$'; then
echo "REJECT: not a bare DNS hostname"; return 1
fi
# Every resolved address must be public.
ips=$(dig +short "$host" A; dig +short "$host" AAAA)
ips=$(printf '%s\n' "$ips" | grep -E '^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|[0-9a-fA-F:]+)$')
[ -z "$ips" ] && { echo "REJECT: does not resolve"; return 1; }
for ip in $ips; do
case "$ip" in
10.*|127.*|0.*|169.254.*|192.168.*|::1|fc*|fd*|fe80*) echo "REJECT: non-public $ip"; return 1;;
172.1[6-9].*|172.2[0-9].*|172.3[01].*) echo "REJECT: non-public $ip"; return 1;;
100.6[4-9].*|100.[7-9][0-9].*|100.1[01][0-9].*|100.12[0-7].*) echo "REJECT: CGNAT $ip"; return 1;;
esac
done
echo "OK: $host -> $(printf '%s' "$ips" | tr '\n' ' ')"
# One hop at a time. Re-run verify_host on any next_hop before following it.
curl -sS -o /dev/null --max-time 15 --proto '=https' --max-redirs 0 \
-w ' status=%{http_code} next_hop=%{redirect_url}\n' "https://$host/<real/artifact/path>" || true
# Ownership evidence, not just reachability.
echo | openssl s_client -connect "$host:443" -servername "$host" 2>/dev/null \
| openssl x509 -noout -subject -issuer 2>/dev/null | sed 's/^/ /'
}
verify_host '<host>'Reachability alone is not sufficient evidence — it proves the host answers, not that the claimed provider controls it, and certainly not that it is public. Require authoritative corroboration: a TLS certificate whose subject/issuer belongs to the provider, an entry in a provider-published list such as api.github.com/meta, or the provider's own documentation. Check the certificate against the private-registry signals in step 1 before treating it as supporting evidence. A host that merely responds is not yet a candidate.
Probe a real artifact path, not /. Root probes mislead: data.nuget.org/ 404s and packages.atlassian.com/ 401s, while both serve packages correctly on their real paths.
If it redirects, re-run verify_host on the target before following it — the redirect target may be the host that actually needs allowlisting, and it is often a different one.
Read the comment block at the top of internal/handlers/egress_allowlist_defaults.yaml before choosing. Three forms exist:
storage.googleapis.com) — matches only that host. This is the default. Prefer it..github.com) — matches the domain and all subdomains.*, ?, [...], via path.Match; * spans dots). Values starting with * or [ must be quoted or YAML misreads them as an alias or flow sequence.The rule for the non-exact forms: every label the pattern matches must be entirely provider-controlled and never user-creatable. If any matched label is attacker-choosable — a storage-account name, a bucket, an AWS account id, a user's pages subdomain — the form is unsafe, including infix globs. When in doubt, use the exact form.
First, confirm it isn't already allowed:
grep -n '<host>' internal/handlers/egress_allowlist_defaults.yaml
go test ./internal/handlers/ -run TestEgressDefaults_NoRedundantEntries -count=1grep catches an exact repeat. It does not catch a host already covered by a leading-dot or glob entry — foo.github.com is redundant because .github.com exists — so also scan the file's leading-dot and * entries for one that would match. If the host is already allowed, the correct outcome is no code change; report where it is covered and stop.
Then choose the section:
github_infra_domains — GitHub/Dependabot infrastructure only. Don't add third-party hosts here.shared_registry_domains — hosts genuinely used by more than one ecosystem.ecosystem_default_domains.<ecosystem> — the normal case.registry_redirect_derivations — not a static section: the host is allowed only for jobs whose credentials name the matching registry. Use it when a configured registry redirects downloads to a provider-owned storage host that step 1 ruled out of the static sections. Entries are credential_host (exact, or leading dot for any subdomain) plus derived (exact hosts only; globs are rejected at startup).Add the host to exactly one section. Every static section is applied to every job, so listing it twice is redundant, not safer.
Keep entries in the existing grouping and ordering of that section, and add a brief comment saying what the host serves when it isn't self-evident.
Watch the YAML anchors. Several ecosystems are aliases and must not be edited separately:
npm_and_yarn: &npm_registries → bun: *npm_registriespip: &python_registries → uv: *python_registriesmaven: &jvm_registries → gradle: *jvm_registriesdocker: &docker_registries → docker_compose, devcontainersIf the target is an alias member (e.g. bun), add the entry to the anchor definition instead. TestEgressDefaults_AliasedEcosystemsStayInSync enforces this.
Edit internal/handlers/egress_allowlist_test.go. Both are required.
Positive probe — a realistic URL for the new host, added to the appropriate existing test (e.g. TestEgressAllowlist_NewExactDomainsAllowed or TestEgressAllowlist_PublicRegistriesAllowed):
assert.Nil(t, egressResult(t, h, "https://<host>/<realistic/path>"), "new exact host allowed: <host>")Negative child probe — for every exact entry added, append https://evil.<host>/payload to childProbes in TestEgressAllowlist_NewEntriesDoNotWidenBeyondExactHosts.
This matters: a sibling probe (attacker.example.com against entry foo.example.com) does not catch someone later widening the entry to a leading dot. Only a child probe does. Add a sibling probe as well when you also want to pin the parent namespace closed.
Verify the negative probe actually bites by mutating your new entry to its leading-dot form and confirming the test fails, then revert.
go build ./... && go test ./internal/handlers/ -run TestEgress -count=1 && gofmt -l internal/handlers/gofmt -l must print nothing. Then run the full suite as CONTRIBUTING.md requires:
script/test # Docker, -race -count=2If script/test can't run in the current environment, say so explicitly and leave the "complete test suite" checklist box in the PR unticked. Do not tick a box you did not verify.
Confirm with the user before pushing. Then:
git checkout -b <user>/allowlist-<short-host-slug>
git add internal/handlers/egress_allowlist_defaults.yaml internal/handlers/egress_allowlist_test.go
git commit
gh pr create --template .github/pull_request_template.md--template opens the repository template for completion. Do not use --fill: it takes the title and body from commit data and skips template selection entirely, producing a PR that omits the required sections.
If you lack write access to dependabot/proxy, push to a fork and use gh pr create --repo dependabot/proxy --template .github/pull_request_template.md.
Complete every section of the template. The description should state what the host serves, which ecosystem needs it, the authoritative evidence that it is public provider-controlled infrastructure, and why the chosen matching form is safe. Only tick checklist boxes you actually verified.
verify_host as permission to add a host. It checks probe safety, not whether the host is public — private registries pass it routinely. Step 1 is the gate.curl -L during verification — validate each hop's address is public first.registries: in dependabot.yml.TestEgressDefaults_NoRedundantEntries enforces this; run it before opening a PR.© dependabot, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .github/skills/add-egress-allowlist-domain of dependabot/proxy.
Open the folder on GitHubat commit 20763b1
Add Egress Allowlist Domain next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Egress Allowlist Domain this skilldependabot/proxy | 137 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Renovate Actions PR Reviewbacknotprop/plannotator | 9.3k | — | ~640 | Automated safety check: Pass | Apache-2.0 | |
| Bump CLI Compatibility Manifestdatabricks/cli | 404 | — | ~1.3k | Automated safety check: Notes | Custom licence | |
| Dependabot PR Reviewkernitus/BukkitOldCombatMechanics | 225 | — | ~882 | Automated safety check: Pass | MPL-2.0 | |
| Apply Renovate PRssivaprasadreddy/sivalabs-agent-skills | 188 | — | ~3k | Automated safety check: Pass | MIT | |
| Oldest PR Mergeitgalaxy/webfont | 310 | — | ~2.8k | Automated safety check: Notes | MIT |
backnotprop/plannotator
Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.
databricks/cli
Updates the Databricks CLI's cli-compat.json with new AppKit and Agent Skills versions and opens a pull request for the change.
kernitus/BukkitOldCombatMechanics
A skill your agent uses for Dependabot PRs, dependency bumps, Gradle or Maven dependency updates, GitHub Actions updates, dependency changelog/licence/release-note review, JVM/classfile checks, and…
sivaprasadreddy/sivalabs-agent-skills
Apply the changes from all open Renovate bot pull requests of a GitHub repository into the local working tree.
itgalaxy/webfont
Process the oldest open pull request end-to-end: analyze the diff, add missing tests on that PR branch, resolve review comments (including Copilot) in a loop, fix test regressions, update…
caarlos0/dotfiles
Review and merge open dependency pull requests from Dependabot, Renovate and similar bots across the goreleaser organization and the caarlos0 user.
Categories
Triage a host that was blocked by the Dependabot proxy egress allowlist, add it to internal/handlers/egressallowlistdefaults.yaml with the correct matching form and regression tests, and open a pull…. Add Egress Allowlist Domain is an agent skill from dependabot/proxy.yaml with the correct matching form and regression tests, and open a pull request.
Add Egress Allowlist Domain fits situations like: someone reports a blocked domain; asks to allowlist a host; pastes an egress 403 from a Dependabot update job.
Run `npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a claude-code`. Or copy the skill folder (.github/skills/add-egress-allowlist-domain in dependabot/proxy) into .claude/skills/add-egress-allowlist-domain in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a codex`. Or copy the skill folder (.github/skills/add-egress-allowlist-domain in dependabot/proxy) into .agents/skills/add-egress-allowlist-domain in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dependabot/proxy --skill add-egress-allowlist-domain -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-egress-allowlist-domain, .gemini/skills/add-egress-allowlist-domain, .github/skills/add-egress-allowlist-domain and .opencode/skills/add-egress-allowlist-domain in your project.
Going by SKILL.md and its folder, Add Egress Allowlist Domain needs the command-line tools its instructions call (curl, go, git, openssl and gh). Our summary lists: Docker.
SKILL.md names 1 domain. In commands or code: cloudsmith.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Add Egress Allowlist Domain is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Egress Allowlist Domain: Renovate Actions PR Review (backnotprop/plannotator, 9.3k stars), Bump CLI Compatibility Manifest (databricks/cli, 404 stars), Dependabot PR Review (kernitus/BukkitOldCombatMechanics, 225 stars) and Apply Renovate PRs (sivaprasadreddy/sivalabs-agent-skills, 188 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dependabot (a GitHub organization) maintains it in dependabot/proxy, which has 137 GitHub stars. The repository was last updated on October 7, 2026.
Source: dependabot/proxy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.