| name | firewatch-guide |
| description | Guides GitHub PR activity workflows using the Firewatch CLI (fw) and MCP server. Use when triaging PRs, responding to review feedback, querying PR activity, or when the user mentions firewatch, PR reviews, PR comments, or review threads. |
| user-invocable | true |
| allowed-tools | Read, Bash(fw *), Bash(gh *), Bash(gt *), Bash(git *), Edit, Write |
Firewatch Guide
Query GitHub PR activity and manage review feedback using the Firewatch CLI (fw) or MCP tools.
Quick Start
fw doctor
fw status --short
fw --summary
fw fb
Core Concepts
Short IDs: Firewatch generates human-friendly short IDs (e.g., @a7f3c) for comments. Use these instead of long GitHub IDs.
JSONL Output: Default output is newline-delimited JSON. Pipe to jq for filtering. Use --no-jsonl for human-readable format.
Auto-sync: Cache refreshes automatically if stale. Use --no-sync to skip or --sync-full to force a full sync.
Triage Workflow
Systematic review to identify what needs attention.
1. Get Overview
fw --summary
fw --summary --no-jsonl
2. Identify Priorities
P0 - Immediate:
fw --mine --type review | jq 'select(.body | contains("changes"))'
fw fb --repo owner/repo
P1 - Today:
fw --summary | jq 'select(.review_states.approved > 0)'
fw --reviews --summary
P2 - This Week:
fw --summary | jq 'select(.last_activity_at < (now - 259200 | todate))'
fw --orphaned
3. Graphite Stack Awareness
fw --summary | jq 'select(.graphite != null)'
fw --summary | jq 'select(.graphite.stack_position > 1) | select(.review_states.changes_requested > 0)'
Address stack issues bottom-up to avoid merge conflicts.
4. Present Findings
Format triage output for the user:
## Needs Immediate Attention
- PR #123: Changes requested by @reviewer (2h ago)
- PR #456: CI failing
## Ready to Merge
- PR #789: Approved, all checks passing
## Review Requests
- PR #101: @author requested your review (1d ago)
Response Workflow
Systematic approach to addressing PR feedback.
1. List Feedback
fw fb
fw fb 123
fw fb 123 --all
2. View Comment Details
fw fb @a7f3c
3. Address and Reply
After fixing code:
fw fb @a7f3c "Fixed in latest commit"
fw fb @a7f3c "Done" --resolve
For clarification only:
fw fb @a7f3c "Good question! I chose X because..."
Acknowledge without action:
fw fb @a7f3c --ack
fw fb 123 --ack
4. Resolve Without Reply
fw fb @a7f3c --resolve
5. Commit and Push
With Graphite:
gt modify -m "Address review feedback"
gt submit --stack
Standard git:
git add -A && git commit -m "Address review feedback" && git push
Comment Categories
| Type | Action |
|---|
| Bug/logic error | Fix code, reply explaining fix |
| Style/preference | Apply if reasonable, or discuss tradeoffs |
| Question | Reply with explanation (no code change) |
| Nitpick | Fix quickly or ack for future |
Response Templates
Code Fixed:
Fixed in [commit]. [Brief explanation].
Clarification:
Good question! [Explanation]. I chose this because [reasoning].
Acknowledged:
Good point, I'll address this in a follow-up PR.
Disagreement:
I considered that, but [reasoning]. Happy to discuss further.
CLI Quick Reference
| Command | Purpose |
|---|
fw | Query activity (auto-syncs if stale) |
fw --summary | Per-PR aggregation |
fw fb | List/view/reply/resolve feedback |
fw fb 123 | Feedback for PR #123 |
fw fb @id "text" | Reply to comment |
fw fb @id --resolve | Resolve thread |
fw pr edit 123 --title "..." | Edit PR fields |
fw status | Auth/cache/repo info |
fw doctor | Diagnose issues |
fw schema entry | Output format schema |
See references/cli.md for complete command documentation.
MCP Tools Quick Reference
| Tool | Purpose |
|---|
fw_query | Query cached activity |
fw_fb | Feedback operations |
fw_pr | PR mutations (edit/rm/review) |
fw_status | Status info |
fw_doctor | Diagnostics |
fw_help | Usage docs |
See references/mcp.md for complete tool documentation.
Common Filters
fw --since 24h
fw --since 7d
fw --type review
fw --type comment
fw --open
fw --draft
fw --open
fw --closed
fw --mine
fw --reviews
fw --no-bots
Checklist
Before marking review complete:
Further Reading