Edge
Показывает границу базы знаний — фронтирные страницы, у которых много исходящих связей и мало входящих, и предлагает для каждой связанные темы, которых ещё нет в базе. Read-only: только выводит статистику, не запускает поиск или заполнение. Решение, что углубить, принимает пользователь — обычно через /study. Триггеры: /edge, "edge", "границы базы", "что изучить дальше", "edge of vault", "purpose of vault", "куда расти".From its SKILL.md
npx -y skills add matvej-melikhov/karpathy-llm-wiki --skill edgeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.1 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it
edge: статистика границы базы знаний
Граница базы — это страницы, которые упираются в неосвоенный контекст: ссылаются на много концепций, но мало кто ссылается на них в ответ. Скилл выводит такие страницы и предлагает для каждой родственные темы, которых в базе ещё нет.
Read-only. Скилл ничего не создаёт, не правит, не запускает другие скиллы. Решение «изучить дальше» принимает пользователь — обычно вызывая /study <тема> после анализа вывода.
Команда и флаги
| Команда | Поведение |
|---|---|
/edge | Top-10 фронтирных страниц + LLM-предложения по каждой |
/edge --top N | Top-N (вместо 10) |
/edge --page <страница> | Подробный разбор окрестности одной страницы |
/edge --raw | Только статистика без LLM-предложений (быстрый режим) |
Workflow
Шаг 1. Запустить детерминированную статистику
python3 bin/edge.py --json --top 10
Возвращает JSON со списком фронтирных страниц. Для каждой:
name,path,type,domain[]out_degree,in_degree,out_targets[]— список существующих wikilink-соседейage_days,recency_weight,score
out_targets критичен для шага 3: это уже занятые направления, которые в предложениях упоминать не нужно.
Для одной страницы:
python3 bin/edge.py --json --page "<имя или путь>"
Если эмиттер вернул EXIT_USAGE (страница не найдена) — сообщи пользователю, какие имена существуют (ls wiki/ideas/ wiki/entities/ wiki/questions/ wiki/minds/).
Если top-список пуст (вся база интегрирована или базы пока нет) — так и скажи: «фронтир пуст, база цельная».
Шаг 2. Прочитать каждую фронтирную страницу
Для каждой страницы из top-N прочитай её содержимое (Read по path из JSON). Цель — понять, о чём страница, чтобы шаг 3 предлагал именно родственные темы, а не общие слова.
Шаг 3. Сгенерировать предложения
Для каждой фронтирной страницы предложи 3–5 родственных тем, которых нет в базе.
Источник предложений: training knowledge LLM. Это уже не детерминированная часть — здесь скилл переключается на собственное знание модели.
Жёсткие ограничения:
- Не предлагать темы, которые уже есть в базе. Список
out_targetsиз JSON плюс полныйwiki/index.md— игнорируемые имена. Если предложение совпадает с существующей страницей по смыслу (даже под другим именем) — не предлагай. - Темы должны быть конкретными. Не «расширить тему», а «Eligibility Traces» или «Out-of-Bag Error».
- Темы должны быть смежными по содержанию. Если страница про GAE — предлагай вещи из RL/policy gradient, не общую философию ML.
- Каждое предложение — одна строка с пояснением 5–15 слов. Зачем эта тема рядом с этой страницей.
Не нужно отсекать «слишком очевидные» темы. Если в базе есть [[GAE]] и нет [[Eligibility Traces]] — это главный кандидат, а не «слишком очевидный».
Шаг 4. Сформировать вывод
Формат — таблица top-N со скором + развёрнутое описание окрестности и предложения для каждой страницы.
=== Граница базы знаний ===
Всего страниц в базе: N
Из ранжирования исключены типы: domain, meta
| # | score | out | in | age | type | страница |
|---|---|---|---|---|---|---|
| 1 | ... | ... | ... | ... | ... | [[Имя]] |
...
──────────────────────────────────────────────
[1] [[Имя страницы]]
boundary: <score> (out=<o>, in=<i>, обновлено <d> дн. назад)
domain: [[Domain1]], [[Domain2]] # из frontmatter, если есть
Что в базе уже есть из окрестности:
[[Сосед1]], [[Сосед2]], [[Сосед3]]
(это out_targets из bin/edge.py)
Связанные темы вне базы:
• Тема A — пояснение, зачем рядом
• Тема B — пояснение
• Тема C — пояснение
──────────────────────────────────────────────
[2] ...
Подсказка: `/study <тема>` для углубления одной из предложенных.
При --raw — только таблица без блоков «Что есть» и «Связанные темы вне базы».
При --page <X> — раздел для одной страницы, без таблицы топа.
Ограничения
- Никаких файлов на запись. Скилл только читает:
wiki/**/*.md,wiki/index.md. Не вызываетbin/embed.py update, не пишет вlog.md, не трогаетcache.md. - Не вызывает другие скиллы. Если в выводе уместно «можно изучить через /study» — это текст-подсказка, не автоматическое делегирование.
- Не предлагает создать страницы напрямую. Если пользователь хочет создать страницу-стаб без изучения — это
/saveили ручнойWrite, не/edge.
Почему домены и meta исключены
Domain-страницы — навигационные хабы (MOC). По устройству они ссылаются на каждую страницу домена и почти ни на что не ссылаются — у них всегда высокий out-degree и низкий in-degree. Если их не исключить, top фронтира забивается ими и теряет смысл.
Meta — это инфраструктура (cache, index, dashboard, отчёты lint), не содержательное знание.
Mind, idea, entity, question — все ранжируются.
Связь с /lint и /study
| Скилл | Что делает | Когда использовать |
|---|---|---|
/lint | находит нарушения консистентности (dead-link, orphan, contradiction) | проверка целостности уже накопленного |
/edge | находит направления роста на границе интеграции | обзор, куда расширяться |
/study | расширяет vault интерактивным изучением темы | заполнение пробелов |
/edge — диагностический скилл; /study — операционный. Между ними — выбор пользователя.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.