From jx-kb
Extract insights from the current conversation session and file worthy ones to the wiki. Reviews session for new patterns, decisions, connections, facts, and ideas. Deduplicates against existing wiki content, presents candidates individually for user approval, then files approved items with proper provenance tracking. Triggers on: "insights", "session insights", "file session insights", "what did we learn", /jx-kb:insights. Do not trigger for: document ingestion, wiki queries, triage, lint.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jx-kb:insights [--label <session-label>] [wiki_path][--label <session-label>] [wiki_path]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Extract insights from the current conversation and file worthy ones to the wiki.
Extract insights from the current conversation and file worthy ones to the wiki.
Unlike /jx-kb:ingest (which processes a static source document), this skill
treats the conversation itself as the source. No file fingerprinting or snapshot
is needed — the log entry records the session label instead.
| Argument | Required | Default | Notes |
|---|---|---|---|
--label | No | — | Short label for the log entry (e.g., "meet-notes scaffolding"). Prompted if not provided. |
wiki_path | No | wiki/ | Wiki directory. Must contain _schema.md |
_schema.md at wiki_path. If not found: "Wiki not found. Run /jx-kb:init first."_schema.md to load taxonomy rules and custom routing._index.md to get full page catalog (needed for dedup in Phase 3)._log.md for recent operations context (entries are prepended newest-first, so the head contains the most recent filings).Review the current conversation for knowledge candidates. Extract items that represent:
For each candidate, produce:
concepts/ideas/ with status: rawentities/topics/ideas/ (tiebreaker rule from schema)If no insights found: "This session has no new insights worth filing. The conversation may have been too short or covered already-documented ground."
For each candidate from Phase 2:
_index.md for existing pages with similar titles, overlapping tags, or related summaries.If all candidates are SKIPs: "All session insights are already covered in the wiki. Nothing to file."
Present each surviving candidate one at a time (not as a batch). For each:
### <Title>
**Action**: NEW | UPDATE <existing page>
**Type**: <taxonomy type>
**Tags**: <tag list>
Key claims:
- <claim 1>
- <claim 2>
File this insight? [File / Modify / Skip]
For Modify: let the user adjust title, type, tags, or claims before filing.
Collect all decisions. Do not write any files until all candidates are reviewed.
After all candidates are presented, show a summary table:
| # | Title | Action | Type |
|---|-------|--------|------|
| 1 | ... | NEW | idea |
| 2 | ... | UPDATE | concept |
Ask: "Proceed with filing these? (yes/no)"
Do not write until user confirms.
For each approved candidate:
Write file in the appropriate taxonomy directory.
Include YAML frontmatter:
---
title: <Title>
type: <type>
tags: [tag1, tag2]
created: <today's date>
updated: <today's date>
source_count: 0
aliases: []
provenance: synthesis
---
For idea pages, add: status: raw
Write brief, structured content:
[[wikilinks]] for every cross-reference to other wiki pagesEnd every page with:
## Sources
- Session: <label> (<date>)
Use Session: <label> (<date>) as the source line since there is no raw source
document. This keeps the ## Sources section required by the wiki schema and
ensures compatibility with /jx-kb:triage which reads provenance from that section.
updated date in frontmatter.- Session: <label> (<date>) to the page's ## Sources section.Content brevity: Keep idea pages to 5-10 lines of body content. Concepts can be longer but should not exceed what the session evidence supports.
For each newly created page, scan _index.md for existing pages whose titles
or summaries relate to the new page's topic. Read those candidate pages and
check if they mention the new page's title in prose without a [[wikilink]].
If so, add the missing [[wikilinks]] where the name appears naturally.
Do not modify files in raw/ — these are immutable provenance snapshots.
_index.mdFor each new page, add entry in the correct taxonomy section:
- [[Page Name]] — One-line summary (#tag1, #tag2) [status if idea]
For updated pages, revise the one-line summary if the update meaningfully changed the page's scope.
Re-sort entries alphabetically within each section. Update page_count and updated date in frontmatter.
_log.mdInsert the new entry immediately after the # Wiki Log header (before existing
entries) so the log remains newest-first. This ensures Phase 1's head-read
captures recent filings on subsequent runs.
## <date and time> — Session Insights: <label>
- **Operation**: insights
- **Label**: <session label>
- **Pages created**: <list with types>
- **Pages updated**: <list>
- **Ideas extracted**: <count>
- **Conflicts flagged**: <count>
- **Cross-references added**: <count>
- **Outcome**: Success
## Session Insights Filed
### Label
<session label>
### Pages Created
- [[Page Name]] (type)
- [[Idea Name]] (idea — needs triage)
### Pages Updated
- [[Existing Page]] — added new claims
### Stats
- Insights reviewed: <total candidates>
- Filed: <n>
- Skipped (already covered): <n>
- Cross-references added: <n>
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub jairosoft-com/jodex-plugins --plugin jx-kb