knowledge-ops — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited knowledge-ops (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Manage a multi-layered knowledge system for ingesting, organizing, syncing, vectorizing, and retrieving knowledge across multiple stores.
Prompt
Use knowledge-ops to organize this knowledge base. Deduplicate, classify, sync, and prepare semantic retrieval.Use Case
Expected Result
Output Example
Verification Case
Verified Effect
Resolve wiki and system paths from system/config.md when available. If no config exists, default to wiki/, sources/, maps/, and system/.
~/.claude/projects/*/memory/)[[wikilinks]]sentence-transformers (free)Karpathy-style rule: do not let vector search become the knowledge base. Use vectors to find pages; use Markdown to hold understanding, provenance, connections, and review queues.
| Component | Tool | Cost | Why |
|---|---|---|---|
| Embeddings | sentence-transformers (all-MiniLM-L6-v2) | Free | Local, 384-dim, fast |
| Vector DB | ChromaDB | Free | Local, persistent, simple API |
| Sync Trigger | Watchdog (file monitoring) | Free | Auto-index on file change |
pip install chromadb sentence-transformers watchdog# sync_wiki_to_vector.py — run on ingest or periodically
from sentence_transformers import SentenceTransformer
import chromadb
import os, glob, hashlib
# Initialize
model = SentenceTransformer('all-MiniLM-L6-v2')
client = chromadb.PersistentClient(path="./vector_store")
collection = client.get_or_create_collection("wiki")
def sync_wiki():
wiki_dir = os.environ.get("WIKI_DIR", "wiki")
files = glob.glob(os.path.join(wiki_dir, "**", "*.md"), recursive=True)
for f in files:
with open(f, "r") as fh:
content = fh.read()
doc_id = hashlib.sha256(f.encode()).hexdigest()[:16]
# Check if already indexed (by hash)
existing = collection.get(ids=[doc_id])
if existing["ids"]:
continue
# Embed and store
embedding = model.encode(content[:5000]).tolist()
collection.add(
documents=[content[:5000]],
embeddings=[embedding],
ids=[doc_id],
metadatas=[{"path": f, "updated": os.path.getmtime(f)}]
)
def semantic_search(query, k=5):
q_embedding = model.encode(query).tolist()
results = collection.query(query_embeddings=[q_embedding], n_results=k)
return results# auto_watch.py — runs in background
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class WikiSyncHandler(FileSystemEventHandler):
def on_modified(self, event):
if event.src_path.endswith(".md"):
sync_wiki() # re-index changed file
observer = Observer()
observer.schedule(WikiSyncHandler(), path="./wiki", recursive=True)
observer.start()| Type | Primary Store | Secondary |
|---|---|---|
| Business decision | Memory (project) | Wiki decision log |
| Personal preference | Memory (user) | — |
| Reference info | Memory (reference) | Wiki concept page |
| Research output | Wiki outputs/ | Memory summary |
| Session knowledge | Session-learn extraction | Wiki concepts/entities |
[[wikilinks]]When user asks "what do I know about X":
rg search over Markdown.Use explicit queues for knowledge debt:
| Debt type | Queue action |
|---|---|
| Weak concept/entity link | decide create page, redirect, relabel, or ignore as example text |
| Duplicate source | choose canonical source and keep provenance note if useful |
| Missing source hash/source_id | recover original file/URL before filling |
| Single-source claim now has more evidence | upgrade evidence level only after source refs are attached |
| Fast-changing product/finance claim | schedule primary-source or current-doc verification |
| V5 structure debt | batch by MOC priority rather than rewriting the whole vault |
| Reusable agent workflow | extract to existing skill/SOP if it has objective, constraints, failure modes, verification, and write-back |
Allow autonomous knowledge improvement loops only when:
If the target is interpretive quality, strategy, taste, or claim confidence, use a supervised review queue instead.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.