AgentSkillsCN

verification-before-completion

在正式交付前,以循证方式完成工作验收 checklist。适用于PR合并前、版本发布前、工单标记为“已完成”前,或任何“我已大功告成”的时刻。

SKILL.md
--- frontmatter
name: verification-before-completion
description: Evidence-based verification checklist before marking work complete. Use before PRs, releases, marking tickets done, or any "I'm finished" declaration.

Verification Before Completion

Systematic verification process to ensure work is truly complete.

When to Use

  • Before creating a pull request
  • Before marking a ticket/issue as done
  • Before declaring a feature complete
  • Before releases or deployments
  • Anytime you think "I'm done"

Core Principle

"Done" means verified, not just implemented.

The gap between "I wrote the code" and "it works correctly" is where bugs hide.

Universal Verification Checklist

1. Requirements Verification

  • Re-read the original requirements/ticket
  • All acceptance criteria explicitly met
  • Edge cases identified and handled
  • No scope creep (didn't add unrequested features)
  • No scope miss (didn't forget requested features)

2. Code Quality Verification

  • Code compiles/runs without errors
  • No new warnings introduced
  • Linter passes with no new issues
  • Follows project code style
  • No debug code left (console.log, TODO hacks)

3. Testing Verification

  • All existing tests pass
  • New tests written for new code
  • Tests cover happy path
  • Tests cover error/edge cases
  • Manual testing performed in realistic environment

4. Integration Verification

  • Works with rest of system (not just in isolation)
  • Database migrations work (up AND down)
  • API contracts honored
  • No breaking changes to dependents
  • Feature flags configured if needed

5. Documentation Verification

  • Code comments for complex logic
  • README updated if needed
  • API documentation updated
  • Changelog entry added
  • Migration/upgrade notes if needed

Quick Verification Commands

bash
[CUSTOMIZE] Add your project's verification commands:

# Run all checks
npm run verify        # or: make verify, ./verify.sh

# Individual checks
npm run lint          # Static analysis
npm run test          # Unit tests
npm run test:e2e      # Integration tests
npm run build         # Ensure it builds

Context-Specific Checklists

Before Pull Request

  • Branch is up to date with target
  • Commit messages are clear
  • PR description explains the change
  • Screenshots/videos if UI change
  • Reviewers assigned
  • Labels/tags applied

Before Release

  • All PRs merged and verified
  • Release notes complete
  • Version numbers updated
  • Rollback plan documented
  • Stakeholders notified
  • Monitoring alerts configured

Before Demo

  • Feature works end-to-end
  • Test data is realistic
  • Environment is stable
  • Backup demo path ready
  • Talking points prepared

Evidence Collection

Don't just check boxes—collect evidence:

Acceptable Evidence

  • ✅ Screenshot of passing tests
  • ✅ Link to successful CI/CD run
  • ✅ Screen recording of feature working
  • ✅ Query results showing correct data
  • ✅ Logs showing expected behavior

Insufficient Evidence

  • ❌ "I tested it locally" (no proof)
  • ❌ "It worked yesterday" (not now)
  • ❌ "The tests pass" (which tests?)
  • ❌ "I didn't change that" (verify anyway)

Verification Log Template

markdown
## Verification: [Ticket/Feature ID]

### Requirements Review
- [x] Requirement 1: [How verified]
- [x] Requirement 2: [How verified]

### Tests
- Unit tests: [Link to CI run]
- Integration: [Link or screenshot]
- Manual: [Description of what tested]

### Evidence
- [Screenshot/link 1]
- [Screenshot/link 2]

### Notes
- [Any caveats or known limitations]

Verified by: [Name]
Date: [Date]

Common "Almost Done" Traps

TrapReality Check
"Works on my machine"Did you test in CI/staging?
"Just needs review"Did YOU review it first?
"Tests pass"Do tests cover the change?
"Same as before"Did you verify it still works?
"Simple change"Simple changes cause outages
"Just a refactor"Refactors can change behavior

When NOT Done

Stop and address if:

  • Any test is failing (even "unrelated" ones)
  • Any warning you don't understand
  • Any TODO/FIXME you added
  • Any hardcoded value that should be config
  • Any "I'll fix it later" thought

Project-Specific Requirements

[CUSTOMIZE] Add your project's completion criteria:

markdown
## Definition of Done

### Code
- [ ] [Project-specific coding standard]
- [ ] [Required review process]

### Testing
- [ ] [Minimum coverage requirement]
- [ ] [Required test types]

### Documentation
- [ ] [Required documentation updates]

### Process
- [ ] [Required approvals]
- [ ] [Required notifications]