By natelandau
Personal Claude Code toolkit: hooks, skills, and slash commands for my setup.
Use when writing, editing, or reviewing Bash/shell scripts (.sh files, shebang
Build Python applications using Beanie, the async MongoDB ODM built on Pydantic. Use when writing or modifying Beanie Document models, queries, updates, linked/embedded documents, aggregations, or init_beanie setup. Also use when the user mentions Beanie, MongoDB with Pydantic, Link[], BackLink, fetch_links, beanie.operators, or any Beanie ODM patterns, even if they don't explicitly say 'Beanie.' Covers the full lifecycle, document definition, CRUD, relations, query operators, update operators, aggregation, and state management.
Complete guide for building UIs with daisyUI v5 and Tailwind CSS, components, forms, theming, and responsive design. Use when building any user interface with daisyUI or Tailwind CSS, implementing UI components (buttons, cards, modals, tables, navbars), creating forms (inputs, selects, textareas, validation), configuring themes, or migrating from daisyUI v4 to v5. Also use when the user mentions daisyUI class names like btn, card, fieldset, input, select, or any daisyUI component patterns.
Use when writing, updating, editing, rewriting, reviewing, or improving user-facing documentation, including README files, CHANGELOGs, release notes, setup or install guides, API references, onboarding docs, contributing guides, and similar prose meant to help someone understand or use a project. Trigger on requests like "update the docs", "rewrite the README", "fix the documentation", "document this", "write a CHANGELOG entry", "add a setup guide", "polish this README", "review my docs", "the docs are out of date", or any task that produces or edits prose explaining how to install, configure, or use the project. Always invoke this skill when documentation is being created or revised, even when the user does not say "documentation" explicitly. Covers writing standards including clarity, user-focused framing, and avoiding common AI writing patterns that erode reader trust.
Build Python web applications with Flask 3+, using the application factory pattern and Blueprints. Use when developing Flask projects — blueprint structure, routes, authentication, error handling, working with sessions, implementing forms, configuring flask extensions, Jinja2 templates, CLI commands, logging, security, and deployment. Also use when the user mentions Flask routes, blueprints, app factory, Flask-Login, Flask-WTF, or any Flask extension, even if they don't explicitly say "Flask development."
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
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 personal Claude Code plugin that bundles my hooks, skills, and slash commands into a single installable package.
Personal use only. This plugin is published openly so it can be installed by Claude Code, but it is tuned to one developer's workflow, opinions, and habits. It is not a general-purpose toolkit. The hooks enforce rules that may surprise you, the skills assume specific tooling (uv, ruff, ty, pytest), and the stop-phrase guard reflects personal preferences about how Claude should communicate. Fork it if any of that is useful, but don't expect support, backwards compatibility, or stability.
main/master
from edits, nudge Claude toward uv run, and stop the assistant from
emitting specific phrases./create-prd for turning
conversation context into a Product Requirements Document.This is a Claude Code plugin, so install it through Claude Code itself
rather than copying files into ~/.claude/.
Use the /plugin command in Claude Code to add this repository as a
plugin source. See the
Claude Code plugin docs
for the current command syntax.
When the plugin is enabled, Claude Code clones the repo into
~/.claude/plugins/... and sets CLAUDE_PLUGIN_ROOT to that path. All
hook commands in hooks/hooks.json reference scripts via
${CLAUDE_PLUGIN_ROOT}/... so they resolve correctly regardless of
install location.
Clone the repo and install the dev dependencies with uv:
git clone <this-repo> cc-plugin
cd cc-plugin
uv sync
The hooks have a pytest suite. Run the full suite or a single file:
uv run pytest
uv run pytest tests/test_branch_protection.py
Hook paths resolve through a session-scoped fixture in
tests/conftest.py, so tests run from any cwd.
uv run ruff check
uv run ruff format
uv run ty check
These run automatically via prek (the dev pre-commit runner) on
commit, but you can run them manually too.
.claude-plugin/marketplace.json Marketplace catalog
plugins/natelandau-toolkit/.claude-plugin/plugin.json Plugin manifest
plugins/natelandau-toolkit/hooks/hooks.json Event registration
plugins/natelandau-toolkit/hooks/*.py Hook scripts (uv run --script)
plugins/natelandau-toolkit/skills/<name>/SKILL.md On-demand skill content
plugins/natelandau-toolkit/commands/<name>.md Slash commands
plugins/natelandau-toolkit/agents/<name>.md Subagent definitions (currently empty)
tests/test_*.py Pytest suite for the hooks
CLAUDE.md documents the conventions for each component type, including
the exit-code semantics for hooks, the required frontmatter fields for
skills, and the pytest case structure used in tests/. Read it before
adding anything new.
Released under the MIT License. The license is permissive, but the personal-use caveat above still applies in spirit: you're welcome to fork or borrow code, just don't expect this repo to behave like a maintained product.
npx claudepluginhub natelandau/cc-plugin --plugin natelandau-toolkitMulti-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
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
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.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.