Knowledge orchestrator — routes to ingest, list, forget. Local-only file ingestion into the agent memory namespace.
Scanned 6/5/2026
Install via CLI
openskills install event4u-app/agent-config---
model_tier: medium
name: knowledge
pack: product-discovery
tier: 2
description: Knowledge orchestrator — routes to ingest, list, forget. Local-only file ingestion into the agent memory namespace.
cluster: knowledge
type: orchestrator
suggestion:
eligible: true
trigger_description: "ingest local folder, add my customer files, point the agent at this folder, list ingested knowledge, forget that ingest"
trigger_context: "user wants to feed local files (folder, .zip, single doc) to the agent without OAuth connectors"
workspaces:
- agent-config-maintainer
packs:
- meta
---
# /knowledge
Top-level orchestrator for the `/knowledge` family — the **local
knowledge ingestion** cluster. Single-user, single-machine, no OAuth,
no remote fetches. Feeds local files (folder · `.zip` · single PDF /
DOCX / XLSX / MD / TXT / image) into the existing memory namespace
under the `knowledge/` prefix.
Anchors: [`local-knowledge-ingestion`](../../docs/contracts/local-knowledge-ingestion.md)
contract — input shapes, bounds, redaction defaults, storage layout.
## Sub-commands
| Sub-command | Routes to | Purpose |
|---|---|---|
| `/knowledge ingest` | `commands/knowledge/ingest.md` | Walk a local path, redact, chunk, persist to `agents/memory/knowledge/<ingest-id>/` |
| `/knowledge list` | `commands/knowledge/list.md` | List existing ingests (table or JSON); pin / unpin by id prefix |
| `/knowledge forget` | `commands/knowledge/forget.md` | Drop a single ingest by id prefix (atomic, no partial state) |
| `/knowledge cross-repo` | `commands/knowledge/cross-repo.md` | Targeted read-only retrieval over opted-in linked-project siblings (ADR-032 Option A) |
Sub-command names match the locked contract in
[`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
## Dispatch
1. Parse the user's argument: `/knowledge <sub-command> [args]`.
2. Look up the sub-command in the table above.
3. Load the body of the routed file and follow its `## Steps` section
verbatim with the remaining args.
4. If the sub-command is unknown or missing, print the table above and ask:
> 1. ingest — point at a local folder, `.zip`, or file
> 2. list — show what's already ingested (`--pin` / `--unpin` to flag)
> 3. forget — drop an ingest by id prefix
> 4. cross-repo — targeted read-only retrieval over opted-in siblings
## Rules
- **Local-only.** Remote URLs (`http://`, `https://`, `s3://`, `gs://`,
`azure://`) are rejected at the input validator. Never fetch the
network from this cluster.
- **Bounds are non-negotiable** — see the contract. ≤ 1000 docs, ≤ 20 MB
per file, ≤ 500 MB namespace (LRU eviction at the namespace level).
- **Redaction defaults to ON.** Five PII classes (email, phone, IBAN,
credit card, SSN-shape) and five secret patterns (AWS, GitHub PAT,
OpenAI key, private-key blocks, generic high-entropy `api_key=...`
assignments) are replaced before storage. `--no-redact` exists for
trusted maintainer corpora; it never becomes the default.
- **Do NOT commit, push, or open a PR** unless the user explicitly asks.
- **Do NOT chain sub-commands.** One `/knowledge <sub>` per turn.
- If the user invokes `/knowledge` with no argument, **show the menu** —
do not guess which sub-command they meant.
No comments yet. Be the first to comment!