Jak używać
- Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
- W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
- Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/decisionnerd/dev-skills --skill research-itPrzed rozpoczęciem
- Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
- Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.
Research It
Replace vibes with evidence: what exists, what fits this repo, what to do next.
Operating contract
Shared by every DecisionNerd/dev-skills skill. Canonical copy: handbook/concepts/14-operating-contract.md.
- Define done first. Before using tools, write the finish line in one or two lines: acceptance criteria (existing issue AC, BDD scenarios, tests, or contract; otherwise propose them and where they should live) and the evidence that will prove them. Re-check it before reporting done. Never report done on unverified work.
- Requested scope sets the finish line. A question ("is it ready?", "why is it broken?", "what next?") ends with the answer and a
Next:line naming the exact next invoke. An outcome request ("fix", "finish", "land", "#42") continues through the chain (diagnose → fix → test → check-readiness → merge-it) until the outcome or a real blocker. Do not end a turn with "Do you want me to…?" for in-scope, in-repo work. - Stop only for real blockers. Stop and ask only when you cannot continue without the user, or before: deleting data or unmerged work, force-push or history rewrite, changing anything outside this repository (GitHub objects, deployments, live data, production or paid resources, external services), or leaving the requested scope, unless the user's request already named that exact action. Keep the harness's permission prompts for risky commands. Otherwise keep going and put status notes in the same message as the next action.
- Ask well, once. For a genuine question use the harness's structured question tool when it has one (Claude Code:
AskUserQuestion; Codex:request_user_inputwhen the current mode supports it; T3 Code: thequestiontool) with concrete options; otherwise plain text with numbered options. Treat the answer as settled; do not re-open earlier verdicts, plans, or answers unless asked. - Fan out when work is parallel. Use subagents for independent reads (repo survey, evidence gathering, per-option research, per-area audits) and independent verification (a reviewer that did not write the change). Writes stay single-owner per path set and sequential. Brief every child with goal, done-when, constraints, must-not, and return shape; verify each result before consolidating. Use Claude Code's
Workflowtool only when orchestrating many subagents truly needs it; it is expensive. T3 Code: its delegated subagents — with optional worktree isolation for independent verification — cover this without theWorkflowtool. - Pick the model tier per child; defer to routing config. If the harness or user config already routes subagents, follow it and do not pass a model. Otherwise pick a tier per child: mechanical search or inventory → fast/cheap; implementation and evidence gathering → mid; planning, review, adversarial verification → top. Tier names differ per harness (Claude Code:
haiku/sonnet/opusorfable; T3 Code: inherit by default or pick from its live provider/model catalog). Set the choice with the harness's spawnmodelparam or agent frontmattermodel:(per-harness details:skills/agents/references/sub.md). Where the harness cannot choose, children inherit or the harness picks; say which in the status note. - Keep a checklist on long runs. For more than about five steps or work that crosses skills, keep
TASKS.mdat the repo root and tick items as they finish. Do not commit it unless the repo already tracks one. - Close every run with three headings.
Blocked on me(the one genuine question or blocker, else "none");Changed(files, commits, GitHub objects, deploys, else "nothing");Found(evidence, verdict, andNext: <exact invoke>).
When to use
- "What's the best way to…?", "research it", vendor/API comparison, spike before build
- Ambiguous architecture choice before
recon issueorfix-it - Need external docs or in-repo prior art surveyed first
Workflow
Done when: one recommendation tied to this repo's constraints, rejected options listed, unknowns named with what a spike would prove.
- Frame the question
- Decision to make, constraints (stack, latency, cost, compliance, timeline), success criteria.
- Search inward then outward
- In-repo: existing packages, patterns, ADRs, prior PRs/issues.
- External: official docs (WebFetch), reputable references; note versions/dates.
- Don't treat random blogs as authority over primary docs.
- Compare options
- 2–4 viable options max. Fan out one read-only subagent per option (mid tier) with a fixed criteria table as return shape: fit, complexity, ops burden, risk, lock-in. Mark every unconfirmed claim
unconfirmedwith its source location. - An adversarial reviewer subagent (top tier) attacks the leading recommendation before it is finalized.
- Prefer house defaults when unconstrained: React + Next on Vercel for web; Pulumi ESC + OIDC for secrets; Langfuse for LLM obs/evals — unless the repo already standardized elsewhere.
- Call out unknowns and what a spike would prove.
- Recommend
- One primary recommendation with rationale tied to this repo's constraints.
- Explicit non-goals / rejected options with why.
- Next steps
- Next:
issues create/recon issue/fix-itto plan or track; a time-boxed spike checklist when unknowns remain. - Spikes and dependency adds are a separate, asked-for step — express them as a
Next:statement, not a question.
Guardrails
- Read-only unless the user asks to spike code or add a dep.
- Cite sources (URLs/paths). Distinguish fact vs inference.
- No secret keys in research notes.
Output
**Question**
- ...
**Constraints**
- ...
**Options**
| Option | Fit | Cost/complexity | Risk | Notes |
| ... |
**Recommendation**
- Primary: ...
- Why: ...
- Rejected: ...
**Open questions / spike**
- ...
## Blocked on me
none
## Changed
nothing
## Found
- ...
- Next: issues create / recon issue / fix-itGrounding
This skill's TTPs are grounded in current engineering baselines (DORA, GitHub Docs, Fowler/Beck, Google SRE & SWE book, OpenTelemetry, OWASP LLM / NIST AI RMF, Diátaxis — see handbook sources.md).
Evidence before commitment; avoid jumping to complex systems before a simple one works (Gall's Law / Beck). Prefer house defaults only when the repo has no stronger local constraint (handbook/concepts/11-quality-regimes.md for generative tooling; repos for ESC).
Handbook card: handbook/practices/research-it.md.

