Feedback Workflow
Work on a feedback item from the queue.
Usage
- •
/fb- Auto-select and claim the best feedback item - •
/fb <id>- Claim and work on a specific feedback item
Arguments
$ARGUMENTS - Optional feedback ID (first 8+ characters)
Instructions
If no argument provided:
STEP 1: Check for in-progress items
Run this command to check if there are any in-progress items:
node scripts/fetch-feedback.js mine
If items are found:
- •
Fetch full details for EACH in-progress item - the
minelist is truncated, so you MUST run:bashnode scripts/fetch-feedback.js <id>
for each item to show the user the complete title, description, module/tab, and any images.
- •
Display the full details so the user can actually understand what each item is.
- •
Then ask: "This item is in-progress from another session (claim token
[xxxxxxxx]). Want me to continue working on it, or skip to unclaimed items?"
IMPORTANT: The claim token identifies which session owns the claim. If another agent is actively working on it in a different terminal, they should finish. But often in-progress items are from dead/disconnected sessions.
If user says continue:
- •First try:
node scripts/fetch-feedback.js claim <id> - •If claim succeeds -> proceed with work
- •If claim fails with "active work in progress" -> the claim is still fresh (<45 min activity)
- •DO NOT bypass the protection - this would steal another agent's active work
- •Tell the user the options:
a. "Wait for the claim to become stale (45 min inactivity)"
b. "Submit a claim request:
request-claim <id> 'reason'(starts 15-min countdown)" c. "Emergency takeover:unclaim <id> --emergency 'reason'(audited, requires justification)" - •Only the USER can decide to force or use emergency - never do it automatically
If user says skip: Proceed to STEP 2 and pick from unclaimed items only.
If no in-progress items found: Proceed directly to STEP 2.
STEP 2: Auto-select a new item
Run node scripts/fetch-feedback.js list to show the feedback queue.
Auto-delete obvious test submissions: Before selecting, scan the unclaimed list for items that are clearly just testing the feedback system (e.g., "This is a test", "Testing again", "asdfgh", single words like "test"). Delete these immediately without asking:
node scripts/fetch-feedback.js delete <id>
Do NOT delete items that might be real feedback with poor titles - only delete when 99%+ confident it's just a test.
Auto-select the best item using this priority:
- •ONLY select from "new" (unclaimed) items - never select in-progress items for auto-selection
- •Bugs first - bugs affect current users, features can wait
- •Higher priority - high > medium > low > unset
- •Skip incomplete metadata - avoid items with
--titleor--descriptionplaceholders
STOP OVERTHINKING. JUST PICK ONE.
- •Look at the list ONCE
- •Pick the FIRST item that isn't obviously broken metadata
- •If there are no bugs, pick the first feature
- •"Too complex for one session" is NOT a reason to skip - you have plenty of tokens
- •Large features are fine - break them into subtasks and make progress
- •Do NOT check 2+ items before deciding
- •Do NOT reject items for being "ambitious"
The goal is PROGRESS, not finding the "perfect" item.
After selecting, announce your choice with a 1-sentence rationale, then immediately claim it:
node scripts/fetch-feedback.js claim <id>
This atomically claims the item with a unique token, preventing race conditions with other agents.
If argument provided (feedback ID):
- •
Claim the feedback:
bashnode scripts/fetch-feedback.js claim $ARGUMENTS
This atomically claims the item with a unique token, preventing other agents from picking it up.
- •
Display the feedback with all details:
- •Title and ID
- •Type (bug/feature/enhancement) and Priority
- •Who submitted it and when
- •Module/Tab it affects
- •The full description - word for word
- •Any existing notes or subtasks
- •
If feedback has images attached:
- •Read each image with the Read tool (so Claude can analyze it)
- •ALSO open each image for the user so they see what you see:
bash
powershell -Command "Invoke-Item '<absolute-path-to-image>'"
- •This ensures both Claude and the user are looking at the same thing
- •
Assess complexity using model triage:
- •TRIVIAL (Haiku): Literal string swaps, single-line changes where solution is already known
- •MEDIUM (Sonnet): CSS fixes, single-file changes, clear bugs with repro steps
- •COMPLEX (Opus): Multi-module coordination, ambiguous requirements, 4+ files
- •
Announce triage decision:
code**Complexity Assessment:** [TRIVIAL / MEDIUM / COMPLEX] **Model Routing:** [Delegating to Haiku / Delegating to Sonnet / Handling as Opus] **Reasoning:** [Brief explanation]
- •
Ask for confirmation before proceeding with implementation.
- •
After user approves, rename the conversation to reflect the feedback item:
code/rename FB: [short descriptive title]
Use the feedback title if it's concise, or write a 2-4 word summary of what you're fixing/implementing.
After implementing:
- •Move to review:
node scripts/fetch-feedback.js <id> in-review "Brief admin notes" - •Summarize what changed
- •Give clear testing steps
- •Describe expected behavior