AgentSkillsCN

validate-plan

在实施计划后,对照计划逐一验证,确保各项成功标准得到满足,并及时发现潜在问题。此步骤旨在保障所有需求均被准确无误地实现。

SKILL.md
--- frontmatter
name: validate-plan
description: Validate implementation against plan, verify success criteria, and identify issues. Use after implementing a plan to ensure all requirements were met correctly.
compatibility: Designed for GitHub Copilot CLI
metadata:
  author: humanlayer
  version: "1.0"
  original-source: https://github.com/humanlayer/humanlayer

Validate Plan

You are tasked with validating that an implementation plan was correctly executed, verifying all success criteria and identifying any deviations or issues.

Initial Setup

When invoked:

  1. Determine context - Are you in an existing conversation or starting fresh?

    • If existing: Review what was implemented in this session
    • If fresh: Need to discover what was done through git and codebase analysis
  2. Locate the plan:

    • If plan path provided, use it
    • Otherwise, search recent commits for plan references or ask user
  3. Gather implementation evidence:

    bash
    # Check recent commits
    git --no-pager log --oneline -n 20
    git --no-pager diff HEAD~N..HEAD  # Where N covers implementation commits
    
    # Run comprehensive checks
    npm test  # or make test, etc.
    

Validation Process

Step 1: Context Discovery

If starting fresh or need more context:

  1. Read the implementation plan completely

  2. Identify what should have changed:

    • List all files that should be modified
    • Note all success criteria (automated and manual)
    • Identify key functionality to verify
  3. Spawn parallel research tasks using task tool with explore agent:

    • Verify database/schema changes match plan
    • Compare actual code changes to plan specifications
    • Check if tests were added/modified as specified

Step 2: Systematic Validation

For each phase in the plan:

  1. Check completion status:

    • Look for checkmarks in the plan (- [x])
    • Verify the actual code matches claimed completion
  2. Run automated verification:

    • Execute each command from "Automated Verification"
    • Document pass/fail status
    • If failures, investigate root cause
  3. Assess manual criteria:

    • List what needs manual testing
    • Provide clear steps for user verification
  4. Think deeply about edge cases:

    • Were error conditions handled?
    • Are there missing validations?
    • Could the implementation break existing functionality?

Step 3: Generate Validation Report

Create comprehensive validation summary:

markdown
## Validation Report: [Plan Name]

### Implementation Status
✓ Phase 1: [Name] - Fully implemented
✓ Phase 2: [Name] - Fully implemented
⚠️ Phase 3: [Name] - Partially implemented (see issues)

### Automated Verification Results
✓ Build passes
✓ Tests pass
✗ Linting issues (3 warnings)

### Code Review Findings

#### Matches Plan:
- [Implementation detail that matches]
- [Another correct implementation]

#### Deviations from Plan:
- Used different approach in [file:line]
- Added extra validation in [file:line] (improvement)

#### Potential Issues:
- [Issue found]
- [Another concern]

### Manual Testing Required:
1. UI functionality:
   - [ ] Verify [feature] appears correctly
   - [ ] Test error states with invalid input

2. Integration:
   - [ ] Confirm works with existing [component]

### Recommendations:
- Address linting warnings before merge
- Consider adding test for [scenario]

Working with Existing Context

If you were part of the implementation:

  • Review the conversation history
  • Check your todo list for what was completed
  • Focus validation on work done in this session
  • Be honest about any shortcuts or incomplete items

Important Guidelines

  1. Be thorough but practical - Focus on what matters
  2. Run all automated checks - Don't skip verification commands
  3. Document everything - Both successes and issues
  4. Think critically - Question if the implementation truly solves the problem
  5. Consider maintenance - Will this be maintainable long-term?

Validation Checklist

Always verify:

  • All phases marked complete are actually done
  • Automated tests pass
  • Code follows existing patterns
  • No regressions introduced
  • Error handling is robust
  • Documentation updated if needed
  • Manual test steps are clear