Add TDD and Exploratory QA Skills#26
Open
gavinomelia wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds two new agent skills to the RoleModel skills collection: a TDD pairing workflow (with researcher/planner subagents) and an exploratory QA workflow (with a QA planning subagent).
Changes:
- Introduces a
/tddskill that drives red→green→refactor and delegates research + behavior planning to subagents. - Introduces an
/exploratory-qaskill that runs black-box browser QA via Playwright and produces a structured QA report. - Adds dedicated planner/researcher agent specs to support both workflows.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/tdd/SKILL.md | Defines the TDD pairing workflow and subagent-driven session setup. |
| skills/tdd/agents/tdd-planner.agent.md | Adds a behavior-planning subagent spec for producing a TDD execution plan. |
| skills/tdd/agents/researcher.agent.md | Adds a read-only research subagent spec for producing a compact codebase context artifact. |
| skills/exploratory-qa/SKILL.md | Defines an exploratory QA workflow using Playwright MCP with planning, execution, and reporting. |
| skills/exploratory-qa/agents/qa-planner.agent.md | Adds a QA planning subagent spec that produces an ordered scenario checklist. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+50
to
+56
| `RESEARCH.md` — key files, conventions, and relevant code snippets. | ||
| - Use the agent defined in `agents/tdd-planner.agent.md` with the task description and the `RESEARCH.md` contents to | ||
| produce `PLAN.md` — an ordered, checkboxed behavior list. | ||
|
|
||
| Write both artifacts to a `tmp/tdd` directory in the project root (create it if | ||
| needed). Then present the behavior plan from `PLAN.md` to the developer and | ||
| confirm it covers all requirements before starting. |
Comment on lines
+73
to
+77
| ## Tools | ||
|
|
||
| Prefer: `read_file` (only to read the provided `research.md` if passed as a file path) | ||
| Avoid: all write tools, search tools, and terminal tools — you work only from the | ||
| inputs provided. |
Comment on lines
+68
to
+71
| <brief note on what matters here> | ||
| \```<lang> | ||
| <minimal snippet> | ||
| \``` |
Comment on lines
+87
to
+88
| Prefer: `semantic_search`, `grep_search`, `file_search`, `read_file`, `list_dir` | ||
| Avoid: `run_in_terminal`, `replace_string_in_file`, `create_file` (you are read-only) |
|
|
||
| ## Output Format | ||
|
|
||
| Write the plan to `tmp/qa-plan.md`. Follow this structure exactly: |
Member
There was a problem hiding this comment.
@gavinomelia Should we change to allow write? Or should we return it as they suggest?
Comment on lines
+154
to
+212
| Write **`tmp/qa-report-YYYY-MM-DD-HHMM.md`** using this template. Keep it scannable — | ||
| developers read these in under a minute: | ||
|
|
||
| ```markdown | ||
| # QA Report: <feature / PR title> | ||
|
|
||
| **Tester:** Murphy (Claude QA) | ||
| **Date:** <ISO date> | ||
| **URL tested:** <url> | ||
| **Viewport(s):** Desktop (1280x800), Mobile (375x667) | ||
|
|
||
| ## Verdict | ||
|
|
||
| **<APPROVED | NEEDS WORK | BLOCKED>** — <one sentence why> | ||
|
|
||
| ## Requirements Verification | ||
|
|
||
| | Requirement | Status | How tested | | ||
| | --------------------- | --------- | ----------------------- | | ||
| | <claim from PR/brief> | PASS/FAIL | <concrete action taken> | | ||
|
|
||
| ## Bugs Found | ||
|
|
||
| ### 1. <Short title> | ||
|
|
||
| - **Severity:** <blocker | major | minor | polish> | ||
| - **Steps to reproduce:** | ||
| 1. ... | ||
| 2. ... | ||
| - **Expected:** <what should happen> | ||
| - **Actual:** <what did happen> | ||
| - **Screenshot:**  | ||
|
|
||
| ## Scenarios Tested | ||
|
|
||
| <Paste the checked-off plan here so the developer sees coverage.> | ||
|
|
||
| ## Not Tested / Out of Scope | ||
|
|
||
| - <Anything skipped and why> | ||
| ``` | ||
|
|
||
| Then in chat, post a 3–5 line summary: verdict, bug count by severity, link to the | ||
| report file. The file is the durable artifact; the chat summary is so the developer | ||
| doesn't have to open it to know whether to worry. | ||
|
|
||
| --- | ||
|
|
||
| ## Staying in Sync | ||
|
|
||
| - You pause for the user after the plan, not after every click. They don't want to | ||
| approve every navigation. | ||
| - If a bug looks like it might be environmental (server crashed, port changed), surface | ||
| it before blaming the feature: "The app returned 500 on `/workouts` — is the server | ||
| still up?" | ||
| - If the dev server crashes or you lose the browser session, stop and tell the user. | ||
| Don't silently restart and pretend nothing happened — the crash itself is a finding. | ||
| - If you realize mid-session that the plan missed something important, add it to the | ||
| plan, mention it in chat, and keep going. Don't hide scope changes. |
Member
There was a problem hiding this comment.
I'm fine leaving it a bit long right now. We know we want to extract it at some point.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As part of the April 2026 CCC Days, we created TDD and exploratory QA skills.