agentleFS
harshanandakharshanandak/forge-legacy/skills/research/SKILL.md

research

Skill4 starsChanged 48 days agoMITView on GitHub

Forge RESEARCH — a first-class, freely-invocable investigation skill any agent can call standalone OR mid-workflow (mid-/dev, mid-/validate, mid-/plan), not a plan-only stage. Use it to verify/fact-check a claim against primary sources; web-search best practices, gotchas, and docs; find better options/patterns and weigh trade-offs; see both sides (steelman the right way AND red-team the wrong way); pull inspiration from stronger sources; and run the /plan Phase 2 bundle (web research + OWASP Top 10 + DRY/blast-radius codebase exploration + 3+ TDD scenarios) under `## Technical Research`. Trigger on "verify/fact-check this", "research X", "find a better way/option", "is this true", "get inspiration", "run the research phase", or mid-task "investigate before I decide". Pick over siblings: `parallel-deep-research` for a heavyweight EXTERNAL market/competitive report (paid Parallel AI); `plan` for the full plan stage (brainstorm + tasks); `dev` or `validate` to implement or scan rather than investigate.

189 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use daily-arxiv, exp-eval and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • LambenthanSkill

    daily-arxiv

    每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新

    Also in 5 projects that use this

  • LambenthanSkill

    exp-eval

    实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges

    Also in 5 projects that use this

  • truongtv22Skill

    Problem-Solving Techniques

    Apply systematic problem-solving techniques for complexity spirals (simplification cascades), innovation blocks (collision-zone thinking), recurring patterns (meta-pattern recognition), assumption constraints (inversion exercise), scale uncertainty (scale game), and dispatch when stuck. Techniques derived from Microsoft Amplifier project patterns adapted for immediate application.

    Also in 5 projects that use this

  • liufeng1976Skill

    setup-ts-deep-modules

    Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.

    Also in 43 projects that use this

  • skyllwtSkill

    exp-pilot-eval

    Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.

    Also in 4 projects that use this

  • skyllwtSkill

    exp-pilot-run

    Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.

    Also in 4 projects that use this

  • +5 more from Lambenthan
  • +1 more from skyllwt

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 169 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Always give research: (1) the concrete question or claim, (2) the decision it feeds, and (3) any constraints (stack, versions, repo area).

    line 56
  2. Distinctive:

    Never answer a factual claim from memory.

    line 74
  3. Very specific:

    Search terms that work: "[stack] [feature] best practices [year]", "[library] [feature] pitfalls", "[approach] known issues".

    line 96
  4. Distinctive:

    Look outward before inventing: canonical implementations, well-run OSS repos, design docs, RFCs.

    line 102
  5. Distinctive:

    Use actual search tools — never rely on memory:

    line 118
  6. Distinctive:

    DRY: if a match exists, prefer "extend existing <file>:<line>" over "create new".

    line 126
  7. Very specific:

    When invoked by /plan for a feature's design doc, run the full technical bundle and append it under a ## Technical Research section in …

    line 137
  8. Very specific:

    When invoked by /plan, append to the design doc's ## Technical Research section (not a separate file).

    line 169

“Common” is measured: kept by at least 6 in 10 of the 169 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Investigate anything, from anywhere: verify a claim, search the web, find better options, pull inspiration from stronger sources, weigh perspectives, and package technical research for a plan.

Research

/research is a first-class capability, not a stage. Any agent may invoke it at any point — standalone, or in the middle of another skill — whenever a question needs evidence before a decision. It is broader than parallel-deep-research: that sibling is a heavyweight external market/industry report; this skill is your everyday "go find out and come back with evidence."

When to use it

  • Verify a claim — "is this API deprecated?", "does this library support X?", "is this the current best practice?" Confirm or refute against primary sources.
  • Find a better way / better options — enumerate real alternatives and compare trade-offs.
  • Web research — best practices, gotchas, current docs, changelogs, version differences.
  • Inspiration / prior art — pull stronger plans, patterns, and reference implementations from better sources than memory.
  • Multi-perspective — see it done the right way AND the wrong way; steelman and red-team.
  • Codebase research — DRY, blast-radius, reusable patterns already in the repo.
  • /plan Phase 2 bundle — the packaged deliverable plan delegates to (see "Plan bundle").

How to invoke

Standalone (user asks directly):

/research <question or claim>

From inside another skill or agent — call the Skill tool mid-flow:

Skill("research")   # then hand it the specific question + why you're asking

Always give research: (1) the concrete question or claim, (2) the decision it feeds, and (3) any constraints (stack, versions, repo area). Research returns evidence, not opinion: cited findings, and — when a caller needs it — a recommendation with the trade-offs shown.


Modes

Pick the mode(s) that fit the question. Most investigations combine two or three.

Mode A — Verify / fact-check a claim

  1. State the claim in one sentence and what would confirm vs refute it.
  2. Pull primary sources first (official docs, source code, specs, changelogs) via WebSearch → WebFetch. Secondary sources (blogs, SO) only corroborate.
  3. Adversarially check: look for the counter-evidence, not just confirmation.
  4. Return: CONFIRMED / REFUTED / MIXED / UNKNOWN + the cited evidence + a one-line reason.

