Verification and drift detection for executing-plans
View on GitHubskills/executing-plans-review/SKILL.md
February 3, 2026
Select agents to install to:
npx add-skill https://github.com/ben-mad-jlp/claude-mermaid-collab/blob/main/skills/executing-plans-review/SKILL.md -a claude-code --skill executing-plans-reviewInstallation paths:
.claude/skills/executing-plans-review/# Verification and Review Phase Details
This document contains detailed verification and drift detection logic for the executing-plans skill.
## Step 2.5: Per-Task Verification (Collab Workflow)
When within a collab workflow, run verification after each task completes:
**Verification Steps:**
1. After task completion, trigger `verify-phase` hook (if available)
2. Compare task output against design doc specification
3. Check for drift:
- Are implemented interfaces matching design?
- Any undocumented additions?
- Missing components?
**On Verification Success:**
- Mark task as verified
- Update `collab-state.json`: move task from `pendingTasks` to `completedTasks`
- Update `lastActivity` timestamp
- Unlock dependent tasks
- Proceed to next ready tasks
```javascript
FUNCTION markTaskComplete(taskId):
session = current session name
// 1. Read current state
Tool: mcp__plugin_mermaid-collab_mermaid__get_session_state
Args: { "project": "<cwd>", "session": session }
Returns: state = { "completedTasks": [...], "pendingTasks": [...], ... }
// 2. Move task from pending to completed
newCompleted = [...state.completedTasks, taskId]
newPending = state.pendingTasks.filter(t => t !== taskId)
// 3. Update session state via MCP (updates progress bar)
Tool: mcp__plugin_mermaid-collab_mermaid__update_session_state
Args: {
"project": "<cwd>",
"session": session,
"completedTasks": newCompleted,
"pendingTasks": newPending
}
// 4. Update task execution diagram (visual progress)
// Change from executing (blue) to completed (green)
Tool: mcp__plugin_mermaid-collab_mermaid__patch_diagram
Args: {
"project": "<cwd>",
"session": session,
"id": "task-execution",
"old_string": "style {taskId} fill:#bbdefb,stroke:#1976d2,stroke-width:3px", // executing
"new_string": "style {taskId} fill:#c8e6c9,stroke:#2e7d32" // completed
}
// If patch fails (task wasn't marked executing), try from waitin