Agent skill

Test Updates

by athola in athola/claude-night-market

Updates, generates, and validates tests using git-workspace context and TDD/BDD methodology.

MITAuto-check passedTesting & QA

Install Test Updates

skills CLI
$ npx skills add athola/claude-night-market --skill test-updates -a claude-code

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

GitHub CLI
$ gh skill install athola/claude-night-market test-updates --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/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/sanctum/skills/test-updates .claude/skills/test-updates && 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
test-updates
GitHub stars
342
Token cost
~3k tokens
SKILL.md length
1,053 words
Files
9
Skills in repo
159
Repo updated
First seen
Licence
MIT

At a glance

Updates, generates, and validates tests using git-workspace context and TDD/BDD methodology.

  • Works in 5 steps: Discovery → Strategy → 5: Invariant-Encoding Tests → …
  • Code changes require new
  • SKILL.md covers Overview, What It Is, Quick Start and When To Use It, plus 8 more sections
  • Calls pytest, python and pip

What it does

Test Updates is an agent skill from athola/claude-night-market. Updates, generates, and validates tests using git-workspace context and TDD/BDD methodology. Use when code changes require new or updated test coverage.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files (for example `modules/bdd-patterns.md`, `modules/content-test-discovery.md` and `modules/quality-validation.md`).

It sits in Testing & QA, covering Test-driven development and Test coverage. It works with Git and pytest. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • Code changes require new
  • Updated test coverage

Example prompts

  • “/test-updates”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Discovery
  2. Strategy
  3. 5: Invariant-Encoding Tests
  4. Implementation
  5. Validation

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. 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

    Shell commands in SKILL.md call:

    • pytest
    • python
    • pip

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

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    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

Test Updates loads about 3k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 1,053 words of instructions outside code blocks.

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

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 athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 1,053 words, ~2,979 tokens.

Download SKILL.mdSave it as .claude/skills/test-updates/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
test-updates
description
Updates, generates, and validates tests using git-workspace context and TDD/BDD methodology. Use when code changes require new or updated test coverage.
alwaysApply
false
category
testing-automation
tags
tdd, bdd, testing, quality-assurance, test-generation, pytest
dependencies
superpowers:test-driven-development, git-workspace-review
usage_patterns
test-maintenance, test-generation, test-enhancement, quality-validation
complexity
intermediate
model_hint
standard
estimated_tokens
1500
modules
modules/bdd-patterns.md, modules/content-test-discovery.md, modules/quality-validation.md, modules/structure-mapping.md, modules/tdd-workflow.md…

Test Updates and Maintenance

Overview

detailed test management system that applies TDD/BDD principles to maintain, generate, and enhance tests across codebases. This skill practices what it preaches - it uses TDD principles for its own development and serves as a living example of best practices.

Core Philosophy
  • RED-GREEN-REFACTOR: Strict adherence to TDD cycle
  • Behavior-First: BDD patterns that describe what code should do
  • Invariant-Encoding: Tests guard design decisions, not just behavior
  • Meta Dogfooding: The skill's own tests demonstrate the principles it teaches
  • Quality Gates: detailed validation before considering tests complete

What It Is

A modular test management system that:

  • Discovers what needs testing or updating
  • Generates tests following TDD principles
  • Enhances existing tests with BDD patterns
  • Validate test quality through multiple lenses

Quick Start

Quick Checklist for First Time Use
  • validate pytest is installed (pip install pytest)
  • Have your source code in src/ or similar directory
  • Create a tests/ directory if it doesn't exist
  • Run Skill(sanctum:git-workspace-review) first to understand changes
  • Start with Skill(test-updates) --target <specific-module> for focused updates
detailed Test Update
bash
# Run full test update workflow
Skill(test-updates)

Verification: Run pytest -v to verify tests pass.

Targeted Test Updates
bash
# Update tests for specific paths
Skill(test-updates) --target src/sanctum/agents
Skill(test-updates) --target tests/test_commit_messages.py

Verification: Run pytest -v to verify tests pass.

TDD for New Features
bash
# Apply TDD to new code
Skill(test-updates) --tdd-only --target new_feature.py

Verification: Run pytest -v to verify tests pass.

Using the Scripts Directly

Human-Readable Output:

bash
# Analyze test coverage gaps
python plugins/sanctum/scripts/test_analyzer.py --scan src/

