Automated summary
Sets up dependency cooldown windows in a project's package managers and update bots so newly published package versions are not installed until they have aged (7 days by default), reducing exposure to supply chain attacks.
Strengths
- Surveys existing package managers, lockfiles and update bots before changing anything, and stops when cooldowns are already configured for every ecosystem in use.
- Covers two defense layers: package-manager config (uv, pip, npm, pnpm, yarn, bun, deno, cargo) and the update-bot layer (Dependabot/Renovate).
- Calls out per-tool naming and unit differences (minutes vs human-readable strings) and requires verifying syntax via --help or official docs before writing config.
- Recommends 7 days, 14 for higher-risk projects, and keeps security updates bypassing the cooldown.
Limitations
- The SKILL.md cuts off mid-way through the Dependabot YAML example, so the bot-layer configuration guidance is incomplete.
- Option names and locations are young and shifting, so results depend on the agent's ability to look up current docs.
- No native cooldown support for Ruby/Bundler, Go modules, Composer, Maven, Gradle, Swift PM, Hex or Dart pub — only the bot layer applies there.
Use it to harden a project against supply chain attacks by delaying adoption of freshly published dependency versions.
Skip it when you need reproducible builds pinned to an exact date or want to delay security patches — a cooldown is a rolling window and should let security updates through.
Security analysis
SafeThis is a documentation/configuration skill with no declared tools. All prescribed actions are benign: surveying lockfiles/manifests, running `<tool> --help`, fetching official vendor docs, and writing cooldown settings into config files (.npmrc, pyproject.toml, dependabot.yml). There are no destructive commands, no curl|sh pipelines, no secret/token exfiltration, no obfuscated payloads, and no instructions to disable safety controls. The only external interaction is reading documentation and optional config validation (zizmor), both legitimate and non-destructive.
No concerns found
How this analysis is madeExamples
Add a 7-day dependency cooldown to this project. Check which package managers we use, persist the setting in their config files, and tell me what you changed.Audit this repo: are dependency cooldowns already configured for every ecosystem we use? Report the findings and fill any gaps.We use Dependabot — add a cooldown to its update config as well, but make sure security updates still get raised immediately.name: dependency-cooldown-skill description: Adds dependency cooldowns to projects to mitigate the risk of supply chain attacks.
dependency-cooldown-skill
Overview
A dependency cooldown delays installing a newly-published package version (typically 7 days). The window gives security vendors time to detect and report supply chain attacks before the malicious version reaches builds. Recent data: 8 of 10 supply chain attacks had a window of opportunity under 7 days, so a 7-day cooldown blocks the majority. Cooldowns complement — they don't replace — pinning, lockfiles, and trusted publishing.
When to use
- User asks to add, configure, set up, or audit dependency cooldowns
- User asks about supply chain security mitigations for dependencies
Do NOT use when:
- The project already has appropriate cooldowns for every ecosystem in use — verify first and report current state
- User wants reproducible pinning to a specific date — that's a different feature (absolute timestamps, not a rolling cooldown)
- Security updates need to be delayed — they should bypass the cooldown (most tools do this by default)
Instructions
Step 1: Survey the project
Before changing anything, identify:
- Package managers in use — lockfiles and manifests (
pyproject.toml/uv.lock,package.json/pnpm-lock.yaml/yarn.lock/bun.lockb,Cargo.toml,Gemfile,go.mod,.github/workflows/*.yml, etc.) - Existing update bots —
.github/dependabot.yml(Dependabot) orrenovate.json/.renovaterc(Renovate) - Existing cooldown config — grep for:
cooldown,minimumReleaseAge,min-release-age,npmMinimalAgeGate,exclude-newer,uploaded-prior-to,stabilityDays,minimum-dependency-age
Report findings to the user. If cooldowns are already set up for every ecosystem in use, stop.
Step 2: Choose the layer(s)
Two layers — apply both for defense in depth:
- Package manager (primary) — protects every install: manual CLI runs, CI, and transitive deps. Native support in uv, pip, pnpm, npm, yarn, bun, deno, and (per-bump) cargo.
- Update bot (secondary) — protects automated PRs. Applies when the project uses or wants Dependabot/Renovate.
Default: start with the package-manager layer. Add a bot layer if the project already uses one or the user wants automated PRs gated too.
Step 3: Configure the package-manager layer
Recommended cooldown: 7 days (14 days for higher-risk projects — prod infra, payments, auth).
For each package manager in the project, look up the current syntax — feature names and config locations are young and have shifted across versions. Approach, in order:
- Run
<tool> --helpto find the relevant flag (e.g.uv add --help,pip install --help,pnpm install --help,deno update --help). - Fetch the official docs if
--helpis insufficient. Confirm the minimum version required. - Persist the config to the project's config file (
pyproject.toml,.npmrc,.yarnrc.yml,bunfig.toml, etc.) — not just as a one-off CLI flag — so every install respects it.
The feature has different names per tool: exclude-newer (uv), --uploaded-prior-to (pip), minimumReleaseAge (pnpm/bun), min-release-age (npm), npmMinimalAgeGate (yarn), --minimum-dependency-age (deno). pnpm/npm/yarn/bun take values in minutes (7 days = 10080); the rest take human-readable strings. Verify against current docs before writing.
For ecosystems without native cooldown support (Ruby/Bundler, Go modules, Composer, Maven, Gradle, Swift PM, Hex, Dart pub), skip to the bot layer.
Step 4: Configure the update-bot layer (when used)
Security updates bypass cooldowns automatically in both Dependabot and similar tools — keep that default.
Dependabot (.github/dependabot.yml)
Add one updates: entry per ecosystem:
version: 2
updates:
- package-ecosystem: pip # change per ecosystem
directory: /
schedule:
interval: weekly
cooldown:
default-days: 7
# Optional per-semver-level overrides:
# semver-major-days: 14
# semver-minor-days: 7
# semver-patch-days: 3
Valid package-ecosystem values include npm, pip, bundler, cargo, gomod, nuget, composer, docker, github-actions, gradle, maven, mix, pub, swift, terraform. Consider adding github-actions if the repo has workflows — it's a real attack target (tj-actions, nx).
Step 5: Verify
- Show the diff and the chosen cooldown duration
- Validate the config — for Dependabot, run
zizmor .github/dependabot.yml(itsdependabot-cooldownrule also flags missing cooldowns); for Renovate, run its config validator; for package managers, run the tool's normal install/check - Note that cooldowns take effect on the next dependency operation — existing lockfile entries aren't retroactively delayed
Attribution
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/dependency-cooldown-security-mrwakbzq' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/dependency-cooldown-security-mrwakbzq/download' --output '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md.part' && mv '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md.part' '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md' && test -s '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/dependency-cooldown-skill' && cp -R '.skill-downloads/dependency-cooldown-security-mrwakbzq' '.claude/skills/dependency-cooldown-skill'Cursor
test -f '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md' && test -s '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/dependency-cooldown-skill' && cp -R '.skill-downloads/dependency-cooldown-security-mrwakbzq' '.cursor/skills/dependency-cooldown-skill'Codex
test -f '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md' && test -s '.skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/dependency-cooldown-skill' && cp -R '.skill-downloads/dependency-cooldown-security-mrwakbzq' '.agents/skills/dependency-cooldown-skill'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/dependency-cooldown-security-mrwakbzq'openskills read 'dependency-cooldown-security-mrwakbzq'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/dependency-cooldown-security-mrwakbzq/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
DeFi AMM Security
Security
Security checklist for Solidity AMM contracts, liquidity pools, and swap flows. Covers reentrancy, donation attacks, oracle manipulation, slippage, and integer math.
Semgrep Rule Creator
Security
Creates custom Semgrep rules for detecting security vulnerabilities, bug patterns, and code patterns. Includes test-first methodology, taint mode support, and validation steps. Helps when building targeted static analysis detections.
Dev Toolbar Review Guide
Security
Safety rules for the dev toolbar, PostHog client, and feature flags. Use when reviewing changes to dev-tools and related files, covering environment guards, override cookies, and SSE stream safety.