Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计未展示

testing-team测试团队

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

1,397

周安装

60

GitHub Stars

公开资料未说明

下载量

490
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:testing-team(测试团队)
来源仓库:https://github.com/ccalebcarter/purria-skills
仓库路径:skills/testing-team
安装命令:
npx skills add ccalebcarter/purria-skills --skill "testing-team"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

AgentSkills.tonpx skills
npx skills add ccalebcarter/purria-skills --skill "testing-team"

简介

为测试团队提供协作与流程支持。

  • 帮助协调多人参与的测试活动。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。
  • 可跟踪任务进度和问题状态。testing-team 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 集成 Trello 等看板工具提升透明度。
  • 注意权限管理防止误操作影响主线代码。

SKILL.md

name
testing-team
description
Complete QA, playtesting, and code quality team for game development. Use when evaluating player experience, fun factor, game feel, code quality, test coverage, refactoring, performance testing, or build validation. Covers playtesting methodologies, UX research, unit/integration/e2e testing, code review, linting, accessibility, and continuous quality assurance. Triggers on requests for testing, QA, playtesting, code review, refactoring, bug tracking, or quality validation.

Testing Team

Elite QA and playtesting specialists ensuring every build is fun, polished, and production-ready.

Team Composition

RoleDomainFocus
QA LeadTest strategy, release gatesOverall quality ownership
Playtest CoordinatorFun factor, game feelPlayer experience sessions
UX ResearcherUsability, player feedbackData-driven UX decisions
Code Quality EngineerLinting, patterns, refactoringClean, maintainable code
Test Automation EngineerUnit, integration, e2e testsAutomated test coverage
Performance AnalystLoad testing, profiling60fps, fast loads
Accessibility SpecialistWCAG, inclusive designEveryone can play

Playtesting Framework

The Fun Factor Checklist

Before any build ships, validate these pillars:

□ ENGAGEMENT
  □ Does the core loop feel satisfying?
  □ Is there clear moment-to-moment feedback?
  □ Do players want "one more turn"?

□ CLARITY
  □ Do players understand what to do?
  □ Are goals and progress visible?
  □ Is the UI intuitive without tutorial?

□ PROGRESSION
  □ Does difficulty ramp appropriately?
  □ Are rewards meaningful and well-paced?
  □ Is there a sense of mastery over time?

□ JUICE
  □ Do interactions feel responsive?
  □ Are wins celebrated appropriately?
  □ Does the game have "weight" and polish?

□ FAIRNESS
  □ Do losses feel fair (not random/cheap)?
  □ Is RNG transparent to players?
  □ Are comeback mechanics present?

Playtest Session Structure

SESSION TEMPLATE (45-60 minutes)

1. SETUP (5 min)
   - Fresh build, cleared save data
   - Screen recording enabled
   - Observer notes template ready

2. FIRST-TIME USER EXPERIENCE (15 min)
   - No guidance, observe natural behavior
   - Note: Where do they get stuck?
   - Note: What do they try first?
   - Note: Facial expressions, body language

3. GUIDED EXPLORATION (15 min)
   - Introduce features they missed
   - Ask: "What do you think this does?"
   - Ask: "How did that feel?"

4. FREE PLAY (10 min)
   - Let them play naturally
   - Note: What do they gravitate toward?
   - Note: What do they avoid?

5. DEBRIEF (10 min)
   - "What was most fun?"
   - "What was frustrating?"
   - "Would you play again? Why?"
   - "Rate 1-10: How fun was this?"

Player Experience Metrics

MetricTargetHow to Measure
Session Length>10 minAnalytics
Return Rate>40% D1Analytics
Core Loop Completion>80%Funnel tracking
Rage Quit Rate<5%Session end analysis
Fun Rating>7/10Post-session survey
Confusion Events<3/sessionObserver notes
"Aha!" Moments>2/sessionObserver notes

Code Quality Standards

Linting & Formatting

// .eslintrc.json for the project
{
  "extends": [
    "eslint:recommended",
    "plugin:@typescript-eslint/recommended",
    "plugin:react-hooks/recommended",
    "prettier"
  ],
  "rules": {
    "@typescript-eslint/no-unused-vars": "error",
    "@typescript-eslint/explicit-function-return-type": "warn",
    "react-hooks/exhaustive-deps": "error",
    "no-console": ["warn", { "allow": ["warn", "error"] }],
    "complexity": ["warn", 10],
    "max-lines-per-function": ["warn", 50]
  }
}
// biome.json alternative
{
  "linter": {
    "rules": {
      "complexity": {
        "noExcessiveCognitiveComplexity": {
          "level": "warn",
          "options": { "maxAllowedComplexity": 15 }
        }
      },
      "correctness": {
        "useExhaustiveDependencies": "error"
      }
    }
  }
}

