Independent Research
Stops guessed fixes: reproduce the error and verify with bash before recommending
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 05c6452
Installed into a throwaway HOME (mktemp -d), confirmed SKILL.md lands at ~/.claude/skills/independent-research/SKILL.md and the frontmatter parses with name+description; the body is fully self-contained (zero file or script references, so nothing to break) and a grep for curl|sh, base64, eval, token/api-key and env exfiltration found no matches. Test task: a fixture Node repo (scratchpad/fixture) where the user asserts "npm run build is broken, I'm sure it's a Node version problem — should I downgrade?" while package.json says engines ">=18 <21", .nvmrc says 20.11.1 and the machine runs v26.5.0. BASELINE (scratchpad/A-baseline.md), written from a config-only glance, endorsed the version theory, told the user to run `nvm use`, and asked two questions the skill's own table lists as lazy ("Do you have nvm installed?", "was it working before?"). SKILL pass (scratchpad/B-skill.md) followed the mandatory checklist instead: reproducing the build surfaced ERR_MODULE_NOT_FOUND from a missing node_modules, `npm install` then surfaced a second real cause — `scripts/build.mjs` reads `build.config.json`, which `git ls-files` shows was never committed and no .gitignore excludes — and `npm install && echo '{"name":"acme-report"}' > build.config.json && npm run build` printed "built" plus dist/out.txt on the unchanged v26.5.0. It also disproved the version theory empirically (date-fns v3 imports and formats on v26.5.0; engines is advisory with no .npmrc present) and answered the two "lazy" questions with `which nvm fnm volta` (none on PATH) and `git log` (one commit, no "before"). Trigger phrasings judged: SHOULD fire — "The build fails with ERR_MODULE_NOT_FOUND, what's the fix?" (yes, diagnosing an error), "Should we use Drizzle or Prisma here?" (yes, choosing between approaches), "Is my Postgres version compatible with pgvector 0.8?" (yes, a compatibility fact I would otherwise recall from stale memory); SHOULD NOT fire — "Write a haiku about our deploy pipeline" (no, nothing factual to verify), "Rename the variable usr to user across src/" (no, mechanical edit with no decision) — 5/5 correct, though the description's "propose a solution" clause is broad enough that over-firing on ordinary coding requests is a real risk. Docs lose a point because the frontmatter sells "spin up parallel subagents to WebSearch" as the mechanism while the body ships no subagent prompts or agent files, and what actually produced the better artifact here was the local bash investigation table.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 7/10
- Docs & honesty 4/5
What Independent Research does
A behavioral skill that blocks Claude from asking the user factual questions it can answer itself and from proposing fixes it has not tested. It supplies a lazy-question table (do not ask "do you have X installed?" — run `which X`), a premature-decision table (do not say "the fix is..." — reproduce and search the exact error first), and a three-item checklist to clear before any question reaches the user. Triggers when Claude is about to diagnose an error, recommend an upgrade or downgrade, choose between tools or versions, or ask what the user has installed or configured.
How to install Independent Research
git clone --depth 1 https://github.com/NTCoding/claude-skillz.git /tmp/independent-research-src
mkdir -p ~/.claude/skills
cp -R /tmp/independent-research-src/independent-research ~/.claude/skills/independent-research
# Single self-contained SKILL.md (5.2 KB). No scripts, no dependencies, no API keys, no config.
# Plugin alternative (bundles this skill with 17 others in "development-skills"):
# /plugin marketplace add ntcoding/claude-skillz
# /plugin install development-skills@claude-skillz
# The body leans on WebSearch/WebFetch and parallel subagents for external facts,
# and on plain bash (which/--version/git log/config reads) for local facts.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Independent Research
-
/independent-researchStops guessed fixes: reproduce the error and verify with bash before recommending
It also activates on plain-language prompts like these:
-
Verify the latest version before we decide -
Research current best practices before proposing a fix -
Check GitHub issues before diagnosing this error
Frequently asked questions
- Is the Independent Research skill free?
- Yes. The skill itself is free from NTCoding/claude-skillz. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Independent Research work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Tested · Works. Installed into a throwaway HOME (mktemp -d), confirmed SKILL.md lands at ~/.claude/skills/independent-research/SKILL.md and the frontmatter parses with name+description; the body is fully self-contained (zero file or script references, so nothing to break) and a grep for curl|sh, base64, eval, token/api-key and env exfiltration found no matches. Test task: a fixture Node repo (scratchpad/fixture) where the user asserts "npm run build is broken, I'm sure it's a Node version problem — should I downgrade?" while package.json says engines ">=18 <21", .nvmrc says 20.11.1 and the machine runs v26.5.0. BASELINE (scratchpad/A-baseline.md), written from a config-only glance, endorsed the version theory, told the user to run `nvm use`, and asked two questions the skill's own table lists as lazy ("Do you have nvm installed?", "was it working before?"). SKILL pass (scratchpad/B-skill.md) followed the mandatory checklist instead: reproducing the build surfaced ERR_MODULE_NOT_FOUND from a missing node_modules, `npm install` then surfaced a second real cause — `scripts/build.mjs` reads `build.config.json`, which `git ls-files` shows was never committed and no .gitignore excludes — and `npm install && echo '{"name":"acme-report"}' > build.config.json && npm run build` printed "built" plus dist/out.txt on the unchanged v26.5.0. It also disproved the version theory empirically (date-fns v3 imports and formats on v26.5.0; engines is advisory with no .npmrc present) and answered the two "lazy" questions with `which nvm fnm volta` (none on PATH) and `git log` (one commit, no "before"). Trigger phrasings judged: SHOULD fire — "The build fails with ERR_MODULE_NOT_FOUND, what's the fix?" (yes, diagnosing an error), "Should we use Drizzle or Prisma here?" (yes, choosing between approaches), "Is my Postgres version compatible with pgvector 0.8?" (yes, a compatibility fact I would otherwise recall from stale memory); SHOULD NOT fire — "Write a haiku about our deploy pipeline" (no, nothing factual to verify), "Rename the variable usr to user across src/" (no, mechanical edit with no decision) — 5/5 correct, though the description's "propose a solution" clause is broad enough that over-firing on ordinary coding requests is a real risk. Docs lose a point because the frontmatter sells "spin up parallel subagents to WebSearch" as the mechanism while the body ships no subagent prompts or agent files, and what actually produced the better artifact here was the local bash investigation table.
- What is the Independent Research SkillProof Score?
- 8.4/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 7/10, docs & honesty 4/5.
- How do I install Independent Research?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Independent Research with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.