Never answer a factual claim from memory. Fetch the source, cite it (URL + the line that settles it). "I'm confident" is not evidence.

Mode B — Explore options / find a better way

  1. Frame the decision and the constraints (perf, safety, complexity, lock-in, maturity).
  2. Enumerate 2–4 concrete options — include the "boring/obvious" one and at least one you did not start with.
  3. For each: what it is, when it wins, when it loses, adoption/maintenance signal.
  4. Recommend one, with the trade-off that decides it. Show the runners-up so the caller can overrule.

Mode C — Web search (quick → deep)

Depth ladder — escalate only as needed:

DepthToolUse for
Quickbuilt-in WebSearch / WebFetcha fact, a doc page, one gotcha
Deep, citedSkill("deep-research")multi-source, adversarially verified report
External reportSkill("parallel-deep-research")market/competitive/industry landscape (paid)

Search terms that work: "[stack] [feature] best practices [year]", "[library] [feature] pitfalls", "[approach] known issues". Prefer official docs via Context7/grep.app MCP when available for library/API questions.

Mode D — Inspiration / better plans from better sources

Look outward before inventing: canonical implementations, well-run OSS repos, design docs, RFCs. Pull the shape of a stronger solution and adapt it — don't copy blindly. Note the source so the plan can cite where the idea came from.

Mode E — Multi-perspective (steelman + red-team)

For anything consequential, gather both:

  • Steelman (the right way) — the strongest case for the approach and how experts do it.
  • Red-team (the wrong way) — failure modes, anti-patterns, "why teams regret this", security and edge-case traps.

Return both columns so the decision is made with eyes open, not just the happy path.

Mode F — Codebase research (DRY + blast-radius)

Use actual search tools — never rely on memory:

Grep("<function or concept>")   # existing implementations to reuse
Glob("**/*.<ext>")              # narrow to affected file types
Read(<match>)                   # inspect matches in context
  • DRY: if a match exists, prefer "extend existing <file>:<line>" over "create new".
  • Blast-radius (for remove/rename/replace): grep the entire repo (exact + case-insensitive
    • Glob("**/*<thing>*")), then list every hit — including package.json, install/setup scripts, CI workflows, agent config, and docs — so nothing is missed.

For broad multi-location sweeps, spawn the Explore agent and keep only its summary.


Plan bundle (what /plan Phase 2 delegates to)

When invoked by /plan for a feature's design doc, run the full technical bundle and append it under a ## Technical Research section in docs/work/YYYY-MM-DD-<slug>/plan.md:

  1. Web research (Mode C) — best practices, gotchas, patterns for the chosen approach.
  2. OWASP Top 10 pass — for each relevant category (A01–A10): the risk, whether it applies, and the planned mitigation.
  3. DRY check (Mode F) — reusable existing implementations.
  4. Blast-radius search (Mode F) — required for any remove/rename/replace; every reference captured for the task list.
  5. Codebase exploration — similar patterns, affected files, test infra to leverage.
  6. TDD scenarios — at minimum 3: happy path, error/failure path, and one Phase-1 edge case.

The caller's HARD-GATE (in /plan) still verifies these outputs exist — research produces them; the gate enforces them. Do not treat delegation as a way to skip the gate.


Invoked mid-flow (examples)

  • Mid-/validate — a security or type failure surfaces and the fix is unclear: call Skill("research") to verify the correct API/pattern against primary sources before editing (feeds the D2 root-cause trace), then return to validation.
  • Mid-/dev — a decision gate fires on a spec gap: research the options (Mode B) and current best practice (Mode C) so the decision is evidence-backed, then log the decision and continue.
  • Mid-/plan — an approach looks shaky during brainstorming: research alternatives and red-team the front-runner (Mode E) before committing the design.
  • Any agent, any time — "before I decide, let me check" is always a valid reason to invoke.

Output contract

  • Cite every non-obvious claim (URL or file:line) — findings without sources are opinions.
  • Lead with the answer/recommendation, then the evidence, then the runners-up.
  • When invoked by /plan, append to the design doc's ## Technical Research section (not a separate file). When invoked mid-flow, return a concise evidence-backed answer to the caller.
  • Flag what you could NOT verify as UNKNOWN rather than guessing.

Integration with workflow

Utility: /status  -> Understand current context before starting

Default template:
  /plan      -> Optional default planner; delegates its Phase 2 technical research to /research
  /dev       -> Implement each task with subagent-driven TDD (may call /research at a spec gap)
  /validate  -> Type check, lint, tests, security (may call /research to root-cause a failure)
  /ship      -> Push + create PR
  /review    -> Address PR feedback
  /verify    -> Post-merge health check

Research is callable standalone or from any of the above — it is a capability, not a gate.

Tips

  • Evidence beats memory — always fetch and cite; never settle a fact from recall.
  • Escalate depth deliberately — quick WebSearch first; reach for deep-research or parallel-deep-research only when a single search can't answer it.
  • Both perspectives — for consequential calls, always red-team, not just steelman.
  • Delegation ≠ skipping gates — when /plan delegates the bundle, its HARD-GATE still checks OWASP + 3 TDD scenarios + blast-radius are present.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.