A portable AI agent skill that turns product requirements, API docs, and UI prototypes into executable QA deliverables: requirement gap lists, API cases, frontend functional cases, defect reports, and light perf/security checklists.
Designed for multi-agent use: Grok, Codex, OpenClaw, Hermes, Claude Code, Cursor, and similar tools that can load a SKILL.md (or follow AGENTS.md).
Most agents dump generic test ideas. This skill enforces a senior QA workflow:
| Habit | Behavior |
|---|---|
| No hallucination of fixtures | Missing business data → 待补充信息清单, not invented expects |
| Layer split | Auto-separate Frontend / API / Content / NF |
| Template-native cases | Columns compatible with common case-import Excel |
| Display-field abnormal | UI-visible API fields: int/string/[]/{} abnormal + ellipsis/scroll/modal |
| Scenario taxonomy | 风控 ≠ 网络 ≠ 4xx/5xx ≠ 错误数据 ≠ 数据为空 — split cases even if UI all hides |
| Local memory only | $HOME/.fullstack-test-engineer/memory/ — not in git; empty on first use; grows after each run |
| No shipped cases | Real project xlsx stay in your workspace; skill ships methodology + fictional examples |
| Cross-module | Remembers module links (layout/entity/params) via CrossModule patterns |
| Publish-safe | Privacy scanner before GitHub |
fullstack-test-engineer/
├── SKILL.md # Agent instructions (entry)
├── AGENTS.md # Multi-agent load guide
├── README.md # This file
├── LICENSE
├── references/ # Templates, matrix, display-field abnormal, playbook, privacy
├── scripts/
│ ├── memory.py # Experience memory (snapshot/update)
│ ├── scrub_privacy.py # Pre-publish privacy scan
│ └── write_cases_xlsx.py # Excel exporter (openpyxl)
├── examples/ # Fictional sample API + FE requirements
└── memory/ # Placeholder (runtime memory is under $HOME)
Runtime learning data is stored outside the repo (per machine, per workspace):
$HOME/.fullstack-test-engineer/memory/<workspace-id>.md
- Not included when someone clones this skill from GitHub.
- First run: empty memory is normal.
- After each successful run: skill updates memory with generalized lessons (never full test cases).
- Your project case files stay under your project directory only.
git clone https://github.com/EvilAngelDa/fullstack-test-engineer.git \
~/.grok/skills/fullstack-test-engineerThen invoke: /fullstack-test or ask for 测试用例 / 接口用例 / 前端用例.
Copy or clone into the project or user skills directory your tool uses (often .claude/skills/, .cursor/skills/, or docs-specified path). Ensure the agent is allowed to read SKILL.md and run scripts/*.py.
- Clone this repository next to your project (or as a submodule).
- Add to agent instructions (see AGENTS.md):
When the user asks for test cases, QA analysis, or /fullstack-test:
1. Read ./fullstack-test-engineer/SKILL.md
2. Follow it end-to-end
3. Prefer scripts under ./fullstack-test-engineer/scripts/
pip install openpyxlmemory.py and scrub_privacy.py use stdlib only.
- Collect inputs: PRD, API doc, screenshot/prototype, optional case template.
- Tell the agent, for example:
按 fullstack-test-engineer skill:
- 只写前端功能用例
- 模版列与 examples 一致
- 输出 xlsx + 疑问清单
附件:需求.md、样式.png
- Agent should:
memory.py snapshot(load past patterns)- Classify FE vs API vs content
- Write cases + gap list
memory.py update(learn)scrub_privacy.pyif publishing
# Memory snapshot
python3 scripts/memory.py snapshot
# Privacy scan (run from skill root)
python3 scripts/scrub_privacy.py --path . --report
# Write xlsx from JSON
python3 scripts/write_cases_xlsx.py --out /tmp/demo_cases.xlsx --cases-json - <<'JSON'
{
"cases": [
{
"name": "【展示】有数据时展示结论卡片",
"module": "/Demo/Frontend/Summary",
"tags": "前端;功能;P0",
"precondition": "接口返回非空结论",
"steps": [
{"action": "进入详情页", "expected": "展示标题与正文"},
{"action": "点击正文非展开区域", "expected": "不发生跳转"}
],
"mode": "STEP",
"level": "P0"
}
]
}
JSON- 需求疑问清单 — ambiguities, conflicts, missing boundaries
- 测试方案/计划 — short and executable
- 测试用例 — Markdown + optional Excel
- 缺陷报告 — severity template
- 兼容 / 简易性能 / 基础安全 checklist
- 上线验收 / 巡检 list
After each successful run, the agent writes generalized patterns (no hosts, tokens, PII):
python3 scripts/memory.py update <<'JSON'
{
"patterns": [
{"category": "Frontend", "description": "Reset expand state when switching entity context"},
{"category": "API", "description": "Test missing and empty-string required query params separately"}
],
"run": {
"description": "FE expand-collapse module",
"deliverables": ["fe-cases"],
"key_patterns": ["Hide whole module on API failure"]
}
}
JSONStable patterns can be promoted into references/playbook.md.
This repository is intended to be public-safe:
- Examples use
api.example.comand fictional IDs only - No company internal gateways, employee paths, or live tokens
- Use
scripts/scrub_privacy.pybefore every push of generated artifacts
See references/privacy-redaction.md.
If you generated cases from private PRDs, keep those xlsx/md in a private repo or redact before attaching here.
| Agent | How to hook |
|---|---|
| Grok | ~/.grok/skills/fullstack-test-engineer |
| Claude Code | Project/user skill dir + read SKILL.md |
| Codex CLI | Instruction file + path to SKILL.md |
| OpenClaw | Skill/plugin path → this folder |
| Hermes | Agent toolkit / skill manifest pointing here |
| Cursor | Rules or skills: “read SKILL.md on QA tasks” |
- Skill version: see
metadata.versioninSKILL.md - Breaking changes to case columns or memory schema → bump minor/major and note in playbook
MIT — see LICENSE.
- Keep examples fictional
- Run
python3 scripts/scrub_privacy.py --path . --report - Prefer generalized playbook entries over project anecdotes
- PRs that add agent adapters (OpenClaw manifest, Codex pack) are welcome
This skill helps structure QA work. It does not replace human sign-off for release, security audits, or compliance. Do not use it to generate attack exploits or to process unlawful personal data.