Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Configure Verification

ASecurity

Auto-detect test, lint, typecheck, and build commands from package.json, Makefile, and other project config. Use during project setup or when build tooling changes. Runs silently — no prompts.

39 stars
0 votes
0 copies
0 views
Added 9/20/2026
devopsbashgit

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add benjaminshoemaker/ai_coding_project_base --skill configure-verification --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Configure Verification?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Configure Verification
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/benjaminshoemaker-configure-verification/badge)](https://www.skillsdirectory.com/skills/benjaminshoemaker-configure-verification)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: configure-verification
description: Auto-detect test, lint, typecheck, and build commands from package.json, Makefile, and other project config. Use during project setup or when build tooling changes. Runs silently — no prompts.
argument-hint: [project-directory]
allowed-tools: Read, Edit, Grep, Glob, Bash
---

Auto-detect verification commands and write `.claude/verification-config.json`.
Runs silently with no user prompts — best-effort detection only.

## Workflow

Copy this checklist and track progress:

```
Configure Verification Progress:
- [ ] Detect project directory and context
- [ ] Directory guard
- [ ] Detect package manager
- [ ] Auto-detect commands from project sources
- [ ] Conditional dev server detection
- [ ] Ensure .gitignore protection
- [ ] Write verification-config.json
- [ ] Output one-line summary
```

## Project Directory

Use the current working directory by default.

If `$1` is provided, treat `$1` as the working directory and read files under
`$1` instead.

## Context Detection

Determine working context:

1. If the working directory matches `*/features/*`:
   - PROJECT_ROOT = parent of parent of working directory
2. If the working directory matches `*/plans/greenfield*`:
   - PROJECT_ROOT = parent of parent of working directory
3. Otherwise:
   - PROJECT_ROOT = working directory

## Directory Guard

Confirm `PROJECT_ROOT` exists and is writable. If not, stop and report the error.

## Detect Package Manager

Determine package manager from lockfile presence (check in this order):

| Lockfile | Package Manager |
|----------|----------------|
| `pnpm-lock.yaml` | pnpm |
| `yarn.lock` | yarn |
| `package-lock.json` | npm |

If none found, default to `npm` if `package.json` exists, otherwise no package manager.

## Auto-Detect Commands

Scan project sources in priority order. **First source wins per command type.**
Parse files as structured data (JSON for package.json, not grep).

### Priority Order

1. **`package.json` scripts** — Parse JSON, check for these script names:
   - `test` → `{pm} test` or `{pm} run test`
   - `lint` → `{pm} run lint`
   - `typecheck` or `type-check` or `tsc` → `{pm} run typecheck` (use actual script name)
   - `build` → `{pm} run build`
   - `coverage` or `test:coverage` → `{pm} run coverage` (use actual script name)
   - `mutation` or `test:mutation` or `stryker` → `{pm} run {actual-script-name}`

2. **`Makefile`** — Look for targets: `test`, `lint`, `typecheck`/`check`, `build`, `coverage`
   - Command format: `make {target}`

3. **`Taskfile.yml`** — Look for tasks with matching names
   - Command format: `task {name}`

4. **`justfile`** — Look for recipes with matching names
   - Command format: `just {name}`

5. **Fallback: `README.md` / `CONTRIBUTING.md`** — Scan for code blocks containing
   test/lint/build commands. Only use if no structured source found a command.

**Important:** Only record commands that were actually found. Do not guess or
synthesize commands. If a command type is not found in any source, omit it from
the config entirely.

## Conditional Dev Server Detection

**Only run this section if** the active execution plan contains `BROWSER:` criteria.

Resolve the active execution plan in this order:
1. `EXECUTION_PLAN.md` in the working directory
2. `plans/greenfield/EXECUTION_PLAN.md` in the working directory
(e.g., `BROWSER:DOM`, `BROWSER:VISUAL`, etc.).

If browser criteria exist, look for dev server scripts in `package.json`:
- `dev` → `{pm} run dev`
- `start` → `{pm} run start`
- `serve` → `{pm} run serve`

If found, include in config:
```json
{
  "devServer": {
    "command": "{pm} run dev",
    "url": "http://localhost:3000",
    "startupSeconds": 10
  }
}
```

Use port 3000 as default. If the script content in package.json contains a
different port (e.g., `--port 5173`), use that instead.

If no browser criteria in the active execution plan, omit `devServer` entirely.

## Ensure .gitignore Protection

Check and protect verification-related files:

1. If `.gitignore` exists, ensure these entries are present:
   - `.env.verification`
   - `.claude/verification/auth-state.json`

2. If entries are missing, append them:
   ```
   # Verification credentials (never commit)
   .env.verification
   .claude/verification/auth-state.json
   ```

3. If `.gitignore` doesn't exist, skip (don't create one just for this).

## Write Config

Write `.claude/verification-config.json` with only the keys where commands were
found. Always include `browser.tool: "auto"`.

**Example — full detection:**
```json
{
  "commands": {
    "test": "npm test",
    "lint": "npm run lint",
    "typecheck": "npm run typecheck",
    "build": "npm run build",
    "coverage": "npm run coverage"
  },
  "browser": {
    "tool": "auto"
  }
}
```

**Example — partial detection (no typecheck or coverage found):**
```json
{
  "commands": {
    "test": "npm test",
    "lint": "npm run lint",
    "build": "npm run build"
  },
  "browser": {
    "tool": "auto"
  }
}
```

**Example — with dev server (browser criteria detected):**
```json
{
  "commands": {
    "test": "pnpm test",
    "lint": "pnpm run lint"
  },
  "devServer": {
    "command": "pnpm run dev",
    "url": "http://localhost:5173",
    "startupSeconds": 10
  },
  "browser": {
    "tool": "auto"
  }
}
```

**Example — nothing detected:**
```json
{
  "commands": {},
  "browser": {
    "tool": "auto"
  }
}
```

Do NOT include `auth`, `deployment`, or `devServer` (unless browser criteria
detected a dev server). These are deferred to `/phase-checkpoint` when needed.

## Error Handling

| Situation | Action |
|-----------|--------|
| PROJECT_ROOT does not exist or is not writable | Stop immediately and report the path error to the user |
| No package.json, Makefile, Taskfile.yml, or justfile found | Write config with empty `commands` object; report "no commands detected" |
| package.json exists but contains invalid JSON | Report parse error with file path; skip package.json and try next source |
| Lockfile detected but package manager binary is missing | Record the detected package manager but warn the user it is not installed |
| `.claude/` directory does not exist for writing config | Create `.claude/` directory before writing `verification-config.json` |

## Output

Print a single summary line:

```
Verification config: detected {list of found commands}. Missing: {list of not found}.
```

Examples:
```
Verification config: detected test, lint, build. Missing: typecheck, coverage.
```
```
Verification config: detected test, lint, typecheck, build, coverage, devServer. Missing: none.
```
```
Verification config: no commands detected.
```

Attribution

benjaminshoemakerbenjaminshoemaker
View sourceMore from benjaminshoemaker →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

397921 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2459130 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

942310 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805540 votes
View all in devops →