Install
$ agentstack add skill-pssah4-vault-operator-knowledge-batch-ingest ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Batch Ingest
Integrate multiple notes and documents from a folder in one workflow. Token-efficient: shares entity lookups across files (search once, link many).
FEATURE-2005, EPIC-020.
Step 1: ASK THE USER
Ask: "How would you like to handle this batch?"
- Group review (recommended): I analyze all files, group them by topic, and show you each group for confirmation before making changes.
- Individual review: I process each file like a single ingest and ask you before each one.
- Quick mode: I analyze all files, show you a summary, and proceed after one confirmation. Best for simple notes with clear topics.
Wait for the user's answer.
Step 2: SCAN (deterministic, no LLM cost)
Use list_files on the target folder. For each file:
- Check file type (markdown, PDF, DOCX, XLSX, PPTX)
- For markdown: read frontmatter with
read_file(first 20 lines only) - Check which properties are already set (Themen, Konzepte, Zusammenfassung, etc.)
- Detect duplicates: if a note with the same title already exists in the vault
Report to the user:
Found {N} files in {folder}:
- {X} markdown notes ({Y} with complete frontmatter, {Z} need integration)
- {A} PDFs
- {B} Office documents
- {C} already integrated (skipping)
- {D} potential duplicates (will flag)
Estimated cost: ~${N * 0.10}-${N * 0.15} (entity cache reduces redundant searches)
Step 3: ANALYZE AND GROUP
For each file that needs integration:
- Read the content (markdown:
read_file, documents:read_document) - Identify entities (topics, concepts, persons)
- Entity cache: Before calling
semantic_search, check the cache:
- Cache hit: Reuse the previous search result (0 tokens)
- Cache miss: Run
semantic_search, store result in cache
- Group files by their primary topic/cluster
Present groups to the user (in group-review mode):
Group 1: "AI Ethics" (5 files)
- ethics-of-ai.md -> Themen: [[KI]], [[Ethik]]
- responsible-ai.pdf -> New source note, Themen: [[KI]]
- fairness-metrics.md -> Konzepte: [[Fairness]]
...
Group 2: "Project Management" (3 files)
- sprint-retro-march.md -> Themen: [[Projektmanagement]]
...
Shall I proceed with Group 1?
Step 4: PROCESS (after confirmation)
For each confirmed group:
- Create a checkpoint (for undo)
- For each file in the group:
- PDF/Office: Use
ingest_document(attaches full text automatically) - Markdown: Use
update_frontmatterfor properties,write_fileonly if body needs wikilinks
- Create stub notes for genuinely new entities (same rules as knowledge-ingest: no dangling wikilinks)
- Report progress after each file
After the group is done:
Group 1 complete: 5 files integrated, 2 stub notes created.
Proceed to Group 2, or undo Group 1?
Step 5: SUMMARY
After all groups are processed:
Batch ingest complete:
- {N} files integrated
- {M} stub notes created
- {K} entities reused from cache (saved ~{K * 0.02} tokens)
- {G} groups, each with a checkpoint for undo
Next: Run vault health check to verify graph integrity?
Entity Cache Rules
- In-memory only, not persisted between sessions
- Key: normalized entity name (lowercase, trimmed)
- Value: { path: string, exists: boolean } from semantic_search result
- Invalidate entry when a stub note is created for that entity
- Max 1000 entries (unlikely to exceed in one batch)
Critical Rules
- NEVER modify existing notes without user confirmation -- linking is thinking
- ALWAYS present proposals before making changes -- no autonomous batch processing
- ONE checkpoint per group -- each group independently reversible
- Prefer existing entities -- the entity cache enforces this across the batch
- No AI slop -- if unsure about an entity match, ask rather than guess
- Report cost -- show estimated vs. actual token cost at the end
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pssah4
- Source: pssah4/vault-operator
- License: Apache-2.0
- Homepage: https://pssah4.github.io/vault-operator/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.