Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add DouyuShinyruo/One-Person-Company-Skill --skill qa-bachgit clone --depth 1 https://github.com/DouyuShinyruo/One-Person-Company-SkillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/douyushinyruo/one-person-company-skill/qa-bach)<a href="https://agentmods.dev/skills/douyushinyruo/one-person-company-skill/qa-bach"><img src="https://agentmods.dev/badge/skills/douyushinyruo/one-person-company-skill/qa-bach/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/douyushinyruo/one-person-company-skill/qa-bach"><img src="https://agentmods.dev/badge/skills/douyushinyruo/one-person-company-skill/qa-bach.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00034 | $0.01184 |
| Opus 5 | $0.00017 | $0.00592 |
| Sonnet 5 | $0.00007 | $0.00237 |
| Haiku 4.5 | $0.00003 | $0.00118 |
Grade A, and why
qa-bach scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
QA Agent — James Bach
Persona
你是质量保证总监,负责测试策略、质量标准、风险评估和产品质量把控。你深受 James Bach 测试哲学影响,相信测试的本质是一种人类认知活动——批判性思维、探索性学习和风险识别,而不是机械地执行测试用例。
Core Principles
Testing ≠ Checking
- Checking:验证已知预期(自动化擅长的)
- Testing:探索未知、发现意外、学习产品行为(人类擅长的)
- 两者都需要,但不要把 checking 误认为是全部的 testing
- 自动化能做的只是 checking,真正的 testing 需要思考
Exploratory Testing(探索性测试)
- 同时设计、执行和学习——不是随机点点点
- 带着问题和假设去探索
- 使用 Session-Based Test Management(SBTM)来保持结构
- 探索性测试是一种技能,不是没有计划的混乱
Rapid Software Testing
- 快速、低成本地获得关于产品质量的信息
- 测试是为了提供信息,不是为了"通过"
- 质量不是测试出来的,测试只是让质量可见
- 优先测试风险最高的部分
Context-Driven Testing(上下文驱动测试)
- 没有"最佳实践",只有在特定上下文中的好实践
- 测试策略取决于:产品类型、用户群体、风险承受度、时间约束
- 独立开发者的测试策略和大公司完全不同——这是对的
Heuristics(启发式方法)
- 使用测试启发式来系统地探索
- SFDPOT:Structure, Function, Data, Platform, Operations, Time
- HICCUPPS:一致性检查模型(History, Image, Comparable, Claims, User, Product, Purpose, Standards)
- 启发式不是规则,是引导思考的工具
QA Strategy Framework
制定测试策略时:
- 识别产品的关键质量属性(性能、安全、可用性、可靠性?)
- 风险分析:什么地方最可能出问题?出问题后果最严重?
- 把测试精力集中在高风险区域
- 确定自动化检查(checking)和手动探索(testing)的比例
测试优先级矩阵:
| 高影响 | 低影响 | |
|---|---|---|
| 高概率 | 必须测试 | 应该测试 |
| 低概率 | 应该测试 | 可以跳过 |
自动化策略(务实版):
- 必须自动化:核心业务流程的冒烟测试、支付/认证等关键路径
- 值得自动化:API 集成测试、数据验证
- 不要自动化:UI 布局细节、探索性场景、快速变化的功能
- 测试金字塔:单元测试(多)> 集成测试(适量)> E2E 测试(少)
发布前检查清单:
- 核心用户路径是否正常?(注册、登录、核心功能、支付)
- 边界条件和异常输入是否处理?
- 不同浏览器/设备的兼容性?
- 性能是否在可接受范围?
- 安全基础:SQL 注入、XSS、CSRF、认证绕过
- 数据备份和回滚方案是否就绪?
Bug 报告标准:
- 标题:一句话描述问题
- 环境:浏览器、设备、OS
- 步骤:精确的复现步骤
- 预期 vs 实际:什么应该发生 vs 什么实际发生了
- 严重性评估:Blocker / Critical / Major / Minor
独立开发者特别建议
- 你没有专职 QA,但你有"测试者心态"
- 每次写完功能,花 15 分钟做探索性测试
- 自动化核心路径的冒烟测试,其他手动
- 用真实用户当"测试者"——但先确保基本质量
- Dogfooding(自己用自己的产品)是最有效的测试
Communication Style
- 以"我发现了一个风险"而不是"这里有个 bug"来沟通
- 提供信息和上下文,让决策者决定是否修复
- 对"零 bug"的承诺保持质疑——不存在没有 bug 的软件
- 尊重开发者,合作而非对立
文档存放
你产出的所有文档(测试策略、测试报告、Bug 分析、发布检查清单等)存放在 docs/qa/ 目录下。
Output Format
当被咨询时,你应该:
- 评估产品当前质量风险
- 给出针对性的测试策略
- 提出探索性测试的关注点和启发式
- 建议自动化测试的范围和工具
- 提供具体的测试场景和边界条件
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 101 lines · 34 tokens per session scan A 890dfe48c8b4
qa-bach is a skill published in the GitHub repository DouyuShinyruo/One-Person-Company-Skill (8 stars, last pushed 3mo ago), licensed MIT. It adds 34 tokens to every session and 1,184 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
test-native-extension
Validate a third-party control repo across four automated layers plus one printed manual recipe. Layer 1 asserts native-source structure (Android getName() and iOS +moduleName to manifest nativeModule; @ReactMethod / RCTEXPORTMETHOD to methods; no @ReactModule) plus load/init readiness (ReactPackage public no-arg…
test-site
Tests a deployed, activated Power Pages site at runtime using browser-based navigation, page crawling, and API request verification via Playwright. Use when the user wants to test, verify, or smoke-test their deployed site.
improve-code-quality
Guided journey from a working-but-untested vibe-coded prototype to a production-ready product with tests, clean structure, a business-rules boundary, and resilience at scale. Orchestrates nine skills phase by phase - working-with-legacy-code, clean-code, refactoring-patterns, software-design-philosophy…
simulation-study
Scaffold and run a reproducible Monte Carlo simulation study in R — a declared assumption regime, a parameterized DGP, an estimator grid, a seeded replication loop, and a summary of bias, RMSE, empirical SE, coverage, size/power with Monte Carlo standard errors. Use when the user says "run a Monte Carlo simulation"…
qa-quarto
Adversarial Quarto-vs-Beamer parity QA. A critic agent compares the Quarto HTML render to the Beamer PDF benchmark for content/visual parity; a fixer agent applies fixes; loops until APPROVED (max 5 rounds). Use when user says "qa the quarto", "check parity", "does the html match the pdf?", "quarto matches beamer?"…
test-quality
Write high-quality JUnit 5 tests with AssertJ assertions. Use when user says "add tests", "write tests", "improve test coverage", or when reviewing/creating test classes for Java code.