#765 by GitHub stars

199-biotechnologies/claude-deep-research-skill

Use when the user needs multi-source research with citation tracking, evidence persistence, and structured report generation. Triggers on "deep research", "comprehensive analysis", "research report", "compare X vs Y", "analyze trends", or "state of the art". Not for simple lookups, debugging, or que

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f2f2c0fa4e76 → f2f2c0fa4e76

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f2f2c0fa4e76 → f2f2c0fa4e76

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit f2f2c0fa4e7617ca84c86b63f4bb40f77a746933

1.2kGitHub stars
8stars in 7 days
1skill in this repository
0commits in 30 days

Heat

4.9
  • Star growth, last 7 daysAhead of 77% of tracked repositories
  • Star growth, last 24 hoursAhead of 86% of tracked repositories
  • Rank movement, last 7 daysAhead of 20% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20261,211

Individual skills in this repository

How it works

deep-research

When your agent uses it

Use when the user needs multi-source research with citation tracking, evidence persistence, and structured report generation. Triggers on "deep research", "comprehensive analysis", "research report", "compare X vs Y", "analyze trends", or "state of the art". Not for simple lookups, debugging, or questions answerable with 1-2 searches.

What it loads into context

Frontmatter

81 tokens

Always available to the agent

SKILL.md

1,074 tokens

When the skill is activated

Reference documents

14,552 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Core Purpose
  2. Decision Tree
  3. Workflow Overview
  4. Execution
  5. Output Contract
  6. When to Use / NOT Use

Scripts executed separately

  • scripts/citation_manager.py
  • scripts/evidence_store.py
  • scripts/extract_claims.py
  • scripts/md_to_html.py
  • scripts/research_engine.py
  • scripts/source_evaluator.py
  • scripts/validate_report.py
  • scripts/verify_citations.py
  • scripts/verify_claim_support.py
  • scripts/verify_html.py
  • tests/test_citation_manager.py
  • tests/test_evidence_store.py
  • tests/test_extract_claims.py
  • tests/test_verify_claim_support.py

Files

  • .gitignoreasset264 bytes
  • README.mddoc4,924 bytes
  • SKILL.mdcore4,343 bytes
  • SKILL.mdcore4,343 bytes
  • SKILL.mdcore4,343 bytes
  • SKILL.mdcore4,343 bytes
  • SKILL.mdcore4,343 bytes
  • reference/continuation.mddoc4,602 bytes
  • reference/html-generation.mddoc2,919 bytes
  • reference/methodology.mddoc16,505 bytes
  • reference/quality-gates.mddoc5,808 bytes
  • reference/report-assembly.mddoc4,044 bytes
  • reference/weasyprint_guidelines.mddoc5,814 bytes
  • requirements.txtdoc579 bytes
  • schemas/claim.schema.jsonasset1,621 bytes
  • schemas/evidence.schema.jsonasset1,432 bytes
  • schemas/run_manifest.schema.jsonasset2,910 bytes
  • schemas/source.schema.jsonasset1,612 bytes
  • scripts/citation_manager.pyruns10,313 bytes
  • scripts/evidence_store.pyruns6,516 bytes
  • scripts/extract_claims.pyruns12,131 bytes
  • scripts/md_to_html.pyruns9,965 bytes
  • scripts/research_engine.pyruns16,765 bytes
  • scripts/source_evaluator.pyruns9,492 bytes
  • scripts/validate_report.pyruns12,406 bytes
  • scripts/verify_citations.pyruns15,468 bytes
  • scripts/verify_claim_support.pyruns11,049 bytes
  • scripts/verify_html.pyruns7,800 bytes
  • templates/mckinsey_report_template.htmlasset10,394 bytes
  • templates/report_template.mddoc13,144 bytes
  • tests/fixtures/invalid_report.mddoc288 bytes
  • tests/fixtures/valid_report.mddoc3,331 bytes
  • tests/test_citation_manager.pyruns7,780 bytes
  • tests/test_evidence_store.pyruns5,885 bytes
  • tests/test_extract_claims.pyruns8,273 bytes
  • tests/test_verify_claim_support.pyruns8,633 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • deep-research

Repository facts

License
No license detected
Created
Nov 4, 2025
Last pushed
Apr 11, 2026
Forks
129
Open issues
3
Project activity
Slowing

Rank over the last 12 weeks

