CtrlK
BlogDocsLog inGet started
Tessl Logo

cli-hub-matrix-knowledge-research

Capability-based multi-tool matrix for research, note-taking, document authoring, and publishing. Agents compose providers (CLI-Anything harnesses, public CLIs, Python libs, native binaries, cloud APIs) per capability.

55

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./cli-hub-matrix/knowledge-research/SKILL.md
SKILL.md
Quality
Evals
Security

Knowledge / Office / Research Matrix (S2 — v2 capability-based)

Scenario S2. Strongest coverage in the current ecosystem: search, reference management, notes, synthesis, documents, and diagrams all have first-party harnesses; Python/native fallbacks fill the rest.

Schema: docs/cli-matrix/matrix_registry.schema.md. Matrix plan: docs/cli-matrix/cli-matrix-plan.md.

Install

cli-hub matrix install knowledge-research
cli-hub matrix info    knowledge-research
cli-hub matrix preflight knowledge-research --json

Provider selection constraints

  1. Use preflight as an availability report, not as a provider selector.
  2. Treat provider order as documentation order only.
  3. Choose from user requirements, output quality bar, offline needs, credential state, install cost, and provider notes.
  4. Escalate to paid or metered APIs only when credentials are already present or the user explicitly consents.

Offline context? Filter to offline: true providers.


Preflight

Run cli-hub matrix preflight knowledge-research --json first. Use the manual block below for extra probes or older cli-hub versions.

cli-hub list --json
python - <<'PY'
import importlib.util
for m in ("pyzotero","bibtexparser","trafilatura","readability","httpx","playwright",
          "python_docx","openpyxl","pptx","reportlab","pypdf","pdfplumber","weasyprint",
          "langchain","llama_index","haystack"):
    print(m, importlib.util.find_spec(m) is not None)
PY
for b in pandoc qpdf pdftk exiftool latexmk tex dot mermaid plantuml hugo mkdocs jekyll; do
  command -v "$b" >/dev/null && echo "$b: yes" || echo "$b: no"
done
for e in OPENAI_API_KEY ANTHROPIC_API_KEY GOOGLE_API_KEY PERPLEXITY_API_KEY TAVILY_API_KEY \
         SERPAPI_API_KEY BRAVE_API_KEY FIRECRAWL_API_KEY \
         NOTION_API_KEY SEMANTIC_SCHOLAR_API_KEY WORDPRESS_TOKEN GHOST_ADMIN_KEY; do
  [ -n "${!e}" ] && echo "$e: set" || echo "$e: unset"
done

Suggest-to-user template

To enable <capability> via <provider>, please set <ENV_VAR>.
  Cost: <cost notes>
  Quality: <quality tier>
Reply 'skip' to fall back to <next provider>.

Example: To enable live Notion sync via the Notion API, please set NOTION_API_KEY. Cost: free tier suffices for most users. Quality: sota (round-trips block/page IDs). Reply 'skip' to fall back to local Obsidian vault + manual paste.


Capabilities

research.search — web / literature search

ProviderKindRequiresCostQualityOffline
cli-anything-exaharness-cliEXA_API_KEYmeteredsotano
cli-anything-browser / safari / clibrowserharness-clibrowser installedfreehighno
duckduckgo-searchpythonpkgfreegoodno
googlesearch-pythonpythonpkgfreegoodno
Perplexity APIapiPERPLEXITY_API_KEYpaidsotano
TavilyapiTAVILY_API_KEYmeteredhighno
Brave SearchapiBRAVE_API_KEYmeteredgoodno
Google Custom SearchapiGOOGLE_API_KEYmeteredhighno

research.retrieve — fetch article text / scrape pages

ProviderKindRequiresCostQualityOffline
cli-anything-browser / safari / clibrowserharness-cliharness installedfreehighno
trafilaturapythonpkgfreehighyes
readability-lxmlpythonpkgfreegoodyes
httpx + manual parsepythonpkgfreebasicyes
playwrightpythonpkg + browsersfreesotano
FirecrawlapiFIRECRAWL_API_KEYmeteredsotano
ScrapingBeeapiSCRAPINGBEE_API_KEYpaidhighno

research.reference — citations, BibTeX, references

ProviderKindRequiresCostQualityOffline
cli-anything-zoteroharness-cliZotero installedfreesotayes
pyzoteropythonpkg + Zotero keyfreehighno
habanero (Crossref)pythonpkgfreehighno
bibtexparserpythonpkgfreegoodyes
Crossref RESTapinonefreehighno
Semantic ScholarapiSEMANTIC_SCHOLAR_API_KEY (optional)freehighno

knowledge.note — note-taking / PKM

ProviderKindRequiresCostQualityOffline
cli-anything-obsidianharness-cliObsidian installedfreesotayes
cli-anything-mubuharness-cliMubu installedfreehighno
obsidian-clipublic-clibin + vault pathfreehighyes
raw markdown + gitnativegitfreegoodyes
mdformatpythonpkgfreegoodyes
Notion APIapiNOTION_API_KEYfreesotano
Roam / Logseq sync—————

