qa-iteration
Scannednpx machina-cli add skill blisspixel/primr/qa-iteration --openclawQA Iteration
Primr grades reports on a 0-100 scale across four dimensions. See references/scoring.md for the scoring framework and common issues.
Operational Capabilities
Run Quality Assessment
run_qa(company="Acme Corp")
run_qa(file_path="output/acme_corp/report.docx")
run_qa(company="Acme Corp", detailed=True)
Interpret Results
The result includes an overall score, per-dimension scores (clarity, completeness, insight depth, accuracy), and per-section feedback with specific issues.
Section Refinement
For sections scoring below 70:
- Identify specific issues from feedback
- Determine if additional research is needed
- Either request targeted deep research or suggest manual edits
Refinement Workflow
Automatic (via QAGateHook): Runs after report generation. If score < 70, logs a warning and includes feedback in the result. User decides on action.
Manual (user-triggered):
- User requests QA:
run_qa(company) - Review scores and feedback
- For low-scoring sections, identify root cause and suggest approach
- Execute refinement if approved
Section Priorities
When refining, address sections in this order:
- Executive Summary -- sets tone for entire report
- Financial Analysis -- factual accuracy is critical
- Competitive Landscape -- highest strategic value
- SWOT Analysis -- synthesis quality matters
Example Workflow
User: "Check the quality of the Acme Corp report"
1. run_qa("Acme Corp")
Results:
Overall: 72 (B)
- Clarity: 85
- Completeness: 65
- Insight Depth: 75
- Accuracy: 63
2. Present findings:
"The Acme Corp report scores 72/100 (B grade).
Strong: Clarity (85), Insight Depth (75)
Needs work:
- Completeness (65): Missing competitor TechCorp
- Accuracy (63): Revenue figures need citations
Would you like me to:
1. Run targeted research on TechCorp?
2. Find citations for financial claims?
3. Both?"
3. If user approves research:
research_company(company="TechCorp", url="https://techcorp.com", mode="scrape")
4. After additional research:
"I've gathered information on TechCorp.
The report can now be updated with:
- TechCorp's market position
- Competitive comparison
Shall I regenerate the Competitive Landscape section?"
Constraints
- Threshold: Default QA gate threshold is 70
- Iteration Limit: Max 2 refinement cycles recommended
- Cost Awareness: Each refinement may incur API costs
- User Approval: Always get approval before re-research
Source
git clone https://github.com/blisspixel/primr/blob/main/skills/qa-iteration/SKILL.mdView on GitHub Overview
QA Iteration grades research reports on a 0-100 scale across four dimensions: clarity, completeness, insight depth, and accuracy. It provides an overall score, per-dimension scores, and per-section feedback to guide targeted refinements, especially when sections fall below the 70 threshold.
How This Skill Works
Use run_qa to evaluate a report file or a company. The tool returns an overall score, per-dimension scores, and detailed section feedback. For sections scoring below 70, it identifies issues and suggests targeted deep research or manual edits; refinements can be automatic after generation via QAGateHook or manual per user request, following the priority order (Executive Summary, Financial Analysis, Competitive Landscape, SWOT).
When to Use It
- User asks to check, grade, review, or improve a research report.
- You need to verify report quality after generation before submission.
- A section scores below 70 and requires targeted refinement.
- You want to decide whether to perform targeted deep research or manual edits.
- Planning refinement cycles with user approval and awareness of potential API costs.
Quick Start
- Step 1: Run QA on the report: run_qa(company="Acme Corp") or run_qa(file_path="output/acme_corp/report.docx")
- Step 2: Review the results and identify sections scoring below 70 with concrete issues
- Step 3: With user approval, perform targeted research or manual edits and regenerate affected sections
Best Practices
- Run with detailed per-section results by using detailed=True to surface issues.
- Address sections in priority order: Executive Summary, Financial Analysis, Competitive Landscape, SWOT.
- For low-scoring sections, identify root causes from feedback before taking action.
- Obtain explicit user approval before performing re-research or edits.
- Limit refinement cycles to two, and monitor potential costs.
Example Use Cases
- User: 'Check the quality of the Acme Corp report' → run_qa("Acme Corp"), results show Overall 72; discuss actionable next steps and request targeted research for missing data in Competitive Landscape.
- Automatic QA gate: After report generation, run_qa triggers a warning if score < 70 and surfaces detailed feedback for reviewer decision.
- Targeted research: For a missing competitor data point in Financial Analysis, call research_company and then insert citations and figures after approval.
- Section regeneration: After adding TechCorp data, regenerate the Competitive Landscape section to reflect new insights and improved accuracy.
- Approval-driven refinement: User approves a second refinement cycle only after reviewing root causes and expected impact.