К основному содержанию
скилл GitHub Copilot официальный · GitHub

mini-context-graph — скилл для GitHub Copilot: база знаний и установка

Создаёт базу знаний из документов: сохраняет Markdown-вики, граф сущностей и исходный текст с привязкой к подтверждениям. Подходит для проектов, где ответы должны опираться на накопленные материалы.

Установить в GitHub Copilot · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add github/awesome-copilot --skill mini-context-graph
Открыть на GitHub

Что делает mini-context-graph

Скилл раскладывает знания по трём слоям: исходные документы с фрагментами, Markdown-страницы в wiki/ и граф в data/graph.json. LLM извлекает сущности и связи, пишет сводки и обновляет страницы; Python-инструменты хранят данные, убирают дубликаты и обходят граф. Источники остаются неизменными, а узлы и связи ссылаются на подтверждающий текст.

Для работы с документом нужно прочитать references/ingestion.md и references/ontology.md, затем передать извлечённые сущности и связи в skill.ingest_with_content(...). Ответы можно искать сначала в вики, а для цитат вызывать skill.query_with_evidence(...). Глубина обхода графа ограничена значением 2, а в выдачу попадают связи с уверенностью не ниже 0.6.

Ставьте скилл, если хотите накапливать сведения из документов и проверять ответы по источникам. Для разового вопроса без базы знаний он добавит лишний процесс.

Какие задачи решает

  • сохранить извлечённые из документа сущности и связи
  • собрать сводку документа и обновить страницы вики
  • найти ответ в накопленных заметках
  • проверить ответ по исходным фрагментам
  • найти сломанные ссылки и осиротевшие страницы вики

Примеры запросов агенту

  • Добавь `incident_report.pdf` в базу знаний и обнови связанные страницы вики.
  • Почему система аварийно завершает работу? Ответь с подтверждением из исходного документа.
  • Проверь вики на сломанные ссылки и страницы без связей.

Как установить mini-context-graph

1Через Skills CLI (Vercel)

npx skills add github/awesome-copilot --skill mini-context-graph

2GitHub CLI

gh skill install github/awesome-copilot mini-context-graph

3Вручную: положить файлы

.github/skills/mini-context-graph/SKILL.md

Из того же набора554

Весь набор →
git-commit официальный github Скилл разбирает изменения Git, выбирает связанные файлы и создаёт коммит в формате Conventional Commits. Пригодится, когда нужно закоммитить одну или несколько логических частей изменений. GitHub Copilot 47 165установок excalidraw-diagram-generator официальный github Скилл превращает описание на обычном языке в диаграмму Excalidraw. Подойдёт, когда нужно показать процесс, связи между объектами или устройство системы. GitHub Copilot 31 639установок multi-stage-dockerfile официальный github Скилл помогает создавать многоэтапные Dockerfile для разных языков и фреймворков. Пригодится, когда важны размер и состав runtime-образа. GitHub Copilot 29 688установок documentation-writer официальный github Скилл для создания технической документации по фреймворку Diátaxis: туториалы, гайды, справки и объяснения. Предлагает структуру перед написанием. GitHub Copilot 27 757установок prd официальный github Собирает из идеи структурированный PRD с пользовательскими историями, техническими требованиями и рисками. Подходит для планирования новых функций, в том числе с AI. GitHub Copilot 24 035установок refactor официальный github Скилл помогает менять структуру кода без изменения внешнего поведения. Подойдёт для постепенной уборки сложных функций, дублирования и кодовых запахов. GitHub Copilot 22 321установок java-springboot официальный github Задаёт практики разработки Spring Boot-приложений: от структуры проекта до тестов и безопасности. Пригодится, когда Copilot пишет или проверяет Java-код. GitHub Copilot 21 272установок create-readme официальный github Скилл изучает проект и создаёт структурированный README.md. Подойдёт, когда документацию нужно собрать по коду и файлам проекта. GitHub Copilot 19 081установок

Похожие

notebooklm Alireza Rezvani Автоматизирует работу с Google NotebookLM через браузер. Помогает загружать источники, опрашивать блокноты и генерировать материалы в Studio прямо из Claude Code. Claude Code 325установок dossier Alireza Rezvani Скилл исследует компанию, человека или организацию по заданной гипотезе и собирает редактируемое досье в Word. Подойдёт для проверки перед встречей или исследованием. Claude Code 319установок skill-creator официальный anthropics Помогает создать новый скилл, доработать существующий и проверить результат через тестовые промпты и оценки. Claude Code Claude.ai 414 180установок writing-for-agents Matt Pocock Помогает писать скиллы и документы с инструкциями для агентов. Пригодится при правках AGENTS.md, CLAUDE.md и связанных справочных файлов. Claude Code 466 719установок media-use heygen-com Находит и генерирует ассеты для видео в HyperFrames — музыку, дикторский голос, аватары и эффекты. Сохраняет всё локально в assets. Claude Code CX Codex Cursor +1 1 100 000установок mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. Claude Code Claude.ai 130 949установок subagent-driven-development Jesse Vincent Скилл выполняет план через отдельных субагентов для каждой задачи и проверяет результат после каждого шага. Подходит для независимых задач в одной сессии. Claude Code CX Codex 237 746установок orchestration stablyai Координирует воркеров Orca через DAG задач, циклы супервизора и цепочки сообщений. Пригодится для распределения сложной работы между агентами. Claude Code CX Codex Cursor +1 349 200установок

