QA List Generator
Generate a complete QA tracking document from Google Sheets with properly linked local images.
The Job
This skill orchestrates the QA list generation workflow:
- •Check for saved configuration in
source.json - •Collect inputs if needed (first time only, or if user wants to update)
- •Save configuration to
source.jsonfor future use - •Extract QA items from Google Sheets (Open/Reopen status only)
- •Replace Drive links with local image paths
- •Deliver qa-list-automated.md with all images properly linked
Step 0: Check for Saved Configuration (ALWAYS DO THIS FIRST)
Before asking the user for any inputs, ALWAYS check if source.json exists in the current working directory.
Use the Read tool to check for source.json:
{
"googleSheetsLink": "https://docs.google.com/spreadsheets/d/xxxxx/edit",
"googleDriveLink": "https://drive.google.com/drive/folders/xxxxx",
"localImagePath": "@Images/"
}
If source.json EXISTS:
- •Read the saved configuration
- •Show the user what's saved:
code
Found saved configuration (source.json): - Google Sheets: [saved link] - Google Drive: [saved link] - Local Path: [saved path] Proceeding with saved configuration... (Say "update sources" if you want to change these)
- •Proceed directly to Step 2 (extraction)
If source.json DOES NOT EXIST:
- •Inform the user this is first-time setup
- •Proceed to Step 1 to collect all required inputs
- •Save the configuration to
source.jsonbefore proceeding
If user says "update sources" or wants to change configuration:
- •Ask which input(s) they want to update, or collect all three again
- •Update
source.jsonwith new values - •Proceed with updated configuration
Step 1: Collect Required Inputs (First Time Only)
Only do this if source.json doesn't exist or user wants to update.
You MUST collect ALL THREE inputs before proceeding:
- •Google Sheets Link - Contains the QA/bug tracking data
- •Google Drive Link - Contains the image/video files referenced in the sheet
- •Local Image Path - The local directory where images are stored (must match Google Drive files)
Collecting Required Inputs
This is your first time using the QA List Generator. I need to save your sources. Please provide: 1. **Google Sheets Link** - Your QA tracking spreadsheet Example: https://docs.google.com/spreadsheets/d/xxxxx/edit 2. **Google Drive Link** - The folder containing your screenshots/videos Example: https://drive.google.com/drive/folders/xxxxx 3. **Local Image Path** - Where your images are stored locally Examples: @Images/, ./assets/images/, /path/to/images/ These will be saved to source.json so you won't need to enter them again.
Keep asking until ALL inputs are provided. Do not proceed with partial information.
Save Configuration to source.json
Once all three inputs are collected, IMMEDIATELY save them to source.json:
{
"googleSheetsLink": "[user's sheets link]",
"googleDriveLink": "[user's drive link]",
"localImagePath": "[user's local path]"
}
Step 2: Extract QA Items from Google Sheets
Use Google Drive MCP to access the spreadsheet:
- •Extract the spreadsheet ID from the URL
- •Read all rows from the sheet
- •Filter for Status = 'Open' or 'Reopen' only (case-insensitive)
- •Extract columns: ID, Area, Status, Priority, Image/Video, Explanation
Column Mapping (flexible with variations):
- •ID: 'ID', 'Bug ID', 'Issue ID', 'Ticket', '#'
- •Area: 'Area', 'Module', 'Section', 'Component', 'Feature'
- •Status: 'Status', 'State', 'Current Status'
- •Priority: 'Priority', 'Severity', 'Level', 'P'
- •Image/Video: 'Image', 'Video', 'Screenshot', 'Attachment', 'Media'
- •Explanation: 'Explanation', 'Description', 'Details', 'Notes', 'Summary'
Step 3: Replace Google Drive Links with Local Paths
For each image/video link in the table:
- •Use Google Drive MCP to list files in the Drive folder
- •Match Drive links to actual filenames
- •Replace with local path using the saved/provided directory
Example transformation:
- •From:
https://drive.google.com/file/d/xxxxx - •To:
/Images/screenshot-001.png
Preserve exact filenames including Korean characters, spaces, and special characters.
Step 4: Write qa-list-automated.md
Create the file with this format:
# QA List - Open & Reopen Items Last Updated: [current date/time] Total Items: [X] (Open: [Y], Reopen: [Z]) | ID | Area | Status | Priority | Image / Video | Explanation | Done | | :---: | :---: | :---: | :---: | :---: | :--- | :---: | | [data] | [data] | [data] | [data] | [path] | [data] | [ ] |
Table Formatting Rules:
- •All columns except "Explanation" should be center-aligned (
:---:) - •"Explanation" column should be left-aligned (
:---) - •"Done" column contains
[ ](unchecked) for all items by default
Step 5: Report Results
After completion, provide a summary:
QA List Generated Successfully! File: qa-list-automated.md Total Items: [X] (Open: [Y], Reopen: [Z]) Images Linked: [N] files matched Sources used (saved in source.json): - Sheets: [link] - Drive: [link] - Local Path: [path] The file is ready for use. All Google Drive links have been replaced with local image references.
Output Format
QA List Generated: {count} Items
Summary: Extracted {count} QA items with Open/Reopen status from Google Sheets
Statistics
| Metric | Value |
|---|---|
| Total Items | {total} |
| Open | {open_count} |
| Reopen | {reopen_count} |
| Images Linked | {image_count} |
Configuration
- •Sheets: {sheets_link}
- •Drive: {drive_link}
- •Local: {local_path}
Actionable Items
- • Review qa-list-automated.md for accuracy
- • Run /pl:qa-plan to create developer tasks
Notes
- •Configuration saved to source.json for future use
- •Use "update sources" to change configuration