research/SKILL.md
Deep research before planning. Launches parallel agents to search docs, web, and codebase, then synthesizes findings into actionable context.
npx skillsauth add Shpigford/skills researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
$ARGUMENTS
Research this thoroughly before any planning or implementation begins.
Before reading a single file or launching any agent, use AskUserQuestion. Read the input and identify every place where you have 2+ plausible interpretations — scope, intent, constraints, approach, priority. Ask about those specifically.
How to ask: Present choices tailored to the actual input, not generic categories. The options should come directly from the ambiguities in what was asked. If you see three plausible ways to interpret what the user wants, list those three things and ask which is closest. Don't ask what you can already infer. Do ask anything that would materially change what you research or recommend.
Good trigger conditions for asking:
Keep questions short. Use choices and options, not open prompts. "Which of these is closer?" beats "Can you describe your constraints?". An "other/none of these" escape hatch is always fine to include.
Ask as many questions as the ambiguity warrants — but batch them into a single AskUserQuestion call so the user responds once.
Do not launch any agents until you have the answers.
With the answers in hand, read critically:
Then immediately launch parallel research — do not confirm the research questions with the user first.
Spawn sub-agents to work simultaneously. Match agent count to complexity — not all are always needed:
/ui skill when available. Look at what design system components exist and whether the proposed change introduces visual inconsistencies.Research the problem, not the proposal. If the input includes a proposed solution, every agent should research the underlying problem independently first. Don't anchor on the proposed approach — it may be correct, but verify.
Each agent should return: what it found, where it found it (file paths or URLs), and key snippets.
After agents return, use AskUserQuestion before synthesizing. Summarize the key finding in a sentence or two, then surface anything unexpected and ask the user to react. Present specific choices about how to proceed — don't just ask "does this make sense?"
If findings contradict the user's stated understanding of the problem, that's especially important to surface before moving forward.
Combine all agent findings. Resolve contradictions. Identify what is confirmed vs. uncertain.
If the input included a proposed solution: Explicitly evaluate it. Is it the best approach, or is there a simpler way? If the proposal is unnecessary, overly complex, or solves the wrong thing, say so and recommend the better path.
Actively look for downsides of the recommended approach. What UX does it degrade? What edge cases does it miss? What maintenance burden does it create? What could it break? Be specific — "this could be slow" is useless, "this adds an N+1 query on every page load" is useful.
Keep it tight. No filler.
Direct response to what was asked. Concise for simple questions, thorough when complexity demands it.
Code snippets, doc quotes, or data that back up the answer. Use code blocks with file paths.
Anything else discovered that the user should know — gotchas, related patterns, upcoming deprecations, alternative approaches. Skip if nothing worth mentioning.
What could go wrong with the recommended approach? Be specific. Skip if the solution is trivially safe.
After presenting research findings, call the EnterPlanMode tool so the user flows directly into planning with all the research context available.
development
Review the current session and code changes for anything worth codifying in CLAUDE.md or README.md. Use before committing/opening a PR, or when the user asks "anything learned?", "anything to note?", "should we update CLAUDE.md?", "update the docs with what we learned", or similar.
devops
When the user wants to create or update a README.md file for a project. Also use when the user says "write readme," "create readme," "document this project," "project documentation," or asks for help with README.md. This skill creates absurdly thorough documentation covering local setup, architecture, and deployment.
development
Generate a branded social media image announcing a new feature or update. Analyzes git history, auto-detects brand from codebase (Tailwind, CSS vars, design tokens), replicates UI elements, and captures via Playwright. Use when the user wants to create an announcement image, says 'feature image,' 'announcement graphic,' 'social image for feature,' or wants to visually announce a code change.
data-ai
Configure a Rails project to work with Conductor (parallel coding agents)