Token导航 LogoToken导航

Agent Skill · 研究检索

qa-engineer(质量保证工程师)

qa-engineer 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

qa-engineer 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,675 个 Skill 里排第 40,865。

总安装 1,247周安装 53GitHub Stars 7,531下载 437核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:qa-engineer(质量保证工程师)
来源仓库:https://github.com/anyproto/anytype-ts
仓库路径:skills/qa-engineer
安装命令:
npx skills add https://github.com/anyproto/anytype-ts --skill qa-engineer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/anyproto/anytype-ts --skill qa-engineer

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

qa-engineer 用于分析代码变更并生成 Playwright E2E 测试用例。适合编辑器组件修改后的自动化测试覆盖场景。仅针对最近变更的功能生成测试,不重复覆盖已有测试范围。测试代码写入 ../anytype-desktop-suite 仓库,需确认目标路径可写权限。

依赖 git diff 获取变更内容,要求工作区处于有效 git 分支状态。

来源仓库内路径:skills/qa-engineer

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/anyproto/anytype-ts --skill qa-engineer;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

qa-engineer 怎么安装?

在终端执行 npx skills add https://github.com/anyproto/anytype-ts --skill qa-engineer。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

qa-engineer 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

qa-engineer 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

qa-engineer 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

qa-engineer 用的人多吗?

公开数据是累计安装 1,247 次,近一周安装 53 次,下载 437 次,GitHub 7,531 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

qa-engineer 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 来源仓库有 7,531 星,维护活跃度相对可查。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
qa-engineer

质量保证工程师 · 本页

1,2477,531操作浏览器未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

QA Engineer Skill

Analyze recent code changes in anytype-ts, map them to testable user-facing behavior, and generate Playwright E2E tests in the ../anytype-desktop-suite repository.

When to Use

Activate this skill when:

  • After implementing a new feature or modifying existing functionality
  • After editor/component changes that affect user interactions
  • The user explicitly asks to add tests for recent changes
  • After completing a task referenced in CLAUDE.md's "QA Engineer" section

Principles

  1. Change-driven — Only test what actually changed, don't generate tests for untouched code
  2. User-facing — Focus on observable behavior, not implementation details
  3. Compatible — Follow the existing test patterns in anytype-desktop-suite exactly
  4. Minimal — One test file per feature area, don't over-test
  5. Translation-aware — Always use translation keys, never hardcoded UI text

Process

Phase 1: Analyze Changes

  1. Identify what changed — Run git diff against the base branch (or recent commits) to see modified files
  2. Classify changes — Determine which changes are user-facing vs internal refactoring
  3. Map to features — Connect code changes to testable user flows:

- Component changes → UI interactions to verify - Store changes → State transitions to test - Menu/popup changes → Open/close/interact flows - Editor changes → Block creation, editing, selection - API changes → Data flow and error handling

Skip internal-only changes (type refactors, utility extractions, pure style changes) that have no user-facing impact.

Phase 2: Research Existing Coverage

  1. Check existing tests — Search ../anytype-desktop-suite/tests/ for tests that already cover the changed feature area
  2. Check existing page objects — Search ../anytype-desktop-suite/src/pages/ for page objects that interact with affected components
  3. Check test plans — Search ../anytype-desktop-suite/specs/ for existing plans covering the area
  4. Identify gaps — Determine what's not yet covered

Phase 3: Create Test Plan

Write a test plan in ../anytype-desktop-suite/specs/ following this format:

# Feature Area — Test Plan

**Source changes:** List of changed files in anytype-ts
**Date:** YYYY-MM-DD

## Prerequisites
- Seed: `tests/seed.spec.ts` (creates account, opens vault)
- Any additional setup needed

### 1. Test Group Name
**Seed:** `tests/seed.spec.ts`

#### 1.1 Scenario Name
**Steps:**
1. Step description
2. Step description
**Expected:** What should happen

#### 1.2 Another Scenario
...

Phase 4: Generate Test Files

Create test files in ../anytype-desktop-suite/tests/ following these strict conventions:

File Structure
// spec: specs/plan-name.md
// seed: tests/seed.spec.ts

import { test, expect } from '../../src/fixtures';
import { restartGrpcServer } from '../../src/helpers/test-server';
// Import relevant page objects
import { SidebarPage } from '../../src/pages/main/sidebar.page';

