agentsclimarketplace

Canary

Skill manastalukdar/ai-devstudio/skills/canary

Professional development studio for Claude Code CLI

Install
npx -y skills add manastalukdar/ai-devstudio --skill canary

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Monitor a deployment for errors and regressions after shipping — polls logs, error rates, and key endpoints in a configurable loop until the deployment is confirmed healthy or a problem is detected.

SKILL.md

4.2 KB, as published. Nobody here has run it

Canary

I'll watch your deployment after it goes live, polling for errors and regressions until health is confirmed or a problem surfaces. Inspired by gstack's canary skill.

Token Optimization

Expected range: 200–600 tokens per poll cycle, 50 tokens (healthy exit)

Patterns used: Bash for all checks, early exit (all green on first check), progressive disclosure (status line per cycle → details only on failure)

Early exit: If all checks pass on the first cycle, report "Deployment healthy — all checks green" and stop.

Step 1 — Identify What to Monitor

Infer from the project or accept explicit arguments:

# Check for common deployment indicators
ls -la .env .env.production docker-compose.yml Procfile 2>/dev/null

# Check for health endpoint conventions
grep -r "health\|ping\|status" --include="*.json" --include="*.yaml" -l 2>/dev/null | head -5

# Check for error log locations
ls -la logs/ /var/log/app.log 2>/dev/null

If no targets are auto-detected, ask:

  • What URL or endpoint should I poll?
  • Where are the application logs?
  • What error patterns should I watch for?

Step 2 — Configure the Watch Loop

Defaults (override via arguments):

  • Poll interval: 30 seconds
  • Max duration: 10 minutes
  • Error threshold: 2 consecutive failures = alert
  • Success threshold: 3 consecutive passes = declare healthy
# Example: /canary --url https://api.example.com/health --interval 30 --duration 10m

Step 3 — Poll Loop

Each cycle runs these checks in order. Stop looping on first FAIL or when success threshold is reached.

Check A — HTTP Health Endpoint

# Poll the health/status endpoint
status=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 "$HEALTH_URL" 2>/dev/null)
echo "HTTP $status — $(date '+%H:%M:%S')"

Pass: 200–299
Warn: 3xx or slow response (>2s)
Fail: 4xx, 5xx, timeout

Check B — Error Log Scan

# Scan for new errors since last cycle
tail -n 50 "$LOG_FILE" 2>/dev/null | grep -iE "error|exception|fatal|panic|crash" | tail -5

Pass: No new errors
Warn: Errors matching known non-critical patterns
Fail: New unrecognized error or stack trace

Check C — Key Endpoint Smoke Test

# Hit one or two critical endpoints beyond the health check
for endpoint in "${CRITICAL_ENDPOINTS[@]}"; do
    code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 "$endpoint")
    echo "  $endpoint → $code"
done

Check D — Error Rate (if metrics available)

# If a metrics endpoint is available (Prometheus, Datadog, etc.)
# Check error rate is below threshold

Step 4 — Report Each Cycle

Canary — cycle 3/20 — 14:32:05

  ✓ Health endpoint    200 (142ms)
  ✓ Error log          0 new errors
  ✓ /api/users         200
  ✓ /api/health        200

Status: WATCHING (3 consecutive passes — need 3 to declare healthy)

Step 5 — Terminal States

HEALTHY: Three consecutive all-pass cycles:

Canary — HEALTHY after 4 minutes

All checks passed 3× in a row. Deployment is confirmed healthy.

ALERT: Two consecutive failures on any check:

Canary — ALERT — cycle 6

  ✗ Health endpoint    503 (timeout)
  ✓ Error log          0 new errors

Action required: health endpoint is returning 503. Check logs and consider rollback.
Suggest: /deployment-rollback

TIMEOUT: Max duration reached without declaring healthy:

Canary — INCONCLUSIVE after 10 minutes

No failures detected, but success threshold not reached.
Recommend: extend monitoring or check manually.

Edge Cases

  • No health endpoint: Fall back to checking error logs only; note the limitation
  • Flaky endpoint (intermittent 5xx): Apply jitter to poll interval; require 2 consecutive failures to alert
  • No log access: Skip log check; note it was skipped
  • CI environment: Disable interactive output; write results to .claude/canary-results.json

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.