Вопросы о mini-context-graph

Как установить mini-context-graph в GitHub Copilot?

Выполните npx skills add github/awesome-copilot --skill mini-context-graph. Также доступна команда gh skill install github/awesome-copilot mini-context-graph.

Что делает mini-context-graph?

Он сохраняет документы, извлечённые из них сущности и связи, а также Markdown-страницы вики. При поиске можно получить ответ вместе с подтверждающими фрагментами источников.

Как скилл связывает ответы с исходными документами?

Для каждой сущности и связи нужно передать supporting_text. Скилл хранит происхождение данных и возвращает исходные фрагменты через skill.query_with_evidence(...).

Исходный текст

SKILL.md · MIT
---
name: mini-context-graph
description: |
  A persistent, compounding knowledge base combining Karpathy's LLM Wiki pattern
  with a structured knowledge graph. Ingest documents once — the LLM writes wiki
  pages, extracts entities/relations into the graph, and stores raw content for
  evidence retrieval. Knowledge accumulates and cross-references; it is never
  re-derived from scratch.
---

# Mini Context Graph Skill

## The Core Idea

Standard RAG re-discovers knowledge from scratch on every query. This skill is different:

1. **Wiki layer** — The LLM writes and maintains persistent markdown pages (summaries, entity pages, topic syntheses). Cross-references are already there. The wiki gets richer with every ingest.
2. **Graph layer** — Entities and relations are extracted once and stored as a navigable knowledge graph. BFS traversal answers structural queries without re-reading sources.
3. **Raw source layer** — Original documents are stored immutably with chunks. Provenance links tie every graph node and edge back to the exact text that supports it.

> The LLM writes; the Python tools handle all bookkeeping.

---

## Three Layers

| Layer | Where | What the LLM does | What Python does |
|-------|-------|-------------------|-----------------|
| **Raw Sources** | `data/documents.json` | Reads (never modifies) | Stores chunks + metadata |
| **Wiki** | `wiki/` (markdown) | Writes/updates pages | Manages index.md + log.md |
| **Graph** | `data/graph.json` | Extracts entities + relations | Persists, deduplicates, traverses |

---

## ⚡ Quick Start for Agents

A complete runnable version of this workflow is in `scripts/template_agent_workflow.py` — copy and adapt it.

```python
from scripts.contextgraph import ContextGraphSkill
from scripts.tools import wiki_store

skill = ContextGraphSkill()

# ===== INGEST WITH FULL RAG + WIKI =====
# 1. Read references/ingestion.md and references/ontology.md first
# 2. Extract entities and relations (LLM reasoning step)
entities = [
    {"name": "memory leak",   "type": "issue",  "supporting_text": "memory leaks cause crashes"},
    {"name": "system crash",  "type": "issue",  "supporting_text": "system crashes due to memory leaks"},
]
relations = [
    {"source": "memory leak", "target": "system crash", "type": "causes",
     "confidence": 1.0, "supporting_text": "System crashes due to memory leaks."},
]

result = skill.ingest_with_content(
    doc_id="doc_001",
    title="System Crash Analysis",
    source="/docs/incident_report.pdf",
    raw_content="System crashes due to memory leaks. Memory leaks occur when objects are not released.",
    entities=entities,
    relations=relations,
)
# result = {"doc_id": "doc_001", "chunk_count": 1, "nodes_added": 2, "edges_added": 1}

# 3. Write a wiki summary page for this document
wiki_store.write_page(
    category="summary",
    title="System Crash Analysis Summary",
    content="""---
title: System Crash Analysis
source_document: doc_001
tags: [summary, incident]
---

# System Crash Analysis

**Source:** incident_report.pdf

## Key Claims

- [[memory-leak]] causes [[system-crash]] (confidence: 1.0)

## Entities

- [[memory-leak]] (issue)
- [[system-crash]] (issue)
""",
    summary="Incident report: memory leaks cause system crashes.",
)

# ===== QUERY WITH EVIDENCE =====
result = skill.query_with_evidence("Why does the system crash?")
# Returns: {"query": ..., "subgraph": ..., "supporting_documents": [...], "evidence_chain": ...}

# ===== WIKI SEARCH (read wiki before answering) =====
pages = wiki_store.search_wiki("memory leak")
# Returns: [{slug, category, path, snippet}, ...]
```

---

## Operations

### Ingest

When a user provides a new document:

1. Read `references/ingestion.md` — entity/relation extraction rules.
2. Read `references/ontology.md` — type normalization rules.
3. Extract entities and relations using your LLM reasoning.
4. Call `skill.ingest_with_content(...)` — stores raw content + chunks + graph nodes + provenance.
5. **Write a wiki summary page** using `wiki_store.write_page(category="summary", ...)`.
6. **Update entity pages** — for each new/updated entity, write or update `wiki_store.write_page(category="entity", ...)`.
7. **Update topic pages** if the document touches an existing synthesis topic.
8. A single document ingest will typically touch 3–10 wiki pages.

### Query

When a user asks a question:

1. **Check the wiki first** — `wiki_store.search_wiki(query)` to find relevant pages. Read them.
2. If the wiki has a good answer, synthesize from wiki pages (fast path).
3. If deeper graph traversal is needed, call `skill.query_with_evidence(query)`.
4. Return the answer with evidence citations from `supporting_documents`.
5. If the answer is valuable, file it back as a new wiki topic page.

### Lint

Periodically health-check the wiki:

```python
from scripts.tools import wiki_store
issues = wiki_store.lint_wiki()
# Returns: {orphan_pages, missing_pages, broken_wikilinks, isolated_pages}
```

Ask the LLM to review and fix: broken links, orphan pages, stale claims, missing cross-references. See `references/lint.md` for full lint workflow.

---

## Ingestion Constraints

- ❌ Do NOT hallucinate entities not present in the text
- ❌ Do NOT add relations without explicit textual evidence
- ❌ Do NOT add edges with confidence < 0.6
- ✅ Provide `supporting_text` for every entity and relation — this enables provenance
- ✅ Write a wiki summary page for every ingested document
- ✅ Update existing entity pages when new information arrives
- ✅ Flag contradictions in wiki pages when new data conflicts with old claims

---

## Retrieval Constraints

- 🔒 Traversal depth MUST NOT exceed 2 (config: MAX_GRAPH_DEPTH)
- 🔒 Only edges with confidence ≥ 0.6 (config: MIN_CONFIDENCE)
- 🔒 Maximum 50 nodes returned (config: MAX_NODES)
- ❌ Do NOT fabricate nodes or edges not in the graph

---

## Full Python API Reference

| Method | Purpose | When to Use |
|--------|---------|-------------|
| `skill.ingest_with_content(doc_id, title, source, raw_content, entities, relations)` | Full RAG ingest: raw docs + graph + provenance | Every new document |
| `skill.add_node(name, node_type)` | Add single entity (no provenance) | Quick additions without a source doc |
| `skill.add_edge(source_name, target_name, relation, confidence)` | Add single relation | Quick additions without a source doc |
| `skill.query(query)` | Graph-only retrieval → subgraph | Structural queries |
| `skill.query_with_evidence(query)` | Graph + provenance → subgraph + source chunks | Queries requiring citations |
| `wiki_store.write_page(category, title, content, summary)` | Write/update a wiki page | After every ingest; after answering queries |
| `wiki_store.read_page(category, title)` | Read a wiki page | Before answering; for cross-referencing |
| `wiki_store.search_wiki(query)` | Keyword search across wiki | Fast path before graph traversal |
| `wiki_store.list_pages(category)` | List all wiki pages | Getting an overview |
| `wiki_store.get_log(last_n)` | Read recent operations | Understanding wiki history |
| `wiki_store.lint_wiki()` | Health check | Periodic maintenance |
| `documents_store.list_documents()` | List all ingested raw sources | Audit / provenance checking |
| `documents_store.search_chunks(query)` | Chunk-level search | Finding specific evidence |

---

## Design Philosophy

> "The wiki is a persistent, compounding artifact. The cross-references are already there. The synthesis already reflects everything you've read." — Karpathy

| Layer | What Happens | Who Owns It |
|-------|-----------|-------------|
| **LLM Reasoning** | Extraction, synthesis, writing wiki pages | Agent (.md guidance files) |
| **Wiki Persistence** | Index, log, file I/O | `wiki_store.py` |
| **Graph Persistence** | Dedup, index, BFS traverse | `graph_store.py`, `retrieval_engine.py` |
| **Raw Source Storage** | Immutable docs + chunks + provenance | `documents_store.py` |

The human curates sources and asks questions. The LLM writes the wiki, extracts the graph, and answers with citations. Python handles all bookkeeping.

© github · MIT · github/awesome-copilot

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой