# Verification

> Verification steps for code changes. Use after ANY code change to ensure quality, or when creating plans because those should include verification steps.

- Skill: `forcedotcom/verification` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add forcedotcom/verification`
- Raw SKILL.md: https://api.skillmd.com/api/skills/forcedotcom/verification/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: forcedotcom (https://skillmd.com/u/forcedotcom)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/forcedotcom/verification

---


# Verification

The stop hook runs compile, lint, effect LS, test, vscode:bundle, and knip automatically when the agent stops — no need to run these manually.

Run this **only if the stop hook doesn't catch it**:

1. **Dupes** — `npm run check:dupes`, check `jscpd-report` for flagged changes

2. **GitHub Actions** (only if changing `.github/workflows/*.{yml,yaml}` or `.github/actions/*/action.{yml,yaml}`) — `npm run check:actions`

3. **Playwright** (only if working in these packages: `salesforcedx-vscode-core`, `salesforcedx-vscode-org`, `salesforcedx-vscode-services`, `salesforcedx-vscode-org-browser`, `salesforcedx-vscode-metadata`, `salesforcedx-vscode-apex-testing`, `salesforcedx-vscode-apex-log`, `playwright-vscode-ext`)
   - Run from root: `npm run test:web -w <package-name> -- --retries 0` / `npm run test:desktop -w <package-name> -- --retries 0`

## Rules

- Don't change /src AND /test together (except imports/renames)
- All commands run from repo root; use `-w` for single package, never `cd` into a package
- Don't call a failure "pre-existing" without verifying on a prior commit

## Plans

Include verification steps after the "actual" todos. Follow this checklist.

## References

- `references/unit-tests.md` — unit tests
- `references/compile.md` — compile; TS4023 / TS1261 skills
- `@.claude/skills/ts4023-effect-errors/` — TS4023
- `@.claude/skills/ts1261-filename-casing/` — TS1261
- `@.claude/skills/playwright-e2e/` — Playwright E2E
- `effect-advocate` subagent — invoke after Effect-related changes to flag missed Effect idioms (schemas, Option, retry/timeout/cache, services reuse).

