Agent skill

Smoke Testing

by kid-sid in kid-sid/claude-spellbook

A skill your agent uses when verifying a fresh deployment, gating a CI pipeline before full test runs, checking that core user flows are reachable after a release, or building a minimal health-check…

MITAuto-check passedTesting & QA

Install Smoke Testing

skills CLI
$ npx skills add kid-sid/claude-spellbook --skill smoke-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install kid-sid/claude-spellbook smoke-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/kid-sid/claude-spellbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/smoke-testing .claude/skills/smoke-testing && rm -rf skills-src

Use ~/.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/

Facts

Skill name
smoke-testing
GitHub stars
189
Token cost
~1.7k tokens
SKILL.md length
530 words
Files
1
Skills in repo
52
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when verifying a fresh deployment, gating a CI pipeline before full test runs, checking that core user flows are reachable after a release, or building a minimal health-check…

  • Verifying a fresh deployment
  • SKILL.md covers When to Activate, What to Test, Scope: Smoke vs. Other Test… and Implementation Examples, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Gating a CI pipeline before full test runs

What it does

Smoke Testing is an agent skill from kid-sid/claude-spellbook. Use when verifying a fresh deployment, gating a CI pipeline before full test runs, checking that core user flows are reachable after a release, or building a minimal health-check suite for a new service.

Its SKILL.md is about 1.7k 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 Testing & QA, covering UX design, CI/CD and Unit testing. The repository describes itself as: A curated collection of skills, prompts, and workflows that extend Claude's capabilities — your personal grimoire for AI-powered development. The licence is MIT.

When your agent uses it

  • Verifying a fresh deployment
  • Gating a CI pipeline before full test runs
  • Checking that core user flows are reachable after a release
  • Building a minimal health-check suite for a new service

Example prompts

  • “/smoke-testing”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit a7c2ac9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python, typescript, go and yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Smoke Testing loads about 1.7k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 530 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from kid-sid/claude-spellbook at commit a7c2ac9, republished under its MIT licence (© kid-sid). 530 words, ~1,731 tokens.

Download SKILL.mdSave it as .claude/skills/smoke-testing/SKILL.md (or your agent's skills folder).
name
smoke-testing
description
Use when verifying a fresh deployment, gating a CI pipeline before full test runs, checking that core user flows are reachable after a release, or building a minimal health-check suite for a new service.

Smoke Testing

A minimal test pass that confirms the critical paths of an application work before investing in deeper testing.

When to Activate

  • Verifying a fresh deployment to staging or production
  • Gating a CI pipeline before the full test suite runs
  • Checking core user flows after a release or hotfix
  • Building an initial test suite for a new service
  • Deciding which tests to run on every commit vs. nightly
  • Validating a rollback brought the system back to a working state
  • Confirming third-party integrations are reachable after infrastructure changes

What to Test

Smoke tests cover the happy path only — the shortest route through each critical feature.

LayerWhat to check
API / BackendHealth endpoint returns 200, auth flow succeeds, main CRUD endpoints respond
FrontendApp loads without JS errors, login page renders, primary navigation works
DatabaseConnection succeeds, a simple read query returns data
External servicesAuth provider, payment gateway, email service are reachable
Workers / queuesWorker process starts, picks up a test job, completes without error

Scope: Smoke vs. Other Test Types

Test typeBreadthDepthSpeedWhen to run
SmokeWideShallowSeconds–1 minEvery deploy
SanityNarrowMediumMinutesAfter targeted fixes
IntegrationMediumDeepMinutesEvery commit / PR
RegressionFullDeepMinutes–hoursNightly / pre-release

Implementation Examples

Python (pytest + httpx)
python
import httpx
import pytest

BASE_URL = "https://staging.example.com"

@pytest.fixture(scope="session")
def client():
    return httpx.Client(base_url=BASE_URL, timeout=10)

def test_health(client):
    r = client.get("/health")
    assert r.status_code == 200

def test_login(client):
    r = client.post("/auth/login", json={"email": "smoke@test.com", "password": "test"})
    assert r.status_code == 200
    assert "token" in r.json()

def test_list_users(client):
    token = client.post("/auth/login", json={"email": "smoke@test.com", "password": "test"}).json()["token"]
    r = client.get("/api/v1/users", headers={"Authorization": f"Bearer {token}"})
    assert r.status_code == 200
TypeScript (jest + fetch / supertest)
typescript
const BASE = process.env.SMOKE_BASE_URL ?? "http://localhost:3000";

let token: string;

beforeAll(async () => {
  const res = await fetch(`${BASE}/auth/login`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ email: "smoke@test.com", password: "test" }),
  });
  token = (await res.json()).token;
});

test("health check", async () => {
  const res = await fetch(`${BASE}/health`);
  expect(res.status).toBe(200);
});

