agentleFS
HadiFrt20HadiFrt20/deepresearch/dr-report/SKILL.md

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
  1. Very specific:

    Read .research/ROADMAP.md.

    line 21
  2. Very specific:

    If IN_PROGRESS or NOT_STARTED, warn the user: "Phase {N} is not complete.

    line 23
  3. Very specific:

    Read every file in data/. For each:

    line 27
  4. Very specific:

    Error handling: If a sidecar file contains malformed JSON, skip it, log "[WARNING] Skipped malformed sidecar: {filename}", and continue …

    line 33
  5. Very specific:

    Update adversary_verdict, adversary_evidence, confidence_delta, verified_at, and survival_score in each matching provenance envelope.

    line 34
  6. Very specific:

    Write output/final-report.md with this structure:

    line 38
  7. Distinctive:

    Opportunity scorecard: Add a scoring matrix with weighted criteria

    line 135
  8. Very specific:

    If the user passed --provenance:

    line 140
  9. Very specific:

    Write output/provenance-chain.json alongside the markdown report.

    line 142
  10. Very specific:

    If no adversary data exists, set trust_score and survival_rate to null

    line 172
  11. Distinctive:

    After writing the report:

    line 176
  12. Very specific:

    If --provenance was passed, also print: Provenance chain written to output/provenance-chain.json ({claim count} claims)

    line 189
  13. Very specific:

    If no data files exist, tell the user to run /dr-run first.

    line 193
  14. Very specific:

    If PROJECT.md is missing, tell the user to run /dr-new first.

    line 194
  15. Distinctive:

    If data is sparse (<10 entries total), warn that findings may not be representative.

    line 195

≈ “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

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-run first."

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, and survival_score in 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

FieldCompleteNOT_FOUNDUNVERIFIEDCONFLICTING
...............

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 claims
  • survival_rate: (confirmed + weakened) / (confirmed + weakened + refuted)
  • If no adversary data exists, set trust_score and survival_rate to null

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-run first.
  • If PROJECT.md is missing, tell the user to run /dr-new first.
  • If data is sparse (<10 entries total), warn that findings may not be representative.

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.