agentleFS
loootailoootai/reverse-engineer/skills/evidence-research/SKILL.md

evidence-research

Skill1 starsChanged 34 days agoMITView on GitHub

Research a company, competitor, product or market question and return a findings ledger where every claim is tagged observed, inferred or unknown, with its source, the looot job that produced it and what it cost. Use when the user says: research this company, investigate acme.com, competitor brief, what do we really know about X, back this up with evidence, fact-check this market claim, build me a sourced brief, or asks for any research that must hold up when someone challenges it.

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    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:

    Before outreach, a pitch or a decision that leans on "facts" about a target.

    line 13
  2. Very specific:

    Not for a quick lookup of one field.

    line 14
  3. Distinctive:

    Never write an inferred item as if it were observed.

    line 28
  4. Distinctive:

    Write the checklist: each question and the job that can answer it (table below).

    line 33
  5. Very specific:

    Run cheap and broad first, one call per job, each with a fresh idempotencyKey, fallback: true and maxCostUsd set to the per-call cap.

    line 35
  6. Distinctive:

    Read answers summary-first.

    line 36
  7. Very specific:

    No job in the catalog for a question: run request-provider and say what you used instead.

    line 77
  8. Distinctive:

    Ask: "research example.com, I want to know if they would buy a data API." Plan: enrich, technographics, jobs, news, and two scrapes of …

    line 82

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Evidence research

An investigation is done when each conclusion says how you know it. This skill returns a ledger, not a story.

When to use

  • A brief on a company, competitor or market that the user will repeat to others.
  • Before outreach, a pitch or a decision that leans on "facts" about a target.
  • Not for a quick lookup of one field. Run job:company.enrich directly for that.

Inputs

  • Target: a domain (best), a company name, or a LinkedIn company URL.
  • The questions. If none are given, use the default five: what they sell, who buys it, how big they are, what they run on, what they are doing now.
  • Budget cap in USD. Default $0.25 per target. Ask before going above $0.10 if no cap is given.

The three tags

  • observed: a looot run or a public page returned it. Cite the run id or the URL and the date read.
  • inferred: you concluded it from observed items. Name the items.
  • unknown: no run answered it, or providers disagreed. Say what would settle it and the price.

Never write an inferred item as if it were observed. A provider that returns nothing has missed. That does not prove the thing does not exist. A third-party article is not first-party evidence. Write what it says as unknown, "reported by <source>".

Procedure

  1. Route the target. Domain: start with the company jobs. Name only: find the domain first with job:web.search ("<name> official site"), and confirm with the user if two candidates fit.
  2. Write the checklist: each question and the job that can answer it (table below). Skip a question whose job is not worth its price for this target.
  3. Quote. For each job, confirm the id with search_catalog or the public catalog, then inspect (free, needs a sign-in) for exact input names and the maximum cost. Add the numbers. Show one line: "7 calls, about $0.04, hard cap $0.25." Wait for a yes above $0.10. There is no dry-run call. Inspect is the quote.
  4. Run cheap and broad first, one call per job, each with a fresh idempotencyKey, fallback: true and maxCostUsd set to the per-call cap. Read status, outcome and actualCost, never only the HTTP code.
  5. Read answers summary-first. Pull the 3 to 5 facts that matter. Drill only when a specific gap remains. Never repeat an identical call.
  6. Build the ledger. One row per claim: the claim, its tag, the evidence (run id and field, or URL and date), confidence, and the search boundary ("two providers tried, none found a funding round"). Confidence is high when two sources agree, medium for one, low for inferred.
  7. Close the loop. Reopen the checklist and mark each question answered, partial or open. Do not call the brief complete while a requested question is open.
  8. Save the brief and ledger to a file so nobody pays twice. Default ./research/<domain>-<date>.md.

Jobs (catalog revision 101897, read 2026-10-11; inspect shows the live price)

QuestionJobFrom, per call
What they are, size, industryjob:company.enrich$0.0019
What they run onjob:company.technographics$0
Are they hiring, which rolesjob:jobs.company$0.01
LinkedIn view of the companyjob:linkedin.company.profile$0.0015
What they say publicly nowjob:linkedin.company.posts$0.00188
Their own words on a pagejob:web.scrape.markdown$0.0002
Press and newsjob:news.search$0.00099
Open web, find the domain, cross-checkjob:web.search$0
Ads they runjob:ads.meta.search, job:ads.linkedin.search$0.00188
Authority and backlinksjob:backlinks.domain.summary$0.024

Output format

# <Company>: evidence brief (<date>)
Spent: $<actual> of $<cap>. Calls: <n>.

## Answers
1. <question>: <one-line answer>. [observed|inferred|unknown, confidence]

## Ledger
| # | Claim | Tag | Evidence | Confidence | Boundary |

## Open questions
- <question>: would cost $<x> via <job>. Worth it? yes or no

Failure handling

  • Miss or empty: say so, try fallback once, then mark unknown. No retry loops.
  • 402 insufficient balance: show the top-up link (minimum $5). Never pay for the user.
  • Providers disagree: show both values with run ids, tag unknown, do not average.
  • No job in the catalog for a question: run request-provider and say what you used instead.
  • Anything odd or wrong: send feedback with the run id and no personal data.

Example

Ask: "research example.com, I want to know if they would buy a data API." Plan: enrich, technographics, jobs, news, and two scrapes of /pricing and /customers. Quote: 6 calls, cap $0.25. After the runs:

  • "About 100 to 200 employees" is observed (enrich, one provider).
  • "Hiring 4 backend roles" is observed (jobs run).
  • "Building data infrastructure in house" is inferred from those roles, confidence low.
  • "Current data vendors" is unknown. A job:web.research call could answer it. The brief ends with that one open question and its price.

The numbers here are illustrative.

Related

reverse-engineer runs this skill as its phase 4.

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.