Files
openprose__prose/packages/std/roles/researcher.md
irl-dan 63c8ce4b23 Migrate std and co into packages/ monorepo layout
Move the standard library (previously `github.com/openprose/std`) and
the company-as-prose library (previously local dir
`/Users/sl/code/openprose/company-as-prose`) into this repository
under `packages/std/` and `packages/co/` respectively.

Motivation: concentrate attention on one repository so stars,
discussions, and issues aggregate. `openprose/std` was a genuinely
useful asset nobody could find because ~50 stars on its own repo
told a much worse story than 1,106 stars on `openprose/prose`
would have. Same logic applies to co.

Layout choice: `packages/{std,co}/` rather than `std/` + `co/` at
the repo root. Root siblings accumulate over time, and a flat
top-level made future libraries (hub, kit, dev, etc.) compete with
spec infrastructure. `packages/` is bounded — new libraries land
there without cluttering root. Matches pnpm/Deno/monorepo tooling
conventions.

Changes:

- New: `packages/std/` (copied from openprose/std, `.git` excluded)
- New: `packages/co/` (copied from company-as-prose, README updated
  for new name and location)
- `packages/std/README.md`: updated shorthand expansion reference
- `packages/co/README.md`: renamed "company-as-prose" to "co" in
  self-references, added std-vs-co split heuristic, updated
  `prose run` examples to use `co/` shorthand
- `skills/open-prose/deps.md`:
  - `std/` shorthand now expands to
    `github.com/openprose/prose/packages/std/`
  - `co/` shorthand added, expands to
    `github.com/openprose/prose/packages/co/`
  - Both shorthands resolve into the same clone of
    `openprose/prose` under `.deps/github.com/openprose/prose/`;
    `packages/std/` and `packages/co/` are sibling subdirectories
  - `prose.lock` format row updated to `host/owner/repo sha`
    (matches the explicit-host resolution that landed in #35)
  - `.deps/` directory structure example redrawn to show the
    `{host}/{owner}/{repo}/packages/{std,co}/...` shape
  - Error message and Interaction tables refreshed accordingly
  - Resolution Algorithm step 1 now documents both shorthands
- `skills/open-prose/forme.md`: Step 2 resolution list updated to
  include co/ shorthand and the host-keyed `.deps/` layout
- `skills/open-prose/help.md`: Q&A "How do dependencies work?"
  rewritten to name both shorthands and the new explicit-host model
- `skills/open-prose/state/filesystem.md`: `.deps/` directory
  tree re-drawn to include the `{host}/` layer with std/co as
  sibling packages inside the clone
- `skills/open-prose/guidance/patterns.md`,
  `skills/open-prose/guidance/antipatterns.md`: examples now use
  the `std/` shorthand or explicit `github.com/...` rather than
  the deprecated bare `openprose/std/` form
- `skills/open-prose/examples/registry-import/index.md`: sample
  service reference switched to `std/evals/inspector`
- `README.md`: Stdlib badge replaced with internal `packages/std/`
  link plus new `packages/co/` link; "Standard Library" section
  rewritten as "Libraries" with both packages described

Out of scope for this PR (deliberately):
- Tooling changes to `prose install` and Forme's `.deps/` writer
  to adopt the `{host}/{owner}/{repo}/` layout in practice — this
  PR is spec-only. Existing tooling continues to work against
  whatever layout it currently implements; the spec now describes
  the target.
- Retiring the `openprose/std` GitHub repo. Delete that repo
  separately after this merges.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 14:14:31 -07:00

2.3 KiB

name, kind
name kind
researcher service

Researcher

Investigate a topic using web search, document analysis, or other available tools. Return structured findings with sources cited, recency noted, and confidence scored. Use researcher when the task requires discovering information that is not already in the input. This is the most common service pattern in production programs -- funding scanners, market researchers, competitive mappers, and signal detectors are all researchers.

Description

Investigate a topic using available tools and return sourced, confidence-scored findings.

Metadata

  • version: 0.1.0

Requires

  • topic: the question or subject to investigate
  • scope: (optional) constraints on the investigation -- time period, geography, source types, depth

Ensures

  • findings: a list of sourced claims, each with:
    • claim: a specific, falsifiable statement
    • source: where the claim came from (URL, document name, or tool output)
    • date: when the source was published or accessed
    • confidence: 0 to 1, reflecting source quality and corroboration
  • sources: all sources consulted, including those that did not yield useful findings, with a relevance note for each
  • if sources are unavailable or insufficient: partial findings flagged as incomplete, with an explanation of what could not be determined

Errors

  • no-results: no relevant sources found after exhausting available search strategies
  • scope-too-narrow: the scope constraints exclude all available evidence

Strategies

  • when few sources found: broaden search terms, try synonyms, check adjacent topics
  • when many low-quality sources: prioritize primary sources, official filings, and academic publications over aggregator sites
  • when findings conflict across sources: report the conflict explicitly with confidence reflecting the disagreement, rather than picking a winner silently
  • when recency matters: note the publication date of every source and flag anything older than the scope implies

Notes

Researcher discovers new information. Extractor lifts structured data from content already provided. Summarizer compresses content already provided. Writer produces artifacts from requirements already known. Researcher is the role that goes out and finds things. Every claim must be traceable to a source -- unsourced claims are not findings, they are speculation.