#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.
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.
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
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 tokensAlways available to the agent
SKILL.md
1,074 tokensWhen the skill is activated
Reference documents
14,552 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Core Purpose
- Decision Tree
- Workflow Overview
- Execution
- Output Contract
- When to Use / NOT Use
Scripts executed separately
scripts/citation_manager.pyscripts/evidence_store.pyscripts/extract_claims.pyscripts/md_to_html.pyscripts/research_engine.pyscripts/source_evaluator.pyscripts/validate_report.pyscripts/verify_citations.pyscripts/verify_claim_support.pyscripts/verify_html.pytests/test_citation_manager.pytests/test_evidence_store.pytests/test_extract_claims.pytests/test_verify_claim_support.py
Files
.gitignoreasset264 bytesREADME.mddoc4,924 bytesSKILL.mdcore4,343 bytesSKILL.mdcore4,343 bytesSKILL.mdcore4,343 bytesSKILL.mdcore4,343 bytesSKILL.mdcore4,343 bytesreference/continuation.mddoc4,602 bytesreference/html-generation.mddoc2,919 bytesreference/methodology.mddoc16,505 bytesreference/quality-gates.mddoc5,808 bytesreference/report-assembly.mddoc4,044 bytesreference/weasyprint_guidelines.mddoc5,814 bytesrequirements.txtdoc579 bytesschemas/claim.schema.jsonasset1,621 bytesschemas/evidence.schema.jsonasset1,432 bytesschemas/run_manifest.schema.jsonasset2,910 bytesschemas/source.schema.jsonasset1,612 bytesscripts/citation_manager.pyruns10,313 bytesscripts/evidence_store.pyruns6,516 bytesscripts/extract_claims.pyruns12,131 bytesscripts/md_to_html.pyruns9,965 bytesscripts/research_engine.pyruns16,765 bytesscripts/source_evaluator.pyruns9,492 bytesscripts/validate_report.pyruns12,406 bytesscripts/verify_citations.pyruns15,468 bytesscripts/verify_claim_support.pyruns11,049 bytesscripts/verify_html.pyruns7,800 bytestemplates/mckinsey_report_template.htmlasset10,394 bytestemplates/report_template.mddoc13,144 bytestests/fixtures/invalid_report.mddoc288 bytestests/fixtures/valid_report.mddoc3,331 bytestests/test_citation_manager.pyruns7,780 bytestests/test_evidence_store.pyruns5,885 bytestests/test_extract_claims.pyruns8,273 bytestests/test_verify_claim_support.pyruns8,633 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills 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
- #753 on Oct 31
- #756 on Nov 1
- #758 on Nov 2
- #764 from Nov 3 to Nov 4
- #766 on Nov 5
- #765 since Nov 6
66 earlier periods
- #548 on Aug 2
- #549 on Aug 7
- #548 on Aug 9
- #573 on Aug 10
- #574 on Aug 11
- #568 on Aug 12
- #571 from Aug 13 to Aug 14
- #555 on Aug 15
- #572 on Aug 16
- #576 on Aug 17
- #591 on Aug 21
- #569 on Aug 22
- #597 on Aug 23
- #599 on Aug 24
- #611 on Aug 25
- #623 on Aug 28
- #580 on Aug 29
- #582 on Aug 30
- #607 on Aug 31
- #623 on Sep 1
- #613 on Sep 2
- #616 on Sep 3
- #598 on Sep 4
- #595 on Sep 5
- #604 on Sep 6
- #633 on Sep 8
- #622 on Sep 9
- #616 on Sep 11
- #617 on Sep 12
- #619 on Sep 13
- #643 on Sep 14
- #635 on Sep 15
- #643 on Sep 16
- #644 from Sep 17 to Sep 18
- #615 on Sep 19
- #622 on Sep 20
- #619 on Sep 21
- #623 on Sep 22
- #607 on Sep 23
- #587 on Sep 24
- #579 from Sep 25 to Sep 26
- #607 on Sep 27
- #609 on Sep 28
- #638 on Sep 29
- #623 on Sep 30
- #604 on Oct 1
- #613 on Oct 2
- #589 on Oct 3
- #608 on Oct 4
- #615 on Oct 5
- #623 on Oct 7
- #657 on Oct 8
- #637 on Oct 9
- #624 on Oct 10
- #623 on Oct 11
- #643 on Oct 13
- #657 on Oct 14
- #660 on Oct 16
- #664 on Oct 19
- #673 on Oct 20
- #680 on Oct 21
- #659 from Oct 22 to Oct 23
- #733 on Oct 25
- #744 on Oct 28
- #748 on Oct 29
- #750 on Oct 30
Before you install
Network or broad shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 75 network referencesin 12 files: tests/test_citation_manager.py:56 tests/fixtures/valid_report.md:89 scripts/source_evaluator.py:268 and 9 more
- No hidden or obfuscated text
- No instruction overrides
- 14 executable scriptsin 14 files: scripts/citation_manager.py:1 scripts/evidence_store.py:1 scripts/extract_claims.py:1 and 11 more
- No access to secrets
- No requests to vote in Hot
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
schemas/evidence.schema.json
schemas/run_manifest.schema.json
schemas/source.schema.json
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
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 | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
[](https://hotskills.dev/skill/199-biotechnologies-claude-deep-research-skill/)