Installs into .claude/skills of the current project.
Are you the author of Tad Test Brief?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sheldon-92-tad-test-brief)
---
name: tad-test-brief
description: Generate or update pair testing brief (TEST_BRIEF.md) for E2E pair testing with 4D Protocol.
---
# TAD Test Brief Command
Generate or update a pair testing brief (TEST_BRIEF.md) for E2E pair testing with Claude Code + Playwright (4D Protocol).
## When to Use
- Manual invocation outside the Gate flow for ad-hoc testing needs
- Regenerating a test brief after significant changes
- Creating a test brief for a project that didn't go through full TAD flow
平台绑定交互决策(cross-harness binding):本文件及其 references 中所有
AskUserQuestion 调用是「交互决策契约」而非具体工具——当前 harness 有该工具
(Claude Code)→ 直接调用;无该工具(Codex 等)→ 以编号纯文本列出全部选项
(1. … / 2. … / 3. …)并**停止等待用户输入**,用户以编号或自由文本作答;
禁止代答、禁止把选项折叠成默认值继续执行。SAFETY 门控的调用点(人工审批 /
归档确认 / 权限升级确认类)无论何种 harness 都必须获得真人作答后才能继续。
非交互执行模式(如 codex exec)→ 视为无人可答,按 blocked 停止并上报,
不得自选默认值;已按 YOLO/预授权模式运行且该决策点有书面预授权记录 →
按其协议处理,不适用本条 blocked 分支。
## Execution Steps
### Step 1: Session Management
1. Read `.tad/pair-testing/SESSIONS.yaml` (if exists)
- If not exists → create with empty sessions, total_sessions: 0, start with S01
- If YAML parse error (corruption detected):
a. Rename to `SESSIONS.yaml.corrupt.{timestamp}`
b. Scan `S*/` directories to rebuild manifest
c. Infer status: has `PAIR_TEST_REPORT.md` → "reviewed", no report → "active"
d. Write rebuilt `SESSIONS.yaml`
e. Log: "Recovered SESSIONS.yaml from directory scan"
2. Determine next session ID:
- Count existing S{NN} directories → next = S{NN+1} (zero-padded: S01, S02, ..., S99, S100+)
3. Check active session guard:
- If any session has status "active" → Use AskUserQuestion:
"Session {id} ({scope}) is still active. What would you like to do?"
Options: "Resume existing session", "Archive it and start new", "Cancel"
4. Check for inheritable context:
- Find most recent session with status "reviewed" or "archived"
- If found → ask whether to inherit previous findings
5. Create directory: `.tad/pair-testing/{session_id}/` and `.tad/pair-testing/{session_id}/screenshots/`
### Step 2: Read Template
Read `.tad/templates/test-brief-template.md` as the base.
### Step 3: Gather Project Info
Auto-fill from project context:
1. **Section 1** (Product): Read from `package.json`, `README.md`, `PROJECT_CONTEXT.md`
2. **Section 2** (Scope): Ask user what pages/features to test, or detect from recent changes
3. **Section 3** (Test data): Ask user for test accounts/data info
4. **Section 4** (Known issues): Read from `NEXT.md` Blocked section, or ask user
5. **Section 4b** (Previous Session Context): If inheriting, populate from previous session's report
6. **Section 5** (Design intent): Fill with design decisions, UX expectations, E2E scenarios
7. **Section 8** (Technical): Auto-detect tech stack and fill appropriate tips
### Step 4: Generate
Write completed `TEST_BRIEF.md` to `.tad/pair-testing/{session_id}/TEST_BRIEF.md`.
Update `SESSIONS.yaml`: add new session entry, set as active_session.
Backup `SESSIONS.yaml` to `SESSIONS.yaml.bak` before any write.
### Step 5: Output
```
.tad/pair-testing/{session_id}/TEST_BRIEF.md generated successfully.
Session ID: {session_id} | Inherits from: {prev_session or 'None'}
Sections filled:
[OK] 1. Product overview
[OK] 2. Test scope
[OK] 3. Test accounts/data
[OK] 4. Known issues
[OK] 4b. Previous session context (if inheriting)
[OK] 5. Focus areas & UX expectations
[OK] 6. Collaboration guide (Round-by-Round protocol)
[OK] 7. Output requirements
[OK] 8. Technical notes
Next: Open a new Claude Code terminal and run the pair testing script (see TEST_BRIEF Section 6h) to start E2E testing.
```