mirror of
https://github.com/github/awesome-copilot.git
synced 2026-05-05 14:42:12 +00:00
add mini-context-graph skill (#1580)
* add mini-context-graph skill * remove pycache files * filename case update to SKILL.md * update readme
This commit is contained in:
@@ -0,0 +1,163 @@
|
||||
# Lint Instructions
|
||||
|
||||
This file defines the wiki health-check workflow.
|
||||
|
||||
Run this periodically (or after a large batch of ingests) to keep the wiki
|
||||
clean and accurate. The pattern is from Karpathy's LLM Wiki: detect contradictions,
|
||||
orphans, broken links, stale claims, and data gaps.
|
||||
|
||||
---
|
||||
|
||||
## When to Run
|
||||
|
||||
- After ingesting 5+ documents
|
||||
- When the user asks "check the wiki" or "health check"
|
||||
- When answers seem inconsistent or contradictory
|
||||
- Before a major synthesis or presentation
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Run the Automated Health Check
|
||||
|
||||
```python
|
||||
from scripts.tools import wiki_store
|
||||
|
||||
issues = wiki_store.lint_wiki()
|
||||
# Returns:
|
||||
# {
|
||||
# "orphan_pages": [list of slugs in files but not in index],
|
||||
# "missing_pages": [list of slugs in index but file deleted],
|
||||
# "broken_wikilinks": {slug: [broken link targets]},
|
||||
# "isolated_pages": [slugs with no wikilinks at all],
|
||||
# }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Triage Each Issue Type
|
||||
|
||||
### Orphan Pages
|
||||
Pages exist on disk but are not in the index. They are invisible to search.
|
||||
**Fix**: Add them to the index or delete if stale.
|
||||
|
||||
```python
|
||||
# To add to index, re-write the page (this auto-updates the index):
|
||||
wiki_store.write_page(category="...", title="...", content=existing_content)
|
||||
|
||||
# To delete (manual step — confirm with user first):
|
||||
# rm wiki/{category}/{slug}.md
|
||||
```
|
||||
|
||||
### Missing Pages
|
||||
In the index but the file was deleted. Dangling references.
|
||||
**Fix**: Either recreate the page from knowledge or remove from index.
|
||||
|
||||
### Broken Wikilinks
|
||||
`[[slug]]` references that point to pages that don't exist.
|
||||
**Fix**: Create the missing page, or correct the link.
|
||||
|
||||
### Isolated Pages
|
||||
Pages with no `[[wikilinks]]` — they are unreachable via link traversal.
|
||||
**Fix**: Add links from/to related pages.
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Check for Contradictions
|
||||
|
||||
Read the wiki index and scan for pages that might contradict each other:
|
||||
|
||||
```python
|
||||
pages = wiki_store.list_pages()
|
||||
# Returns [{slug, category, summary, date}, ...]
|
||||
```
|
||||
|
||||
Look for:
|
||||
- Same entity with conflicting `type` in different pages
|
||||
- Same relation with different direction in different pages
|
||||
- Newer ingests that update/supersede older claims
|
||||
|
||||
**When you find a contradiction:**
|
||||
- Add a `## Contradictions` section to the relevant entity/topic pages:
|
||||
```markdown
|
||||
## Contradictions
|
||||
- doc_001 says X; doc_003 says not-X — unresolved
|
||||
```
|
||||
- Flag it in the log:
|
||||
```python
|
||||
# Handled by wiki_store.write_page which auto-appends to log.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Check for Stale Claims
|
||||
|
||||
Review pages ingested more than N days ago (use the `date` field from the index).
|
||||
Ask: "Has any newer document superseded this claim?"
|
||||
|
||||
**When a claim is stale:**
|
||||
- Update the page: add a `## Superseded` section or update the body.
|
||||
- Mark the old claim with _(superseded by [[newer-doc-summary]])_.
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Check for Missing Cross-References
|
||||
|
||||
For each entity page, check: does it link back to all summary pages that mention it?
|
||||
For each summary page, check: does it link to all entity pages it extracted?
|
||||
|
||||
**Fix**: Read the page and add missing `[[slug]]` links.
|
||||
|
||||
---
|
||||
|
||||
## Step 6: Identify Data Gaps
|
||||
|
||||
Review entity pages that lack:
|
||||
- A proper description (just a stub)
|
||||
- Any `## Relations` section
|
||||
- Any `## Mentioned in` links
|
||||
|
||||
These are candidates for deeper research or new ingests.
|
||||
|
||||
---
|
||||
|
||||
## Step 7: Log the Lint Pass
|
||||
|
||||
```python
|
||||
# wiki_store.write_page automatically logs the activity.
|
||||
# For a manual lint summary, append to log.md via write_page on a topic:
|
||||
wiki_store.write_page(
|
||||
category="topic",
|
||||
title="Lint Pass YYYY-MM-DD",
|
||||
content="# Lint Pass\n\n## Issues Found\n\n...\n\n## Fixed\n\n...",
|
||||
summary="Lint pass results",
|
||||
)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Lint Commands
|
||||
|
||||
```python
|
||||
from scripts.tools import wiki_store
|
||||
|
||||
# Full health check
|
||||
issues = wiki_store.lint_wiki()
|
||||
|
||||
# Get recent history
|
||||
log = wiki_store.get_log(last_n=10)
|
||||
|
||||
# List all pages
|
||||
all_pages = wiki_store.list_pages()
|
||||
|
||||
# Search for a concept across wiki
|
||||
results = wiki_store.search_wiki("memory leak")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Rules
|
||||
|
||||
- NEVER delete pages without user confirmation
|
||||
- NEVER auto-resolve a contradiction — flag it for human review
|
||||
- File all lint results as a topic page in the wiki (so the history is visible)
|
||||
- Prefer adding cross-references over rewriting existing content
|
||||
Reference in New Issue
Block a user