mcp-security
Use when securing MCP servers, preventing prompt injection, implementing authorization, validating user input, or building secure multi-agent pipelines. Provides 5-layer defense architecture patterns.
qa-screenshot-management
Screenshot capture, organization, and comparison for QA testing. Use when taking screenshots during test execution to ensure proper naming, organization, and traceability back to test cases.
Full skill instructions
Standardize screenshot capture and organization during QA testing.
qa-tests/
├── draft/ # QA test documents by status
├── active/
├── executed/
├── archived/
└── screenshots/
├── {test-id}/ # e.g., QA-20250105-001
│ ├── 01-initial-state.png # Numbered sequence
│ ├── 02-form-filled.png
│ ├── 03-success-state.png
│ └── elements/ # Extracted UI elements
│ ├── login-button.png
│ ├── email-field.png
│ └── password-field.png
├── baseline/ # Reference screenshots for comparison
│ └── {feature}/
│ └── {state}.png
└── failures/ # Failed test evidence
└── {date}/
└── {test-id}-{timestamp}.png
Key: Screenshots are stored in qa-tests/screenshots/{test-id}/ where {test-id} matches the QA test document name (e.g., QA-20250105-001).
{sequence}-{state-description}.{png|jpeg}
01- through 99- for ordered stepsUse descriptive, kebab-case names:
| State | Example Filename |
|---|---|
| Initial page load | 01-initial-state.png |
| After form fill | 02-form-filled.png |
| Validation error | 03-validation-error.png |
| Success message | 04-success-message.png |
| Modal open | 05-modal-open.png |
| Dropdown expanded | 06-dropdown-expanded.png |
| Bad | Good |
|---|---|
screenshot1.png | 01-login-page-loaded.png |
test.png | 02-credentials-entered.png |
error.png | 03-invalid-password-error.png |
final.png | 04-dashboard-after-login.png |
Include metadata in test documentation:
### Screenshots
| # | Filename | Description | Step |
|---|----------|-------------|------|
| 1 | 01-initial-state.png | Login page before input | TC-001 Step 1 |
| 2 | 02-credentials-entered.png | Form with test credentials | TC-001 Step 2 |
| 3 | 03-dashboard-loaded.png | Dashboard after successful login | TC-001 Step 3 |
// Full viewport
await page.screenshot({ path: 'screenshots/01-initial-state.png' });
// Full page (scrollable)
await page.screenshot({
path: 'screenshots/02-full-page.png',
fullPage: true
});
// Specific element only
const element = page.locator('.error-message');
await element.screenshot({ path: 'screenshots/03-error-detail.png' });
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
await page.screenshot({
path: `screenshots/failure-${timestamp}.png`
});
Create Baseline
screenshots/baseline/{feature}/Compare During Testing
| Type | Action |
|---|---|
| Dynamic content (dates, times) | Mask or ignore region |
| User-specific data | Use consistent test data |
| Animations | Wait for stable state |
| Random elements (ads) | Exclude from comparison |
When a test fails, capture:
screenshots/failures/2025-01-05/
├── QA-20250105-001-TC-002-1704456789.png # Actual state
├── QA-20250105-001-TC-002-expected.png # Expected (if applicable)
└── QA-20250105-001-TC-002-diff.png # Visual diff (if generated)
Organize by browser when testing multiple browsers:
screenshots/{test-id}/
├── chrome/
│ ├── 01-initial-state.png
│ └── 02-final-state.png
├── firefox/
│ └── ...
└── safari/
└── ...
Capture at standard breakpoints:
| Device | Width | Suffix |
|---|---|---|
| Mobile | 375px | -mobile |
| Tablet | 768px | -tablet |
| Desktop | 1280px | -desktop |
| Wide | 1920px | -wide |
Example:
01-homepage-mobile.png
01-homepage-tablet.png
01-homepage-desktop.png
| Category | Retention |
|---|---|
| Passing tests | Delete after test run |
| Failing tests | Keep until issue resolved |
| Baselines | Keep in version control |
| Regression evidence | Keep 30 days minimum |
# Remove screenshots older than 30 days from failures
find qa-tests/screenshots/failures -mtime +30 -delete
Reference screenshots in test execution logs:
## Test Execution Log
| Date | Tester | Result | Evidence |
|------|--------|--------|----------|
| 2025-01-05 | Jane | FAIL | [Screenshots](./screenshots/QA-20250105-001/) |
When documenting accessibility issues:
Highlight Problem Area
Include Context
Document Fix Verification
Use when securing MCP servers, preventing prompt injection, implementing authorization, validating user input, or building secure multi-agent pipelines. Provides 5-layer defense architecture patterns.
Validate and fix parallel prompts for required sections
Create a new Claude Code agent skill with proper folder structure and SKILL.md format. Use when the user wants to add a model-invoked skill that Claude uses autonomously based on context. Handles skill folder creation with SKILL.md and optional reference files.
Design system management for building and reusing UI components, tokens, and patterns. Use when working with component libraries, design tokens, style guides, or reusable UI patterns to ensure consistency and promote component reuse.
FastMCP TypeScript framework patterns for MCP servers. Auto-loads when building MCP servers, creating tools/resources/prompts, implementing authentication, configuring transports, or working with FastMCP in TypeScript.
Port management for local development with git worktrees. Use when setting up local development environments, booking ports for services to avoid collisions between parallel worktrees, or configuring docker-compose with dynamic ports.
Automatic QA test lifecycle management, naming conventions, and directory structure. Use when creating, organizing, or tracking QA tests to ensure proper naming, directory structure, and status transitions.
Create a new Claude Code slash command with proper YAML frontmatter structure. Use when the user wants to add a custom slash command to a plugin. Handles command file creation with description, argument hints, allowed tools, and all advanced features.
Dependency version alignment and conflict resolution for parallel development. Use when extracting dependencies from Tech Specs to ensure version compatibility with existing project dependencies and transitive dependencies.
Review code changes between commits for security, logic, performance, and style issues
Create detailed user persona with guided questions
Undo git-branchless operations - recover from mistakes interactively
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience