Agent skill
screenshot-generator
Generate screenshots for web audio apps (desktop, mobile landscape, mobile portrait) using Playwright. Also captures component-level screenshots for documentation.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/screenshot-generator
SKILL.md
πΈ Screenshot Generator Skill
μΉ μ±μ μ€ν¬λ¦°μ·μ μλμΌλ‘ μμ±ν©λλ€.
π― μ©λ
- README.md λ° λ¬Έμμ© μ€ν¬λ¦°μ· μμ±
- Desktop, Mobile Landscape, Mobile Portrait λ·° μΊ‘μ²
- κ°λ³ μ»΄ν¬λνΈ(ν€λ, ν¨λ, λ ΈλΈ λ±) μ€ν¬λ¦°μ·
π νμΌ κ΅¬μ‘°
screenshot-generator/
βββ SKILL.md # μ΄ νμΌ
βββ scripts/
βββ generate_screenshots.js # λ©μΈ μ€ν¬λ¦½νΈ
βοΈ μꡬμ¬ν
# Playwright μ€μΉ
npm install playwright
npx playwright install chromium
π μ¬μ©λ²
κΈ°λ³Έ μ€ν
# νλ‘μ νΈ λ£¨νΈμμ
node scripts/generate_screenshots.js
μ€ν¬λ¦½νΈ λμ
- λ‘컬 μλ² μμ:
http-serverλ‘ μ± μλΉ (ν¬νΈ 8080) - λΈλΌμ°μ μ€ν: Playwright Chromium
- μ€ν¬λ¦°μ· μΊ‘μ²:
screenshot-desktop.png(1280x800)screenshot-mobile-landscape.png(844x390)screenshot-mobile-portrait.png(iPhone 13 Pro)
- μ»΄ν¬λνΈ μΊ‘μ²: κ°λ³ UI μμ
- μλ² μ’ λ£
μΆλ ₯ μμΉ
μ€ν¬λ¦°μ·μ assets/ ν΄λμ μ μ₯λ©λλ€.
π§ νλ‘μ νΈλ³ 컀μ€ν°λ§μ΄μ§
κ° νλ‘μ νΈμμ μ€ν¬λ¦½νΈλ₯Ό 볡μ¬νκ³ νμμ λ§κ² μμ νμΈμ:
νμ μμ μ¬ν
// 1. μλ² ν¬νΈ (νμμ)
const server = spawn('npx', ['-y', 'http-server', '-p', '8080', '-a', '127.0.0.1']);
// 2. λκΈ°ν UI μμ (νλ‘μ νΈλ³λ‘ λ€λ¦)
await page.waitForSelector('.your-main-element', { timeout: 10000 });
// 3. μ»΄ν¬λνΈ μ
λ ν° (νλ‘μ νΈλ³λ‘ λ€λ¦)
const header = page.locator('.your-header-class');
await header.screenshot({ path: path.join(assetsDir, 'header.png') });
μ μ€ν¬λ¦°μ· μΆκ°
// μ€ν¬λ¦½νΈ νλ¨μ μΆκ°
console.log('Taking New Feature Screenshot...');
const newFeature = page.locator('.your-selector');
await newFeature.screenshot({ path: path.join(assetsDir, 'new-feature.png') });
π νλ‘μ νΈλ³ μ€μ μμ
acidBros
// λκΈ°ν μμ
await page.waitForSelector('.step-303', { timeout: 10000 });
await page.waitForSelector('.step-909', { timeout: 10000 });
await page.waitForSelector('.rotary-knob', { timeout: 10000 });
// μ»΄ν¬λνΈ
const transport = page.locator('.top-bar');
const tb303 = page.locator('.machine.tb-303').first();
const tr909 = page.locator('.machine.tr-909');
ddxx7
// λκΈ°ν μμ
await page.waitForSelector('.operator-panel', { timeout: 10000 });
await page.waitForSelector('.algorithm-matrix', { timeout: 10000 });
// μ»΄ν¬λνΈ
const header = page.locator('header');
const operatorPanel = page.locator('.operator-panel');
const libraryView = page.locator('.library-view');
uss44
// λκΈ°ν μμ
await page.waitForSelector('.pad-grid', { timeout: 10000 });
await page.waitForSelector('.waveform-editor', { timeout: 10000 });
// μ»΄ν¬λνΈ
const header = page.locator('header');
const padGrid = page.locator('.pad-grid');
const paramsPanel = page.locator('.params-panel');
β οΈ μ£Όμμ¬ν
- μλ² μΆ©λ: μ΄λ―Έ 8080 ν¬νΈκ° μ¬μ© μ€μ΄λ©΄ μ€ν¨
- νμμμ: λ€νΈμν¬ λ리면 waitForSelector νμμμ μ¦κ° νμ
- ν€λ리μ€: κΈ°λ³Έμ μΌλ‘ headless λͺ¨λ (νλ©΄ νμ μμ)
π κ΄λ ¨ λ¬Έμ
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?