research-tools
Research tools — arXiv paper search, blog/RSS monitoring (blogwatcher), web archive research (Common Crawl/WARC), LLM Wiki knowledge base, and Polymarket prediction market queries. Covers academic, we
SKILL.md.claude/skills/research-tools/SKILL.md
GitHubResearch Tools
Covers: arXiv, blogwatcher, web archives, LLM Wiki, Polymarket.
arXiv
set -euo pipefail
# Search papers
arxiv search "transformer architecture" --limit 10
arxiv get 2301.07041
Blogwatcher (RSS/Atom Monitoring)
set -euo pipefail
blogwatcher add https://example.com/feed.xml
blogwatcher list
blogwatcher check
Web Archive Research
set -euo pipefail
# Common Crawl CDXJ index
curl "https://index.commoncrawl.org/CC-MAIN-2024-10-index?url=example.com&output=json"
LLM Wiki (Karpathy's Knowledge Base)
set -euo pipefail
# Build/query interlinked markdown KB
# See references/llm-wiki.md
GreyHack P0/P1-P4 Research Workflow
For GreyHack tool research, keep the priority model explicit:
- P0 — build foundation: fix existing core helpers before adding new tools.
- P1-P4 — after P0: deepen research, tool specs, safety taxonomy, and roadmap.
- Mini-spec before code: create a short implementation spec for each candidate before touching
src/ortools/. - Branch rule: do not mutate
developdirectly; use a feature branch fromdevelop. - Main boundary: never merge or touch
mainwithout explicit user approval.
Useful candidate order from the 2026-06-19 GreyHack research pass:
recon-lite— safe recon/report structure without exploit automation.mission_report— standardized mission/writeup documentation.cli_core— shared CLI/output helpers.
When implementation starts, cli_core is often the safest technical foundation to build first, then implement recon-lite and mission_report on top of it.
Pitfalls:
- Do not treat P1-P4 as implementation work before P0 is stable.
- Do not overwrite complex legacy tools when a clean new file is safer.
- Do not port real exploit/PoC/credential/network-target content into GreyScript.
- If a subagent/research delegation fails, switch to parent-direct targeted research and document the fallback.
Use this for GitHub Awesome-list / curated-security-list research where the user wants a reusable knowledge base before implementation.
- Snapshot first: clone or otherwise capture the source read-only; record URL, commit, last commit message, and extracted counts.
- Extract links into CSV: parse README tables/lists into
resource, section, url, descriptionplus GreyHack relevance fields. - Classify before coding: assign
direct,concept,learning, orlowrelevance andP0/P1/P2/P3priority. - Top-20 first: create a prioritized Top-20 recommendation document before touching implementation files.
- Knowledge base for the rest: keep non-top20 resources in a searchable CSV/Markdown knowledge base for later research.
- Safety gate: do not translate real exploit/PoC/credential/network-tool content into game scripts; use only game-safe concepts, dummy data, and methodology.
- Validate and prove no script changes: validate CSV row counts and run
git status --short -- docs src tools(or equivalent) to confirm implementation files were not changed.
See references/github-awesome-list-greyhack-research.md for the concrete GreyHack/Awesome-Hacking workflow and validation pattern.
See references/greyhack-mini-spec-template.md for the GreyHack mini-spec shape used after research before implementation.
See references/greyhack-mini-tools-implementation-2026-06-19.md for the implemented mini-tool reference, validation command, and parser-safe patterns.
GreyScript Research-to-Code Guardrails
When Awesome-Hacking research graduates into GreyScript tooling, keep these guardrails active:
- P0 first: stabilize build foundations before P1-P4 research roadmap work.
- Branch discipline: never touch
mainwithout explicit approval; prefer a feature branch created fromdevelopeven whendevelopexperimentation is allowed. - Parser-safe GreyScript: avoid one-line
if ... then ... end ifblocks withreturn, assignment, or function calls; convert them to explicit multi-line blocks. - No ternary expressions: GreyScript/Greybel can reject
a = ("x" if cond else "y"); rewrite asif cond ... else ... end if. - Clean merge debris before debugging: orphan duplicate blocks and conflict markers (
=======) can produce misleading parse errors. - CI portability: build scripts should detect both
greybel-jsandgreybel, not onlygreybel-js.
See references/greyhack-build-fixes-2026-06-19.md for the session-specific P0/P1-P4 notes, parser examples, and validation commands.
Polymarket
set -euo pipefail
# Query prediction markets
curl "https://gamma-api.polymarket.com/markets?limit=10"
Liquipedia / MediaWiki API
For esports results, tournament brackets, and standings from Liquipedia (or any MediaWiki wiki), use the MediaWiki API instead of scraping JS-rendered HTML.
set -euo pipefail
# For rendered HTML (standings, prizepool, participants):
curl -sL --compressed \
"https://liquipedia.net/counterstrike/api.php?action=parse&page=PAGE_NAME&prop=text&format=json" \
-H "User-Agent: Mozilla/5.0"
# For raw wikitext (match brackets, structured parsing):
curl -sL --compressed \
"https://liquipedia.net/counterstrike/api.php?action=parse&page=PAGE_NAME&prop=wikitext&format=json" \
-H "User-Agent: Mozilla/5.0"
Key pitfalls: always use --compressed (406 without gzip). Playoffs brackets may NOT appear in the API response (JS-rendered client-side) — use the Prize Pool placement table as a proxy for completed playoff results, or fall back to raw HTML scraping via curl --compressed + Python regex. See references/liquipedia-api-extraction.md for full parsing guide, Python snippet, raw HTML fallback, and tournament page structure.
Resilient Multi-Source News Gathering
When building news briefings (esports, tech, cybersecurity), primary sources frequently become unavailable due to Cloudflare, API failures, or search backend issues. Use a fallback chain:
- Primary:
web_search→web_extracton target URLs - Fallback 1:
curldirectly to target site with HTML stripping (sed 's/<[^>]*>//g') - Fallback 2: Alternative sources (The Verge, ESPN, Reddit, Archive.org)
- Local cache: Read existing briefing file (
~/Schreibtisch/wichtigsten Nachrichten.md) for last known state
See references/hltv-liquipedia-esports-research.md for the full fallback chain, Cloudflare bypass patterns, source-specific curl recipes, and the quick source reference table.