InfraNodus
Analyze text structure and build knowledge graphs from documents, code, and research.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up β so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/infranodus-infranodus/β the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates β they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description β no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the βWhat this skill doesβ section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Text network analysis and knowledge graphs via the InfraNodus MCP server: analyze text structure, find content gaps, generate research questions and ideas, compare texts, optimize content for SEO/GEO, analyze Google search results, GraphRAG retrieval, structured memory. Accepts text, URLs (YouTube transcription included), and saved graphs. Also builds knowledge graphs of code repos and Obsidian vaults: invoked in a project folder ("graph this repo", "analyze this vault", "/infranodus") it mines docs, PDF text, docstrings, WHY/NOTE comments, and commit/PR/issue history into saved graphs with a report. When infranodus/manifest.json exists in the project root, answer questions about themes, decisions, rationale, or gaps by querying the existing graphs FIRST, before reading files. For building and maintaining an LLM-authored knowledge base from sources (wiki pages, curated ontologies), prefer the llm-wiki skill.
What this skill does
InfraNodus
Text network analysis and knowledge graph tools via the InfraNodus MCP server.
How this skill talks to InfraNodus
- Queries and analysis β use the native MCP tools in the session
(
mcp__infranodus__<tool>, or the InfraNodus connector's equivalents). The server's own instructions and tool schemas are the authoritative reference for every tool's parameters and workflow patterns β do not duplicate or second-guess them here. - Bulk uploads (repo/vault graphs) β session server FIRST. Prefer the
InfraNodus MCP server already connected to this session (e.g. the
claude.ai InfraNodus connector): the agent performs the upload itself
with that server's
create_knowledge_graphtool, chunk by chunk, following the upload contract in references/repo-graph.md Step 3 (onegraphNameper scope, heading-aware chunks,maxNodes: 500, the scope's declaredwikilinksMode, paced calls, 429 backoff, 413 bisection, and the same manifest + report bookkeeping the script does). - Fallback β the bundled script. Only when the session has NO
InfraNodus MCP tools connected, use
scripts/upload_scopes.py, which uploads through the MCP server configured in this agent's own config β<project>/.mcp.json, then~/.claude.json(this project's section, then global), then~/.claude/settings.jsonβ with project scope winning. Anhttpentry is reached at its ownurl; astdioentry (a local or self-hosted server) is launched as its own subprocess. Preflight:upload_scopes.py [project_dir] --check-auth. The script can never reach a cloud OAuth connector β that token lives remotely β which is exactly why the connector path above is agent-driven. - Credentials (script path only) are never read from config files.
For an
httpserver the key comes fromINFRANODUS_API_KEYin the environment and nowhere else; for astdioserver the entry's ownenvblock is passed to the subprocess untouched. There is no endpoint default and no credential fallback: one server, one attempt, and a failed connection falls back to the session connector if one exists β otherwise it is a hard stop. Do not work around this by exporting a key you found in some other application's config β that is how content lands in an account the user never chose. - If neither is available (no session tools AND no configured server),
--check-authprints theclaude mcp addcommands for both the hosted and the local option. Offer to run one of them, or offer to keep the extracted scope files local. Never guess an endpoint. - Provenance β each uploaded scope records
endpoint,transport,account, andverified(the date the graph was successfully read back) in the manifest. When a graph query fails, compare the manifest'sendpoint/accountagainst the session's own server before assuming the graph is missing: the samegraphNamemeans different graphs on different servers and accounts.
Quick orientation (details live in the server's tool schemas)
- Structural overview of a text/URL/graph:
generate_knowledge_graph,generate_topical_clusters; persist withcreate_knowledge_graph(uploads to the samegraphNameAPPEND statements). - What's missing / ideation:
generate_content_gapsβgenerate_research_questions/generate_research_ideas;develop_text_toolfor the combined pipeline. - Retrieval:
retrieve_from_knowledge_base(GraphRAG over a saved graph),analyze_existing_graph_by_name(structure of a saved graph),generate_contextual_hint(lightweight structural overview β good context injection before answering broad questions),generate_responses_from_graph(prompt-based answers and expert advice generated from a saved graph β good for advice/recommendation questions the graph should answer in its own voice),list_graphs/search/fetchfor discovery. - Reasoning check:
optimize_reasoningon a draft synthesis β diagnoses biased/focused/diversified/dispersed and suggests which topics or gaps to develop further. - Comparison:
overlap_between_texts,difference_between_texts,merged_graph_from_texts(each takes acontextsarray). - SEO/GEO:
generate_seo_report(90s+ timeout) or the individualanalyze_google_search_results/analyze_related_search_queries/search_queries_vs_search_resultstools. - Diversity stats in responses:
biasedβ too concentrated,focusedβ somewhat concentrated,diversifiedβ balanced,dispersedβ scattered.
Repo / Vault Graphs (invoked inside a project folder)
When asked to graph, analyze, or ask questions about a repo, project, or Obsidian vault, follow references/repo-graph.md β it is the single authoritative runbook. In short:
infranodus/manifest.jsonexists + the request is a question β route via the manifest (each graph records itspurposeandtopics) and query the graphs; do NOT re-extract. The content lives only in the graphs β there are no local content files.- On a bare launch (no target named), inventory the folder, then AskUserQuestion what to build: full graph (recommended) / a specific folder / docs containing certain terms / one document (see the runbook for the follow-up questions). Skip the question when the user already named the target.
- Build:
python3 scripts/repo2statements.py .(deterministic extraction) βpython3 scripts/upload_scopes.py .(upload, run in background β records routing metadata into the manifest, appends a dated section to the append-onlyINFRANODUS_REPORT.mdlog, deletes the intermediate scope files) βupload_scopes.py . --register-project(once).
Companion skills
Sibling skills from the same family that compose with this one. Invoke via the Skill tool ONLY when the skill appears in the available-skills listing (match by name/description β never assume an install path; names can vary slightly by install). If one is absent, mention it can be installed from https://github.com/infranodus/skills and continue.
Knowledge-base workflows:
- llm-wiki β builds and maintains an LLM-authored knowledge base
(summarized wiki pages, curated ontologies) from raw sources. Route
there when the corpus needs authored content β scanned PDFs, "second
brain" / research-wiki requests, anything meant to compound over time.
This skill maps what exists; llm-wiki writes new knowledge on top. Its
curated scopes share the same
infranodus/manifest and theirwiki-*graphs are equally queryable (see the runbook's policy rules). - ontology-creator β LLM-generated
[[wikilinks]]ontology with[relationCode]tags from a topic or text. Offer it when the user wants semantic relations (X causes Y) rather than this skill's deterministic co-occurrence mining; output pastes straight into InfraNodus. - seo-analysis β full SEO research workflow (keyword research, search
intent, informational supply vs demand) on the same MCP tools. Prefer
it when the request is an SEO project rather than a one-off report
(a single
generate_seo_reportcall needs no extra skill).
Thinking and analysis lenses β offer these when a graph diagnosis suggests them, or on the user's own cues:
- shifting-perspective β diagnoses a discourse's structural diversity
(
optimize_text_structure) and develops under-represented viewpoints. Offer when a graph comes back biased/focused or the user is stuck in one frame ("what am I missing?"). - cognitive-variability β guides shifts between zoom levels and connect/explore modes to break rigid or looping thinking; the natural follow-up to a shifting-perspective structural diagnosis.
- critical-perspective β questions assumptions and hunts blind spots through curiosity-driven challenge. Offer when a synthesis needs to be challenged rather than expanded.
- rhetorical-analyst β analyzes arguments and debate tactics across persuasion, rhetoric, and logic; it opens with this skill's graph tools. Offer for debates, speeches, comment threads, "why is this persuasive?".
- perspective-reversal β flips a conflict or negotiation to the opponent's viewpoint for tactical advice. Offer when the analyzed discourse is adversarial (dispute, standoff, negotiation).
- embodied-navigation β applies embodied movement principles (equanimous scanning, adaptive fluidity, tensegrity) to situations mapped as networks. Offer for stuckness, rigidity, or conflict framed as dynamics rather than argument.
- vipassana-meditation β equanimous, non-reactive observation that breaks fixation loops. Offer when the conversation shows craving for a particular outcome or aversion to an uncomfortable finding, and bare attention should precede analysis.
Related skills
App Store Listing Audit
coreyhaines31
Analyze your app listing against best practices and get a prioritized optimization plan.
Co-Marketing Partnerships
coreyhaines31
Find ideal partners and plan joint marketing campaigns with other companies.
Cold Email Writer
coreyhaines31
Write B2B cold emails and follow-up sequences designed to get replies.
Community-Led Growth
coreyhaines31
Build and grow online communities to drive product adoption and customer loyalty.