DeerFlow Smoke Test
bytedance/deer-flow
Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.
Figures out which rebuild and test suites actually cover a change in the verdaccio monorepo, instead of a scoped run that passes untested.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add verdaccio/verdaccio --skill testing-changes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install verdaccio/verdaccio testing-changes --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/verdaccio/verdaccio.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testing-changes .claude/skills/testing-changes && 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 "testing-changes" agent skill from https://github.com/verdaccio/verdaccio/tree/master/.agents/skills/testing-changes into .claude/skills/testing-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-changes", 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/verdaccio/verdaccio/tree/master/.agents/skills/testing-changesType 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 verdaccio/verdaccio --skill testing-changes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install verdaccio/verdaccio testing-changes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/verdaccio/verdaccio.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/testing-changes .agents/skills/testing-changes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "testing-changes" agent skill from https://github.com/verdaccio/verdaccio/tree/master/.agents/skills/testing-changes into .agents/skills/testing-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-changes", 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 verdaccio/verdaccio --skill testing-changes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install verdaccio/verdaccio testing-changes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/verdaccio/verdaccio.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/testing-changes .cursor/skills/testing-changes && 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 "testing-changes" agent skill from https://github.com/verdaccio/verdaccio/tree/master/.agents/skills/testing-changes into .cursor/skills/testing-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-changes", 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/verdaccio/verdaccio.git --path .agents/skills/testing-changes--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 verdaccio/verdaccio --skill testing-changes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install verdaccio/verdaccio testing-changes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/verdaccio/verdaccio.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/testing-changes .gemini/skills/testing-changes && 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 "testing-changes" agent skill from https://github.com/verdaccio/verdaccio/tree/master/.agents/skills/testing-changes into .gemini/skills/testing-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-changes", 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 verdaccio/verdaccio testing-changesInstalls 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 verdaccio/verdaccio --skill testing-changes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/verdaccio/verdaccio.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/testing-changes .github/skills/testing-changes && 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 "testing-changes" agent skill from https://github.com/verdaccio/verdaccio/tree/master/.agents/skills/testing-changes into .github/skills/testing-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-changes", 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 verdaccio/verdaccio --skill testing-changes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install verdaccio/verdaccio testing-changes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/verdaccio/verdaccio.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/testing-changes .opencode/skills/testing-changes && 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 "testing-changes" agent skill from https://github.com/verdaccio/verdaccio/tree/master/.agents/skills/testing-changes into .opencode/skills/testing-changes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-changes", 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.
testing-changesFigures out which rebuild and test suites actually cover a change in the verdaccio monorepo, instead of a scoped run that passes untested.
Because packages import each other through their build output rather than src, this skill insists on rebuilding every touched package and its dependents with a filtered pnpm build before testing; otherwise a test runs against a stale build and passes without ever exercising the change.
It maps a diff to the suites that actually prove it: package tests, the dependents' tests, the API integration suite, the e2e CLI battery, or the Cypress UI suite for a client- or UI-visible change. It always goes through each package's own test script rather than bare vitest, since some packages set required environment variables, and it flags when a docs-only or agent-config-only PR never triggers CI at all so a green check isn't mistaken for one that ran.
Read from SKILL.md and the folder at commit 2d3bcca. 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:
pnpmgitnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm and git, which can reach the network depending on how they are called.
From 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.
Verdaccio Change Testing Selector loads about 1.6k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 619 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 patterns that need a careful read before installing.
s on your machine usually comes from `~/.npmrc` or the global pnpm config.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 verdaccio/verdaccio at commit 2d3bcca, republished under its MIT licence (© verdaccio). 619 words, ~1,605 tokens.
.claude/skills/testing-changes/SKILL.md (or your agent's skills folder).Run what the change affects. CI runs the full pipeline (lint, format, build, tests on
Node.js 24 and 26, Docker build, the e2e CLI matrix, Cypress) on a ready PR whose diff
matches ci.yml's paths: filter — packages/**, tests/**, docker-examples/**,
package.json, pnpm-workspace.yaml, vite.lib.config.mjs, .changeset/**, or the
workflow file itself. A docs-only or .agents//.claude/-only PR does not trigger CI
at all; don't cite a green check that never ran. The local job is fast, honest feedback
either way, not a second full gate. What matters is that the run you choose exercises
the code you changed.
Packages import each other through build/ (exports in every package.json), not
src. A test in packages/api that imports @verdaccio/store runs against
packages/store/build/. After editing store, an api run that skips the rebuild
tests the old build and passes without touching your change.
pnpm build # everything, once per checkout
pnpm --filter @verdaccio/store build # the package you edited
pnpm --filter "@verdaccio/store..." build # it plus what it depends onFind the packages the diff touches, then test them and their dependents:
git diff --name-only origin/master...HEAD | cut -d/ -f1-3 | sort -u
pnpm --filter "[origin/master]" build # packages changed since master
pnpm --filter "...[origin/master]" test # those packages and everything that depends on themNarrower runs, once the touched packages are rebuilt:
pnpm --filter @verdaccio/store test # one package
pnpm --filter @verdaccio/store test test/versions.spec.ts # one file
pnpm --filter @verdaccio/store test test/versions.spec.ts -t 'tag' # one case
pnpm --filter @verdaccio/store test -- --coverage=false # fasterAlways go through the package's test script, not bare vitest: some packages set
environment the tests rely on (TZ=utc for logger, ui-theme, ui-components;
NODE_ENV=test for memory; a longer timeout for store).
Map the change to the suites that prove it:
| Change touches | Run |
|---|---|
A helper in core, config, url, tarball, ... | That package, then pnpm --filter "...@verdaccio/<pkg>" test for the dependents |
A route in packages/api or packages/web | @verdaccio/api integration tests (test/integration, supertest against initializeServer) |
store, local-storage, proxy (packument, tarball) | Those packages, @verdaccio/api, then the e2e CLI battery for the affected client flow |
auth, htpasswd, auth-memory, tokens, 2FA | Those packages, @verdaccio/api (login, token, tfa, profile specs), e2e for login/publish |
config, cli, node-api, verdaccio | Those packages, then start the server (pnpm start or node packages/verdaccio/bin/verdaccio) |
UI (ui-theme, ui-components, web) | @verdaccio/ui-components, @verdaccio/ui-theme, then pnpm e2e:ui:local |
| Anything a package manager observes | ./scripts/e2e-cli-local.sh <pm> for each client the change can affect |
Plugin interfaces in @verdaccio/types | pnpm type-check across the workspace, the bundled plugins' tests |
Always finish with pnpm lint and pnpm format:check; the pre-commit hook enforces
them on staged files, CI on everything.
The CLI battery is @verdaccio/e2e-cli (repository verdaccio/e2e-tests). Locally:
pnpm build
./scripts/e2e-cli-local.sh npm@11 # also npm@10, npm@12, pnpm@10, pnpm@11, yarn-classic, yarn-modern@4, bun, denoIt starts a fresh registry on port 4873, runs the client scenarios, and cleans up. CI
runs the whole matrix; run at least the client the reporter used and npm@11 when a
change touches publish, install, tarballs, dist-tags, search, or auth.
The UI battery is Cypress: pnpm e2e:ui:local (headless) or pnpm e2e:ui:local:open.
Docker-based flows (pnpm docker, e2e/docker) need a running Docker daemon.
vitest.setup.mjs disallows every host except localhost via
nock. Nock: Disallowed net connect means the code under test reached the network;
mock the uplink, do not widen the allow-list.lsof -i :4873), and the next run then tests the wrong process.minimumReleaseAge or registry
override changes what pnpm install and the e2e clients do; a failure that only
happens on your machine usually comes from ~/.npmrc or the global pnpm config.fail-fast in CI. A test job failing on Node.js 26 cancels the Node.js 24 job;
read the failed log, not the cancelled one.*.__disabled__.ts and disabled_test/ folders are
not run; a pass there proves nothing.Name what you ran and what you did not. "Rebuilt store, ran store and api
integration tests plus the e2e battery with npm@11; did not run the UI suite" is an
honest report. "Tests pass" after one package's run is not.
© verdaccio, 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 .agents/skills/testing-changes of verdaccio/verdaccio.
Open the folder on GitHubat commit 2d3bcca
Verdaccio Change Testing Selector 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 |
|---|---|---|---|---|---|---|
| Verdaccio Change Testing Selector this skillverdaccio/verdaccio | 18k | — | ~1.6k | Automated safety check: Warn | MIT | |
| DeerFlow Smoke Testbytedance/deer-flow | 83k | — | ~2.5k | Automated safety check: Notes | MIT | |
| Testingweb-infra-dev/rstest | 505 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Pnpmmoeru-ai/airi | 50k | 2 repos | ~1k | Automated safety check: Warn | MIT | |
| PnpmJetBrains/skills | 363 | 6 repos | ~742 | Automated safety check: Warn | None | |
| MongoDB Source Connector E2E Harnessairbytehq/airbyte | 22k | — | ~1.9k | Automated safety check: Pass | Custom licence |
bytedance/deer-flow
Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.
web-infra-dev/rstest
Testing workflow for the Rstest monorepo. An agent skill from web-infra-dev/rstest.
moeru-ai/airi
Node.js package manager with strict dependency resolution. An agent skill from moeru-ai/airi.
JetBrains/skills
Node.js package manager with strict dependency resolution. An agent skill from JetBrains/skills.
airbytehq/airbyte
Starts a throwaway MongoDB 7.0 replica set and runs the Airbyte spec, check, discover and read commands against source-mongodb-v2 images for local end-to-end testing.
airbytehq/airbyte
Stands up a throwaway local SQL Server 2022 backend, applies SQL fixtures and runs Airbyte spec, check, discover and read against source-mssql images.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
verdaccio/verdaccio
Reviews an existing verdaccio/verdaccio pull request end to end, verifies each finding and reports whether it is mergeable, optionally fixing it on the PR branch.
verdaccio/verdaccio
Triages an incoming verdaccio/verdaccio issue against the code, the affected release line and related issues, and picks labels from the repository's existing taxonomy.
verdaccio/verdaccio
Reviews a verdaccio diff, branch or PR against the repository's review guide, verifies each finding in the code and reports only actionable issues.
verdaccio/verdaccio
A workflow for implementing a Verdaccio bug fix, feature or refactor: pick the release lines, check existing options, edit the owning layer, test and add a changeset.
verdaccio/verdaccio
Maintains Verdaccio's bundled plugins and the plugin contracts in @verdaccio/core, and diagnoses plugin loading problems.
Categories
Figures out which rebuild and test suites actually cover a change in the verdaccio monorepo, instead of a scoped run that passes untested. Because packages import each other through their build output rather than src, this skill insists on rebuilding every touched package and its dependents with a filtered pnpm build before testing; otherwise a test runs against a stale build and passes without ever exercising the change.
Verdaccio Change Testing Selector fits situations like: deciding what to run after editing a verdaccio package; verifying a change before committing or pushing; checking why a scoped test run passed without covering a change.
Run `npx skills add verdaccio/verdaccio --skill testing-changes -a claude-code`. Or copy the skill folder (.agents/skills/testing-changes in verdaccio/verdaccio) into .claude/skills/testing-changes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add verdaccio/verdaccio --skill testing-changes -a codex`. Or copy the skill folder (.agents/skills/testing-changes in verdaccio/verdaccio) into .agents/skills/testing-changes 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 verdaccio/verdaccio --skill testing-changes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-changes, .gemini/skills/testing-changes, .github/skills/testing-changes and .opencode/skills/testing-changes in your project.
Going by SKILL.md and its folder, Verdaccio Change Testing Selector needs the command-line tools its instructions call (pnpm, git and node). Our summary lists: pnpm.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way.
Verdaccio Change Testing Selector is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.4k 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 Verdaccio Change Testing Selector: DeerFlow Smoke Test (bytedance/deer-flow, 83k stars), Testing (web-infra-dev/rstest, 505 stars), Pnpm (moeru-ai/airi, 50k stars) and Pnpm (JetBrains/skills, 363 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
verdaccio (a GitHub organization) maintains it in verdaccio/verdaccio, which has 17,913 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.
Source: verdaccio/verdaccio on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.