bnadlerjr
@bnadlerjr
Public Skills
researching-codebase
by bnadlerjr
"Researches and documents existing codebase implementations. Use when exploring how code works, understanding architecture, answering 'how does X work?' questions, or gathering context before making changes. Produces structured research documents with code references."
creating-agents
by bnadlerjr
Expert guidance for creating, auditing, and improving Claude Code agent definition files (.md). Use when working with ~/.claude/agents/ files, authoring new sub-agents, improving existing agents, or understanding agent configuration and system prompt best practices.
testing-react-with-vitest
by bnadlerjr
Expert guidance for writing Vitest tests for React applications using React Testing Library. Covers component tests, custom hooks, utility tests, sociable testing philosophy, and the RTL query priority system. Favors sociable tests over heavy mocking, stubs over mocks. Use when working with .test.ts/.test.tsx files, vitest.config.ts, React Testing Library, @testing-library/user-event, @testing-library/jest-dom, renderHook, or when discussing React testing patterns, component testing, hook testing, or test organization.
reviewing-code
by bnadlerjr
Pragmatic code review for source code changes. Use when code has been written or modified and needs review - after implementing features, completing refactors, or before merging PRs. Focuses on catching actual problems rather than enforcing theoretical purity. Does not review documentation or non-code files.
testing-elixir
by bnadlerjr
Provides expert guidance for writing ExUnit tests in Elixir. Covers core ExUnit patterns, assertions, sociable testing philosophy, Ecto sandbox and database testing, Phoenix controller/LiveView/channel tests, and external API testing with Bypass and Req.Test. Use when working with ExUnit tests, assertions, describe blocks, test organization, Bypass, Req.Test, factories, ExMachina, Ecto sandbox, ConnTest, LiveViewTest, ChannelTest, or test helpers.
using-playwright-cli
by bnadlerjr
Browser automation via playwright-cli (microsoft/playwright-cli), the AI-agent-focused CLI for controlling browsers through Bash commands. Covers element reference system, snapshot workflow, session management, cookies, storage, network interception, and content capture. Use when the user asks to automate a browser, scrape a webpage, fill a form, test a UI flow interactively, capture screenshots, manage cookies/storage, intercept network requests, or drive any browser interaction from the terminal. NOT for npx playwright test runner or codegen.
managing-linear
by bnadlerjr
Manages Linear issues via CLI using linearis (czottmann/linearis). Use when the user mentions Linear issue identifiers (e.g., 'ENG-123'), teams, cycles, projects, labels, issue management, or workflow automation. Handles issue CRUD, comments, cycle/project/label/team/user listing, document management, file embeds, search, and GitHub/GitLab PR linking via issue identifiers.
refactoring-agent-instructions
by bnadlerjr
Refactors bloated agent instruction files (CLAUDE.md, AGENTS.md, COPILOT.md, .cursorrules, etc.) to follow progressive disclosure — minimal root file linking to categorized files in guidelines/. Use when agent instructions are too long, hard to maintain, contain contradictions, or need reorganization.
writing-for-humans
by bnadlerjr
Post-processing rewrite skill that transforms dense LLM-generated documentation into scannable, concise, human-readable text. Covers vocabulary tics, structural anti-patterns, BLUF rewriting, and word-level editing. Use when other skills need to produce user-facing prose: READMEs, guides, tutorials, or commit messages. Loaded by other skills as a post-processing step — not a standalone command.
breaking-down-stories
by bnadlerjr
Breaks down user stories into small, actionable tasks. Use when decomposing user stories, planning sprint work, creating task lists from tickets, or when the user mentions story breakdown, task decomposition, or sprint planning.
writing-agile-stories
by bnadlerjr
"Write behavior-focused Agile user stories with BDD-style acceptance criteria. Use when defining features, clarifying requirements, creating development tickets, writing acceptance criteria, converting requirements to testable specs, or discussing user needs. Produces narrative-form stories with Given-When-Then scenarios."
writing-prds
by bnadlerjr
"Build Product Requirements Documents from Product Briefs. Use when transforming product vision into actionable requirements for engineers and designers. Produces high-level design principles, use case compendiums, and milestone definitions. A PRD focuses on 'what' not 'how'."
slicing-elephant-carpaccio
by bnadlerjr
"Breaks features into ultra-thin vertical slices using Elephant Carpaccio methodology. Use when planning new features, breaking down epics, slicing work across layers, or when a task spans multiple components. Produces an ordered backlog of thin slices, each independently working, testable, and demoable. Handles single-repo, monorepo, and multi-repo architectures."
datadog-cli
by bnadlerjr
Datadog CLI for searching logs, querying metrics, tracing requests, and viewing dashboards. Use this when debugging production issues or working with Datadog observability.
refactoring-code
by bnadlerjr
Identifies code smells and applies refactoring patterns for OOP and FP codebases. Use when improving code structure, reducing technical debt, cleaning up messy code, or when the user mentions refactoring, code smells, or "make this cleaner".
using-jq
by bnadlerjr
jq command-line JSON processor expertise covering filter syntax, object/array manipulation, data transformation, and CLI tool integration patterns. Use when processing JSON output from CLI tools (jira, gh, curl), extracting fields from API responses, transforming JSON data structures, or formatting JSON for shell consumption. Also use for jq filters, JSON parsing in bash, or when piping JSON through command-line tools.
developing-elixir
by bnadlerjr
Comprehensive Elixir/Phoenix development expertise covering Phoenix controllers, routing, channels; LiveView components and real-time features; Ecto schemas, queries, migrations; OTP patterns (GenServer, Supervisor); functional domain modeling; GraphQL with Absinthe; and ExUnit testing. Use when working with .ex/.exs files, mix projects, Phoenix applications, or when the user mentions Elixir, Phoenix, Ecto, LiveView, OTP, GenServer, Supervisor, Absinthe, or ExUnit. Also use for defmodule, mix.exs, umbrella apps, or iex sessions.
implementation-planning
by bnadlerjr
Creates detailed implementation plans through interactive research and iteration. Use when in plan mode, planning features, designing implementations, breaking down tasks into phases, or when the user asks "how should I implement X", "plan this feature", or wants a technical specification.
managing-jira
by bnadlerjr
Interacts with Jira via CLI for ticket operations. Use when the user mentions ticket identifiers (e.g., 'ABC-123'), discusses work tracking, references Jira projects, or needs search, create, edit, transition, comment, assign, or sprint/epic management. Handles JQL queries, workflow automation, and bulk operations using jira-cli (ankitpokhrel/jira-cli).
writing-product-briefs
by bnadlerjr
"Write Product Briefs that align teams on goals before discovery. Use when defining a new product vision, articulating problem statements, creating one-pagers, or crafting north star scenarios. Produces vision documents with thesis/antithesis, target audience, metrics, and narrative scenarios."
Writing Git Commits
by bnadlerjr
Original blog post
practicing-tdd
by bnadlerjr
Enforces test-first development with Red-Green-Refactor cycle. Use when implementing features, fixing bugs, writing tests, or when someone mentions TDD, test-driven, "test first", or "write a failing test".
mui
by bnadlerjr
Material-UI component library patterns including sx prop styling, theme integration, responsive design, and MUI-specific hooks. Use when working with MUI components (@mui/material), styling with sx prop, theme customization, or MUI utilities. Supports v5, v6, and v7.
developing-bash
by bnadlerjr
Shell scripting expertise covering POSIX-compliant and Bash-specific patterns, defensive scripting practices, cross-platform compatibility, and command-line automation. Use when working with .sh files, shell scripts, or when the user mentions Bash, POSIX, shell scripting, shebang, pipelines, or CLI automation. Also use for set -e, traps, parameter expansion, or cross-platform shell compatibility.
developing-typescript
by bnadlerjr
Comprehensive TypeScript/React development expertise covering advanced type systems, React component architecture, hooks patterns, state management, GraphQL integration with Apollo, performance optimization, and React Testing Library. Use when working with .ts/.tsx files, React components, or when the user mentions TypeScript, React, hooks, Context, Apollo, GraphQL codegen, React Testing Library, Vite, or Next.js. Also use for generic types, component patterns, or bundle optimization.
receiving-code-review
by bnadlerjr
Guides technical evaluation of code review feedback before implementation. Use when receiving PR comments, review suggestions, GitHub feedback, or when asked to address reviewer feedback. Emphasizes verification and reasoned pushback over blind agreement.
applying-swiss-design
by bnadlerjr
Applies Swiss/International Typographic Style principles to create clear, functional output. Use when designing interfaces, data visualizations, documentation, CLI output, or any output where clarity matters. Recognizes requests like "make it cleaner", "reduce clutter", "too busy", "improve readability", "visual hierarchy", "simplify the layout".
thinking-patterns
by bnadlerjr
Provides structured reasoning patterns that produce visible, auditable output. Use when the user asks to "think through", "reason about", "work through", "show your thinking", or wants step-by-step reasoning. Also invoked with /thinking or /thinking <pattern>.
creating-agent-skills
by bnadlerjr
Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
writing-prompts
by bnadlerjr
Write agentic prompts including system prompts, workflow prompts, delegation prompts, and meta prompts. Use when creating commands, automating workflows, making tasks reusable, or when the user says "write a prompt", "create a command", or "automate this".
coding-workflow
by bnadlerjr
Use when user asks to build a feature, implement something new, or make significant code changes. Recognizes requests like "build", "implement", "create a new feature", "add functionality", "develop", "I need to build X", "let's implement", "new feature request", "make these changes". Orchestrates a four-stage workflow (Research → Brainstorm → Plan → Implement) using the appropriate thought pattern skill at each stage.