Code Review Checklist

## PR Review Template

### Functionality
- [ ] Code does what the PR description claims
- [ ] Edge cases are handled
- [ ] Error states are managed gracefully
- [ ] No regressions in existing features

### Code Quality
- [ ] Functions are small and focused (<50 lines)
- [ ] Names are clear and descriptive
- [ ] No magic numbers (use constants)
- [ ] Complex logic has comments explaining "why"
- [ ] No duplicate code (DRY)
- [ ] TypeScript types are specific (no `any`)

### Performance
- [ ] No unnecessary re-renders (React)
- [ ] Heavy computations are memoized
- [ ] No memory leaks (cleanup in useEffect)
- [ ] Bundle size impact is acceptable

### Testing
- [ ] New code has tests
- [ ] Tests are meaningful (not just coverage)
- [ ] Tests run fast (<100ms each)

### Game-Specific
- [ ] Game feel is preserved
- [ ] Animation timing matches design
- [ ] Sound effects trigger correctly
- [ ] Mobile/touch interactions work

Refactoring Patterns

When to Refactor:

RED FLAGS:
- Function > 50 lines
- File > 300 lines
- Cyclomatic complexity > 10
- More than 3 levels of nesting
- Repeated code blocks
- "Utils" file growing unbounded
- Props drilling > 3 levels
- useEffect with 5+ dependencies

Safe Refactoring Process:

1. Ensure tests exist (write them first if not)
2. Make ONE change at a time
3. Run tests after each change
4. Commit working states frequently
5. Review diff before finalizing

Test Automation

Test Pyramid for Games

        ╱╲
       ╱  ╲        E2E Tests (Playwright)
      ╱ 10%╲       - Full user flows
     ╱──────╲      - Critical paths only
    ╱        ╲
   ╱   20%    ╲    Integration Tests
  ╱────────────╲   - Component interactions
 ╱              ╲  - Store + UI together
╱      70%       ╲ Unit Tests (Vitest)
╲────────────────╱ - Pure functions
                   - Game logic
                   - Utilities

Unit Test Examples

// Game logic tests
import { describe, it, expect } from 'vitest';
import { calculateBet, hexDistance, spreadTrouble } from './game-engine';

describe('calculateBet', () => {
  it('returns 0 for fold', () => {
    expect(calculateBet(1000, 'fold')).toBe(0);
  });

  it('returns 10% of coins for call', () => {
    expect(calculateBet(1000, 'call')).toBe(100);
  });

  it('returns all coins for all_in', () => {
    expect(calculateBet(1000, 'all_in')).toBe(1000);
  });

  it('floors fractional amounts', () => {
    expect(calculateBet(1005, 'call')).toBe(100);
  });
});

describe('hexDistance', () => {
  it('returns 0 for same hex', () => {
    const hex = { q: 0, r: 0, s: 0 };
    expect(hexDistance(hex, hex)).toBe(0);
  });

  it('calculates adjacent hex distance as 1', () => {
    const a = { q: 0, r: 0, s: 0 };
    const b = { q: 1, r: -1, s: 0 };
    expect(hexDistance(a, b)).toBe(1);
  });
});

Component Test Examples

// Component tests with Testing Library
import { render, screen, fireEvent } from '@testing-library/react';
import { ResourceBar } from './ResourceBar';

describe('ResourceBar', () => {
  it('displays the resource value', () => {
    render(<ResourceBar value={500} label="Coins" icon="🪙" />);
    expect(screen.getByText('500')).toBeInTheDocument();
  });

  it('animates on value change', async () => {
    const { rerender } = render(<ResourceBar value={500} label="Coins" />);
    rerender(<ResourceBar value={600} label="Coins" />);
    
    // Check for delta indicator
    expect(screen.getByText('+100')).toBeInTheDocument();
  });
});

E2E Test Examples

// Playwright e2e tests
import { test, expect } from '@playwright/test';

test.describe('Game Flow', () => {
  test('complete a full day cycle', async ({ page }) => {
    await page.goto('/game');
    
    // Verify initial state
    await expect(page.getByText('Day 1')).toBeVisible();
    await expect(page.getByText('Morning')).toBeVisible();
    
    // Advance through phases
    await page.getByRole('button', { name: /advance/i }).click();
    await expect(page.getByText('Action')).toBeVisible();
    
    // Place a bet
    await page.getByTestId('water-pot').click();
    await page.getByRole('button', { name: /call/i }).click();
    
    // Continue to resolution
    await page.getByRole('button', { name: /advance/i }).click();
    await expect(page.getByText('Resolution')).toBeVisible();
    
    // Verify score changed
    const score = await page.getByTestId('score').textContent();
    expect(parseInt(score || '0')).toBeGreaterThan(0);
  });

  test('hex interaction works', async ({ page }) => {
    await page.goto('/game');
    
    // Click a hex
    await page.getByTestId('hex-0-0').click();
    
    // Verify selection
    await expect(page.getByTestId('hex-0-0')).toHaveClass(/selected/);
  });
});

Test Commands

# Run all tests
bun run test

# Watch mode
bun run test:watch

# Coverage report
bun run test:coverage

# E2E tests
bun run test:e2e

# Type checking
bun run check-types

Performance Testing

Metrics & Budgets

MetricBudgetTool
First Contentful Paint<1.5sLighthouse
Time to Interactive<3sLighthouse
Frame Rate60fps stableChrome DevTools
JS Bundle<200KB gzippedBundlesize
Memory (gameplay)<100MBChrome DevTools
Animation Jank0 dropped framesPerformance panel

Performance Checklist

## Per-Build Performance Review

### Initial Load
- [ ] Bundle size within budget
- [ ] No render-blocking resources
- [ ] Images optimized and lazy-loaded
- [ ] Fonts preloaded

### Runtime
- [ ] 60fps during gameplay
- [ ] No memory leaks (check after 10 min play)
- [ ] Animations use GPU (transform/opacity only)
- [ ] Large lists are virtualized

### Mobile
- [ ] Touch response <100ms
- [ ] No janky scrolling
- [ ] Battery usage reasonable

Build Validation Gates

Pre-Merge Checklist

# CI Pipeline Gates
quality_gates:
  - name: "Lint"
    command: "bun run lint"
    required: true
    
  - name: "Type Check"
    command: "bun run check-types"
    required: true
    
  - name: "Unit Tests"
    command: "bun run test"
    required: true
    coverage_threshold: 70%
    
  - name: "Build"
    command: "bun run build"
    required: true
    
  - name: "Bundle Size"
    max_size: "200KB"
    required: true
    
  - name: "E2E Smoke"
    command: "bun run test:e2e --grep @smoke"
    required: true

Release Readiness

## Release Checklist

### Code Quality
- [ ] All tests passing
- [ ] No TypeScript errors
- [ ] No ESLint errors
- [ ] Code coverage >70%

### Functionality
- [ ] All features work as designed
- [ ] No P0/P1 bugs open
- [ ] Regression suite passing

### Performance
- [ ] Lighthouse score >90
- [ ] 60fps confirmed
- [ ] Load time <3s

### Player Experience
- [ ] Playtest feedback addressed
- [ ] Fun rating >7/10
- [ ] No confusion points remaining

### Accessibility
- [ ] Keyboard navigation works
- [ ] Screen reader compatible
- [ ] Color contrast passes
- [ ] Reduced motion supported

Bug Tracking Template

## Bug Report

**Title:** [Brief description]

**Severity:** P0 (Blocker) | P1 (Critical) | P2 (Major) | P3 (Minor)

**Environment:**
- Build: [version/commit]
- Browser: [name + version]
- Device: [desktop/mobile + specs]

**Steps to Reproduce:**
1. 
2. 
3. 

**Expected Behavior:**
[What should happen]

**Actual Behavior:**
[What actually happens]

**Frequency:** Always | Sometimes | Rare

**Screenshots/Video:**
[Attach here]

**Additional Context:**
[Console errors, network logs, etc.]

Reference Documents

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Antigravity

26.3%
按下载量换算129

Claude Code

22.59%
按下载量换算111

Gemini CLI

15.3%
按下载量换算75

windsurf

13.65%
按下载量换算67

Codex

7.27%
按下载量换算36

OpenCode

3.63%
按下载量换算18

安全审计

暂无安全审计结果可展示。

权限和风险

操作浏览器

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

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills