.claude/skills/verify/SKILL.md
Verify completed implementation against the plan. Checks that all tasks were fully implemented, nothing was forgotten, code compiles, tests pass, and quality standards are met. Use after "/ai-factory.implement" completes, or when user says "verify", "check work", "did we miss anything".
npx skillsauth add YaroslavKomarov/ShedulerBot ai-factory.verifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Verify that the completed implementation matches the plan, nothing was missed, and the code is production-ready.
This skill is optional — invoked after /ai-factory.implement finishes all tasks, or manually at any time.
Same logic as /ai-factory.implement:
1. .ai-factory/PLAN.md exists? → Use it
2. No PLAN.md → Check current git branch:
git branch --show-current
→ Look for .ai-factory/features/<branch-name>.md
If no plan file found:
AskUserQuestion: No plan file found. What should I verify?
Options:
1. Verify last commit — Check the most recent commit for completeness
2. Verify branch diff — Compare current branch against main
3. Cancel
TaskList → get all tasks and their statuses.ai-factory/DESCRIPTION.md for project context (tech stack, conventions)# All files changed during this feature/plan
git diff --name-only main...HEAD
# Or if on main, check recent commits
git diff --name-only HEAD~$(number_of_tasks)..HEAD
Store as CHANGED_FILES.
Go through every task in the plan and verify it was actually implemented.
For each task:
TaskGet(taskId) → Get full description, requirements, acceptance criteria
For each requirement in the task description:
Glob and Grep to find the code that implements itFor each task, produce a verification result:
✅ Task #1: Create user model — COMPLETE
- User model created at src/models/user.ts
- All fields present (id, email, name, createdAt, updatedAt)
- Validation decorators added
⚠️ Task #3: Add password reset endpoint — PARTIAL
- Endpoint created at src/api/auth/reset.ts
- MISSING: Email sending logic (task mentioned SendGrid integration)
- MISSING: Token expiration check
❌ Task #5: Add rate limiting — NOT FOUND
- No rate limiting middleware detected
- No rate-limit related packages in dependencies
Statuses:
✅ COMPLETE — all requirements verified in code⚠️ PARTIAL — some requirements implemented, some missing❌ NOT FOUND — implementation not detected⏭️ SKIPPED — task was intentionally skipped by user during implementDetect the build system and verify the project compiles:
| Detection | Command |
|-----------|---------|
| go.mod | go build ./... |
| tsconfig.json | npx tsc --noEmit |
| package.json with build script | npm run build (or pnpm/yarn/bun) |
| pyproject.toml | python -m py_compile on changed files |
| Cargo.toml | cargo check |
| composer.json | composer validate |
If build fails → report errors with file:line references.
If the project has tests and they were part of the plan:
| Detection | Command |
|-----------|---------|
| jest.config.* or vitest | npm test |
| pytest | pytest |
| go test | go test ./... |
| phpunit.xml* | ./vendor/bin/phpunit |
| Cargo.toml | cargo test |
If tests fail → report which tests failed and whether they relate to the implemented tasks.
If no tests exist or testing was explicitly skipped in the plan → note it but don't fail.
If linters are configured:
| Detection | Command |
|-----------|---------|
| eslint.config.* / .eslintrc* | npx eslint [changed files] |
| .golangci.yml | golangci-lint run ./... |
| ruff in pyproject.toml | ruff check [changed files] |
| .php-cs-fixer* | ./vendor/bin/php-cs-fixer fix --dry-run --diff |
Only lint the changed files to keep output focused.
package.json, go.mod, requirements.txt, composer.json)Check for discrepancies between what the plan says and what was built:
Search for things that should have been cleaned up:
Grep in CHANGED_FILES: TODO|FIXME|HACK|XXX|TEMP|PLACEHOLDER|console\.log\(.*debug|print\(.*debug
Report any found — they might be intentional, but flag them.
Check if the implementation introduced any new config requirements:
Grep in CHANGED_FILES: process\.env\.|os\.Getenv\(|os\.environ|env\(|getenv\(|config\(
Cross-reference with .env.example, .env.local, README, or docs to ensure they're documented.
Check if .ai-factory/DESCRIPTION.md reflects the current state:
## Verification Report
### Task Completion: 7/8 (87%)
| # | Task | Status | Notes |
|---|------|--------|-------|
| 1 | Create user model | ✅ Complete | |
| 2 | Add registration endpoint | ✅ Complete | |
| 3 | Add password reset | ⚠️ Partial | Missing: email sending |
| 4 | Add JWT auth middleware | ✅ Complete | |
| 5 | Add rate limiting | ✅ Complete | |
| 6 | Add input validation | ✅ Complete | |
| 7 | Add error handling | ✅ Complete | |
| 8 | Update API docs | ❌ Not found | No changes in docs/ |
### Code Quality
- Build: ✅ Passes
- Tests: ✅ 42 passed, 0 failed
- Lint: ⚠️ 2 warnings in src/api/auth/reset.ts
### Issues Found
1. **Task #3 incomplete** — Password reset endpoint created but email sending not implemented (SendGrid integration missing)
2. **Task #8 not done** — API documentation not updated despite plan requirement
3. **2 TODOs found** — src/services/auth.ts:45, src/middleware/rate-limit.ts:12
4. **New env var undocumented** — `SENDGRID_API_KEY` referenced but not in .env.example
### No Issues
- All imports resolved
- No unused dependencies
- DESCRIPTION.md up to date
- No leftover debug logs
If issues were found:
AskUserQuestion: Verification found issues. What should we do?
Options:
1. Fix now — Address all issues immediately
2. Fix critical only — Fix incomplete tasks, skip warnings
3. Accept as-is — Mark everything as done, move on
If "Fix now" or "Fix critical only":
/ai-factory.implement).env.example and docsIf "Accept as-is":
After verification is complete (all green or issues accepted), suggest optional next steps:
## Verification Complete
All tasks verified. Suggested next steps:
1. 🔒 /ai-factory.security-checklist — Run security audit on the new code
2. 👀 /ai-factory.review — Code review of the implementation
3. 💾 /ai-factory.commit — Commit the changes
Which would you like to run? (or skip all)
AskUserQuestion: Run additional checks?
Options:
1. Security check — Run /ai-factory.security-checklist on changed files
2. Code review — Run /ai-factory.review on the implementation
3. Both — Run security check, then code review
4. Skip — Proceed to commit
If security check selected → suggest invoking /ai-factory.security-checklist
If code review selected → suggest invoking /ai-factory.review
If both → suggest security first, then review
If skip → suggest /ai-factory.commit
Context is heavy after verification. All results are saved — suggest freeing space:
AskUserQuestion: Free up context before continuing?
Options:
1. /clear — Full reset (recommended)
2. /compact — Compress history
3. Continue as is
When invoked with --strict:
/ai-factory.verify --strict
Strict mode is recommended before merging to main or creating a pull request.
/ai-factory.verify
/ai-factory.verify --strict
/ai-factory.verify
→ No plan found → verify branch diff against main
data-ai
Create a step-by-step implementation plan for a feature or task. Breaks down work into actionable tasks tracked via the task system. Use when user says "plan", "create tasks", "break down", or "make a plan for".
tools
# Supabase TypeScript Patterns Patterns for using Supabase with TypeScript in this project. Uses **service role key** (server-side only). Tables are prefixed `sch_`. ## Client Setup ```typescript // src/db/client.ts import { createClient } from "@supabase/supabase-js"; import type { Database } from "./types"; // generated types export const supabase = createClient<Database>( process.env.SUPABASE_URL!, process.env.SUPABASE_SERVICE_ROLE_KEY!, // server-side only, bypasses RLS { auth:
development
Generate professional Agent Skills for Claude Code and other AI agents. Creates complete skill packages with SKILL.md, references, scripts, and templates. Use when creating new skills, generating custom slash commands, or building reusable AI capabilities. Validates against Agent Skills specification.
testing
Security audit checklist based on OWASP Top 10 and best practices. Covers authentication, injection, XSS, CSRF, secrets management, and more. Use when reviewing security, before deploy, asking "is this secure", "security check", "vulnerability".