Skip to content

feat: add QA checklist skill for Claude Code#8831

Open
edmonday wants to merge 1 commit intomainfrom
edmondshen/nes-1429-add-qa-checklist-skill-for-claude-code
Open

feat: add QA checklist skill for Claude Code#8831
edmonday wants to merge 1 commit intomainfrom
edmondshen/nes-1429-add-qa-checklist-skill-for-claude-code

Conversation

@edmonday
Copy link
Copy Markdown
Contributor

@edmonday edmonday commented Mar 11, 2026

Summary

  • Adds a /qa-checklist Claude Code skill that generates QA acceptance criteria and regression testing checklists
  • Analyzes branch commits/diffs, generates non-technical checklist items, and updates the Linear ticket

Linear

NES-1429

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added a new QA Checklist Generator skill that automatically generates acceptance criteria and regression testing checklists from branch changes and project requirements, supporting improved quality assurance workflows.

@linear
Copy link
Copy Markdown

linear bot commented Mar 11, 2026

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 11, 2026

Walkthrough

A new QA Checklist Generator skill descriptor is added that defines a workflow for generating acceptance criteria and regression testing checklists from branch changes and Linear issue data, including steps for analysis, generation, user review, and Linear ticket updates.

Changes

Cohort / File(s) Summary
QA Checklist Skill
.claude/skills/qa-checklist/SKILL.md
New skill descriptor defining a workflow to generate QA-friendly acceptance criteria and regression testing checklists from branch commits, diffs, and Linear issue information, with user review and Linear ticket update steps.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: adding a QA checklist skill for Claude Code, which aligns perfectly with the pull request's primary objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch edmondshen/nes-1429-add-qa-checklist-skill-for-claude-code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link
Copy Markdown

nx-cloud bot commented Mar 11, 2026

View your CI Pipeline Execution ↗ for commit f487b33

Command Status Duration Result
nx affected --target=subgraph-check --base=9543... ✅ Succeeded <1s View ↗
nx affected --target=extract-translations --bas... ✅ Succeeded <1s View ↗
nx affected --target=lint --base=95435c069f7892... ✅ Succeeded <1s View ↗
nx affected --target=type-check --base=95435c06... ✅ Succeeded <1s View ↗
nx run-many --target=codegen --all --parallel=3 ✅ Succeeded 2s View ↗
nx run-many --target=prisma-generate --all --pa... ✅ Succeeded 7s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-11 01:42:36 UTC

@edmonday edmonday self-assigned this Mar 11, 2026
@edmonday edmonday requested a review from jianwei1 March 11, 2026 01:41
@edmonday edmonday marked this pull request as ready for review March 11, 2026 01:41
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/skills/qa-checklist/SKILL.md:
- Around line 41-49: Modify the "Update the Linear ticket" step to require an
exact match for the "Acceptance Criteria" heading before replacing content:
search the description for the exact string "Acceptance Criteria" as a distinct
heading and only perform the in-place replacement when that exact section is
found; if no exact match or multiple ambiguous matches exist, do not edit and
instead prompt the user for clarification or request permission to create a new
checklist section, showing the proposed checklist for approval before making any
changes.
- Around line 26-41: The document currently says to generate two checklist
sections (Acceptance Criteria and Regression Testing) but step 6 only instructs
replacing the Acceptance Criteria in Linear, creating ambiguity about what
happens to Regression Testing; update the SKILL.md steps so step 6 explicitly
states whether to (A) replace or create both the "Acceptance Criteria" and
"Regression Testing" sections in the Linear issue description with the generated
content, or (B) replace only "Acceptance Criteria" and keep "Regression Testing"
as a user-visible output that is not persisted to Linear—make this contract
explicit in the "Generate the checklist" (step 4), "Show the checklist" (step
5), and "Update the Linear ticket" (step 6) instructions so agents know exactly
which sections to persist.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 4b0f672e-fe36-43be-8c3b-aa43a992a06b

📥 Commits

Reviewing files that changed from the base of the PR and between 95435c0 and f487b33.

📒 Files selected for processing (1)
  • .claude/skills/qa-checklist/SKILL.md

Comment on lines +26 to +41
4. **Generate the checklist**: Write a checklist with two sections:

**Acceptance Criteria** — What the feature should do (based on the issue requirements):
- Written as checkbox items (`- [ ]`)
- Non-technical language a QA tester can follow
- Focused on observable behavior, not implementation details

**Regression Testing** — What else should be manually verified to ensure nothing broke:
- Grouped by user flow or page
- Written as checkbox items (`- [ ]`)
- Include any special testing notes (e.g., timing, environment requirements)
- Cover all entry points where shared/modified code is used

5. **Show the checklist to the user** for review before updating Linear.

6. **Update the Linear ticket**: Once approved, replace the Acceptance Criteria section in the issue description with the new checklist. Keep the rest of the description unchanged.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Clarify where the Regression Testing section is persisted.

Step 4 generates two sections, but Line 41 only tells the agent to replace Acceptance Criteria. As written, the Regression Testing checklist is either dropped or forced into the wrong section when the Linear update happens.

Please make the update contract explicit, e.g. replace/create both sections in the description, or update one section and leave the other as user-only output.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/qa-checklist/SKILL.md around lines 26 - 41, The document
currently says to generate two checklist sections (Acceptance Criteria and
Regression Testing) but step 6 only instructs replacing the Acceptance Criteria
in Linear, creating ambiguity about what happens to Regression Testing; update
the SKILL.md steps so step 6 explicitly states whether to (A) replace or create
both the "Acceptance Criteria" and "Regression Testing" sections in the Linear
issue description with the generated content, or (B) replace only "Acceptance
Criteria" and keep "Regression Testing" as a user-visible output that is not
persisted to Linear—make this contract explicit in the "Generate the checklist"
(step 4), "Show the checklist" (step 5), and "Update the Linear ticket" (step 6)
instructions so agents know exactly which sections to persist.

Comment on lines +41 to +49
6. **Update the Linear ticket**: Once approved, replace the Acceptance Criteria section in the issue description with the new checklist. Keep the rest of the description unchanged.

## Important

- Write for a QA team — avoid technical jargon, code references, and implementation details.
- Use checkbox format (`- [ ]`) for all items so they can be checked off.
- Do NOT add progress summaries or implementation notes to the ticket.
- Do NOT add the checklist as a comment — update the description directly.
- Always show the checklist to the user for review before updating Linear.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Add a safe fallback when the ticket lacks a matching section.

Updating the description directly is risky without defining how to find the existing Acceptance Criteria block. If the heading is missing or named differently, the skill can overwrite unrelated parts of the Linear description instead of preserving them.

Please require an exact section match and fall back to asking the user before editing when the section cannot be identified unambiguously.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/skills/qa-checklist/SKILL.md around lines 41 - 49, Modify the
"Update the Linear ticket" step to require an exact match for the "Acceptance
Criteria" heading before replacing content: search the description for the exact
string "Acceptance Criteria" as a distinct heading and only perform the in-place
replacement when that exact section is found; if no exact match or multiple
ambiguous matches exist, do not edit and instead prompt the user for
clarification or request permission to create a new checklist section, showing
the proposed checklist for approval before making any changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant