perf

GitHub

用于审计前端组件性能,检查资源清理、渲染成本等潜在问题,并依据规则提供具体修复建议与评分报告。

.claude/skills/perf/SKILL.md alamenai/terrae

Trigger Scenarios

需要评估或优化前端组件性能时 发现应用存在内存泄漏或卡顿问题时

Install

npx skills add alamenai/terrae --skill perf -g -y
More Options

Non-standard path

npx skills add https://github.com/alamenai/terrae/tree/main/.claude/skills/perf -g -y

Use without installing

npx skills use alamenai/terrae@perf

指定 Agent (Claude Code)

npx skills add alamenai/terrae --skill perf -a claude-code -g -y

安装 repo 全部 skill

npx skills add alamenai/terrae --all -g -y

预览 repo 内 skill

npx skills add alamenai/terrae --list

SKILL.md

Frontmatter
{
    "name": "perf",
    "description": "Audit component performance and identify optimization opportunities with actionable fixes",
    "allowed-tools": "Read, Grep, Glob, Bash(git diff*)",
    "argument-hint": [
        "component-name"
    ]
}

Performance Audit Skill

Audit Terrae components for performance issues. Identifies problems, explains their impact, and provides actionable fixes.

If $ARGUMENTS is provided, audit only that component. Otherwise, audit all components in src/registry/map/.

Performance patterns and best practices are defined in .claude/rules/react/performance.md.

Instructions

Step 1: Identify Target

If a component name is provided, locate it in src/registry/map/. Otherwise, scan all component files.

Step 2: Run the Audit

For each component, read the full file and check every rule in .claude/rules/react/performance.md:

  1. Resource cleanup (RAF, timers, listeners, markers, layers, sources, images, observers, canvas)
  2. Recursive requestAnimationFrame polling
  3. Untracked timers in renderers
  4. Mapbox objects in state vs refs
  5. useEffect dependency arrays (oversized, unstable references, callbacks)
  6. Layer and source management (setPaintProperty vs remove/re-add, existence checks)
  7. GeoJSON data handling (recomputation, update frequency)
  8. Canvas performance (pixel ratio, size, getImageData, off-screen canvas)
  9. DOM manipulation (innerHTML, style injection)
  10. Memory leaks (event listeners, growing collections, stale closures)

Also check for:

  • Component re-render cost (expensive computations in render path, large JSX trees)
  • Duplicate utility functions across files (DRY violations that bloat bundle size)

Step 3: Report

Structure the report as:

## Performance Audit: [Component Name]

### Score: [X/10]

### Critical Issues
Issues that cause measurable performance degradation or memory leaks.

### Warnings
Patterns that could degrade performance under load or over time.

### Best Practices
Recommendations for following optimal patterns.

### Passed Checks
Checks that the component already handles correctly.

For each issue found, include:

  • What: Description of the problem
  • Where: File path and line number
  • Impact: What happens if not fixed (memory leak, jank, unnecessary re-renders, etc.)
  • Fix: Concrete code example showing the solution

Scoring Guide

  • 10/10: No issues found, follows all best practices
  • 8-9/10: Minor warnings only, no performance impact
  • 6-7/10: Some warnings that could cause issues under load
  • 4-5/10: Has performance issues that affect user experience
  • 2-3/10: Critical issues causing memory leaks or severe jank
  • 0-1/10: Fundamentally broken performance patterns

Version History

  • ea9a480 Current 2026-07-25 11:49

Same Skill Collection

.claude/skills/check/SKILL.md
.claude/skills/commit/SKILL.md
.claude/skills/docs/SKILL.md
.claude/skills/fix/SKILL.md
.claude/skills/issue/SKILL.md
.claude/skills/lint/SKILL.md
.claude/skills/new/SKILL.md
.claude/skills/release/SKILL.md
.claude/skills/review/SKILL.md
.claude/skills/pr/SKILL.md
.claude/skills/test/SKILL.md

Metadata

Files
0
Version
ea9a480
Hash
27244409
Indexed
2026-07-25 11:49

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-27 04:36
浙ICP备14020137号-1 $Carte des visiteurs$