Skip to content

Add TDD and Exploratory QA Skills#26

Open
gavinomelia wants to merge 1 commit into
mainfrom
add-tdd-and-qa-skills
Open

Add TDD and Exploratory QA Skills#26
gavinomelia wants to merge 1 commit into
mainfrom
add-tdd-and-qa-skills

Conversation

@gavinomelia

Copy link
Copy Markdown

As part of the April 2026 CCC Days, we created TDD and exploratory QA skills.

Copilot AI left a comment

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.

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 /tdd skill that drives red→green→refactor and delegates research + behavior planning to subagents.
  • Introduces an /exploratory-qa skill 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 thread skills/tdd/SKILL.md
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:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@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:** ![description](qa-screenshots/<file>.png)

## 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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm fine leaving it a bit long right now. We know we want to extract it at some point.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants