Agent Skillspenpot/penpot › testing

testing

GitHub

规范 Penpot 项目的测试驱动开发流程与最佳实践。涵盖单元测试、E2E 测试及 Bug 修复验证,要求遵循 TDD 工作流并阅读模块特定的测试指南,确保行为变更均有对应测试覆盖。

.opencode/skills/testing/SKILL.md penpot/penpot

Trigger Scenarios

实现新功能逻辑 修复 Bug 需编写复现测试 修改现有功能行为 添加边缘情况处理

Install

npx skills add penpot/penpot --skill testing -g -y
More Options

Non-standard path

npx skills add https://github.com/penpot/penpot/tree/develop/.opencode/skills/testing -g -y

Use without installing

npx skills use penpot/penpot@testing

指定 Agent (Claude Code)

npx skills add penpot/penpot --skill testing -a claude-code -g -y

安装 repo 全部 skill

npx skills add penpot/penpot --all -g -y

预览 repo 内 skill

npx skills add penpot/penpot --list

SKILL.md

Frontmatter
{
    "name": "testing",
    "description": "Enforce TDD workflow and testing best practices for Penpot. Use when implementing features, fixing bugs, or modifying behavior. Reads testing memory for full guidance."
}

Testing Skill

Enforces test-driven development and Penpot testing conventions.

When to Use

  • Implementing new logic or behavior
  • Fixing any bug (reproduction test required)
  • Modifying existing functionality
  • Adding edge case handling

Skip: Pure configuration changes, documentation updates, or static content with no behavioral impact.

Workflow

Follow TDD (Red → Green → Refactor) whenever practical:

  1. RED — Write a failing test first
  2. GREEN — Write minimal code to pass
  3. REFACTOR — Clean up while tests stay green

For bug fixes, use the Prove-It Pattern: write a test that reproduces the bug, confirm it fails, implement the fix, confirm it passes.

Required Reading

Before writing any test, read:

  1. .serena/memories/testing.md — cross-cutting testing principles, TDD workflow, anti-patterns, execution discipline
  2. Module-specific testing memory for the affected module:
    • mem:common/testing — CLJC unit tests
    • mem:frontend/testing — CLJS unit tests, Playwright E2E
    • mem:backend/testing — JVM clojure.test conventions
    • mem:exporter/testing — exporter unit tests

Key Rules

  • Every behavior change needs a test
  • Test state, not interactions
  • DAMP over DRY — tests are specifications; duplication is OK if each test is self-contained and readable
  • Prefer Real > Fake > Stub > Mock
  • Arrange-Act-Assert structure
  • One assertion per concept
  • Never pipe test output to filters — redirect to file first
  • Register new test files in the module's runner/entrypoint

Verification

After completing implementation:

  • Every new behavior has a test
  • All tests pass for touched modules
  • Bug fixes include a reproduction test
  • Lint/formatter passes

Version History

  • 2ce202c Current 2026-08-29 06:38

    拆分后端测试内存至 backend/testing,更新 skill 引用路径并新增 exporter/testing 必读项。

  • 2dcf1a8 2026-08-20 19:20

Same Skill Collection

.opencode/skills/bat-cat/SKILL.md
.opencode/skills/code-review-and-quality/SKILL.md
.opencode/skills/code-review/SKILL.md
.opencode/skills/create-commit/SKILL.md
.opencode/skills/create-issue/SKILL.md
.opencode/skills/create-pr/SKILL.md
.opencode/skills/fd-find/SKILL.md
.opencode/skills/jq-json-processor/SKILL.md
.opencode/skills/nrepl-eval/SKILL.md
.opencode/skills/plan-review/SKILL.md
.opencode/skills/planner/SKILL.md
.opencode/skills/refine-prompt/SKILL.md
.opencode/skills/ripgrep/SKILL.md
.opencode/skills/security-and-hardening/SKILL.md
.opencode/skills/taiga/SKILL.md
.opencode/skills/update-changelog/SKILL.md
.opencode/skills/ste/SKILL.md

Metadata

Files
0
Version
2ce202c
Hash
2283f731
Indexed
2026-08-20 19:20

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-16 13:54
浙ICP备14020137号-1 $mapa de visitantes$