本文へ移動
cccskills
無料GitHub で公開

qa

Run the E2E QA test suite against the live application using Playwright MCP and nREPL. Use when testing the app end-to-end.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

E2E QA Runner

Execute the structured QA test scripts in qa/scripts/ against the live application.

Current Progress

!cat qa/scripts/progress.md

How It Works

The QA suite is split into individually-executable test scripts in qa/scripts/. Each script:

  • Targets a specific feature area (e.g., "Auth Flow", "Core Pages")
  • Contains step-by-step TEST items tagged as READ, WRITE, NAVIGATE, or GUARD
  • Requires mandatory SCREENSHOT proof at state transitions
  • Tracks pass/fail per item

Invocation

  • /qa or /qa next -- Run the next incomplete script (first -- status in progress.md)
  • /qa all -- Run all scripts from the beginning (Session 1 through end)
  • /qa 03 or /qa 3 -- Run a specific script by number (e.g., 03-feature.md)
  • /qa status -- Show current progress.md without running anything
  • /qa 03-08 -- Run a range of scripts sequentially

Execution Protocol

Before running any script, read and internalize the rules in qa/scripts/EXECUTION-RULES.md. These are non-negotiable:

  1. Execute EVERY test item in order. Do NOT skip. Do NOT reorder.
  2. Do NOT move to the next TEST until the current TEST is fully verified.
  3. "Page loads" is NOT "feature works." If a test says WRITE, perform the write.
  4. Take a SCREENSHOT at every SCREENSHOT marker. These are mandatory proof-of-work.
  5. If a test FAILS, log the failure and continue. Do NOT silently skip. Do NOT fix bugs mid-QA.
  6. When a script completes, update qa/scripts/progress.md with pass/fail/skip counts.
  7. If you cannot finish a script, STOP at the nearest --- break. Update progress.md as PARTIAL. Do NOT rush remaining items.

Steps

1. Determine which script(s) to run

Parse $ARGUMENTS:

  • next or empty: Read qa/scripts/progress.md, find the first row with Status --, that's the script to run.
  • all: Start from script 00.
  • A number (e.g., 3, 03, 15): Run that specific script. Zero-pad to 2 digits to find the file.
  • A range (e.g., 03-08): Run scripts 03 through 08 sequentially.
  • status: Print progress.md and stop.

2. Prerequisites check (Script 00)

If running script 00, or if this is the first script in a session:

  1. Connect to nREPL via /nrepl-connect
  2. Check if the system is running: (some? repl-stuff/service)
  3. If not running, do a clean start:
    • rm -rf storage/cache
    • Eval the start form from development/src/repl_stuff.clj
  4. Seed: (require 'e2e-seed :reload) (e2e-seed/seed! repl-stuff/context)
  5. Verify seed output mentions expected counts

If the system is already running and seeded (script 00 shows completed in progress.md), skip to step 3.

3. Execute the script

  1. Read the script file: qa/scripts/{NN}-{name}.md
  2. Read the execution rules: qa/scripts/EXECUTION-RULES.md
  3. Log in as the role specified in the script header
  4. Execute each TEST item sequentially:
    • For NAVIGATE: Use browser_navigate or browser_click, verify URL/page title
    • For READ: Use browser_snapshot and verify expected elements/text
    • For WRITE: Perform the action (fill form, click button), then verify the result
    • For GUARD: Attempt the blocked action, verify error/redirect
    • At SCREENSHOT markers: Use browser_take_screenshot with the specified filename
  5. Track results: count passes, failures, and skips

4. Record results

After completing the script, append the results section to the script file:

---
## Results
**Date**: [today's date]
**Status**: PASS | PARTIAL | FAIL
**Pass**: X / Y
**Failures**:
- TEST X.Y: [description]
**Notes**: [anything relevant]

Then update qa/scripts/progress.md -- change the row's Status, Pass, Fail, Skip, and Date columns.

5. Continue or stop

  • If running a range or all: proceed to the next script.
  • If the current script took a long time: stop and report. Do NOT rush the next script.
  • Always prefer quality over quantity. One thoroughly-tested script is worth more than three skimmed scripts.

Key Tools

  • Playwright MCP: browser_navigate, browser_snapshot, browser_click, browser_type, browser_fill_form, browser_select_option, browser_take_screenshot, browser_press_key, browser_wait_for
  • nREPL MCP: mcp__nrepl__eval_form for data verification and seeding
  • Bash: curl for webhook testing, rm -rf storage/cache for clean restart

Adding New QA Scripts

When a new feature is built, add a test script:

  1. Create qa/scripts/{NN}-{feature-name}.md following the format in existing scripts
  2. Add a row to qa/scripts/progress.md
  3. Add to qa/scripts/RUN-ORDER.md in the appropriate session
  4. Include: TEST items with (READ/WRITE/NAVIGATE/GUARD) tags, SCREENSHOT markers, clear VERIFY criteria

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

allium

無料

Give your AI agents something more useful than a prompt. Velocity through clarity.

日本語の概要は準備中です。原文の説明を表示しています。

ObneyAI/orc212026年10月8日 更新

distill

無料

Extract an Allium specification from an existing codebase. Use when the user has existing code and wants to distil behaviour into a spec, reverse engineer a specification from implementation, generate a spec from code, turn implementation into a behavioural specification, or document what a codebase does in Allium terms.

日本語の概要は準備中です。原文の説明を表示しています。

ObneyAI/orc212026年10月8日 更新

elicit

無料

Run a structured discovery session to build an Allium specification through conversation. Use when the user wants to create a new spec from scratch, elicit or gather requirements, capture domain behaviour, specify a feature or system, define what a system should do, or is describing functionality and needs help shaping it into a specification.

日本語の概要は準備中です。原文の説明を表示しています。

ObneyAI/orc212026年10月8日 更新

Implement command handlers that validate state and emit events using the Grain framework

日本語の概要は準備中です。原文の説明を表示しています。

ObneyAI/orc212026年10月8日 更新

Create scheduled background jobs that run on cron schedules

日本語の概要は準備中です。原文の説明を表示しています。

ObneyAI/orc212026年10月8日 更新

Implement query handlers that read from event-sourced read models

日本語の概要は準備中です。原文の説明を表示しています。

ObneyAI/orc212026年10月8日 更新

ObneyAI のスキルをすべて見る

このスキルの問題を報告する