| name | ci-verify |
| description | Verify the Crude Intentions app is working correctly after code changes. Checks API routes, webhook pipeline, dashboard render, and kill switch state. Use after any code change before deploying. |
| context | fork |
CI Verify
Product verification skill for Crude Intentions. Run after any code change.
Verification Checklist
1. Build Check
npm run build 2>&1 | tail -20
PASS: exits 0, no errors
FAIL: any TypeScript or build error → do not deploy
2. Lint Check
npm run lint 2>&1 | tail -10
PASS: exits 0, no errors (warnings OK)
FAIL: lint errors → fix before deploy
3. API Route Check
Start dev server in background and test key routes:
npm run dev &
sleep 5
curl -s http://localhost:3000/api/health 2>/dev/null | python3 -c "import sys,json; d=json.load(sys.stdin); print('HEALTH:', d)" || echo "Health route unavailable"
kill %1 2>/dev/null
4. Rules File Integrity
python3 -c "
import json
with open('src/data/rules.json') as f:
rules = json.load(f)
checklist = rules.get('aplus_checklist', {})
min_score = checklist.get('minimum_to_trade', 0)
ovx_halt = rules.get('indicators', {}).get('ovx_regime', {}).get('fail_above', 0)
print(f'Min score: {min_score} (expected 9)')
print(f'OVX halt: {ovx_halt} (expected 50)')
assert min_score == 9, 'FAIL: minimum score changed'
assert ovx_halt == 50, 'FAIL: OVX threshold changed'
print('Rules integrity: PASS')
"
5. Kill Switch State
python3 -c "
import json, os
if os.path.exists('data/kill_switch_state.json'):
with open('data/kill_switch_state.json') as f:
state = json.load(f)
print('Kill switch state:', json.dumps(state, indent=2))
else:
print('Kill switch state: not initialized (OK for fresh setup)')
"
Output
Report pass/fail for each check. If any FAIL, do not proceed with deploy.
List specific errors for anything that failed.
Gotchas
npm run build can take 30-60 seconds — wait for it
- Dev server needs 5 seconds to start before curl tests
- rules.json is at src/data/rules.json (not repo root)
- Schema uses aplus_checklist.minimum_to_trade and indicators.ovx_regime.fail_above
- rules.json integrity check is non-negotiable — alert immediately if values differ from expected