test("list users returns 200", async () => {
  const res = await fetch(`${BASE}/api/v1/users`, {
    headers: { Authorization: `Bearer ${token}` },
  });
  expect(res.status).toBe(200);
});
Go (net/http + testing)
go
package smoke_test

import (
    "net/http"
    "testing"
)

var base = "https://staging.example.com"

func get(t *testing.T, path string) *http.Response {
    t.Helper()
    resp, err := http.Get(base + path)
    if err != nil {
        t.Fatalf("request failed: %v", err)
    }
    return resp
}

func TestHealth(t *testing.T) {
    resp := get(t, "/health")
    if resp.StatusCode != http.StatusOK {
        t.Errorf("want 200, got %d", resp.StatusCode)
    }
}

func TestHomePage(t *testing.T) {
    resp := get(t, "/")
    if resp.StatusCode != http.StatusOK {
        t.Errorf("want 200, got %d", resp.StatusCode)
    }
}

CI Integration

Run smoke tests as a dedicated job that gates the full test suite:

yaml
# .github/workflows/ci.yml
jobs:
  smoke:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run smoke tests
        run: pytest tests/smoke/ -m smoke --timeout=60
        env:
          SMOKE_BASE_URL: ${{ vars.STAGING_URL }}

  full-tests:
    needs: smoke          # only runs if smoke passes
    runs-on: ubuntu-latest
    steps:
      - run: pytest tests/ --ignore=tests/smoke/

Tag smoke tests explicitly so they can run in isolation:

python
# Python — use pytest marks
@pytest.mark.smoke
def test_health(): ...

# run only smoke
# pytest -m smoke
typescript
// TypeScript — use jest testPathPattern or describe label
describe("[smoke]", () => {
  test("health", ...);
});
// jest --testNamePattern="\[smoke\]"

Show full SKILL.md (286 more words)Show less

Red Flags

  • Testing too much — smoke tests that take >5 minutes become a bottleneck and get skipped; keep them under 2 minutes.
  • Shared mutable state — smoke tests hitting real data that other tests modify causes false failures; use a dedicated smoke test account.
  • No environment isolation — running smoke tests against production instead of staging risks data corruption and real side effects.
  • Skipping auth — testing unauthenticated endpoints only misses the most common deployment break (misconfigured secrets/env vars).
  • Asserting too loosely — checking only that the response is not 500 hides broken payloads; assert on response shape too.
  • No timeout — smoke tests that hang block the entire pipeline; always set a request and suite-level timeout.
  • Duplicating integration tests — smoke tests should not re-assert business logic; if a test checks calculation results it belongs in integration or unit tests.
  • Missing notifications — a smoke failure in production that no one sees for hours defeats the purpose; wire failures to alerting (PagerDuty, Slack).

Checklist

  • Smoke suite runs end-to-end in under 2 minutes
  • Covers health/readiness endpoint, auth flow, and at least one primary resource endpoint
  • Tests are tagged (@pytest.mark.smoke, [smoke], //go:build smoke) so they can run in isolation
  • Runs automatically on every deploy to staging and production
  • Blocks the full test suite in CI via needs: or equivalent gate
  • Uses a dedicated test account/fixture data — never touches user production data
  • Sets explicit timeouts on requests and the overall suite
  • Asserts on HTTP status code AND basic response shape (not just "not 500")
  • Failure triggers an immediate alert (Slack, PagerDuty, email)
  • Covers at least one critical external dependency (database ping, third-party API reachability)
  • Does not duplicate business-logic assertions already covered by integration tests
  • SMOKE_BASE_URL (or equivalent) is configurable via environment variable — no hardcoded URLs

© kid-sid, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/smoke-testing of kid-sid/claude-spellbook.

Open the folder on GitHubat commit a7c2ac9

Compare with similar skills

Smoke Testing 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.

Smoke Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Smoke Testing this skillkid-sid/claude-spellbook189—~1.7kAutomated safety check: PassMIT
Bats Shell Testing Patternswshobson/agents40k12 repos~1.3kAutomated safety check: PassMIT
Simple Modern Uvjlevy/simple-modern-uv301—~1.9kAutomated safety check: PassMIT
Migrate Vstest To Mtprunceel/ReactiveProperty944—~4.3kAutomated safety check: PassMIT
Code PatternsAedelon/claude-code-blueprint120—~1.2kAutomated safety check: PassCustom licence
Gating Deid Leakagemaziyarpanahi/openmed5.5k—~1.7kAutomated safety check: PassApache-2.0

Similar skills

  • Writes unit tests for shell scripts with Bats: error-condition tests, fixtures and mocks, cross-shell checks, parallel runs, helper files and CI integration.

    40k GitHub starsUsed in 12 repos~1.3k tokens
    Testing & QAAuto-check passed
  • Simple Modern Uv

    jlevy/simple-modern-uv

    Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.

    301 GitHub stars~1.9k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Migrate Vstest To Mtp

    runceel/ReactiveProperty

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP).

    944 GitHub stars~4.3k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • Code Patterns

    Aedelon/claude-code-blueprint

    Reference patterns for REST APIs, pytest/vitest testing, Docker multi-stage builds, GitHub Actions CI/CD, PostgreSQL, TypeScript generics, Python async, and React Server Components.

    120 GitHub stars~1.2k tokensUpdated 7 mo ago
    DevOps & CloudAuto-check passed
  • Gating Deid Leakage

    maziyarpanahi/openmed

    Add a CI gate that fails the build when an OpenMed de-identification model's recall on a held-out PHI set drops below threshold or any critical identifier leaks.

    5.5k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Migrate Vstest To Mtp

    microsoft/testfx

    Official

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP).

    1k GitHub stars~4.8k tokensUpdated today
    Testing & QAAuto-check passed

