.claude/skills/deploy-check/SKILL.md
Pre-deployment validation. Verifies files exist, no broken references, build succeeds, and critical paths work before marking ticket deployed.
npx skillsauth add astro44/Autonom8-Agents deploy-checkInstall 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.
Final validation before marking a ticket as deployed. Ensures all files exist, references are valid, and the build succeeds.
{
"project_dir": "/path/to/project",
"ticket_id": "TICKET-XXX",
"ticket_path": "/path/to/ticket.json",
"checks": ["files_exist", "imports_valid", "build", "smoke_test"]
}
# For each file in ticket.files_created
for file in $(jq -r '.files_created[].path' "$ticket_path"); do
if [[ ! -f "$project_dir/$file" ]]; then
echo "MISSING: $file"
fi
done
# Check all imports in created files resolve
for file in $(jq -r '.files_created[].path' "$ticket_path" | grep -E '\.(js|ts)$'); do
# Extract imports and verify targets exist
grep -E "^import .* from ['\"]" "$project_dir/$file"
done
# Detect build system and run
if [[ -f "package.json" ]]; then
npm run build 2>&1
elif [[ -f "Makefile" ]]; then
make build 2>&1
elif [[ -f "go.mod" ]]; then
go build ./... 2>&1
fi
# Start server and test critical endpoints
python3 -m http.server 8080 &
SERVER_PID=$!
sleep 2
# Test main page loads
curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/
# Cleanup
kill $SERVER_PID
{
"skill": "deploy-check",
"status": "ready|blocked|failed",
"ticket_id": "TICKET-OXY-003",
"checks": {
"files_exist": {
"passed": true,
"expected": 5,
"found": 5,
"missing": []
},
"imports_valid": {
"passed": true,
"checked": 12,
"broken": []
},
"build": {
"passed": true,
"duration_ms": 3200,
"warnings": 2,
"errors": 0
},
"smoke_test": {
"passed": true,
"endpoints_tested": 3,
"all_200": true
}
},
"errors": [],
"warnings": ["Build produced 2 warnings"],
"next_action": "deploy|fix"
}
| Check | What it Validates | Blocking |
|-------|-------------------|----------|
| files_exist | All files_created are on disk | YES |
| imports_valid | No broken import statements | YES |
| build | Build completes without errors | YES |
| smoke_test | Server starts, pages load | YES |
| lint_clean | No lint errors (optional) | NO |
| tests_pass | Unit tests pass (optional) | NO |
Any files missing?
YES → status: "blocked", next_action: "fix"
Any broken imports?
YES → status: "blocked", next_action: "fix"
Build failed?
YES → status: "failed", next_action: "fix"
Smoke test failed?
YES → status: "failed", next_action: "fix"
All checks pass?
YES → status: "ready", next_action: "deploy"
Full pre-deployment check:
{
"project_dir": "/projects/oxygen_site",
"ticket_id": "TICKET-OXY-003",
"ticket_path": "/projects/oxygen_site/tickets/sprint_current/testing/TICKET-OXY-003.json",
"checks": ["files_exist", "imports_valid", "build", "smoke_test"]
}
Quick file check only:
{
"project_dir": "/projects/oxygen_site",
"ticket_id": "TICKET-OXY-003",
"ticket_path": "/projects/oxygen_site/tickets/sprint_current/testing/TICKET-OXY-003.json",
"checks": ["files_exist"]
}
Build verification:
{
"project_dir": "/projects/api-service",
"ticket_id": "TICKET-API-001",
"ticket_path": "/projects/api-service/tickets/testing/TICKET-API-001.json",
"checks": ["files_exist", "build"]
}
development
Scores proposal complexity against codebase surface. Uses proposal text analysis and readiness stats to determine decomposition tier and agent count.
testing
Fast filesystem readiness scan — counts docs, source files, manifests, platform signals. Produces initial ReadinessReport for agent spawning decisions.
testing
Merges bookend agent reports into revised readiness, complexity, and decomposition plan. Produces the final evidence-backed assessment consumed by sprint-architect-agent.
development
Rigorously reasons about definitions, proofs, and computations in algebra, analysis, discrete math, probability, linear algebra, and applied math. Verifies derivations, spots invalid steps, and states assumptions clearly. Use when solving or proving math problems, reviewing mathematical arguments, modeling with equations, interpreting statistics, or when the user mentions proofs, lemmas, theorems, integrals, series, matrices, optimization, or numerical methods.