# Generate test scaffolding
python plugins/sanctum/scripts/test_generator.py \
    --source src/my_module.py --style pytest_bdd

# Check test quality
python plugins/sanctum/scripts/quality_checker.py \
    --validate tests/test_my_module.py

Verification: Run pytest -v to verify tests pass.

Programmatic Output (for Claude Code):

bash
# Get JSON output for programmatic parsing - test_analyzer
python plugins/sanctum/scripts/test_analyzer.py \
    --scan src/ --output-json

# Returns:
# {
#   "success": true,
#   "data": {
#     "source_files": ["src/module.py", ...],
#     "test_files": ["tests/test_module.py", ...],
#     "uncovered_files": ["module_without_tests", ...],
#     "coverage_gaps": [{"file": "...", "reason": "..."}]
#   }
# }

# Get JSON output - test_generator
python plugins/sanctum/scripts/test_generator.py \
    --source src/my_module.py --output-json

# Returns:
# {
#   "success": true,
#   "data": {
#     "test_file": "path/to/test_my_module.py",
#     "source_file": "src/my_module.py",
#     "style": "pytest_bdd",
#     "fixtures_included": true,
#     "edge_cases_included": true,
#     "error_cases_included": true
#   }
# }

# Get JSON output - quality_checker
python plugins/sanctum/scripts/quality_checker.py \
    --validate tests/test_my_module.py --output-json

# Returns:
# {
#   "success": true,
#   "data": {
#     "static_analysis": {...},
#     "dynamic_validation": {...},
#     "metrics": {...},
#     "quality_score": 85,
#     "quality_level": "QualityLevel.GOOD",
#     "recommendations": [...]
#   }
# }

Verification: Run pytest -v to verify tests pass.

When To Use It

Use this skill when you need to:

  • Update tests after code changes
  • Generate tests for new features
  • Improve existing test quality
  • validate detailed test coverage

Perfect for:

  • Pre-commit test validation
  • CI/CD pipeline integration
  • Refactoring with test safety
  • Onboarding new developers

When NOT To Use

  • Auditing test suites - use pensive:test-review
  • Writing production code
    • focus on implementation first
  • Auditing test suites - use pensive:test-review
  • Writing production code
    • focus on implementation first

Workflow Integration

Phase 1: Discovery
  1. Scan codebase for test gaps
  2. Analyze recent changes
  3. Identify broken or outdated tests

See modules/test-discovery.md for detection patterns.

Phase 2: Strategy
  1. Choose appropriate BDD style (see modules/bdd-patterns.md)
  2. Plan test structure
  3. Define quality criteria
  4. Identify design invariants to encode as tests
Phase 2.5: Invariant-Encoding Tests

Before writing behavioral tests, identify the design invariants that the code relies on and write tests that would break if those invariants were violated.