Now #765 · best #555 · down 142 in 30 days

  1. #753 on Oct 31
  2. #756 on Nov 1
  3. #758 on Nov 2
  4. #764 from Nov 3 to Nov 4
  5. #766 on Nov 5
  6. #765 since Nov 6
66 earlier periods
  1. #548 on Aug 2
  2. #549 on Aug 7
  3. #548 on Aug 9
  4. #573 on Aug 10
  5. #574 on Aug 11
  6. #568 on Aug 12
  7. #571 from Aug 13 to Aug 14
  8. #555 on Aug 15
  9. #572 on Aug 16
  10. #576 on Aug 17
  11. #591 on Aug 21
  12. #569 on Aug 22
  13. #597 on Aug 23
  14. #599 on Aug 24
  15. #611 on Aug 25
  16. #623 on Aug 28
  17. #580 on Aug 29
  18. #582 on Aug 30
  19. #607 on Aug 31
  20. #623 on Sep 1
  21. #613 on Sep 2
  22. #616 on Sep 3
  23. #598 on Sep 4
  24. #595 on Sep 5
  25. #604 on Sep 6
  26. #633 on Sep 8
  27. #622 on Sep 9
  28. #616 on Sep 11
  29. #617 on Sep 12
  30. #619 on Sep 13
  31. #643 on Sep 14
  32. #635 on Sep 15
  33. #643 on Sep 16
  34. #644 from Sep 17 to Sep 18
  35. #615 on Sep 19
  36. #622 on Sep 20
  37. #619 on Sep 21
  38. #623 on Sep 22
  39. #607 on Sep 23
  40. #587 on Sep 24
  41. #579 from Sep 25 to Sep 26
  42. #607 on Sep 27
  43. #609 on Sep 28
  44. #638 on Sep 29
  45. #623 on Sep 30
  46. #604 on Oct 1
  47. #613 on Oct 2
  48. #589 on Oct 3
  49. #608 on Oct 4
  50. #615 on Oct 5
  51. #623 on Oct 7
  52. #657 on Oct 8
  53. #637 on Oct 9
  54. #624 on Oct 10
  55. #623 on Oct 11
  56. #643 on Oct 13
  57. #657 on Oct 14
  58. #660 on Oct 16
  59. #664 on Oct 19
  60. #673 on Oct 20
  61. #680 on Oct 21
  62. #659 from Oct 22 to Oct 23
  63. #733 on Oct 25
  64. #744 on Oct 28
  65. #748 on Oct 29
  66. #750 on Oct 30

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 3, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 4 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 89 signals by file

README.md

  • Network accessline 8
    # Clone into Claude Code skills directory git clone https://github.com/199-biotechnologies/claude-deep-research-skill.git ~/.claude/skills/deep-research
  • Network accessline 9
    git clone https://github.com/199-biotechnologies/claude-deep-research-skill.git ~/.claude/skills/deep-research

reference/methodology.md

  • Network accessline 106
    {"claim": "specific claim text", "evidence_quote": "exact quote from source", "source_url": "https://...", "source_title": "...", "confidence": 0.85}

requirements.txt

  • Network accessline 8
    #   Install: brew tap 199-biotechnologies/tap && brew install search-cli #   Config:  search config set keys.[provider] YOUR_KEY #   Repo:    https://github.com/199-biotechnologies/search-cli
  • Network accessline 9
    #   Config:  search config set keys.[provider] YOUR_KEY #   Repo:    https://github.com/199-biotechnologies/search-cli #
  • Network accessline 10
    #   Repo:    https://github.com/199-biotechnologies/search-cli

schemas/claim.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",

schemas/evidence.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",

schemas/run_manifest.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",

schemas/source.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",

