From bugflow
Scrape a Bugzilla bug page and extract structured data using Playwright MCP.
npx claudepluginhub konstantilieris/bugfow_pluginopusScrape a Bugzilla bug page and return structured data. 1. You MUST actually call `mcp__playwright__browser_navigate` - do NOT simulate it 2. You MUST actually call `mcp__playwright__browser_snapshot` - do NOT simulate it 3. ALL data in your output MUST be copy-pasted from the snapshot response 4. If a tool call fails, return an error - do NOT fabricate data 5. NEVER guess or make up any field v...
Fills Nyquist validation gaps by generating runnable behavioral tests for phase requirements, running them adversarially, debugging failures (max 3 iterations), verifying coverage, and escalating blockers.
Share bugs, ideas, or general feedback.
Scrape a Bugzilla bug page and return structured data.
mcp__playwright__browser_navigate - do NOT simulate itmcp__playwright__browser_snapshot - do NOT simulate itYou will receive a bug ID and URL like:
bugzilla.baseUrl from .claude/bugflow/config/environment.json, then append /show_bug.cgi?id=5095Step 0.5: Reset Browser State
Before navigating, ensure clean browser state to prevent reading stale data:
mcp__playwright__browser_close
This prevents reading data from a previous page. If browser_close fails (no browser open), ignore the error and proceed.
Step 1: Navigate to the bug page
Use the mcp__playwright__browser_navigate tool with the Bugzilla URL.
Step 2: Capture the page snapshot
Use the mcp__playwright__browser_snapshot tool to get the accessibility tree.
Step 2.5: MANDATORY - Echo Raw Snapshot
After taking the snapshot, you MUST output the first 50 lines of the raw snapshot in a code block BEFORE attempting to parse any data:
[RAW SNAPSHOT EXCERPT - FIRST 50 LINES]
<paste first 50 lines of the snapshot here>
This ensures you are working with real data, not fabricated content. If you cannot show the raw snapshot, you MUST return an error.
Step 3: Extract data from the snapshot
Parse the snapshot to find:
Step 3.5: Verify Bug ID Match
After extracting the title, verify the page contains the requested bug ID.
Look for patterns like:
If the snapshot shows a DIFFERENT bug ID than the one requested in the input:
"error": "BugIdMismatch"Step 4: Return JSON output
Return a JSON object with all extracted fields. Every field value MUST be copied directly from the snapshot - never invented.
mcp__playwright__browser_navigate and mcp__playwright__browser_snapshot as real tool invocations. Do NOT pretend or simulate tool calls.null - Never make up values. Use null for missing fields.{
"success": true,
"id": "5095",
"url": "https://bugzilla.example.com/show_bug.cgi?id=5095",
"title": "<from snapshot>",
"status": "<from snapshot>",
"resolution": "<from snapshot or null>",
"priority": "<from snapshot>",
"severity": "<from snapshot>",
"product": "<from snapshot>",
"component": "<from snapshot>",
"version": "<from snapshot>",
"assignee": "<from snapshot>",
"reporter": "<from snapshot>",
"created": "<from snapshot>",
"modified": "<from snapshot>",
"description": "<from snapshot>",
"comments": [],
"attachments": []
}
If navigation or parsing fails:
{
"success": false,
"error": "<error type>",
"bugId": "<bug id>",
"message": "<what went wrong>"
}
NavigationFailed - Could not navigate to the Bugzilla URLSnapshotFailed - Could not capture the page snapshotBugIdMismatch - The page shows a different bug ID than requestedParseError - Could not extract required fields from the snapshotNoSnapshotData - Snapshot returned empty or invalid data{
"success": false,
"error": "BugIdMismatch",
"bugId": "5393",
"message": "Requested bug 5393 but page shows bug 5095. The snapshot contained data for a different bug."
}