AgentSkillsCN

suggest-tests

根据git diff的改动建议新增单元测试。它会分析已修改的代码,并按风险等级进行优先级排序。

SKILL.md
--- frontmatter
name: suggest-tests
description: Recommend unit tests to add based on git diff changes. Analyzes modified code and prioritizes by risk level.
category: testing
disable-model-invocation: false
user-invocable: true
allowed-tools: Read, Grep, Glob, Bash

Suggest Tests from Git Diff

Inspect the repository for code changes and recommend test additions or updates.

Inputs

  • diffScope: 'branch' or 'commit'
  • referenceBranchOrCommit (optional): The reference branch or commit to compare from

Procedure

Phase 1 - Parse the Diff

  1. Get all changes in this branch compared to the reference (default branch or specified commit)
  2. Identify changed or added functions, methods, classes, constants, or modules
  3. Ignore comment-only or formatting changes

Phase 2 - Analyze the Changes

  1. For each affected symbol:
    • Determine change type: added | modified | deleted | refactored
    • Detect whether the logic, signature, or control flow changed
    • Cross-reference coverage data if provided
  2. Prioritize recommendations:
    • HIGH: New code or core logic changes with missing or low test coverage
    • MEDIUM: Modified parameters, return types, or conditionals
    • LOW: Trivial changes with existing adequate coverage
  3. Flag risky changes (input validation, deserialization, external calls, etc.)

Phase 3 - Output Recommendations

Return Markdown structured as follows:

markdown
# Test Recommendations

## Risk Level High
**functionName**
- location: src/path/to/file.ts
- change type: modified
- reason: Description of why this needs tests
- suggested tests:
  - Test case description 1
  - Test case description 2

## Risk Level Medium
...

## Risk Level Low
...

Constraints

  • Analyze only within the given code. Do not invent missing context or external APIs
  • Be deterministic and concise
  • Return only recommendations

Skill Chaining

After Analysis

Chain ToWhenAction
unit-test-workflowHIGH risk identifiedGenerate comprehensive tests
property-based-testingSerialization patternsAdd PBT coverage

Chains From

SourceCondition
tddAfter REFACTOR phase
workflow-orchestratorCode review context

Terminal Chain

After completion: repo-hygiene (clean analysis artifacts)

Testing Pipeline Position

suggest-tests is step 2 in the testing pipeline:

code
tdd → suggest-tests → unit-test-workflow → property-based-testing → repo-hygiene
         ↑
     (you are here)