test.describe('Feature Area', () => {
  test.describe.configure({ mode: 'serial' });

  test.beforeAll(async () => {
    await restartGrpcServer();
  });

  test('should do the expected behavior', async ({ page, translations }) => {
    const sidebar = new SidebarPage(page, translations);
    await sidebar.waitForReady();

    // Step: Description of what we're doing
    await page.getByText(translations.someTranslationKey).click();

    // Verify: Expected outcome
    await expect(page.locator('#some-element')).toBeVisible();
  });
});
Rules
  1. Translations — Always use translations.keyName for UI text. Look up keys in ../anytype-ts/dist/lib/json/lang/en-US.json or ../anytype-ts/src/json/text.json
  2. Page Objects — Use existing page objects from ../anytype-desktop-suite/src/pages/. Create new ones only if needed
  3. Waits — Use await expect(locator).toBeVisible() or waitFor({state: 'visible'}). Never use setTimeout, networkidle, or fixed delays
  4. Selectors — Prefer role-based > test ID > text > CSS selectors
  5. Isolation — Each test file restarts gRPC server in beforeAll. Tests in a file can share state with serial mode
  6. Naming — File names are kebab-case matching the feature: feature-name.spec.ts
  7. Directory — Place in a subdirectory matching the feature area: tests/editor/, tests/blocks/, etc.

Phase 5: Create Page Objects (if needed)

If the changed feature needs new page interactions not covered by existing page objects, create a new page object:

import { BasePage } from '../base.page';

export class FeaturePage extends BasePage {
  // Locators
  get someButton() {
    return this.page.locator('#some-button');
  }

  get someText() {
    return this.page.getByText(this.t('translationKey'));
  }

  // Actions
  async waitForReady() {
    await this.someButton.waitFor({ state: 'visible' });
  }

  async doSomething() {
    await this.someButton.click();
    await expect(this.someText).toBeVisible();
  }
}

Page objects go in ../anytype-desktop-suite/src/pages/ in the appropriate subdirectory.

Phase 6: Output Summary

After generating tests, provide a summary:

## QA Engineer Summary

### Changes Analyzed
- file1.tsx — description of change
- file2.tsx — description of change

### Tests Generated
- `tests/feature/scenario-name.spec.ts` — what it tests
- `specs/feature-plan.md` — test plan

### New Page Objects
- `src/pages/main/feature.page.ts` — (if created)

### Coverage Notes
- What's covered by new tests
- What's NOT covered and why (e.g., requires manual testing, backend-only change)

### Run Tests

cd ../anytype-desktop-suite && npm test -- tests/feature/scenario-name.spec.ts

Finding Translation Keys

To map UI text to translation keys:

  1. Search ../anytype-ts/src/json/text.json for the English text
  2. The key is the JSON property name (e.g., "authSelectSignup": "Create new vault" → use translations.authSelectSignup)
  3. For dynamic text with parameters, check how the component calls translate() with substitution params

Finding Selectors

To find stable selectors for elements:

  1. Search the component source in ../anytype-ts/src/ts/component/ for id=, data-, className
  2. Check for block IDs: blocks typically have #block-{id} selectors
  3. Check for menu IDs: menus use #menu{Type} pattern
  4. Check for popup IDs: popups use #popup{Type} pattern
  5. The sidebar uses #sidebarPage{Section} pattern

Test Areas Mapping

anytype-ts AreaTest DirectoryPage Objects
component/block/text.tsxtests/editor/pages/main/editor.page.ts
component/block/dataview.tsxtests/dataview/pages/main/dataview.page.ts
component/menu/tests/menus/(inline or new page object)
component/popup/tests/popups/pages/components/modal.component.ts
component/sidebar/tests/sidebar/pages/main/sidebar.page.ts
component/widget/tests/widgets/pages/main/widget.page.ts
component/page/main/graph.tsxtests/graph/(new page object)
component/page/auth/tests/auth/pages/auth/*.page.ts
store/(test via UI)(use existing page objects)

What NOT to Test

  • Pure TypeScript type changes
  • Internal utility refactors with no UI impact
  • CSS-only changes (unless they affect element visibility/layout)
  • Backend (anytype-heart) changes — those have their own tests
  • Build/config changes

平台分布

Codex

34.22%
按下载量换算150

Claude

29.7%
按下载量换算130

Cursor

18.04%
按下载量换算79

Gemini CLI

8.25%
按下载量换算36

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills