cat ./series/claude-skills-toolkit
An ongoing series where I publish, white-labeled, the Claude Code customizations I rely on day-to-day. Skills, hooks, rules, subagents, and slash commands. Each post explains one artifact, the problem it solves, and the patterns inside it that you can copy or adapt.
Read intro: Claude Code Toolkit: Sharing the Customizations I Actually Use- [1/22] nf-agents: Spawning Claude Code Teams Without Footguns A Claude Code skill that wraps team and agent spawning into five named modes, runs a four-line pre-flight check, and bakes the cooperative shutdown protocol into the workflow. Plus the four design decisions that took an incident each to get right.
- [2/22] Sharing my Claude Code rules: safety, no auto-commit A short global rule that forbids Claude Code from running git commit or git push unless I type the explicit word. It cost me one bad push to write down. Now it lives in every session.
- [2/22] nf-dream: Consolidating Claude Memory Without Losing Your Past Self A Claude Code skill that classifies every file in your autoMemoryDirectory as Now, Next, Done, Future, Reference, or Stale, then reorganizes the index, writes a one-page handoff, archives aged session-end states, and dedupes overlapping topics. Project-scoped, snapshot-first, never deletes. Plus the four design decisions that took an incident each to get right.
- [3/22] Sharing my Claude Code rules: agent safety and worktree isolation The global rule that decides when to delegate code edits to a sub-agent, when to put that agent in a worktree, and how to integrate the result without breaking the main session's working tree. Built from two real incidents.
- [3/22] nf-git-workflow: Opting Out of Ask-Before-Every-Commit, Safely A Claude Code skill that installs a project-scoped rule overriding the global 'ask before every commit and push' safety check, but only for this one repo. The current branch at install time becomes the protected head; one or more of three modes (worktree-pr, worktree-local-merge, direct-on-head) declares how work lands on it. Plus the four design decisions that took an incident each to get right.
- [4/22] Sharing my Claude Code rules: code style, no barrel files A tiny rule that bans barrel index.ts files and enforces direct component naming. Cheap to write, expensive to skip. The rule pays back every time the model is tempted to generate index.ts re-exports.
- [4/22] nf-memory: Pointing autoMemoryDirectory Without Footguns A Claude Code skill that configures autoMemoryDirectory in .claude/settings.local.json, picks the target folder via an interactive picker, optionally migrates existing per-project memory into a shared folder with smart merge, and refuses to point at a path that contains the project itself. Plus the four design decisions that took an incident each to get right.
- [5/22] Sharing my Claude Code rules: development, no mocks and no new endpoints A rule that forbids the model from generating mock data, modifying global API endpoints, or inventing new utilities when an existing helper already covers the case. The rule that makes Claude Code feel like a teammate instead of a stranger.
- [5/22] nf-cc-sync: Pull-Only Sync of ~/.claude/ Between Machines A Claude Code skill that syncs ~/.claude/ across machines using a branch-per-machine git layout. Pull-only, key-level merge for settings.json, prefer-newer for skills and rules, never auto-deletes. Plus the two design decisions that came out of real merge accidents.
- [6/22] Sharing my Claude Code rules: git commit format and multi-account workflow A global rule for commit message format, branch naming, GitHub CLI account switching, and the merge patterns that protect a debug session from being reset by a stray checkout. The biggest rule file in my setup.
- [6/22] nf-ignore: A .gitignore Auditor for AI Tools and Env Files A Claude Code skill that audits .gitignore for AI coding tool patterns and env file policy. Detects the project's framework (Vite, Next.js, Nuxt, Astro, SvelteKit, Remix) vs plain Node.js to apply the correct env convention, and patches AI tool entries that only ignore personal files while keeping team-shared configs committed.
- [7/22] Sharing my Claude Code rules: guide-user progressive disclosure A rule that tells Claude Code how to walk a user through a procedure. One step at a time when the procedure is non-trivial. Anchor points for confirmation. Stop guessing when the user says I don't see that.
- [7/22] nf-direnv: A Per-Repo .envrc With a Dynamic GitHub Token A Claude Code skill that sets up .envrc in the current repo with GH_TOKEN resolved dynamically via gh auth, manages .gitignore, and runs direnv allow. Picks the correct gh account for multi-account setups, never writes a plaintext token to disk.
- [8/22] Sharing my Claude Code rules: local folder, credentials, and breadcrumbs The convention for the .local/ folder. Where credentials and personal project context live. Why every move out of a tracked path needs a breadcrumb so the next session can find what moved.
- [9/22] Sharing my Claude Code rules: shell compatibility, zsh arrays and globs A rule that documents the three places zsh and bash diverge enough to break the model's shell snippets. Variable word-splitting, no-match globs, array indexing. Small differences, large failures, fixable with one rule.
- [15/22] nf-blog: Publish a White-Labeled Post to a Personal Blog From a Claude Code Session A Claude Code skill that turns a tutorial written in the current session into a blog post on a personal blog, with mandatory white-label audit, Vietnamese-aware slug generation, series support, and an Astro build verification before deploy.
- [16/22] nf-claude-restructure: Migrate Legacy CLAUDE.md Into Modular .claude/rules/ A Claude Code skill that fetches the latest Claude Code documentation, analyzes existing CLAUDE.md and CLAUDE.local.md files, and splits content into global ~/.claude/rules/ vs project ./.claude/rules/ based on auto-detected scope. Asks for output mode, never overwrites existing files.
- [17/22] claude-authoring: A Skill for Writing Claude Code Rules, Skills, and Plans A Claude Code skill that authors rules, skills, and plans correctly the first time. Routes by task type to a reference standard, enforces imperative form, kebab-case naming, no second person, and uses the right format (plain markdown for rules, YAML frontmatter for skills, status tracking for plans).
- [18/22] claude-changelog: Diff the Latest Claude Code Release Against Your Setup A Claude Code skill that fetches the latest Claude Code changelog, scans ~/.claude/, and suggests adjustments your setup may need after a version upgrade. Read only by design, never auto-applies changes.
- [19/22] fullstack-engineer: subagent persona for backward-compatible code changes A Claude Code subagent that treats every edit as potentially breaking. It reads before it writes, prefers additive changes over rewrites, and surfaces backward-compat risks before touching a file. Persona file plus a walkthrough of where the default agent falls short.
- [20/22] svg-diagram-specialist: subagent persona for inline SVG diagrams A Claude Code subagent that draws one inline SVG diagram per response with strict layout math, accessibility, dark-mode CSS variables, and a shape vocabulary for infra concepts. Persona file plus a walkthrough of what the default agent gets wrong when you ask it for a diagram.
- [21/22] ui-ux-designer: subagent persona for design feedback and visual polish A Claude Code subagent that thinks design-first but implements code-first. It audits the current UI, lists concrete issues with values (contrast ratios, spacing, type scales), proposes grouped changes, then writes the code. Persona file plus a walkthrough where the default agent stops at functional and this one keeps going to polished.