knowledge.outline — outlining

ProviderKindRequiresCostQualityOffline
cli-anything-mubuharness-cliMubu installedfreehighno
OPML via lxmlpythonpkgfreegoodyes
YAML outlines + yqnativebinaryfreegoodyes

knowledge.synthesize — multi-doc synthesis / summarization

ProviderKindRequiresCostQualityOffline
cli-anything-notebooklmharness-cliharness installedmeteredsotano
cli-anything-intelwatchharness-cliharness installedfree-meteredhighpartial
langchain / llama_index + local LLMpythonpkg + ollamafreehighyes
haystackpythonpkgfreegoodpartial
Claude / OpenAI / Gemini (long context)apimodel keymeteredsotano

document.author — write docs (DOCX, XLSX, PPTX, PDF)

ProviderKindRequiresCostQualityOffline
cli-anything-libreofficeharness-cliLibreOffice installedfreehighyes
cli-anything-anygenharness-cliharness installedfreehighyes
python-docx / openpyxl / python-pptx / reportlabpythonpkgfreegoodyes
Google Docs APIapiOAuth tokenmeteredsotano
Microsoft GraphapiAzure app + tokenmeteredsotano

document.format — convert / reformat

ProviderKindRequiresCostQualityOffline
pandocnativebinaryfreesotayes
cli-anything-libreoffice (headless convert)harness-cliLibreOfficefreehighyes
docx2pdfpythonpkg + Word/LOfreegoodyes
weasyprintpythonpkgfreehighyes
CloudConvertapiCLOUDCONVERT_API_KEYmeteredsotano

document.pdf — manipulate PDFs (split, merge, OCR, extract)

ProviderKindRequiresCostQualityOffline
qpdf / pdftknativebinaryfreesotayes
pypdfpythonpkgfreehighyes
pdfplumberpythonpkgfreehighyes
pdf2imagepythonpkg + popplerfreegoodyes
ocrmypdfnativebinary + tesseractfreehighyes
Adobe PDF ServicesapiAdobe credspaidsotano

diagram.create — diagrams, flowcharts, architecture

ProviderKindRequiresCostQualityOffline
cli-anything-drawioharness-clidrawio installedfreesotayes
cli-anything-mermaidharness-climermaid-clifreehighyes
graphviz (dot)nativebinaryfreehighyes
plantumlnativebinaryfreehighyes

publish.web — publish articles / blog posts

ProviderKindRequiresCostQualityOffline
contentfulpublic-clibin + space tokenmeteredhighno
sanitypublic-clibin + project tokenmeteredhighno
hugo / mkdocs / jekyll / pelicannative/pythonbinary/pkgfreehighyes
WordPress RESTapiapp passwordfreehighno
Ghost AdminapiGHOST_ADMIN_KEYfreehighno
Medium (legacy)apitokenfreegoodno

publish.latex — build PDFs from LaTeX

ProviderKindRequiresCostQualityOffline
latexmk + texlivenativebinariesfreesotayes
pylatexpythonpkg + texlivefreehighyes
Overleaf APIapiOVERLEAF_API_KEYpaidsotano
Tectonicnativebinaryfreehighyes

Recipes

  • literature-review — survey a topic, extract key papers, synthesize. Uses: research.search, research.retrieve, research.reference, knowledge.synthesize, document.author.

  • meeting-to-doc — turn a recorded meeting into a structured document. Uses: text.transcribe (via S1 matrix), knowledge.synthesize, document.author, document.format.

  • blog-post — research → write → publish. Uses: research.search, research.retrieve, knowledge.synthesize, document.author, publish.web.

  • paper-draft — research + citations + LaTeX. Uses: research.reference, knowledge.synthesize, document.author, publish.latex.

  • competitive-brief — fetch competitor pages, extract positioning, produce a briefing deck. Uses: research.retrieve, knowledge.synthesize, document.author (PPTX).

  • pdf-book-digest — ingest a PDF book, OCR if needed, produce chapter summaries + quote file. Uses: document.pdf, knowledge.synthesize, knowledge.note.


Known gaps

  • Notion — Notion API exists as an escalation, but there is no harness for local-first Notion workflows. Recurs in S11 (team comms).
  • Google Docs / Microsoft 365 live editing — API path only.
  • LaTeX harness — latexmk + Tectonic cover the native path, but no agent-native wrapper yet.
  • Translation — no first-party CLI; Python fallback and APIs only.

Agent guidance

  • Run preflight once per session. Many capabilities have strong Python or native paths that bypass the need to install anything.
  • Prefer local for sensitive docs (legal, health, internal): use Obsidian + local LLM + whisper rather than cloud APIs.
  • Citations are load-bearing — for academic work always route through research.reference so bibliographies stay consistent.
  • Chain document.format at the end, not the middle: author in the richest source format (markdown or LaTeX) and convert last.
  • Workspace discipline — one directory per project; keep refs.bib, source markdown, figures, and output PDFs colocated.
Repository
HKUDS/CLI-Anything
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.