More from kid-sid/claude-spellbook

All 52 skills in this repo
  • Accessibility

    kid-sid/claude-spellbook

    A skill your agent uses when building or reviewing UI components for keyboard and screen reader compatibility, adding ARIA to custom widgets, auditing a page for WCAG AA conformance, or preparing…

    189 GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed
  • Agentex

    kid-sid/claude-spellbook

    A skill your agent uses when building, wiring, or debugging an Agentex agent — choosing agent type, configuring acp.py and manifest.yaml, using adk.messages or adk.state, or resolving…

    189 GitHub stars~2.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • AI Engineer

    kid-sid/claude-spellbook

    A skill your agent uses when building production LLM applications — designing RAG pipelines, choosing vector databases, implementing agent orchestration, optimizing cost, or adding AI safety…

    189 GitHub stars~3.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Angular

    kid-sid/claude-spellbook

    A skill your agent uses when building or refactoring Angular applications — choosing between signals, RxJS, and NgRx for state, configuring routing with guards and lazy loading, optimizing change…

    189 GitHub stars~5k tokensUpdated 2 mo ago
    Auto-check passed
  • API Design

    kid-sid/claude-spellbook

    A skill your agent uses when designing new REST endpoints, reviewing an existing API contract, adding pagination or filtering, planning a versioning strategy, or building a public or partner-facing…

    189 GitHub stars~3.6k tokensUpdated 2 mo ago
    Auto-check passed
  • Auth

    kid-sid/claude-spellbook

    A skill your agent uses when implementing login flows, issuing or validating JWTs, setting up OAuth2/OIDC with a provider, designing role-based or attribute-based access control, securing API…

    189 GitHub stars~3.2k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Smoke Testing

What does Smoke Testing do?

A skill your agent uses when verifying a fresh deployment, gating a CI pipeline before full test runs, checking that core user flows are reachable after a release, or building a minimal health-check…. Smoke Testing is an agent skill from kid-sid/claude-spellbook. Use when verifying a fresh deployment, gating a CI pipeline before full test runs, checking that core user flows are reachable after a release, or building a minimal health-check suite for a new service.

When should I use Smoke Testing?

Smoke Testing fits situations like: verifying a fresh deployment; gating a CI pipeline before full test runs; checking that core user flows are reachable after a release; building a minimal health-check suite for a new service.

How do I install Smoke Testing in Claude Code?

Run `npx skills add kid-sid/claude-spellbook --skill smoke-testing -a claude-code`. Or copy the skill folder (skills/smoke-testing in kid-sid/claude-spellbook) into .claude/skills/smoke-testing in your project. Claude Code loads it when a task matches its description.

How do I install Smoke Testing in Codex?

Run `npx skills add kid-sid/claude-spellbook --skill smoke-testing -a codex`. Or copy the skill folder (skills/smoke-testing in kid-sid/claude-spellbook) into .agents/skills/smoke-testing in your project. Codex loads it when a task matches its description.

Can I use Smoke Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add kid-sid/claude-spellbook --skill smoke-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/smoke-testing, .gemini/skills/smoke-testing, .github/skills/smoke-testing and .opencode/skills/smoke-testing in your project.

What does Smoke Testing need to run?

SKILL.md names no scripts, command-line tools or credentials: Smoke Testing is instructions for the agent only. Our summary lists: Python 3.

Does Smoke Testing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Smoke Testing safe to install?

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.

What licence does Smoke Testing use?

Smoke Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Smoke Testing use?

About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Smoke Testing?

Skills that share tags, products or a category with Smoke Testing: Bats Shell Testing Patterns (wshobson/agents, 40k stars), Simple Modern Uv (jlevy/simple-modern-uv, 301 stars), Migrate Vstest To Mtp (runceel/ReactiveProperty, 944 stars) and Code Patterns (Aedelon/claude-code-blueprint, 120 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Smoke Testing?

kid-sid (a GitHub user) maintains it in kid-sid/claude-spellbook, which has 189 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on August 5, 2026.

Source: kid-sid/claude-spellbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.