MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
Receives Domain Summaries (Knowledge Summary, Analysis Summary, or both) from the science-research-team orchestrator, performs cross-domain synthesis (identifying…
$ npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery report-writer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/report-writer .claude/skills/report-writer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "report-writer" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writer into .claude/skills/report-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery report-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/report-writer .agents/skills/report-writer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "report-writer" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writer into .agents/skills/report-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery report-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/report-writer .cursor/skills/report-writer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "report-writer" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writer into .cursor/skills/report-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openJiuwen-ai/sciencediscovery.git --path skills/report-writer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery report-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/report-writer .gemini/skills/report-writer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "report-writer" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writer into .gemini/skills/report-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openJiuwen-ai/sciencediscovery report-writerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/report-writer .github/skills/report-writer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "report-writer" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writer into .github/skills/report-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openJiuwen-ai/sciencediscovery report-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openJiuwen-ai/sciencediscovery.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/report-writer .opencode/skills/report-writer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "report-writer" agent skill from https://github.com/openJiuwen-ai/sciencediscovery/tree/main/skills/report-writer into .opencode/skills/report-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
report-writerReceives Domain Summaries (Knowledge Summary, Analysis Summary, or both) from the science-research-team orchestrator, performs cross-domain synthesis (identifying…
Report Writer is an agent skill from openJiuwen-ai/sciencediscovery. Receives Domain Summaries (Knowledge Summary, Analysis Summary, or both) from the science-research-team orchestrator, performs cross-domain synthesis (identifying SUPPORTS/CONTRADICTS/INFORMS/INDEPENDENT connections), surfaces contradictions verbatim, and produces a formatted output per user requirements (or the default 7-section template if no format specified). NOT for performing research, conducting analysis, evaluating results, or resolving contradictions.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows. The repository describes itself as: ScienceDiscovery is an all‑in‑one agentic workbench built specifically for scientific research. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ab1403f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
pypi.tuna.tsinghua.edu.cnFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Report Writer loads about 3.5k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 962 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from openJiuwen-ai/sciencediscovery at commit ab1403f, republished under its Apache-2.0 licence (© openJiuwen-ai). 962 words, ~3,475 tokens.
.claude/skills/report-writer/SKILL.md (or your agent's skills folder).This skill synthesizes Domain Summaries into a formatted output. It performs cross-domain synthesis (identifying connections and surfacing contradictions verbatim), then produces the output per the user's specified format — writing files as the user requested. If no format is specified, it defaults to the 7-section template. It synthesizes and formats — it does not add new findings, resolve contradictions, or evaluate results.
Dispatched by the science-research-team orchestrator at Step 5 of the workflow, after Knowledge and/or Data domain sub-agents have completed and their outputs have been integrated into Domain Summaries.
Use this skill when:
Do NOT use this skill for:
This skill receives Domain Summaries from the science-research-team orchestrator via the task tool. Input format:
### Domain Summaries
[Path to `knowledge_summary.md` if knowledge domain was activated, path to `analysis_summary.md` if data domain was activated.]
### Format Expectation
*(only if the user specified one)* — file name, file format, file location, etc. that the user requested. Omit if not specified.
### Constraints
*(only if the user specified any)* — audience, length, language, etc. that the user requested. Omit if not specified.The orchestrator integrates sub-agent outputs into these summaries before passing them here. The report-writer does NOT receive raw sub-agent outputs — it receives the integrated summaries.
Knowledge Summary format (from orchestrator integration):
### Knowledge Findings
[Source-supported claims answering the research objective; each tied to one or more sources via provenance.]
### Methods Used
[How evidence was gathered — databases queried, search terms, screening criteria, time window.]
### Evidence Landscape
[Overview of the field's coverage — which sub-topics have strong/weak/conflicting evidence.]
### Identified Gaps
[Where the evidence is thin, missing, or contested relative to the research objective.]Analysis Summary format (from orchestrator integration):
### Objective
[The specific analysis objective this Summary addresses.]
### Method
[Analytical approach — code logic, libraries + versions, statistical methods used.]
### Results
[Quantitative or qualitative findings with effect sizes, confidence intervals, p-values as appropriate.]
### Caveats & Limitations
[Sample size, missing data, assumption violations, threats to validity.]
### Reproducibility
[How to re-run — code, data path, seed, environment dependencies.]Minimum input: one Domain Summary (Knowledge or Analysis). If neither is provided, cannot synthesize — request re-dispatch.
If you need to install new Python packages, install them through the Tsinghua PyPI mirror for reliability:
pip install [python package] -i https://pypi.tuna.tsinghua.edu.cn/simple| Scenario | Available inputs | Sections affected |
|---|---|---|
| Dual-domain | Knowledge Summary + Analysis Summary | All 7 sections populated; Sections 4–5 contain cross-domain connections and contradictions |
| Knowledge only | Knowledge Summary only | Section 2 populated; Section 3 notes [DATA DOMAIN NOT ACTIVATED]; Sections 4–5 note [SINGLE DOMAIN] |
| Analysis only | Analysis Summary only | Section 3 populated; Section 2 notes [KNOWLEDGE DOMAIN NOT ACTIVATED]; Sections 4–5 note [SINGLE DOMAIN] |
Format Expectation if provided; otherwise DEFAULT (7-section template)Constraints (audience, length, language)Extract key findings per domain — read each Domain Summary's sections:
Each finding MUST cite its originating sub-agent (literature-searcher, evidence-extractor, code-engineer, result-evaluator) — traceability is mandatory. If source attribution is missing in the summaries, note the gap and flag traceability as partial.
Identify cross-domain connections (dual-domain only) using the 4-label taxonomy:
| Label | Definition |
|---|---|
| SUPPORTS | Findings reinforce each other — same direction |
| CONTRADICTS | Findings disagree — opposite or incompatible conclusions |
| INFORMS | One finding provides context/methodology that shapes the other |
| INDEPENDENT | No direct relationship — different aspects |
Map each connection to its source domain summary — embedded in Executive Summary and Cross-Domain Insights section.
Surface contradictions verbatim — for every CONTRADICTS connection:
Claim A: [finding from Knowledge domain] — Source: [sub-agent-id]
Claim B: [finding from Analysis domain] — Source: [sub-agent-id]
Status: UNRESOLVED — Human decidesNever resolve, merge, or silently drop conflicting claims. The user is the sole arbiter.
Single-domain handling: Sections 4–5 note [SINGLE DOMAIN]. Intra-domain contradictions (if any) are surfaced labeled [INTRA-DOMAIN].
Determine output format:
| User specification | Action |
|---|---|
| No format specified | Default 7-section template |
| User format specified | Follow user's format while maintaining traceability, contradiction preservation, cross-domain identification, and no invention. Always include Verdict. |
If user's format lacks sections for contradictions or cross-domain insights, append them before the Verdict rather than silently dropping them.
Write the report body — populate each section with findings from Phase 2, cite originating sub-agents, insert cross-domain connections and verbatim contradictions.
Verdict assignment:
| Verdict | Criteria |
|---|---|
| COMPLETE | All sections present, traceability maintained, connections identified (dual-domain), contradictions surfaced, no invention |
| PARTIAL | Sections incomplete, traceability gaps, connections missed |
| FAILED | Significant sections missing, contradictions resolved, or new claims introduced |
Verdict section is always included regardless of format.
Self-check before delivery:
Produce the final report and save to /mnt/user-data/outputs/report-<topic-slug>-<YYYYMMDD>.md. Present file path back to the orchestrator.
Used when user does not specify a format:
[2-3 sentence overview of the research question, key findings, and overall verdict]
## Domain-Specific Report Patterns
| Domain | Common report shape | Typical connection types |
|---|---|---|
| **Biology** — Mechanism + validation | Knowledge: pathway mechanisms ↔ Analysis: experimental validation | INFORMS, SUPPORTS |
| **Biology** — Biomarker + statistics | Knowledge: candidate biomarkers ↔ Analysis: sensitivity/specificity | SUPPORTS, CONTRADICTS |
| **Chemistry** — Reaction methodology + yield | Knowledge: established procedures ↔ Analysis: yield optimization data | SUPPORTS, INFORMS |
| **Materials** — Structure-property | Knowledge: known correlations ↔ Analysis: measured properties | SUPPORTS, CONTRADICTS |
| **Finance** — Factor analysis | Knowledge: academic factor models ↔ Analysis: backtest results | SUPPORTS, CONTRADICTS |
## Boundary
**Forbidden**:
- Do NOT add new findings, claims, or data — all content originates from Domain Summaries
- Do NOT resolve contradictions between domains — surface them verbatim for the user
- Do NOT evaluate result validity — evaluation belongs to result-evaluator
- Do NOT perform analysis or research — those belong to their respective domain sub-agents
- Do NOT silently drop or merge conflicting claims from different domains
**Mandatory**:
- MUST produce output in user's specified format if provided; otherwise MUST use default 7-section template
- MUST maintain traceability — every finding cites its originating sub-agent
- MUST identify and label cross-domain connections explicitly (SUPPORTS/CONTRADICTS/INFORMS/INDEPENDENT) when both Domain Summaries are present
- MUST surface contradictions verbatim — never resolve, merge, or silently drop conflicting claims
- MUST NOT introduce any claims not present in the Domain Summaries
- MUST note `[SINGLE DOMAIN — no cross-domain analysis]` in Section 4 and `[SINGLE DOMAIN — no inter-domain contradictions]` in Section 5 when only one domain is present
- MUST map each cross-domain insight and each contradiction to the source Domain Summary — embedded in Executive Summary and Cross-Domain Insights
## Error Handling
| Failure mode | Recovery |
|---|---|
| Both Domain Summaries missing | Cannot synthesize — request orchestrator re-dispatch |
| One Domain Summary missing (expected dual-domain) | Proceed as single-domain with `[SINGLE DOMAIN]` annotations |
| Domain Summary section empty | Note gap in relevant section, proceed with available content |
| Domain Summary contains placeholder text | Treat as empty, note gap |
| Format Expectation ambiguous | Default to 7-section template, include note for clarification |
| Intra-domain contradictions found | Surface in Section 5 labeled `[INTRA-DOMAIN]` |
| No findings available for a section | Mark `[NO FINDINGS]`, never invent content |
## Complete Example
Synthesize a dual-domain result: knowledge findings on AI in healthcare + analysis results on clinical data.
1. **Read inputs** — `knowledge_summary.md` and `analysis_summary.md` both present and substantive
2. **Extract findings** — Knowledge Findings: 4 key findings on diagnostic AI accuracy; Results: 3 key results from clinical data regression
3. **Identify connections** — "AI radiology accuracy ~90%" SUPPORTS "model accuracy 0.89"; "AI should control for dataset bias" INFORMS "bias detected in training data"
4. **Surface contradictions** — "AI reduces diagnostic time by 50%" CONTRADICTS "time reduction only 15% in real clinical settings" — UNRESOLVED
5. **Write report** — 7-section template, all findings with source attribution, Verdict COMPLETE© openJiuwen-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/report-writer of openJiuwen-ai/sciencediscovery.
Open the folder on GitHubat commit ab1403f
Report Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Report Writer this skillopenJiuwen-ai/sciencediscovery | 159 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server Builderanthropics/skills | 180k | 63 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Hook Development for Claude Code Pluginsanthropics/claude-plugins-official | 38k | 10 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | |
| Using Superpowersfarm-fe/farm | 5.6k | 36 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Executing Plans Inlineobra/superpowers | 297k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | |
| Skill CreatorAzure/azqr | 796 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
anthropics/claude-plugins-official
Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.
farm-fe/farm
A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
obra/superpowers
Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.
Azure/azqr
Create new skills, modify and improve existing skills, and measure skill performance.
anthropics/claude-plugins-official
Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.
openJiuwen-ai/sciencediscovery
A skill your agent uses when you need to write and execute Python/R code to process, transform, and analyze data, delivering reproducible computational results with complete code-level methodology…
openJiuwen-ai/sciencediscovery
Operate GitCode issues, PRs, wikis, code/MR refs, and cached org templates.
openJiuwen-ai/sciencediscovery
Inspect a local PDB structure, summarize chains and residue composition, and identify protein atoms near a user-specified ligand or pocket center.
openJiuwen-ai/sciencediscovery
Prepare, launch, monitor, and summarize the real RFdiffusion to ProteinMPNN to Protenix antibody pipeline on a local or remote ScienceDiscovery Runner with sandboxed Ascend NPUs.
openJiuwen-ai/sciencediscovery
A skill your agent uses to orchestrate a multi-domain research team for literature/evidence research and data analysis.
openJiuwen-ai/sciencediscovery
A skill your agent uses when a research workflow needs verified academic source retrieval through literature-search MCP interfaces available in the current session before evidence extraction.
Categories
Receives Domain Summaries (Knowledge Summary, Analysis Summary, or both) from the science-research-team orchestrator, performs cross-domain synthesis (identifying…. Report Writer is an agent skill from openJiuwen-ai/sciencediscovery. Receives Domain Summaries (Knowledge Summary, Analysis Summary, or both) from the science-research-team orchestrator, performs cross-domain synthesis (identifying SUPPORTS/CONTRADICTS/INFORMS/INDEPENDENT connections), surfaces contradictions verbatim, and produces a formatted output per user requirements (or the default 7-section template if no format specified).
Report Writer fits situations like: agent Workflows work in your project.
Run `npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a claude-code`. Or copy the skill folder (skills/report-writer in openJiuwen-ai/sciencediscovery) into .claude/skills/report-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a codex`. Or copy the skill folder (skills/report-writer in openJiuwen-ai/sciencediscovery) into .agents/skills/report-writer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openJiuwen-ai/sciencediscovery --skill report-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report-writer, .gemini/skills/report-writer, .github/skills/report-writer and .opencode/skills/report-writer in your project.
Going by SKILL.md and its folder, Report Writer needs the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: pypi.tuna.tsinghua.edu.cn; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Report Writer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Report Writer: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openJiuwen-ai (a GitHub organization) maintains it in openJiuwen-ai/sciencediscovery, which has 159 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 10, 2026.
Source: openJiuwen-ai/sciencediscovery on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.