dr-report
Skill4 starsChanged 7 months agoMITView on GitHub
Synthesize research findings into the final deliverable. Reads all data files, generates executive summary, key findings, gaps, and recommendations. Use when all phases are complete.
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 3 are distinctive, and 12 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Read .research/ROADMAP.md.
- Very specific: line 23
If IN_PROGRESS or NOT_STARTED, warn the user: "Phase {N} is not complete.
- Very specific: line 27
Read every file in data/. For each:
- Very specific: line 33
Error handling: If a sidecar file contains malformed JSON, skip it, log "[WARNING] Skipped malformed sidecar: {filename}", and continue …
- Very specific: line 34
Update adversary_verdict, adversary_evidence, confidence_delta, verified_at, and survival_score in each matching provenance envelope.
- Very specific: line 38
Write output/final-report.md with this structure:
- Distinctive: line 135
Opportunity scorecard: Add a scoring matrix with weighted criteria
- Very specific: line 140
If the user passed --provenance:
- Very specific: line 142
Write output/provenance-chain.json alongside the markdown report.
- Very specific: line 172
If no adversary data exists, set trust_score and survival_rate to null
- Distinctive: line 176
After writing the report:
- Very specific: line 189
If --provenance was passed, also print: Provenance chain written to output/provenance-chain.json ({claim count} claims)
- Very specific: line 193
If no data files exist, tell the user to run /dr-run first.
- Very specific: line 194
If PROJECT.md is missing, tell the user to run /dr-new first.
- Distinctive: line 195
If data is sparse (<10 entries total), warn that findings may not be representative.
≈ “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.
Files
You are synthesizing research findings into the final deliverable.
Accepts optional arguments: /dr-report, /dr-report --provenance.
Steps
1. Load Context
Read .research/PROJECT.md for:
- The original research question / mission
- The decision context (what the user will do with this)
- The desired artifact type (strategic brief, landscape map, scorecard, etc.)
2. Check Completeness
Read .research/ROADMAP.md. For each phase:
- If COMPLETE, proceed
- If IN_PROGRESS or NOT_STARTED, warn the user: "Phase {N} is not complete. The report will have gaps. Continue anyway? Or run
/dr-runfirst."
3. Load All Data
Read every file in data/. For each:
- Parse the entries
- Note total count, completeness rate, CONFLICTING/UNVERIFIED values
- Group by category or phase as appropriate
Merge adversary sidecar files: Also read any data/*.adversary.json sidecar files. Merge adversary verdicts into the data entries by matching task_id and field_name to the provenance envelopes.
- Error handling: If a sidecar file contains malformed JSON, skip it, log
"[WARNING] Skipped malformed sidecar: {filename}", and continue processing other files. Do not crash. - Update
adversary_verdict,adversary_evidence,confidence_delta,verified_at, andsurvival_scorein each matching provenance envelope.
4. Generate Report
Write output/final-report.md with this structure:
# {Research Title}
Generated: {ISO date}
Source: deepresearch autonomous research project
## Executive Summary
{2-3 paragraphs directly answering the research question from PROJECT.md.
This is the most important section. Be specific and actionable.
Reference data points and counts.}
## Methodology
- Research approach: {from ARCHITECTURE.md ADRs}
- Total entities researched: {count}
- Data sources: {count unique source URLs}
- Phases completed: {N of M}
- Overall data completeness: {percentage}
## Key Findings
### {Phase 1 Title}
{Findings from Phase 1 data. Include specific numbers, top entries, patterns.
Reference the data files for details.}
### {Phase 2 Title}
{Findings from Phase 2 data.}
{...repeat for each phase...}
**Adversary highlights in findings:** When presenting claims in Key Findings sections:
- Claims with `adversary_verdict: "refuted"` → mark with `[REFUTED]` and strikethrough: `~~claim text~~ [REFUTED]`
- Claims with `adversary_verdict: "weakened"` → mark with `[WEAKENED]` and show adversary counter-evidence inline: `claim text [WEAKENED — adversary found: "counter-evidence quote"]`
- Claims with `adversary_verdict: "confirmed"` → present normally (no special marking)
- Claims with `adversary_verdict: "pending"` or `"unverifiable"` → present normally
At the end of each Key Findings section, add a **Contested Claims** subsection listing all refuted/weakened claims with their adversary evidence:
```markdown
#### Contested Claims
| Claim | Verdict | Adversary Evidence | Survival Score |
|-------|---------|-------------------|----------------|
| Artisan AI raised $25M | REFUTED | "Crunchbase shows $12M total funding" | 0.00 |
| Regie.ai has 80 employees | WEAKENED | "LinkedIn shows ~120 employees" | 0.42 |If no adversary sidecar files exist, skip all adversary highlights.
Patterns and Insights
{Cross-cutting observations that span multiple phases. What trends emerged? What was surprising? What does the data suggest that wasn't in the original question?}
Gaps and Limitations
- {N} entries marked INCOMPLETE — could not find full data
- {N} entries marked INACCESSIBLE — sources were unavailable
- Fields with high NOT_FOUND rates: {list}
- {N} CONFLICTING values unresolved
- {Any phases not completed}
Recommendations
{Based on the decision context from PROJECT.md. What should the user do with this information? Prioritized, specific, actionable.}
Appendix
Data Sources
{Count of unique URLs. Top domains referenced.}
Completeness by Field
| Field | Complete | NOT_FOUND | UNVERIFIED | CONFLICTING |
| ... | ... | ... | ... | ... |
Research Quality
- Eval pass rate: {from latest eval-history file, if exists}
- Researcher iterations: {count of versions in eval-history}
### 5. Adapt to Artifact Type
Based on the done condition from PROJECT.md:
- **Strategic brief:** Focus on executive summary and recommendations
- **Landscape map:** Include a category breakdown table with key metrics per entity
- **Opportunity scorecard:** Add a scoring matrix with weighted criteria
- **Spreadsheet:** Additionally generate `output/data-export.json` with all entries merged and normalized
### 6. Provenance Export (--provenance flag)
If the user passed `--provenance`:
Write `output/provenance-chain.json` alongside the markdown report. This is the full epistemic audit trail.
Structure:
```json
{
"generated_at": "2026-04-10T14:30:00Z",
"trust_score": 0.74,
"survival_rate": 0.87,
"claims": {
"P1.01:funding_total": {
"claim_text": "Artisan AI raised $12M",
"source_url": "https://crunchbase.com/organization/artisan-ai",
"extraction_method": "direct_quote",
"cross_ref_count": 2,
"cross_ref_urls": ["https://techcrunch.com/artisan-ai-funding"],
"confidence_score": 0.9,
"volatility_class": "medium",
"adversary_verdict": "confirmed",
"adversary_evidence": null,
"verified_at": "2026-04-10T14:32:00Z",
"survival_score": 0.9
}
}
}- Key format:
{task_id}:{field_name}for easy lookup - Flatten all provenance envelopes from all data files + sidecar verdicts into one exportable artifact
trust_score: mean survival_score across all adversary-reviewed claimssurvival_rate: (confirmed + weakened) / (confirmed + weakened + refuted)- If no adversary data exists, set
trust_scoreandsurvival_ratetonull
7. Print Summary
After writing the report:
Report written to output/final-report.md
{word count} words, {section count} sections
{entity count} entities across {category count} categories
{source count} unique sources referenced
Trust: {survival_rate}% survived | Score: {trust_score} (or "N/A" if no adversary data)
The report directly answers: "{original research question}"If --provenance was passed, also print: Provenance chain written to output/provenance-chain.json ({claim count} claims)
Error Handling
- If no data files exist, tell the user to run
/dr-runfirst. - If PROJECT.md is missing, tell the user to run
/dr-newfirst. - If data is sparse (<10 entries total), warn that findings may not be representative.
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
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.

