/keyword-graph-view
Extract exactly 8 context-sensitive keywords from Chinese, English, or mixed text and turn them into a distributed weighted Graph View with no center goal node. Use when Codex needs keyword extraction, blacklist filtering, co-occurrence edges, node definitions/notes, weighted
$ npx -y skills add twhsi/skills --skill keyword-graph-view --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/keyword-graph-view
Context preview
The summary Claude sees to decide when to auto-load this skill.
Extract exactly 8 context-sensitive keywords from Chinese, English, or mixed text and turn them into a distributed weighted Graph View with no center goal node. Use when Codex needs keyword extraction, blacklist filtering, co-occurrence edges, node definitions/notes, weighted
SKILL.md
keyword-graph-view.SKILL.mdname: keyword-graph-view
description: Extract exactly 8 context-sensitive keywords from Chinese, English, or mixed text and turn them into a distributed weighted Graph View with no center goal node. Use when Codex needs keyword extraction, blacklist filtering, co-occurrence edges, node definitions/notes, weighted graph JSON, or an online Graph View tool for text analysis.
Keyword Graph View
Create a centerless keyword network from raw text. The output should contain 8 keyword nodes, weighted undirected edges, and a short definition/note for every node.
Live Tool
- Open the public app at `https://keyword-graph-view.twhsi.chatgpt.site/` when the user wants an interactive Graph View.
- Use `assets/web-app/` when the user wants to inspect, adapt, or redeploy the validated website source.
- In the web app, paste or import text, edit the blacklist, select a case, and press the generate button. Click a node to inspect its definition, note, evidence, and weighted connections.
Workflow
1. Read the source text and any user-provided blacklist. 2. Remove blacklisted phrases before token scoring, then filter blacklisted tokens during ranking. 3. Extract exactly 8 keywords by frequency, term length, and spread through the source. 4. Build weighted co-occurrence edges by scanning a configurable token window. 5. Do not create a "center", "main goal", "中心目標", or hub node unless the user explicitly asks for a radial Mandalart layout. 6. Generate a definition for each node from its strongest evidence sentence and connected keywords. 7. Render or return a distributed graph: positions should be balanced across the canvas, with edge width and node area showing weight.
Output Schema
Return graph JSON with this shape when the user asks for data or a reusable artifact:
{
"meta": {
"model": "keyword_graph_view",
"keyword_count": 8,
"layout": "distributed_weighted_network"
},
"nodes": [
{
"id": "k0",
"label": "keyword",
"count": 5,
"score": 1,
"weight": 9,
"definition": "Context-specific definition",
"note": "Longer note for side panel display",
"evidence": ["source sentence"]
}
],
"edges": [
{
"id": "e0",
"source": "k0",
"target": "k1",
"weight": 7,
"relation": "co_occurs"
}
]
}Visual Rules
- Use dark mode by default for online tools.
- Keep the graph centerless and distributed; avoid drawing a privileged center node.
- Show edge labels or widths for weights.
- Make nodes clickable or keyboard focusable when interactive output is possible.
- Provide a right-side Note panel that updates from the selected node.
- Include each node's definition, evidence sentences, score, count, and connected keywords in the note.
- Keep labels readable in Traditional Chinese: use system CJK fonts, strong contrast, and label wrapping where needed.
- Map edge weight from purple (`W1`) through blue, cyan, green, yellow, and orange to red (`W9`); increase line thickness with weight.
- Provide visible zoom-in and zoom-out controls for the graph canvas.
Blacklist
Treat the blacklist as both phrase removal and token filtering. Default blacklist terms should include common structural words and Mandalart-center words such as:
中心目標
主目標
main goal
goal
中心
目標
Preserve the user's blacklist in the output metadata when useful.
Script
Use `scripts/extract_keyword_graph.py` for deterministic text-to-graph JSON:
python3 scripts/extract_keyword_graph.py input.txt --blacklist blacklist.txt --out graph.json
Patch the script only when the project needs a new schema or scoring behavior; otherwise prefer running it with options.
Web App
Run the bundled app locally only when interactive verification or customization is needed:
cd assets/web-app
npm install
npm run dev
Before publishing a modified app, run `npm test` and `npm run lint`.
Read more
name: keyword-graph-view description: Extract exactly 8 context-sensitive keywords from Chinese, English, or mixed text and turn them into a distributed weighted Graph View with no center goal node. Use when Codex needs keyword extraction, blacklist filtering, co-occurrence edges, node definitions/notes, weighted graph JSON, or an online Graph View tool for text analysis.
Keyword Graph View
Create a centerless keyword network from raw text. The output should contain 8 keyword nodes, weighted undirected edges, and a short definition/note for every node.
Live Tool
- Open the public app at `https://keyword-graph-view.twhsi.chatgpt.site/` when the user wants an interactive Graph View.
- Use `assets/web-app/` when the user wants to inspect, adapt, or redeploy the validated website source.
- In the web app, paste or import text, edit the blacklist, select a case, and press the generate button. Click a node to inspect its definition, note, evidence, and weighted connections.
Workflow
1. Read the source text and any user-provided blacklist. 2. Remove blacklisted phrases before token scoring, then filter blacklisted tokens during ranking. 3. Extract exactly 8 keywords by frequency, term length, and spread through the source. 4. Build weighted co-occurrence edges by scanning a configurable token window. 5. Do not create a "center", "main goal", "中心目標", or hub node unless the user explicitly asks for a radial Mandalart layout. 6. Generate a definition for each node from its strongest evidence sentence and connected keywords. 7. Render or return a distributed graph: positions should be balanced across the canvas, with edge width and node area showing weight.
Output Schema
Return graph JSON with this shape when the user asks for data or a reusable artifact:
{
"meta": {
"model": "keyword_graph_view",
"keyword_count": 8,
"layout": "distributed_weighted_network"
},
"nodes": [
{
"id": "k0",
"label": "keyword",
"count": 5,
"score": 1,
"weight": 9,
"definition": "Context-specific definition",
"note": "Longer note for side panel display",
"evidence": ["source sentence"]
}
],
"edges": [
{
"id": "e0",
"source": "k0",
"target": "k1",
"weight": 7,
"relation": "co_occurs"
}
]
}Visual Rules
- Use dark mode by default for online tools.
- Keep the graph centerless and distributed; avoid drawing a privileged center node.
- Show edge labels or widths for weights.
- Make nodes clickable or keyboard focusable when interactive output is possible.
- Provide a right-side Note panel that updates from the selected node.
- Include each node's definition, evidence sentences, score, count, and connected keywords in the note.
- Keep labels readable in Traditional Chinese: use system CJK fonts, strong contrast, and label wrapping where needed.
- Map edge weight from purple (`W1`) through blue, cyan, green, yellow, and orange to red (`W9`); increase line thickness with weight.
- Provide visible zoom-in and zoom-out controls for the graph canvas.
Blacklist
Treat the blacklist as both phrase removal and token filtering. Default blacklist terms should include common structural words and Mandalart-center words such as:
中心目標 主目標 main goal goal 中心 目標
Preserve the user's blacklist in the output metadata when useful.
Script
Use `scripts/extract_keyword_graph.py` for deterministic text-to-graph JSON:
python3 scripts/extract_keyword_graph.py input.txt --blacklist blacklist.txt --out graph.json
Patch the script only when the project needs a new schema or scoring behavior; otherwise prefer running it with options.
Web App
Run the bundled app locally only when interactive verification or customization is needed:
cd assets/web-app npm install npm run dev
Before publishing a modified app, run `npm test` and `npm run lint`.
Three Kings 2.2: compress with iMandalArt, address with BIRD, and publish with an A4 eight-page booklet. iMandalArt, FIRE semantic analysis, planning, and publishing workflows for Claude Code, Codex, and mainstream LLM agents.
Repo: twhsi/skills
Other skills on twhsi-skills.
- /a4-eight-page-booklet
Use A4 Eight Page Booklet 2.2 to create, write, repair, impose, and validate a printable A4 one-sheet eight-page mini book or zine from text, notes, images, BIRD Graph JSON, iMandalArt/九宮, FIRE, outlines, templates, or PDFs. Use whenever the user says A4八頁小書, 八頁小書, 八頁小冊, 八格小書,
Open skill - /auto-luhmann-numberer
Assign, validate, normalize, and explain Luhmann/Zettelkasten-style project-note codes for Chinese book manuscripts, Obsidian Markdown folders, Mandala-Grid section files, HyperCard Markdown stacks, and project-note JSON to EPUB workflows. Use when Codex needs to scan folders
Open skill - /concise-key-points
Compress answers to the highest practical information density with minimal wording while preserving essential meaning. Use when the user asks for 言簡意賅, 講重點, Concise, 精簡回答, 簡潔回答, 只講重點, 直接回答, brief, TL;DR, or otherwise requests a concise key-points response.
Open skill - /epub-hypercard-obsidian
Convert EPUB card books into Obsidian-ready HyperCard Markdown folders and portable zip files. Use when Codex needs to turn an EPUB with XHTML chapters, table-of-contents cards, keyword index cards, backlinks, Luhmann/Zettelkasten numbers, or cross-links into one Markdown file
Open skill - /fantastical-calendar
Create Fantastical calendar events and reminders from Codex on macOS. Use when the user asks Codex to add, schedule, parse, preview, or send a meeting, appointment, task, reminder, time block, daily plan item, 行事曆, 日曆, 會議, 待辦, or 提醒 into Fantastical.
Open skill - /fire-analysis-card
Analyze Chinese notes, articles, manuscripts, and digital card-box material with FIRE 2.0: Full-D numbering, Index keyword webs, Route thinking paths, and Evolution over time. Use when Codex needs to prepare material for semantic search, turn temporary notes into permanent or
Open skill

