From octo
Triages GitHub issues (octopus label), review-requested PRs, failed CI runs, and post-deploy health. Outputs workflow recommendations and canary alerts; supports --watch/--canary modes.
npx claudepluginhub nyldn/claude-octopus --plugin octo# Sentinel (/octo:sentinel) ## MANDATORY COMPLIANCE โ DO NOT SKIP **When the user invokes `/octo:sentinel`, you MUST execute the structured triage workflow below. You are PROHIBITED from:** - Manually checking GitHub status without running the sentinel pipeline - Skipping the triage scan and just reading `gh` output directly - Deciding there's "nothing to triage" without actually running the checks - Substituting a quick `gh pr list` for the full sentinel workflow **The user chose `/octo:sentinel` for structured, prioritized triage โ not a raw `gh` dump.** --- **Your first output line ...
When the user invokes /octo:sentinel, you MUST execute the structured triage workflow below. You are PROHIBITED from:
gh output directlygh pr list for the full sentinel workflowThe user chose /octo:sentinel for structured, prioritized triage โ not a raw gh dump.
Your first output line MUST be: ๐ Octopus Sentinel
GitHub-aware work monitor that triages issues, PRs, and CI failures. Sentinel observes and recommends workflows but never auto-executes them.
/octo:sentinel # One-time triage scan
/octo:sentinel --watch # Continuous monitoring
/octo:sentinel --canary # Post-deploy canary monitoring
/octo:sentinel --canary URL # Monitor specific URL after deploy
| Source | Filter | Recommended Action |
|---|---|---|
| Issues | octopus label | Classified via task type โ workflow recommendation |
| PRs | Review requested | /octo:ink for code review |
| CI Runs | Failed status | /octo:debug for investigation |
| Deployments | Post-deploy health | Canary alerts โ /octo:debug |
Auto-trigger: Canary runs automatically when:
/octo:deliver phase completes successfully (post-validation health check)--watch mode detects a new deployment via gh api (deployment event)git push to a branch with an active Vercel/Netlify/Railway deploymentNo manual --canary flag needed โ sentinel detects deployments and starts monitoring.
When invoked explicitly with --canary, or auto-triggered, sentinel switches to post-deploy health monitoring:
๐ Sentinel Canary Alert
โ [anomaly type]: [description]
Baseline: [expected] | Current: [observed]
Recommendation: /octo:debug "[anomaly description]"
.octo/sentinel/canary-<timestamp>.mdImplementation: Canary uses the Bash tool with curl for HTTP checks, and optionally the browser MCP (Playwright or Chrome DevTools) for screenshot comparison and console monitoring if available. Falls back to curl-only health checks when no browser tool is configured.
# Canary health check sequence
DEPLOY_URL="${1:-$(gh api repos/:owner/:repo/deployments --jq '.[0].payload.web_url // .[0].environment' 2>/dev/null)}"
# HTTP health
STATUS=$(curl -sf -o /dev/null -w '%{http_code}' "$DEPLOY_URL" 2>/dev/null)
LOAD_TIME=$(curl -sf -o /dev/null -w '%{time_total}' "$DEPLOY_URL" 2>/dev/null)
# Compare against baseline
BASELINE_FILE=".octo/sentinel/canary-baseline.json"
if [[ -f "$BASELINE_FILE" ]]; then
BASELINE_TIME=$(jq -r '.load_time' "$BASELINE_FILE")
# Flag if >50% slower than baseline
if (( $(echo "$LOAD_TIME > $BASELINE_TIME * 1.5" | bc -l 2>/dev/null) )); then
echo "REGRESSION: Load time ${LOAD_TIME}s vs baseline ${BASELINE_TIME}s"
fi
fi
| Variable | Default | Description |
|---|---|---|
OCTOPUS_SENTINEL_ENABLED | false | Must be true to activate |
OCTOPUS_SENTINEL_INTERVAL | 600 | Poll interval for --watch mode (seconds) |
OCTOPUS_CANARY_DURATION | 300 | How long canary monitors (seconds, default 5 min) |
OCTOPUS_CANARY_INTERVAL | 60 | Check interval during canary (seconds) |
Sentinel is triage-only. It:
.octo/sentinel/triage-log.mdgh) must be installed and authenticatedWhen the user invokes /octo:sentinel, you MUST:
OCTOPUS_SENTINEL_ENABLED=true is setgh CLI is availableOCTOPUS_SENTINEL_ENABLED=true bash scripts/orchestrate.sh sentinel $ARGUMENTS
After triage, run the reaction engine to auto-respond to detected events:
# Check all active agents and fire reactions
REACTIONS="${HOME}/.claude-octopus/plugin/scripts/reactions.sh"
if [[ -x "$REACTIONS" ]]; then
"$REACTIONS" check-all
fi
This automatically forwards CI failure logs to agents, forwards review comments, and escalates stuck agents โ without requiring any new user commands.