browser-testing-with-s…
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI…
Use when creating new Claude Code skills or improving existing ones - ensures skills are discoverable, scannable, and effective through proper structure, CSO optimization, and real examples
$ npx -y skills add AgentWorkforce/relay --skill creating-skills-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/creating-skills-skillContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when creating new Claude Code skills or improving existing ones - ensures skills are discoverable, scannable, and effective through proper structure, CSO optimization, and real examples
name: creating-skills description: Use when creating new Claude Code skills or improving existing ones - ensures skills are discoverable, scannable, and effective through proper structure, CSO optimization, and real examples
**Skills are reference guides for proven techniques, patterns, or tools.** Write them to help future Claude instances quickly find and apply effective approaches.
Skills must be **discoverable** (Claude can find them), **scannable** (quick to evaluate), and **actionable** (clear examples).
**Core principle**: Default assumption is Claude is already very smart. Only add context Claude doesn't already have.
**Create a skill when:**
**Don't create for:**
--- name: skill-name-with-hyphens description: Use when [triggers/symptoms] - [what it does and how it helps] tags: relevant-tags ---
**Rules:**
# Skill Name ## Overview Core principle in 1-2 sentences. What is this? ## When to Use - Bullet list with symptoms and use cases - When NOT to use ## Quick Reference Table or bullets for common operations ## Implementation Inline code for simple patterns Link to separate file for heavy reference (100+ lines) ## Common Mistakes What goes wrong + how to fix ## Real-World Impact (optional) Concrete results from using this technique
**Match specificity to task complexity:**
**Red flag**: If skill tries to constrain Claude too much on creative tasks, reduce specificity. If skill is too vague on critical operations, add explicit steps.
**Critical:** Future Claude reads the description to decide if skill is relevant. Optimize for discovery.
# ❌ BAD - Too vague, doesn't mention when to use description: For async testing # ❌ BAD - First person (injected into system prompt) description: I help you with flaky tests # ✅ GOOD - Triggers + what it does description: Use when tests have race conditions or pass/fail inconsistently - replaces arbitrary timeouts with condition polling for reliable async tests # ✅ GOOD - Technology-specific with explicit trigger description: Use when using React Router and handling auth redirects - provides patterns for protected routes and auth state management
Use words Claude would search for:
**Use gerund form (verb + -ing):**
**Why gerunds work:**
**Avoid:**
**One excellent example beats many mediocre ones.**
// ✅ GOOD - Clear, complete, ready to adapt
interface RetryOptions {
maxAttempts: number;
delayMs: number;
backoff?: 'linear' | 'exponential';
}
async function retryOperation<T>(operation: () => Promise<T>, options: RetryOptions): Promise<T> {
const { maxAttempts, delayMs, backoff = 'linear' } = options;
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
try {
return await operation();
} catch (error) {
if (attempt === maxAttempts) throw error;
const delay = backoff === 'exponential' ? delayMs * Math.pow(2, attempt - 1) : delayMs * attempt;
await new Promise((resolve) => setTimeout(resolve, delay));
}
}
throw new Error('Unreachable');
}
// Usage
const data = await retryOperation(() => fetchUserData(userId), {
maxAttempts: 3,
delayMs: 1000,
backoff: 'exponential',
});Let Claude Code message Codex. Let your Hyperagent talk to your Hermes agent. Give your custom agents a way to message each other.
Repo: AgentWorkforce/relay
Use when testing web applications with visual verification - automates Chrome browser interactions, element selection, and screenshot capture for confirming UI…
Use when coordinating multiple AI agents with Agent Relay's workflow engine and need to pick the right orchestration pattern - covers the 10 core patterns…
Use when creating or improving Claude Code agents. Expert guidance on agent file structure, frontmatter, persona definition, tool access, model selection, and…
Use when creating or publishing Claude Code hooks - covers executable format, event types, JSON I/O, exit codes, security requirements, and PRPM package…
Use when creating or fixing .claude/rules/ files - provides correct paths frontmatter (not globs), glob patterns, and avoids Cursor-specific fields like…
Use when seeing WebSocket errors like "Invalid frame header", "RSV1 must be clear", or "WS_ERR_UNEXPECTED_RSV_1" - covers multiple WebSocketServer conflicts,…