Slash commands, skills, and decision frameworks for Claude Code.
git clone https://github.com/rolandtolnay/llm-toolkit.git ~/toolkits/llm-toolkit
cd your-project && ~/toolkits/llm-toolkit/install.jsIntegrations · Quick start · Commands & skills · Usage examples
Slash commands, auto-activating skills, and reference guides for Claude Code. Workflow automation (commits, verification, handoffs), integrations with Linear, Slack, and the web for research, 12 mental frameworks for structured decisions, and guides for writing better prompts.
These three skills are the highlight of the toolkit. Each is complex enough to deserve its own repository — they live together here so one install gives you all of them. If you adopt nothing else from this repo, adopt these.
Each activates automatically based on what you mention in conversation — no slash command needed.
Web research that scales from quick lookups to deep multi-source investigations. Decomposes a question into sub-questions, runs them in parallel across web search, library docs, Reddit, YouTube, and short-form video, then synthesizes a cited answer and saves it for later runs.
- Cost-conscious escalation — starts with free tools (WebSearch, WebFetch, Context7 docs, YouTube via yt-dlp) and only spends API budget when free sources fall short
- Parallel decomposition — splits complex questions across subagents that investigate independently, with mandatory source diversity per subagent
- Source verification — cross-references findings across primary, secondary, and tertiary sources, flags contradictions, and signals confidence (verified, likely, unverified)
- Compounding knowledge — saves standard and deep runs to
~/Documents/Research/with a scannable index, then consults that index before spending API budget on questions you've already researched - Audit trail — every web call is logged so you can review what each subagent did and how much it cost
Activates on "search for", "look up", "find out", "what's the latest", or "research".
Setup:
The skill loads keys from three sources in increasing precedence: your shell environment (lowest), ~/.claude/research/.env (skill-global), then .claude/research.env in the project root (highest). Already export PERPLEXITY_API_KEY in your shell? It just works — the env files only need to exist if you want to override or scope a key. Only Perplexity is required; the others unlock additional sources.
| Variable | Service | Powers | Required |
|---|---|---|---|
PERPLEXITY_API_KEY |
Perplexity | Synthesized answers, web search, reasoning | Yes |
CONTEXT7_API_KEY |
Context7 | Version-aware library documentation | No |
FIRECRAWL_API_KEY |
Firecrawl | Site mapping and full page scraping | No |
SCRAPECREATORS_API_KEY |
ScrapeCreators | Reddit and short-form video search | No |
Example ~/.claude/research/.env:
PERPLEXITY_API_KEY=pplx-...
CONTEXT7_API_KEY=...
FIRECRAWL_API_KEY=fc-...
SCRAPECREATORS_API_KEY=...YouTube search additionally requires yt-dlp (brew install yt-dlp on macOS) — no API key.
Run research config to verify which keys are loaded and which env files were read.
A conversational interface to Linear. Describe what you're working on and Claude infers priority and effort, picks the right project and labels, confirms once, and creates the ticket.
- Effort and impact estimation calibrated for AI-assisted development — infers priority from user impact and estimates implementation effort using values appropriate for working with Claude, not human-week sprints
- Project and label discovery — fetches available projects and labels and matches them to the ticket's domain
- Scope-change awareness — when a comment or description update changes scope, re-evaluates priority and estimate
- Custom view management — create, list, and delete Linear views from the conversation
- Document and attachment support — create native markdown documents on issues, attach files, and link git commits
Activates on phrases like "create a ticket", "mark done", "my issues", or any reference to an issue ID like ABC-123.
Setup:
- Create a
.linear.jsonin your project root:{ "teamId": "your-team-uuid", "projectId": "default-project-uuid", "defaultPriority": 3, "defaultLabels": ["mobile"] } - Add a Linear API key to
.claude/settings.local.json(git-ignored):{ "env": { "LINEAR_API_KEY": "lin_api_..." } } - Generate a key at linear.app/settings/api.
A conversational interface to Slack that posts as your user, not a bot. Read-only commands run immediately; outbound messages always require explicit confirmation before posting.
- Posts as you — uses your User OAuth Token, so messages appear from your account and respect your DMs, channels, and workspace permissions
- Confirmation gate on outbound — every send, schedule, and edit is drafted and shown to you before it goes out, so you never ship a message you didn't approve
- PR announcements —
share the PR in #engineering-prreads the current branch's PR viagh, drafts an impact-focused message, and posts after confirmation - Search and history — Slack search modifiers work (
from:me,in:#channel,before:2026-03-01); channel history surfaces threads inline - Status and scheduling — set status with auto-clear durations (
2h,1h30m), schedule messages with--at "in 30m"
Activates on phrases like "message Roland", "post in #engineering", "search Slack for X", or "set my status to deep work".
Setup:
- Create a Slack app at api.slack.com/apps → "From scratch" → pick your workspace.
- Under OAuth & Permissions, add these User Token Scopes:
chat:write,search:read,channels:history,channels:read,users:read,users.profile:write,groups:history,groups:read,reactions:write,im:history. - Click Install to Workspace and copy the User OAuth Token (starts with
xoxp-). - Add it to
.claude/settings.local.json(git-ignored):{ "env": { "SLACK_USER_TOKEN": "xoxp-..." } }
Full reference: skills/slack/references/setup-guide.md.
Slash commands you invoke directly in Claude Code (e.g., /verify).
/work-ticket
Fetch a Linear ticket, explore context, plan, implement, and commit. Use when starting work on an existing ticket.
/finalize-ticket
Commit changes, post a summary comment, attach the commit, and mark a Linear ticket as done. Use when wrapping up a completed ticket.
/verify
Second-opinion verification of completed work. Analyzes correctness, behavioral preservation, and completeness (blast-radius sweep for stale references) autonomously, then interrogates interactively before declaring issues. Use after finishing any feature, fix, or refactor.
/handoff
Generate a handoff doc with full context for a fresh session. Use when the conversation is long or you need to continue elsewhere.
/tidy-commits
Analyze unpushed commits for squash and streamlining opportunities. Use when you're about to push a branch with messy commit history.
/reflect
Review recent work across commits, conversations, and project artifacts. Extract principles and learnings, then write them to a destination you choose. Use when starting a new session to build on recent work.
/work-report
Generate a time-tracked report from git commit history. Use when reporting work done during a period.
/find-conversation
Search prior Claude Code conversations by natural language description. Use when you need to locate a past discussion.
/generate-readme
Walk through a codebase, ask clarifying questions, and produce a README. Use when creating or rewriting a project README.
/heal-docs
Restructure Markdown docs so LLMs can consume them more effectively. Use when optimizing reference docs, skills, or guides.
/heal-claude-md
Apply priority hierarchy and self-verification patterns to CLAUDE.md files. Use when improving project instructions for Claude Code.
Twelve decision-making frameworks for structured analysis. Run /analyze-problem to describe your situation and get a recommendation for which one fits.
/consider:first-principles
Break a problem down to fundamentals and rebuild. Use when designing a new system or redesigning one with multiple constraints.
/consider:5-whys
Drill to root cause by asking "why" repeatedly. Use when a bug keeps resurfacing or CI keeps breaking in different ways.
/consider:inversion
Identify what would guarantee failure, then avoid it. Use when planning a migration, major refactor, or production rollout.
/consider:second-order
Map consequences of consequences. Use when choosing between approaches that both work today but diverge long-term.
/consider:pareto
Apply the 80/20 rule to find highest-impact actions. Use when many issues surfaced but you can only address a few.
/consider:eisenhower-matrix
Sort tasks by urgency and importance. Use when sprint planning with a mix of bugs, tech debt, features, and infra work.
/consider:10-10-10
Evaluate impact across three time horizons. Use when tempted to take a shortcut, like hardcoding a value, skipping tests, or merging without review.
/consider:swot
Map strengths, weaknesses, opportunities, and threats. Use when evaluating whether to adopt a new framework, library, or tool.
/consider:occams-razor
Find the explanation that fits all facts with fewest assumptions. Use when a bug has multiple plausible causes and you're tempted to chase the exotic one.
/consider:one-thing
Identify the single highest-leverage action. Use when a large project has stalled with too many open threads.
/consider:opportunity-cost
Analyze what you give up by choosing each option. Use when deciding between building in-house vs. using a third-party service.
/consider:via-negativa
Improve by removing rather than adding. Use when a prompt, config, or module feels bloated but you're unsure what to cut.
Skills activate automatically based on what you're doing — no slash command needed. Claude Code picks the right one for the task.
create-skill
Build new SKILL.md files through collaborative conversation. Use when turning a workflow into a reusable skill.
create-slash-command
Generate slash command files with proper YAML frontmatter and structure. Use when building custom /commands or adding arguments and dynamic context.
create-subagent
Configure subagent specs with tool restrictions and orchestration patterns. Use when defining agent types or launching specialized agents with the Task tool.
create-hook
Write hook configurations for event-driven automation. Use when adding PreToolUse, PostToolUse, Stop, or other event hooks to validate commands or automate workflows.
create-prompt
Create standalone prompts that another Claude can execute. Use when writing reusable prompts for coding, analysis, or research tasks.
create-toolkit-installer
Generate install.js for Claude Code toolkit repos with manifest tracking, symlink/copy modes, and uninstall support. Use when creating a new distributable collection of commands, skills, agents, or references.
audit-prompt
Check prompt files for wasted tokens, poor positioning, and vague instructions. Use when reviewing changes to commands, skills, agents, or any file containing LLM instructions.
readme-best-practices
Apply consistent structure, tone, and formatting to README files. Use when drafting, rewriting, or reviewing a project README to make it scannable and developer-friendly.
clean-conversations
Remove empty Claude Code conversations across all projects. Use when cleaning up sessions that were opened then immediately closed.
prompt-quality-guide.md-- How LLMs process instructions: finite capacity, interference, positional bias, context depletion.docs/prompt-engineering-research-2025.md-- Academic research on instruction-following capacity and degradation patterns.docs/writing-effective-claude-md.md-- Reference guide for writing effective CLAUDE.md files.docs/readme-guide.md-- Writing effective READMEs (the principles behind/generate-readme).docs/building-skills-guide.md-- Guide to building Claude Code skills.docs/skill-description-guide.md-- Writing YAML skill descriptions that Claude Code reliably discovers.docs/skill-discovery-pattern.md-- Adding reliable skill loading to commands.docs/hooks-reference-official.md-- Reference for the Claude Code hooks system.docs/skills-reference-official.md-- Reference for the Claude Code skills system.
git clone https://github.com/rolandtolnay/llm-toolkit.git ~/toolkits/llm-toolkit
cd your-project && ~/toolkits/llm-toolkit/install.jsRequires Node.js 16.7+ and Claude Code. Open Claude Code and try /verify, or describe a Linear ticket to see the integrations auto-activate.
For global install, copy mode, or uninstall, see Install options.
The default install symlinks the toolkit into ./.claude/ of the current project. A git pull in ~/toolkits/llm-toolkit then updates every project that points at it.
~/toolkits/llm-toolkit/install.jsGlobal — available in every project, installed into ~/.claude/:
~/toolkits/llm-toolkit/install.js --globalCopy mode — copies files instead of symlinking, so they can be committed and shared with a team via git. Required on Windows since symlinks aren't supported.
cd your-project
~/toolkits/llm-toolkit/install.js --copyUninstall — removes every toolkit file from the target scope (add --global to uninstall the global install):
cd your-project
~/toolkits/llm-toolkit/install.js --uninstallSymlink installs (the default) update automatically when you pull the toolkit repo:
cd ~/toolkits/llm-toolkit && git pullCopy installs need to be re-run after pulling:
cd ~/toolkits/llm-toolkit && git pull
cd your-project && ~/toolkits/llm-toolkit/install.js --copyVerify completed work:
/verify
Analyzes your changes across correctness, preservation, and completeness, then walks through findings interactively before declaring issues.
Pick the right mental framework for a decision:
/analyze-problem
Describe your situation and get a recommendation for which of the 12 frameworks fits, then walk through the analysis.
Create a Linear ticket from a description:
Users lose their draft when the app goes to background -- save it to local storage
Infers priority (High, degraded core flow), estimate (S, 1-2 files, known approach), matches the right project and labels, asks you to confirm, and creates the ticket.
Generate a README for a project:
/generate-readme
Walks through the codebase, asks clarifying questions, and produces a README.
This is not a replacement for Claude Code's built-in capabilities. No general-purpose coding assistance, test generation, or CI/CD. The mental frameworks structure your reasoning but still need your judgment.