What to encode:

  • Module boundary constraints (A never imports from B)
  • Data flow direction (events flow publisher-to-subscriber, never the reverse)
  • API contract shapes (public interfaces don't change without versioning)
  • Data structure choices (if a map was chosen over a list, test the properties that justify that choice)
  • Error handling strategies (fail-fast boundaries, recovery zones)

Example:

python
def test_plugins_never_import_from_other_plugins():
    """Encode the invariant: plugins are independent modules.

    If this test breaks, someone is coupling plugins
    directly. Present the 3 options to a human:
    1. Preserve: revert the import, keep plugins independent
    2. Layer: add a shared interface in leyline instead
    3. Revise: merge the plugins (requires ADR)
    """
    for plugin_dir in plugin_dirs:
        imports = extract_imports(plugin_dir)
        for imp in imports:
            assert not imp.startswith("plugins."), (
                f"{plugin_dir} imports {imp} — violates plugin independence invariant"
            )

Why this matters: Tests that encode invariants are load-bearing. When an agent later encounters a feature that clashes with the invariant, the test failure forces a conscious decision rather than a silent drift. Without these tests, bad invariant decisions compound until the codebase is unsalvageable.

When updating existing tests:

If an invariant-encoding test needs to change, do NOT silently update the assertion. Flag it for human review with the three options: preserve the invariant, layer on top, or revise the invariant. This is a judgment call that requires human wisdom: models default to the "average" of training data and get these wrong far too often.

Phase 3: Implementation
  1. Write failing tests (RED) - Skill(superpowers:test-driven-development) for the cycle; modules/tdd-workflow.md for what is local
  2. Implement minimal passing code (GREEN)
  3. Refactor for clarity (REFACTOR)

See modules/test-generation.md for generation templates.

Phase 4: Validation
  1. Static analysis and linting
  2. Dynamic test execution
  3. Coverage and quality metrics

See modules/quality-validation.md for validation criteria.

Quality Assurance

The skill applies multiple quality checks:

  • Static: Linting, type checking, pattern validation
  • Dynamic: Test execution in sandboxed environments
  • Metrics: Coverage, mutation score, complexity analysis
  • Invariant: Verify design-decision tests are not weakened
  • Review: Structured checklists for peer validation
Show full SKILL.md (420 more words)Show less

Examples

BDD-Style Test Generation

See modules/bdd-patterns.md for additional patterns.

python
class TestGitWorkflow:
    """BDD-style tests for Git workflow operations."""

    def test_commit_workflow_with_staged_changes(self):
        """Committing with staged changes produces a formatted commit.

        GIVEN a Git repository with staged changes
        WHEN the user runs the commit workflow
        THEN it should create a commit with proper message format
        AND all tests should pass
        """
        # Test implementation following TDD principles
        pass

Verification: Run pytest -v to verify tests pass.

Test Enhancement
  • Add edge cases and error scenarios
  • Include performance benchmarks
  • Add mutation testing for robustness

See modules/test-enhancement.md for enhancement strategies.

Integration with Existing Skills

  1. git-workspace-review: Get context of changes
  2. structure mapping: Map layout, languages and large files with modules/structure-mapping.md
  3. test-driven-development: Apply strict TDD discipline
  4. skills-eval: Validate quality and compliance

Success Metrics

  • Test coverage > 85%
  • All tests follow BDD patterns
  • Zero broken tests in CI
  • Mutation score > 80%

Troubleshooting FAQ

Common Issues

Q: Tests are failing after generation A: This is expected! The skill follows TDD principles - generated tests are designed to fail first. Follow the RED-GREEN-REFACTOR cycle:

  1. Run the test and confirm it fails for the right reason
  2. Implement minimal code to make it pass
  3. Refactor for clarity

Q: Quality score is low despite having tests A: Check for these common issues:

  • Missing BDD patterns (Given/When/Then)
  • Vague assertions like assert result is not None
  • Tests without documentation
  • Long, complex tests (>50 lines)

Q: Generated tests don't match my code structure A: The scripts analyze AST patterns and may need guidance:

  • Use --style flag to match your preferred BDD style
  • Check that source files have proper function/class definitions
  • Review the generated scaffolding and customize as needed

Q: Mutation testing takes too long A: Mutation testing is resource-intensive:

  • Use --quick-mutation flag for subset testing
  • Focus on critical modules first
  • Run overnight for detailed analysis

Q: Can't find tests for my file A: The analyzer uses naming conventions:

  • Source: my_module.py → Test: test_my_module.py
  • Check that test files follow pytest naming patterns
  • validate test directory structure is standard
Performance Tips
  • Large codebases: Use --target to focus on specific directories
  • CI integration: Run validation in parallel with other checks
  • Memory usage: Process files in batches for very large projects
Getting Help
  1. Check script outputs for detailed error messages
  2. Use --verbose flag for more information
  3. Review the validation report for specific recommendations
  4. Start with small modules to understand patterns before scaling

Exit Criteria

  • pytest -v passes with zero failures after all test updates are applied to the target files
  • Test coverage for files in scope exceeds 85% as reported by pytest --cov
  • All new tests include a GIVEN/WHEN/THEN docstring matching the BDD pattern from modules/bdd-patterns.md
  • quality_checker.py --validate <test_file> --output-json returns quality_score ≥ 80 for each updated test file
  • If an invariant-encoding test changes, it is flagged for human review with the three options (preserve/layer/revise) before any assertion is modified

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

Files

SKILL.md and 8 other files in plugins/sanctum/skills/test-updates of athola/claude-night-market.

  • SKILL.md
  • modules/bdd-patterns.md
  • modules/content-test-discovery.md
  • modules/quality-validation.md
  • modules/structure-mapping.md
  • modules/tdd-workflow.md
  • modules/test-discovery.md
  • modules/test-enhancement.md
  • modules/test-generation.md

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Test Updates 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.

Test Updates compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Test Updates this skillathola/claude-night-market342—~3kAutomated safety check: PassMIT
TDD Guidealirezarezvani/claude-skills28k—~3.4kAutomated safety check: PassMIT
TDD GuideLeoYeAI/openclaw-master-skills2.2k—~1.4kAutomated safety check: PassMIT
Discover Testingrand/cc-polymath181—~513Automated safety check: PassMIT
Evaluate PR Testsdotnet/maui23k—~2.9kAutomated safety check: PassMIT
Golang Testingantoniopaya22/go-rest-template1729 repos~4.2kAutomated safety check: PassNone

Similar skills

  • TDD Guide

    alirezarezvani/claude-skills

    Test-driven development skill for writing unit tests, generating test fixtures and mocks, analyzing coverage gaps, and guiding red-green-refactor workflows across Jest, Pytest, JUnit, Vitest, and…

    28k GitHub stars~3.4k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • TDD Guide

    LeoYeAI/openclaw-master-skills

    Test-driven development skill for writing unit tests, generating test fixtures and mocks, analyzing coverage gaps, and guiding red-green-refactor workflows across Jest, Pytest, JUnit, Vitest, and…

    2.2k GitHub stars~1.4k tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Discover Testing

    rand/cc-polymath

    Automatically discover testing skills when working with unit testing, integration testing, e2e testing, TDD, test coverage, mocking, pytest, Jest, or test automation.

    181 GitHub stars~513 tokensUpdated 7 mo ago
    Testing & QAAuto-check passed
  • Official

    Reviews the tests added in a pull request for fix coverage, quality, edge cases and test type, and recommends lighter test types where they would do.

    23k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Golang Testing

    antoniopaya22/go-rest-template

    Go testing patterns including table-driven tests, subtests, benchmarks, fuzzing, and test coverage.

    172 GitHub starsUsed in 9 repos~4.2k tokens
    Testing & QAAuto-check passed
  • Test Guidelines

    getsentry/sentry-dart

    Official

    Enforce Sentry Dart/Flutter SDK test conventions for naming, structure, and fixtures.

    873 GitHub stars~3.1k tokensUpdated today
    Testing & QAAuto-check passed

More from athola/claude-night-market

All 159 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    342 GitHub stars~3.4k tokensUpdated 2 days ago
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    342 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    342 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    342 GitHub stars~2.5k tokensUpdated 2 days ago
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    342 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    342 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Test Updates

What does Test Updates do?

Updates, generates, and validates tests using git-workspace context and TDD/BDD methodology. Test Updates is an agent skill from athola/claude-night-market. Updates, generates, and validates tests using git-workspace context and TDD/BDD methodology.

When should I use Test Updates?

Test Updates fits situations like: code changes require new; updated test coverage.

How do I install Test Updates in Claude Code?

Run `npx skills add athola/claude-night-market --skill test-updates -a claude-code`. Or copy the skill folder (plugins/sanctum/skills/test-updates in athola/claude-night-market) into .claude/skills/test-updates in your project. Claude Code loads it when a task matches its description.

How do I install Test Updates in Codex?

Run `npx skills add athola/claude-night-market --skill test-updates -a codex`. Or copy the skill folder (plugins/sanctum/skills/test-updates in athola/claude-night-market) into .agents/skills/test-updates in your project. Codex loads it when a task matches its description.

Can I use Test Updates 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 athola/claude-night-market --skill test-updates -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/test-updates, .gemini/skills/test-updates, .github/skills/test-updates and .opencode/skills/test-updates in your project.

What does Test Updates need to run?

Going by SKILL.md and its folder, Test Updates needs the command-line tools its instructions call (pytest, python and pip). Our summary lists: Python 3.

Does Test Updates access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Test Updates 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 Test Updates use?

Test Updates 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 Test Updates use?

About 3k tokens (SKILL.md is roughly 12k 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 Test Updates?

Skills that share tags, products or a category with Test Updates: TDD Guide (alirezarezvani/claude-skills, 28k stars), TDD Guide (LeoYeAI/openclaw-master-skills, 2.2k stars), Discover Testing (rand/cc-polymath, 181 stars) and Evaluate PR Tests (dotnet/maui, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Test Updates?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 342 GitHub stars. The repository holds 159 skills in this directory. The repository was last updated on October 6, 2026.

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