scripts/citation_manager.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/evidence_store.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/extract_claims.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/md_to_html.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/research_engine.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/source_evaluator.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 268
    test_sources = [         {             'url': 'https://www.nature.com/articles/s41586-2025-12345',
  • Network accessline 269
    {             'url': 'https://www.nature.com/articles/s41586-2025-12345',             'title': 'Breakthrough in Quantum Computing',
  • Network accessline 270
    'url': 'https://www.nature.com/articles/s41586-2025-12345',
  • Network accessline 273
    },         {             'url': 'https://someblog.wordpress.com/shocking-discovery',
  • Network accessline 274
    {             'url': 'https://someblog.wordpress.com/shocking-discovery',             'title': 'SHOCKING! You Won\'t Believe This Discovery!',
  • Network accessline 275
    'url': 'https://someblog.wordpress.com/shocking-discovery',
  • Network accessline 278
    },         {             'url': 'https://docs.python.org/3/library/asyncio.html',
  • Network accessline 279
    {             'url': 'https://docs.python.org/3/library/asyncio.html',             'title': 'asyncio — Asynchronous I/O',
  • Network accessline 280
    'url': 'https://docs.python.org/3/library/asyncio.html',

scripts/validate_report.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/verify_citations.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 125
    url = f"https://doi.org/{quote(doi)}"

scripts/verify_claim_support.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/verify_html.py

  • Executable scriptline 1
    #!/usr/bin/env python3

templates/report_template.md

  • Network accessline 322
    [1] Author Name or Organization ([YEAR]). "Full Title of Article or Paper". Publication Name or Website. https://full-url.com (Retrieved: [CURRENT_DATE])
  • Network accessline 324
    [2] Second Author ([YEAR]). "Second Article Title". Journal Name, Volume(Issue), pages. https://doi-or-url.com (Retrieved: [CURRENT_DATE])

tests/fixtures/valid_report.md

  • Network accessline 89
    [1] Smith, J. (2025). "Test Research Advances". Journal of Testing. https://example.com/paper1
  • Network accessline 90
    [2] Johnson, K. (2025). "Current State Analysis". Research Quarterly. https://example.com/paper2
  • Network accessline 91
    [3] Williams, M. (2024). "Comprehensive Review". Academic Press. https://example.com/paper3
  • Network accessline 92
    [4] Brown, A. (2025). "Scalability Challenges". Tech Review. https://example.com/paper4
  • Network accessline 93
    [5] Davis, R. (2024). "Adoption Barriers". Industry Report. https://example.com/paper5
  • Network accessline 94
    [6] Miller, S. (2025). "Implementation Issues". Trade Journal. https://example.com/paper6
  • Network accessline 95
    [7] Wilson, T. (2025). "Future Trends". Forecasting Quarterly. https://example.com/paper7
  • Network accessline 96
    [8] Moore, L. (2025). "Emerging Solutions". Innovation Today. https://example.com/paper8
  • Network accessline 97
    [9] Taylor, P. (2024). "Next Generation Approaches". Tech Horizons. https://example.com/paper9
  • Network accessline 98
    [10] Anderson, C. (2025). "Market Outlook". Strategy Brief. https://example.com/paper10

tests/test_citation_manager.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 56
    def test_register_and_dedup(self):         src = json.dumps({             'raw_url': 'https://arxiv.org/abs/2305.14251',
  • Network accessline 57
    src = json.dumps({             'raw_url': 'https://arxiv.org/abs/2305.14251',             'title': 'FActScore',
  • Network accessline 58
    'raw_url': 'https://arxiv.org/abs/2305.14251',
  • Network accessline 73
    def test_doi_canonicalization(self):         src = json.dumps({             'raw_url': 'https://doi.org/10.1038/s41586-023-06745-9',
  • Network accessline 74
    src = json.dumps({             'raw_url': 'https://doi.org/10.1038/s41586-023-06745-9',             'title': 'Some Nature paper',
  • Network accessline 75
    'raw_url': 'https://doi.org/10.1038/s41586-023-06745-9',
  • Network accessline 81
    def test_url_normalization(self):         src1 = json.dumps({             'raw_url': 'https://Example.Com/article?utm_source=google&id=42',
  • Network accessline 82
    src1 = json.dumps({             'raw_url': 'https://Example.Com/article?utm_source=google&id=42',             'title': 'Test',
  • Network accessline 83
    'raw_url': 'https://Example.Com/article?utm_source=google&id=42',
  • Network accessline 85
    })         src2 = json.dumps({             'raw_url': 'https://example.com/article?id=42&utm_medium=email',
  • Network accessline 86
    src2 = json.dumps({             'raw_url': 'https://example.com/article?id=42&utm_medium=email',             'title': 'Test duplicate',
  • Network accessline 87
    'raw_url': 'https://example.com/article?id=42&utm_medium=email',
  • Network accessline 102
    for i, url in enumerate(['https://a.com/1', 'https://b.com/2', 'https://c.com/3']):
  • Network accessline 116
    run_cm('init-run', '--out-dir', d, '--query', 'test')             run_cm('register-source', '--json', json.dumps({                 'raw_url': 'https://arxiv.org/abs/2305.14251',
  • Network accessline 117
    run_cm('register-source', '--json', json.dumps({                 'raw_url': 'https://arxiv.org/abs/2305.14251',                 'title': 'FActScore',
  • Network accessline 118
    'raw_url': 'https://arxiv.org/abs/2305.14251',
  • Network accessline 132
    run_cm('init-run', '--out-dir', d, '--query', 'test')             run_cm('register-source', '--json', json.dumps({                 'raw_url': 'https://example.com/paper',
  • Network accessline 133
    run_cm('register-source', '--json', json.dumps({                 'raw_url': 'https://example.com/paper',                 'title': 'Test Paper',
  • Network accessline 134
    'raw_url': 'https://example.com/paper',
  • Network accessline 155
    canonicalize_locator = self.canonicalize         self.assertEqual(             canonicalize_locator('https://doi.org/10.1038/s41586-023-06745-9'),
  • Network accessline 156
    self.assertEqual(             canonicalize_locator('https://doi.org/10.1038/s41586-023-06745-9'),             'doi:10.1038/s41586-023-06745-9',
  • Network accessline 157
    canonicalize_locator('https://doi.org/10.1038/s41586-023-06745-9'),
  • Network accessline 159
    )         self.assertEqual(             canonicalize_locator('https://dx.doi.org/10.1234/test.'),
  • Network accessline 160
    self.assertEqual(             canonicalize_locator('https://dx.doi.org/10.1234/test.'),             'doi:10.1234/test',
  • Network accessline 161
    canonicalize_locator('https://dx.doi.org/10.1234/test.'),
  • Network accessline 166
    canonicalize_locator = self.canonicalize         self.assertEqual(             canonicalize_locator('https://arxiv.org/abs/2305.14251v2'),
  • Network accessline 167
    self.assertEqual(             canonicalize_locator('https://arxiv.org/abs/2305.14251v2'),             'arxiv:2305.14251v2',
  • Network accessline 168
    canonicalize_locator('https://arxiv.org/abs/2305.14251v2'),
  • Network accessline 176
    def test_url_strips_tracking(self):         canonicalize_locator = self.canonicalize         result = canonicalize_locator('https://Example.Com/page?utm_source=x&key=val')
  • Network accessline 177
    canonicalize_locator = self.canonicalize         result = canonicalize_locator('https://Example.Com/page?utm_source=x&key=val')         self.assertNotIn('utm_source', result)
  • Network accessline 178
    result = canonicalize_locator('https://Example.Com/page?utm_source=x&key=val')
  • Network accessline 179
    self.assertNotIn('utm_source', result)         self.assertIn('key=val', result)         self.assertTrue(result.startswith('https://example.com'))
  • Network accessline 181
    self.assertTrue(result.startswith('https://example.com'))
  • Network accessline 183
    def test_url_strips_fragment(self):         canonicalize_locator = self.canonicalize         result = canonicalize_locator('https://example.com/page#section')
  • Network accessline 184
    canonicalize_locator = self.canonicalize         result = canonicalize_locator('https://example.com/page#section')         self.assertNotIn('#section', result)
  • Network accessline 185
    result = canonicalize_locator('https://example.com/page#section')
  • Network accessline 188
    def test_url_strips_trailing_slash(self):         canonicalize_locator = self.canonicalize         result = canonicalize_locator('https://example.com/page/')
  • Network accessline 189
    canonicalize_locator = self.canonicalize         result = canonicalize_locator('https://example.com/page/')         self.assertFalse(result.endswith('/'))
  • Network accessline 190
    result = canonicalize_locator('https://example.com/page/')

tests/test_evidence_store.py

  • Executable scriptline 1
    #!/usr/bin/env python3

tests/test_extract_claims.py

  • Executable scriptline 1
    #!/usr/bin/env python3

tests/test_verify_claim_support.py

  • Executable scriptline 1
    #!/usr/bin/env python3

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 1 fact
  • Network access in code of documentationREADME.md:9Low confidence

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

199-biotechnologies/claude-deep-research-skill: #765 on hotskills, 1.2k stars

[![199-biotechnologies/claude-deep-research-skill on hotskills](https://hotskills.dev/badge/199-biotechnologies-claude-deep-research-skill.svg)](https://hotskills.dev/skill/199-biotechnologies-claude-deep-research-skill/)