Install
$ agentstack add skill-insight68-skills-deep-research ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Deep Research
Core System Instructions
Purpose: Deliver citation-backed, verified research reports through 8-phase pipeline (Scope → Plan → Retrieve → Triangulate → Synthesize → Critique → Refine → Package) with source credibility scoring and progressive context management.
Context Strategy: This skill uses 2025 context engineering best practices:
- Static instructions cached (this section)
- Progressive disclosure (load references only when needed)
- Avoid "loss in the middle" (critical info at start/end, not buried)
- Explicit section markers for context navigation
Decision Tree (Execute First)
Request Analysis
├─ Simple lookup? → STOP: Use WebSearch, not this skill
├─ Debugging? → STOP: Use standard tools, not this skill
└─ Complex analysis needed? → CONTINUE
Mode Selection
├─ Initial exploration? → quick (3 phases, 2-5 min)
├─ Standard research? → standard (6 phases, 5-10 min) [DEFAULT]
├─ Critical decision? → deep (8 phases, 10-20 min)
└─ Comprehensive review? → ultradeep (8+ phases, 20-45 min)
Execution Loop (per phase)
├─ Load phase instructions from [methodology](./reference/methodology.md#phase-N)
├─ Execute phase tasks
├─ Spawn parallel agents if applicable
└─ Update progress
Validation Gate
├─ Run `python scripts/validate_report.py --report [path]`
├─ Pass? → Deliver
└─ Fail? → Fix (max 2 attempts) → Still fails? → Escalate
Workflow (Clarify → Plan → Act → Verify → Report)
AUTONOMY PRINCIPLE: This skill operates independently. Infer assumptions from query context. Only stop for critical errors or incomprehensible queries.
1. Clarify (Rarely Needed - Prefer Autonomy)
DEFAULT: Proceed autonomously. Derive assumptions from query signals.
ONLY ask if CRITICALLY ambiguous:
- Query is incomprehensible (e.g., "research the thing")
- Contradictory requirements (e.g., "quick 50-source ultradeep analysis")
When in doubt: PROCEED with standard mode. User will redirect if incorrect.
Default assumptions:
- Technical query → Assume technical audience
- Comparison query → Assume balanced perspective needed
- Trend query → Assume recent 1-2 years unless specified
- Standard mode is default for most queries
2. Plan
Mode selection criteria:
- Quick (2-5 min): Exploration, broad overview, time-sensitive
- Standard (5-10 min): Most use cases, balanced depth/speed [DEFAULT]
- Deep (10-20 min): Important decisions, need thorough verification
- UltraDeep (20-45 min): Critical analysis, maximum rigor
Announce plan and execute:
- Briefly state: selected mode, estimated time, number of sources
- Example: "Starting standard mode research (5-10 min, 15-30 sources)"
- Proceed without waiting for approval
3. Act (Phase Execution)
All modes execute:
- Phase 1: SCOPE - Define boundaries ([method](./reference/methodology.md#phase-1-scope))
- Phase 3: RETRIEVE - Parallel search execution (5-10 concurrent searches + agents) ([method](./reference/methodology.md#phase-3-retrieve---parallel-information-gathering))
- Phase 8: PACKAGE - Generate report using [template](./templates/report_template.md)
Standard/Deep/UltraDeep execute:
- Phase 2: PLAN - Strategy formulation
- Phase 4: TRIANGULATE - Verify 3+ sources per claim
- Phase 4.5: OUTLINE REFINEMENT - Adapt structure based on evidence (WebWeaver 2025) ([method](./reference/methodology.md#phase-45-outline-refinement---dynamic-evolution-webweaver-2025))
- Phase 5: SYNTHESIZE - Generate novel insights
Deep/UltraDeep execute:
- Phase 6: CRITIQUE - Red-team analysis
- Phase 7: REFINE - Address gaps
Critical: Avoid "Loss in the Middle"
- Place key findings at START and END of sections, not buried
- Use explicit headers and markers
- Structure: Summary → Details → Conclusion (not Details sandwiched)
Progressive Context Loading:
- Load [methodology](./reference/methodology.md) sections on-demand
- Load [template](./templates/report_template.md) only for Phase 8
- Do not inline everything - reference external files
Anti-Hallucination Protocol (CRITICAL):
- Source grounding: Every factual claim MUST cite a specific source immediately [N]
- Clear boundaries: Distinguish between FACTS (from sources) and SYNTHESIS (your analysis)
- Explicit markers: Use "According to [1]..." or "[1] reports..." for source-grounded statements
- No speculation without labeling: Mark inferences as "This suggests..." not "Research shows..."
- Verify before citing: If unsure whether source actually says X, do NOT fabricate citation
- When uncertain: Say "No sources found for X" rather than inventing references
Parallel Execution Requirements (CRITICAL for Speed):
Phase 3 RETRIEVE - Mandatory Parallel Search:
- Decompose query into 5-10 independent search angles before ANY searches
- Launch ALL searches in single message with multiple tool calls (NOT sequential)
- Quality threshold monitoring for FFS pattern:
- Track source count and avg credibility score
- Proceed when threshold reached (mode-specific, see methodology)
- Continue background searches for additional depth
- Spawn 3-5 parallel agents using Task tool for deep-dive investigations
Example correct execution:
[Single message with 8+ parallel tool calls]
WebSearch #1: Core topic semantic
WebSearch #2: Technical keywords
WebSearch #3: Recent 2024-2025 filtered
WebSearch #4: Academic domains
WebSearch #5: Critical analysis
WebSearch #6: Industry trends
Task agent #1: Academic paper analysis
Task agent #2: Technical documentation deep dive
❌ WRONG (sequential execution):
WebSearch #1 → wait for results → WebSearch #2 → wait → WebSearch #3...
✅ RIGHT (parallel execution):
All searches + agents launched simultaneously in one message
4. Verify (Always Execute)
Step 1: Citation Verification (Catches Fabricated Sources)
python scripts/verify_citations.py --report [path]
Checks:
- DOI resolution (verifies citation actually exists)
- Title/year matching (detects mismatched metadata)
- Flags suspicious entries (2024+ without DOI, no URL, failed verification)
If suspicious citations found:
- Review flagged entries manually
- Remove or replace fabricated sources
- Re-run until clean
Step 2: Structure & Quality Validation
python scripts/validate_report.py --report [path]
8 automated checks:
- Executive summary length (50-250 words)
- Required sections present (+ recommended: Claims table, Counterevidence)
- Citations formatted [1], [2], [3]
- Bibliography matches citations
- No placeholder text (TBD, TODO)
- Word count reasonable (500-10000)
- Minimum 10 sources
- No broken internal links
If fails:
- Attempt 1: Auto-fix formatting/links
- Attempt 2: Manual review + correction
- After 2 failures: STOP → Report issues → Ask user
5. Report
CRITICAL: Generate COMPREHENSIVE, DETAILED markdown reports
File Organization (CRITICAL - Clean Accessibility):
1. Create Organized Folder in Documents:
- ALWAYS create dedicated folder:
~/Documents/[TopicName]_Research_[YYYYMMDD]/ - Extract clean topic name from research question (remove special chars, use underscores/CamelCase)
- Examples:
- "psilocybin research 2025" →
~/Documents/Psilocybin_Research_20251104/ - "compare React vs Vue" →
~/Documents/React_vs_Vue_Research_20251104/ - "AI safety trends" →
~/Documents/AI_Safety_Trends_Research_20251104/ - If folder exists, use it; if not, create it
- This ensures clean organization and easy accessibility
2. Save All Formats to Same Folder:
Markdown (Primary Source):
- Save to:
[Documents folder]/research_report_[YYYYMMDD]_[topic_slug].md - Also save copy to:
~/.claude/research_output/(internal tracking) - Full detailed report with all findings
HTML (McKinsey Style - ALWAYS GENERATE):
- Save to:
[Documents folder]/research_report_[YYYYMMDD]_[topic_slug].html - Use McKinsey template: [mckinseytemplate](./templates/mckinseyreport_template.html)
- Design principles: Sharp corners (NO border-radius), muted corporate colors (navy #003d5c, gray #f8f9fa), ultra-compact layout, info-first structure
- Place critical metrics dashboard at top (extract 3-4 key quantitative findings)
- Use data tables for dense information presentation
- 14px base font, compact spacing, no decorative gradients or colors
- Attribution Gradients (2025): Wrap each citation [N] in `` with nested tooltip div showing source details
- OPEN in browser automatically after generation
PDF (Professional Print - ALWAYS GENERATE):
- Save to:
[Documents folder]/research_report_[YYYYMMDD]_[topic_slug].pdf - Use generating-pdf skill (via Task tool with general-purpose agent)
- Professional formatting with headers, page numbers
- OPEN in default PDF viewer after generation
3. File Naming Convention: All files use same base name for easy matching:
research_report_20251104_psilocybin_2025.mdresearch_report_20251104_psilocybin_2025.htmlresearch_report_20251104_psilocybin_2025.pdf
Length Requirements (UNLIMITED with Progressive Assembly):
- Quick mode: 2,000+ words (baseline quality threshold)
- Standard mode: 4,000+ words (comprehensive analysis)
- Deep mode: 6,000+ words (thorough investigation)
- UltraDeep mode: 10,000-50,000+ words (NO UPPER LIMIT - as comprehensive as evidence warrants)
How Unlimited Length Works: Progressive file assembly allows ANY report length by generating section-by-section. Each section is written to file immediately (avoiding output token limits). Complex topics with many findings? Generate 20, 30, 50+ findings - no constraint!
Content Requirements:
- Use [template](./templates/report_template.md) as exact structure
- Generate each section to APPROPRIATE depth (determined by evidence, not word targets)
- Include specific data, statistics, dates, numbers (not vague statements)
- Multiple paragraphs per finding with evidence (as many as needed)
- Each section gets focused generation attention
- DO NOT write summaries - write FULL analysis
Writing Standards:
- Narrative-driven: Write in flowing prose. Each finding tells a story with beginning (context), middle (evidence), end (implications)
- Precision: Every word deliberately chosen, carries intention
- Economy: No fluff, eliminate fancy grammar, unnecessary modifiers
- Clarity: Exact numbers embedded in sentences ("The study demonstrated a 23% reduction in mortality"), not isolated in bullets
- Directness: State findings without embellishment
- High signal-to-noise: Dense information, respect reader's time
Bullet Point Policy (Anti-Fatigue Enforcement):
- Use bullets SPARINGLY: Only for distinct lists (product names, company roster, enumerated steps)
- NEVER use bullets as primary content delivery - they fragment thinking
- Each findings section requires substantive prose paragraphs (3-5+ paragraphs minimum)
- Example: Instead of "• Market size: $2.4B" write "The global market reached $2.4 billion in 2023, driven by increasing consumer demand and regulatory tailwinds [1]."
Anti-Fatigue Quality Check (Apply to EVERY Section): Before considering a section complete, verify:
- [ ] Paragraph count: ≥3 paragraphs for major sections (## headings)
- [ ] Prose-first: 20,000 words:**
User must run skill multiple times:
- Run 1: "Generate Part 1 (sections 1-6)" → saves to part1.md
- Run 2: "Generate Part 2 (sections 7-12)" → saves to part2.md
- User manually combines or asks Claude to merge files
Auto-Continuation Strategy (TRUE Unlimited Length):
When report exceeds 18,000 words in single run:
- Generate sections 1-10 (stay under 18K words)
- Save continuation state file with context preservation
- Spawn continuation agent via Task tool
- Continuation agent: Reads state → Generates next batch → Spawns next agent if needed
- Chain continues recursively until complete
This achieves UNLIMITED length while respecting 32K limit per agent
Initialize Citation Tracking:
citations_used = [] # Maintain this list in working memory throughout
Section Generation Loop:
Pattern: Generate section content → Use Write/Edit tool with that content → Move to next section Each Write/Edit call contains ONE section (≤2,000 words per call)
- Executive Summary (200-400 words)
- Generate section content
- Tool: Write(file, content=frontmatter + Executive Summary)
- Track citations used
- Progress: "✓ Executive Summary"
- Introduction (400-800 words)
- Generate section content
- Tool: Edit(file, old=last_line, new=old + Introduction section)
- Track citations used
- Progress: "✓ Introduction"
- Finding 1 (600-2,000 words)
- Generate complete finding
- Tool: Edit(file, append Finding 1)
- Track citations used
- Progress: "✓ Finding 1"
- Finding 2 (600-2,000 words)
- Generate complete finding
- Tool: Edit(file, append Finding 2)
- Track citations used
- Progress: "✓ Finding 2"
... Continue for ALL findings (each finding = one Edit tool call, ≤2,000 words)
CRITICAL: If you have 10 findings × 1,500 words each = 15,000 words of findings This is OKAY because each Edit call is only 1,500 words (under 2,000 word limit per tool call) The FILE grows to 15,000 words, but no single tool call exceeds limits
- Synthesis & Insights
- Generate: Novel insights beyond source statements (as long as needed for synthesis)
- Tool: Edit (append to file)
- Track: Extract citations, append to citations_used
- Progress: "Generated Synthesis ✓"
- Limitations & Caveats
- Generate: Counterevidence, gaps, uncertainties (appropriate depth)
- Tool: Edit (append to file)
- Track: Extract citations, append to citations_used
- Progress: "Generated Limitations ✓"
- Recommendations
- Generate: Immediate actions, next steps, research needs (appropriate depth)
- Tool: Edit (append to file)
- Track: Extract citations, append to citations_used
- Progress: "Generated Recommendations ✓"
- Bibliography (CRITICAL - ALL Citations)
- Generate: COMPLETE bibliography with EVERY citation from citations_used list
- Format: [1], [2], [3]... [N] - each citation gets full entry
- Verification: Check citations_used list - if list contains [1] through [73], generate all 73 entries
- NO ranges ([1-50]), NO placeholders ("Additional citations"), NO truncation
- Tool: Edit (append to file)
- Progress: "Generated Bibliography ✓ (N citations)"
- Methodology Appendix
- Generate: Research process, verification approach (appropriate depth)
- Tool: Edit (append to file)
- Progress: "Generated Methodology ✓"
Phase 8.3: Auto-Continuation Decision Point
After generating sections, check word count:
If total output ≤18,000 words: Complete normally
- Generate Bibliography (all citations)
- Generate Methodology
- Verify complete report
- Save copy to ~/.claude/research_output/
- Done! ✓
If total output will exceed 18,000 words: Auto-Continuation Protocol
Step 1: Save Continuation State Create file: ~/.claude/research_output/continuation_state_[report_id].json
{
"version": "2.1.1",
"report_id": "[unique_id]",
"file_path": "[absolute_path_to_report.md]",
"mode": "[quick|standard|deep|ultradeep]",
"progress": {
"sections_completed": [list of section IDs done],
"total_planned_sections": [total count],
"word_count_so_far": [current word count],
"continuation_count": [which continuation this is, starts at 1]
},
"citations": {
"used": [1, 2, 3, ..., N],
"next_number": [N+1],
"bibliography_entries": [
"[1] Full citation entry",
"[2] Full citation entry",
...
]
},
"research_context": {
"research_question": "[original question]",
"key_themes": ["theme1", "theme2", "theme3"],
…
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [insight68](https://github.com/insight68)
- **Source:** [insight68/Skills](https://github.com/insight68/Skills)
- **License:** MIT
- **Homepage:** https://theSkills.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.