Knowledge Store Skill
Documentsknowledge_store_skillKnowledge Store Skill is an Agent Skill for documents published in the NPC-Worldwide/npcpy repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Skill for working with local .knowledge.yaml files via KnowledgeStore. Use this when you need to recall, search, or manage directory-local memories and knowledge links stored in plain YAML alongside the user's project files. KnowledgeStore is directory-scoped. Each directory that contains a `.knowledge.yaml` file maintains its own append-only memory graph. There is no global database — the YAML IS the source of truth. Key operations: - Load a directory's store: `npcpy.memory.knowledge_store.get_store_for_path(path)` - Append a memory: `store.append_memory(initial_memory="...", status="pending_approval", ...)` - Update a memory (approve/reject/edit): `store.update_memory(mem_id, status, final_memory)` - Search memories (keyword substring): `store.search_memories("query", limit=20)` - Get approved context for LLM prompts: `store.build_context(max_memories=10)` - Get links for a memory: `store.get_links_for_memory(mem_id)` - Create a link between memories: `store.append_link(from_mem, to_mem, relation="refines", agent="your_name")` - Aggregate across a tree: `KnowledgeStore.aggregate(root_directory, max_depth=3)` Memory statuses: - `pending_approval` — raw extraction, needs human review - `human-approved` — confirmed and available for context injection - `human-rejected` — discard, can be used as negative examples - `human-edited` — corrected version supersedes initial_memory When answering questions, prefer `build_context()` for recently approved local knowledge, and `search_memories()` for targeted recall. Always respect `human-rejected` memories — do not repeat them.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/NPC-Worldwide/npcpy/blob/HEAD/skills/knowledge_store_skill/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/knowledge-store-skill, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
knowledge_store_skill
Skill for working with local .knowledge.yaml files via KnowledgeStore. Use this when you need to recall, search, or manage directory-local memories and knowledge links stored in plain YAML alongside the user's project files.
KnowledgeStore is directory-scoped. Each directory that contains a .knowledge.yaml file maintains its own append-only memory graph. There is no global database — the YAML IS the source of truth.
Key operations: - Load a directory's store: npcpy.memory.knowledge_store.get_store_for_path(path) - Append a memory: store.append_memory(initial_memory="...", status="pending_approval", ...) - Update a memory (approve/reject/edit): store.update_memory(mem_id, status, final_memory) - Search memories (keyword substring): store.search_memories("query", limit=20) - Get approved context for LLM prompts: store.build_context(max_memories=10) - Get links for a memory: store.get_links_for_memory(mem_id) - Create a link between memories: store.append_link(from_mem, to_mem, relation="refines", agent="your_name") - Aggregate across a tree: KnowledgeStore.aggregate(root_directory, max_depth=3)
Memory statuses: - pending_approval — raw extraction, needs human review - human-approved — confirmed and available for context injection - human-rejected — discard, can be used as negative examples - human-edited — corrected version supersedes initial_memory
When answering questions, prefer build_context() for recently approved local knowledge, and search_memories() for targeted recall. Always respect human-rejected memories — do not repeat them.
Inputs
name(default:'action')description(default:'load | search | append | update | link | context | aggregate')name(default:'directory_path')description(default:'Absolute path of the directory containing .knowledge.yaml')name(default:'query_or_memory')description(default:'Search query, memory text, or JSON params depending on action')
Steps
instruct→instruct.py
Usage
/run_jinx jinx_ref=knowledge_store_skill input_values={"name": "query_or_memory", "description": "Search query, memory text, or JSON params depending on action"}