By mcclowes
A grab bag of agent skills across software engineering and writing, including opinionated API design patterns
Max's house writing style and grammar for any prose you generate for him - docs, READMEs, PR descriptions, commit messages, Slack, emails, code comments, error messages, blog posts, and replies in chat. Use this whenever you are writing or editing English prose meant for Max or sent on his behalf, even when he doesn't explicitly ask for a particular style. Apply it by default to anything wordier than a one-line answer; favour warm-but-blunt, concise writing, US English, sentence case, the Oxford comma, and zero AI jargon. Do not use it for code itself, config, or data formats.
Use when deciding how to organise code in an AI-assisted codebase — whether to split or merge a file, where to draw module boundaries, how big a file should get, or whether to separate logic from rendering/styles/data. Triggers on "should I split this file", "this file is getting too big", "separate concerns", "where should this code live", reviewing or refactoring file/module organisation, structuring a new component or feature, or any architecture decision where part of the audience is an AI coding agent. Apply this whenever someone is choosing how to lay code out across files and an LLM will be reading or editing it, even if they only say "refactor this" or "clean up the structure" without mentioning AI.
Use when designing, reviewing, or implementing HTTP APIs — error and warning handling, resource state and lifecycle, read-endpoint structure, pagination, and authentication. Triggers on error responses and formats, response envelopes, webhook payloads, how an endpoint should fail; modelling a resource lifecycle (status fields, state machines, webhook event names, enum vs parseable string); structuring read endpoints (screen-shaped/BFF vs canonical resource, aggregation, cursor vs offset pagination); and auth design (security schemes, API keys vs bearer tokens, stepped-up tokens). Apply whenever an API surfaces a failure, state change, view of data, or auth requirement to a client.
Context-efficient codebase navigation and documentation using structured frontmatter headers. Use this when exploring an unfamiliar codebase, answering "where is X / how does Y work" questions, or when asked to add/maintain file-level documentation. Index a tree's headers in one pass instead of reading every file, and generate or validate frontmatter with the bundled scripts. Reach for it whenever token budget matters while navigating code, even if the user does not say "frontmatter".
Use when designing language features - covers lexer, parser, AST, and interpreter patterns
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A general-purpose collection of agent skills for Claude Code and Claude.ai.
npx skills add mcclowes/skills
Install specific skills only:
npx skills add mcclowes/skills --skill api-design
Install globally (available across all projects):
npx skills add mcclowes/skills -g
Preview available skills before installing:
npx skills add mcclowes/skills --list
| Skill | Description |
|---|---|
| ai-aware-code-structure | How to organise code across files when an AI coding agent is one of the readers — when to split or merge a file, where to draw module boundaries, and how self-contained each file should be |
| api-design | Design and review developer-friendly HTTP API responses — a unified issues array for consistent error and warning handling, plus resource state/lifecycle and event naming, with field reference and React consumption examples |
| code-frontmatter | Context-efficient codebase navigation using structured frontmatter headers — index a tree's headers in one pass instead of reading every file, and generate or validate frontmatter with the bundled scripts |
| language-design | Patterns for designing language features — lexer, parser, AST, and interpreter design |
| react-compound-components | Implementing React compound component patterns with dot notation — share state via context for composable, multi-part UI components |
claude mcp add-json mcclowes-skills '{"type":"stdio","command":"npx","args":["-y","claude-skills-cli","serve","https://raw.githubusercontent.com/mcclowes/skills/main/.claude-plugin/marketplace.json"]}'
npm i -g openskills
openskills install mcclowes/skills
Copy skill directories from skills/ to your .claude/skills/ folder.
By default, Claude Code may not always activate skills when relevant. For more reliable activation, set up the forced eval hook:
./setup-hook.sh
Or manually:
cp hooks/skill-activation-forced-eval.sh .claude/hooks/chmod +x .claude/hooks/skill-activation-forced-eval.sh.claude/settings.json:{
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": ".claude/hooks/skill-activation-forced-eval.sh"
}
]
}
]
}
}
See this blog post for details.
See LICENCE file for details.
Contributions welcome — please feel free to submit issues or pull requests.
Each skill's SKILL.md description must be 1024 characters or fewer. Skills that exceed this limit are silently dropped by npx skills add and won't appear in the install picker.
scripts/validate-skills.sh enforces this (plus the presence of name and description frontmatter) across every skills/*/SKILL.md. It runs in two places:
CI — .github/workflows/validate-skills.yml runs it on every push and pull request.
Pre-commit — .githooks/pre-commit runs it before each commit. Enable it once per clone:
git config core.hooksPath .githooks
Bypass with git commit --no-verify if needed. Run the check manually any time with ./scripts/validate-skills.sh.
npx claudepluginhub mcclowes/skills --plugin mcclowes-skillsUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Memory compression system for Claude Code - persist context across sessions
Marketing skills for AI agents — conversion optimization, copywriting, SEO, paid ads, ad creative, and growth
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.