opencode-bioresearcher 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/connector-meta.json +1 -1
- package/package.json +1 -1
- package/skills/bioresearcher-deep-research/SKILL.md +89 -21
- package/skills/bioresearcher-deep-research/references/citations.md +3 -0
- package/skills/bioresearcher-deep-research/references/report-template.md +1 -0
- package/skills/bioresearcher-deep-research/references/worker-protocol.md +1 -1
- package/skills/bioresearcher-deep-research/scripts/markdown-to-html.py +1884 -35
- package/skills/bioresearcher-deep-research/scripts/vet-references.py +330 -0
package/connector-meta.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"description_en": "Biomedical research plugin for OpenCode: biomcp MCP server tools for literature, clinical trials, genes, variants, drugs, diseases and patents, plus skills for publication-grade figures and deep-research subagent.",
|
|
8
8
|
"source": "bioresearcher",
|
|
9
9
|
"type": "plugin",
|
|
10
|
-
"version": "1.
|
|
10
|
+
"version": "1.8.0",
|
|
11
11
|
"harness": "opencode",
|
|
12
12
|
"examples_zh": [
|
|
13
13
|
"帮我做一个关于肿瘤免疫治疗的多方面文献综述并附引用",
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bioresearcher-deep-research
|
|
3
|
-
description: "Deep biomedical research orchestrator powered by the biomcp MCP server: clarifies the question,
|
|
3
|
+
description: "Deep biomedical research orchestrator powered by the biomcp MCP server: clarifies the question, aligns research area plan with user, decomposes into 2-5 aspects, researches each aspect via subagents (sequential fallback), and synthesizes a fully cited report. Use for deep research, literature review, clinical trials, drugs, genes, variants, diseases, patents, PubMed, functional genomics, biomcp."
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
compatibility: "Any Agent Skills harness (opencode, Claude Code, Codex, Cursor, Gemini CLI) with the biomcp MCP server connected; the Claude Code plugin bundles the server and the bioresearcher-dr-worker subagent; a subagent/Task tool is optional - a sequential fallback is provided. The allowed-tools mcp__ entries apply on Claude Code only"
|
|
6
6
|
metadata:
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.3.0"
|
|
8
8
|
source: "opencode-bioresearcher-plugin@1.7.2"
|
|
9
9
|
allowed-tools: Read Write Bash Task mcp__plugin_bioresearcher_biomcp mcp__biomcp
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Bioresearcher Deep Research
|
|
13
13
|
|
|
14
|
-
Reference-based biomedical research: interview the user
|
|
15
|
-
research
|
|
16
|
-
succinct, accurately cited report.
|
|
17
|
-
subagent/Task tool.
|
|
14
|
+
Reference-based biomedical research: interview the user to clarify scope and
|
|
15
|
+
align the research plan, split the topic into research aspects, investigate each
|
|
16
|
+
aspect with biomcp tools, then synthesize a succinct, accurately cited report.
|
|
17
|
+
Harness-agnostic: works with or without a subagent/Task tool.
|
|
18
18
|
|
|
19
19
|
## What it does
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
|
|
21
|
+
- Clarifies the research question and proposes a structured research plan
|
|
22
|
+
with 2-5 independent aspects for user feedback before execution.
|
|
23
23
|
- Runs one focused worker per aspect - in parallel via the harness's
|
|
24
24
|
subagent/Task tool when available, sequentially otherwise.
|
|
25
25
|
- Workers query the biomcp MCP server (articles/PubMed, ClinicalTrials.gov,
|
|
@@ -77,7 +77,7 @@ mid-query never trigger.
|
|
|
77
77
|
|
|
78
78
|
| Prefix | Effect |
|
|
79
79
|
|--------|--------|
|
|
80
|
-
| `no-interview` | Skip the Step 1
|
|
80
|
+
| `no-interview` | Skip the interview workflow entirely (both Step 1 questions and Step 2 plan review) |
|
|
81
81
|
| `light-research` | Combine and/or pick only the top TWO aspects (Step 2) |
|
|
82
82
|
| `no-html` | Skip the Step 6 HTML rendering (markdown-only output) |
|
|
83
83
|
|
|
@@ -89,11 +89,12 @@ evidence is missing.
|
|
|
89
89
|
|
|
90
90
|
Harness autonomy hints ("operate autonomously", "don't block", "user not
|
|
91
91
|
watching", auto-accept banners) govern tool-permission confirmations and edit
|
|
92
|
-
approvals. They do NOT waive this skill's
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Step
|
|
92
|
+
approvals. They do NOT waive this skill's interactive interview workflow (Step 1
|
|
93
|
+
clarification and Step 2 plan review): the interview turns are completed
|
|
94
|
+
assistant turns engaging the user - not blocking permission confirmations - so
|
|
95
|
+
those hints never require skipping them. When such a hint seems to conflict with
|
|
96
|
+
this workflow, treat the Step 1 interview, Step 2 plan review, and the Step 6
|
|
97
|
+
output contract as deliverables that proceed unchanged.
|
|
97
98
|
|
|
98
99
|
### Step 1: Clarify (interview - mandatory)
|
|
99
100
|
|
|
@@ -128,7 +129,7 @@ start researching." GOOD: post the questions, end the turn, wait. Silent
|
|
|
128
129
|
defaults are a workflow violation, not autonomy - one round-trip of questions
|
|
129
130
|
is cheap; a full research run on wrong assumptions is not.
|
|
130
131
|
|
|
131
|
-
### Step 2: Decompose
|
|
132
|
+
### Step 2: Decompose & Review Plan
|
|
132
133
|
|
|
133
134
|
Comprehend the (clarified) inquiry and identify 2-5 critical research aspects
|
|
134
135
|
that together answer it.
|
|
@@ -138,8 +139,56 @@ that together answer it.
|
|
|
138
139
|
- Decide a TOPIC name yourself (no user input): a highly succinct,
|
|
139
140
|
underscore-separated name derived from the inquiry, e.g.
|
|
140
141
|
`braf_inhibitor_resistance`.
|
|
141
|
-
|
|
142
|
-
|
|
142
|
+
|
|
143
|
+
**Interview waiver (`no-interview`):**
|
|
144
|
+
If the query carries the leading `no-interview` prefix, skip the plan review
|
|
145
|
+
turn entirely: finalize the 2-5 aspects, track them with the harness's todo
|
|
146
|
+
mechanism if available (TodoWrite or equivalent), and proceed immediately to
|
|
147
|
+
Step 3 and Step 4.
|
|
148
|
+
|
|
149
|
+
**Plan review (interview mode - default):**
|
|
150
|
+
When running in interview mode (without `no-interview`), present your proposed
|
|
151
|
+
research area plan to the user before launching workers:
|
|
152
|
+
|
|
153
|
+
1. Formulate and present:
|
|
154
|
+
- A structured list of the 2-5 research aspects (or top 2 under
|
|
155
|
+
`light-research`), each with an aspect title, 1-2 sentence focus summary,
|
|
156
|
+
and primary tools/evidence sources (e.g. PubMed/articles,
|
|
157
|
+
ClinicalTrials.gov, genes, drugs, patents).
|
|
158
|
+
- An explicit prompt inviting user feedback and adjustments on these
|
|
159
|
+
research areas.
|
|
160
|
+
2. End your turn with the plan proposal (using the harness's question/ask tool
|
|
161
|
+
when available, or chat text) and WAIT for the user's reply. Do not spawn
|
|
162
|
+
workers or create output directories before receiving user feedback.
|
|
163
|
+
3. User feedback handling:
|
|
164
|
+
- **Case A (approval / "looks good" / "proceed"):** Proceed directly to
|
|
165
|
+
Step 3 and Step 4.
|
|
166
|
+
- **Case B (default feedback - modifications without re-review request):**
|
|
167
|
+
Incorporate the user's requested adjustments, additions, drops, or scope
|
|
168
|
+
changes into the research aspects immediately (strictly adhering to the
|
|
169
|
+
2-5 aspect ceiling, or top 2 under `light-research`). Then **PROCEED
|
|
170
|
+
DIRECTLY to Step 3 and Step 4. Do NOT ask for another round of
|
|
171
|
+
confirmation.**
|
|
172
|
+
- **Case C (special case - explicit re-confirmation requested):** ONLY if the
|
|
173
|
+
user explicitly asks to review or confirm the revised plan (e.g. "show me
|
|
174
|
+
the updated plan before starting" or "revise the plan and ask me again"),
|
|
175
|
+
present the updated plan in a new turn and wait for confirmation before
|
|
176
|
+
dispatching subagents (limit plan re-confirmations to at most 2 rounds).
|
|
177
|
+
- **User inquiries during review:** If the user asks a clarifying question
|
|
178
|
+
(e.g. "can we include pediatric trials?"), answer succinctly in 1-2
|
|
179
|
+
sentences, incorporate the suggested scope into the relevant aspect, and
|
|
180
|
+
proceed directly to Step 3 and Step 4 unless explicit re-confirmation was
|
|
181
|
+
demanded.
|
|
182
|
+
|
|
183
|
+
**Degrade to defaults on OBSERVATION:**
|
|
184
|
+
Like Step 1, degrade only after the plan was posted and the session
|
|
185
|
+
demonstrably produced no usable reply in-turn (e.g. an ask tool returning
|
|
186
|
+
immediately empty in unattended/headless runs): proceed under the initial
|
|
187
|
+
proposed plan, record the default plan in `reports/<TOPIC>/assumptions.md`,
|
|
188
|
+
and cite that file in the report's Limitations section.
|
|
189
|
+
|
|
190
|
+
Track the finalized aspect list with the harness's todo mechanism if available
|
|
191
|
+
(TodoWrite or equivalent); otherwise keep it in working memory.
|
|
143
192
|
|
|
144
193
|
### Step 3: Create the output directory
|
|
145
194
|
|
|
@@ -214,11 +263,30 @@ final report addressing the user's inquiry, following the mandatory 6-section
|
|
|
214
263
|
structure in `references/report-template.md` (Executive Summary, Data Sources,
|
|
215
264
|
Analysis Methodology, Findings, Limitations, References) with full
|
|
216
265
|
bibliography. Reconcile conflicting findings across aspects explicitly rather
|
|
217
|
-
than silently dropping one side.
|
|
266
|
+
than silently dropping one side. Write the synthesized draft to
|
|
267
|
+
`reports/<TOPIC>/final_report.md`.
|
|
268
|
+
|
|
269
|
+
### Step 5b: Vet references (independent NCBI verification)
|
|
270
|
+
|
|
271
|
+
After synthesizing `reports/<TOPIC>/final_report.md`, run the independent
|
|
272
|
+
reference vetting script to programmatically validate citations against NCBI
|
|
273
|
+
PubMed E-utilities and backfill volume, issue, and page numbers:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
python3 <skill_dir>/scripts/vet-references.py reports/<TOPIC>/final_report.md --apply
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
- **Fail-safe contract**: on API timeout, rate-limiting, or network failure, the
|
|
280
|
+
script exits 0 and keeps pre-vetting citations unchanged. Non-PMID citations
|
|
281
|
+
(clinical trials, patents, genes, web URLs) are automatically preserved.
|
|
282
|
+
- If the script is unreachable (in harnesses without filesystem access to
|
|
283
|
+
`<skill_dir>`), proceed directly to Step 6 without blocking.
|
|
284
|
+
- When run without `--apply`, the script outputs clean correction suggestions
|
|
285
|
+
for manual inspection before final HTML rendering.
|
|
218
286
|
|
|
219
287
|
### Step 6: Write final report + HTML
|
|
220
288
|
|
|
221
|
-
-
|
|
289
|
+
- Ensure `reports/<TOPIC>/final_report.md` is finalized and vetted.
|
|
222
290
|
- Then render `reports/<TOPIC>/final_report.html` - ALWAYS by default,
|
|
223
291
|
unless the query carries the leading `no-html` prefix or the user
|
|
224
292
|
explicitly declined HTML. The markdown report is the complete deliverable;
|
|
@@ -265,8 +333,8 @@ reports/<TOPIC>/
|
|
|
265
333
|
├── <aspect_1>.md # per-aspect research notes + citations
|
|
266
334
|
├── <aspect_2>.md
|
|
267
335
|
├── ...
|
|
268
|
-
├── assumptions.md # only when Step 1 degrades
|
|
269
|
-
│ # non-interactive session)
|
|
336
|
+
├── assumptions.md # only when Step 1 or Step 2 degrades
|
|
337
|
+
│ # (observed non-interactive session)
|
|
270
338
|
├── final_report.md # synthesized report (always)
|
|
271
339
|
└── final_report.html # rendered report (default; skipped only via
|
|
272
340
|
# `no-html`, user decline, or converter gap -
|
|
@@ -33,6 +33,9 @@ Example:
|
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
When PMID is unavailable, use DOI: `DOI: 10.xxxx/xxxxx`. Both may be given.
|
|
36
|
+
Online ahead of print records may omit Volume(Issue):Pages until assigned;
|
|
37
|
+
`scripts/vet-references.py` automatically resolves and backfills these fields
|
|
38
|
+
via NCBI PubMed E-utilities.
|
|
36
39
|
|
|
37
40
|
### Clinical trials (from trial_search / trial_get)
|
|
38
41
|
|
|
@@ -105,6 +105,7 @@ combination [4]."
|
|
|
105
105
|
- [ ] Access dates for web/official-site sources
|
|
106
106
|
- [ ] Limitations honest about gaps and auth-gated tools not used
|
|
107
107
|
- [ ] Findings re-numbered into one bibliography in final_report.md
|
|
108
|
+
- [ ] References vetted against NCBI via vet-references.py (volume, issue, pages backfilled)
|
|
108
109
|
- [ ] Conflicting findings surfaced, not silently dropped
|
|
109
110
|
|
|
110
111
|
## Common mistakes
|
|
@@ -9,7 +9,7 @@ Each worker owns exactly ONE research aspect of a TOPIC. It queries biomcp
|
|
|
9
9
|
tools, collects identifiers, and writes one markdown file under
|
|
10
10
|
`reports/<TOPIC>/`. Workers never re-delegate, never fabricate, and never fall
|
|
11
11
|
back to internal knowledge for facts. Workers also never interview the user -
|
|
12
|
-
clarification
|
|
12
|
+
clarification and plan review are exclusively the orchestrator's domain (SKILL.md).
|
|
13
13
|
|
|
14
14
|
## Worker prompt template (orchestrator fills this in)
|
|
15
15
|
|