internal/cliapp/embedskill/SKILL.md
Knowledge base layout and node format for knowledge-db. Use when creating or editing KB markdown files. Root path placeholder {{DATA_PATH}}.
npx skillsauth add strider2038/knowledge-db knowledge-dbInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when working with the user's knowledge base files (not application source).
Knowledge base root: {{DATA_PATH}}
In the running app this is KB_DATA_PATH. Do not assume ./data unless the user specifies it.
User-facing node content is often Russian; keep the existing language unless asked to translate.
Topics are directories (typically 2–3 levels deep). Each node is a single markdown file in a topic directory:
| Path | Purpose |
|------|---------|
| {theme}/{slug}.md | Main file: YAML frontmatter + markdown body |
| {theme}/{slug}/ | Optional attachments (images/, notes/) — not a subtopic if {slug}.md exists |
| {theme}/{slug}/.local/ | Local-only data (gitignored) |
There is no {slug}/{slug}.md folder-per-node layout.
Required fields on every main node file:
| Field | Description |
|-------|-------------|
| id | UUID v7 (lowercase), stable across move/rename |
| keywords | Array of tags for search |
| created | ISO 8601 — when added to the KB |
| updated | ISO 8601 — last content update |
| type | article | link | note |
| title | Human-readable title (not the slug) |
Common optional fields: annotation, source_url, source_date, source_author, aliases, labels, manual_processed (boolean).
Example:
---
id: "01900000-0000-7000-8000-000000000001"
keywords: [example, go]
created: "2024-01-01T00:00:00Z"
updated: "2024-01-01T00:00:00Z"
type: note
title: "Example node"
annotation: "Short summary for lists and search"
---
# Example node
Body (markdown)…
topic/subtopic/… directories.{slug}.md files inside the target topic directory.example/topic/.{slug}.md with valid frontmatter and body.{slug}/images/ or {slug}/notes/.Programmatic creation should assign a new UUID v7 when id is missing.
Translations live beside the original: {slug}.{lang}.md (e.g. article.ru.md).
translation_of, lang, and its own id.translations and cross-link via wikilinks when a translation exists.article-translation / kb validate rules for wikilink and field checks.From the machine where kb is installed:
kb validate --path "{{DATA_PATH}}"
Fix all reported errors before considering the node done.
When cleaning imported or scraped markdown in the KB repo, follow .cursor/rules/markdown-normalization.mdc if present in that repository.
Follow OpenSpec knowledge-storage when in doubt about storage rules.
development
Frontend web/ (React, TypeScript, Vite). Используй при работе с web/src/**/*.tsx, web/src/**/*.ts.
tools
Регистрация фоновых процессов через pior/runnable. Используй при добавлении Telegram bot и других воркеров в kb-server.
testing
Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.
data-ai
Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.