vt-v-intake¶
VMS intake pipeline for governance ideas. Captures, evaluates, proposes, triages, and routes improvement proposals through a 5-stage pipeline with folder-based lifecycle tracking.
Plugin: vms
Category: Other
Command: /vt-v-intake
VMS Intake Pipeline¶
This skill manages the intake of governance ideas — from informal observations to tracked, prioritized work items. It bridges the gap between "someone noticed something" and "it's in the backlog with an owner."
Pipeline Overview¶
Files move between subfolders as they progress:
| Folder | Status | Stage |
|---|---|---|
eingang/ |
offen | Captured, awaiting evaluation |
bewertung/ |
bewertet | Evaluated, awaiting proposal/approval |
aktiv/ |
genehmigt, in_bearbeitung | Approved, being executed |
archiv/ |
erledigt, abgelehnt | Completed or rejected |
Commands¶
scan (default)¶
Scan vault/aufgaben/ recursively for pipeline items and report status grouped by folder.
Process:
1. Run intake_scanner.py against the vault aufgaben directory
2. Scan all subfolders recursively (eingang/, bewertung/, aktiv/, archiv/, root)
3. Report: items by category, items by folder, consistency warnings
4. Flag any folder-status mismatches (e.g. file in bewertung/ with status: offen)
Output includes: - Summary table (untriaged, evaluated, approved, in_progress, completed counts) - Pipeline by Folder section (which items are where) - Consistency warnings (folder-status mismatches) - Untriaged items detail table
evaluate <file> or evaluate --all¶
Run automated evaluation checks against vorschlag files in eingang/.
/vt-v-intake evaluate vorschlag-2026-03-07-001.md
/vt-v-intake evaluate --all # evaluate all files in eingang/
Process:
1. Run evaluate_vorschlag.py against the specified file(s)
2. Execute 5 automated checks:
- YAML completeness — required aufgabe + vorschlag fields present
- Norm reference validation — extract and validate norm refs from body text
- Duplicate detection — search vault for overlapping content
- Scope estimation — count files in target vault area
- Dependency mapping — find files referencing the same norms
3. Display evaluation results (markdown with summary table + detail sections)
4. Update the vorschlag file:
- Append ## Bewertung section with evaluation results to file body
- Set status: bewertet in YAML frontmatter
5. Move file: git mv vault/aufgaben/eingang/<file> vault/aufgaben/bewertung/
propose <file>¶
Interactive enrichment of an evaluated file in bewertung/.
Process:
1. Read the evaluated file from bewertung/
2. Display existing evaluation results
3. Use AskUserQuestion to gather proposal details:
- Zweck — What problem does this solve?
- Zielort — Where in the vault should this content go?
- Scope — klein (1-5 files), mittel (6-20), gross (20+)
- Reviewer — Auto-suggest based on management_system:
- ISMS → ISB, DSMS → DSB, QMS → GF, IMS → ISB
- Cross-domain → ISB + affected domain owner
- Akzeptanzkriterien — What defines "done"?
- Umsetzung — direct | aufgabe | cwp
- Auto-suggest cwp when scope: gross and estimated_files > 20
4. Update YAML frontmatter with all proposal fields
5. Format body with proposal-template.md structure
triage¶
Interactive approval session for proposals in bewertung/ with status bewertet.
Process:
1. Run intake_scanner.py to find items in bewertung/ with status: bewertet
2. For each item, present:
- Title, description, and source
- Bewertung section (evaluation results)
- Proposal details (if propose was run)
- Suggested priority based on source and content
3. Ask user for decision using AskUserQuestion:
- Approve — Set status: genehmigt, zustaendig, frist; git mv to aktiv/
- Reject — Set status: abgelehnt, add reason; git mv to archiv/
- Defer — Set future frist, keep in bewertung/
- Revise — Add feedback notes, keep in bewertung/
4. After each decision, update the aufgabe file YAML frontmatter
5. At end, print summary of decisions made
Triage decision matrix (from references/classification-guide.md):
| Scope | Mechanism | Action |
|---|---|---|
| Single file fix | Aufgabe | Set owner + deadline directly |
| 2-5 files | Aufgabe + checklist | Set owner, add Umsetzungsschritte |
| 5-20 files | GitHub Issue + aufgabe | Create issue, label appropriately |
| 20+ files / new domain | CWP | Create entry in .content-state.yaml |
seed <description>¶
Bulk-create vorschlag aufgaben from a list of items.
Process:
1. Accept a description or structured list of items
2. For each item, create a new aufgabe file in vault/aufgaben/eingang/:
- Filename: vorschlag-YYYY-MM-DD-NNN.md (date + sequence)
- YAML frontmatter per intake-schema.md reference
- Body with description and context
3. Set kategorie: vorschlag, status: offen, quelle based on context
4. Report created files
capture¶
Guided interactive capture of a single governance idea. Asks clarifying questions and creates a well-structured vorschlag file in eingang/.
Process:
-
Gather the idea. Accept the user's description — can be a rough sentence, a topic name, or a detailed paragraph. If provided as argument, use that. Otherwise ask: "What's the idea? Describe it in a sentence or two."
-
Ask structured questions. Use a single AskUserQuestion call with up to 3 questions:
| Question | Options | Sets |
|---|---|---|
| Which management system? | ISMS, QMS, DSMS, IMS (cross-cutting) | management_system |
| What kind of content? | Richtlinie (policy), Prozess (process), Arbeitsanweisung (work instruction), Nachweis (record/evidence), Sonstiges | Title prefix, context |
| Where does this idea come from? | Eigene Beobachtung, Audit-Finding, Gesetzesaenderung, Management-Review, Vorfall, Gap-Analyse | quelle |
Map quelle answers to YAML values: eigene-beobachtung, audit, regulatorisch, management-review, vorfall, gap-analyse.
- Enrich with context (optional follow-up, only if relevant):
- If ISMS or DSMS: ask which norm/regulation is relevant (e.g., ISO 27001 A.x.y, DSGVO Art. x)
- Search vault for related existing files using Grep on keywords from the description
-
Ask if there is a deadline or urgency
-
Create the vorschlag file.
- Scan
vault/aufgaben/eingang/for existingvorschlag-YYYY-MM-DD-*.mdfiles to determine next sequence number (start at 001 if none exist for today) - Write to:
vault/aufgaben/eingang/vorschlag-YYYY-MM-DD-NNN.md - YAML frontmatter per schema below (all triage fields null)
- Body with
# Title,## Beschreibung(from user input),## Kontext(norm refs, related files),## Umsetzungsschritte(initial checkbox list derived from the idea) -
Use ASCII-compatible umlauts in filenames (ae/oe/ue), real umlauts in content
-
Confirm and offer next steps. Show the created file path and offer:
- Capture another idea? → repeat from step 1
- Triage this item now? →
/vt-v-intake triage - Back to IMS overview? →
/vt-v-start
Example output file:
---
title: "Richtlinie fuer Remote-Arbeit erstellen"
type: aufgabe
management_system: IMS
classification: intern
status: offen
kategorie: vorschlag
zustaendig: null
frist: null
prioritaet: null
quelle: "eigene-beobachtung"
erstellt_am: '2026-03-08'
erledigt_am: null
review_date: null
approved_by: null
approved_date: null
---
# Richtlinie fuer Remote-Arbeit erstellen
## Beschreibung
VisiTrans hat keine dokumentierte Regelung fuer Remote-Arbeit. Mit zunehmendem
Home-Office brauchen wir klare Vorgaben zu Informationssicherheit, Datenschutz
und Arbeitsmitteln am Heimarbeitsplatz.
## Kontext
- Relevant: ISO 27001 A.6.7 (Remote Working), DSGVO TOM
- Bestehend: [[Informationssicherheitsrichtlinie]], [[TOM]]
## Umsetzungsschritte
- [ ] Neue Datei anlegen unter vault/ISMSI/Richtlinien/
- [ ] Regelungen fuer Heimarbeitsplatz definieren
- [ ] IT-Sicherheitsanforderungen festlegen
- [ ] Cross-Referenzen setzen
Aufgabe YAML Schema for Intake Items¶
All intake items use type: aufgabe with these fields:
---
title: "Descriptive title"
type: aufgabe
management_system: IMS # or ISMS, QMS, DSMS
classification: intern
status: offen # offen → bewertet → genehmigt → in_bearbeitung → erledigt
kategorie: vorschlag # distinguishes intake items from operational aufgaben
zustaendig: null # set during triage (ISB, DSB, GF)
frist: null # set during triage (YYYY-MM-DD)
prioritaet: null # set during triage (hoch, mittel, niedrig)
quelle: "" # audit | team | regulatorisch | vorfall | management-review | gap-analyse
erstellt_am: "YYYY-MM-DD"
erledigt_am: null
# Optional fields set during propose:
zweck: null
zielort: null
scope: null # klein | mittel | gross
estimated_files: null
reviewer: null
akzeptanzkriterien: null
umsetzung: null # direct | aufgabe | cwp
review_date: null
approved_by: null
approved_date: null
---
Integration with Other Skills¶
/vt-v-cwp— When triage creates a new CWP, update.content-state.yaml/vt-v-audit— Audit findings can be seeded as intake items/vt-v-plan— Planning output feeds into intake for prioritization/vt-v-write— Triaged single-file items go directly to the write skill
GitHub Labels¶
When creating GitHub Issues during triage, use these labels:
| Label | Purpose |
|---|---|
ims-quality |
Broken links, YAML errors, skeleton content |
ims-gap |
Missing policies or processes |
ims-content |
Content deepening or improvement |
ims-compliance |
Compliance-critical items |
human-action |
Requires human decision or input |
Vault Paths¶
- Aufgaben directory:
vault/aufgaben/(with subfolders: eingang/, bewertung/, aktiv/, archiv/) - State file:
.content-state.yaml(repo root) - Triage dashboard:
vault/dashboards/vorschlaege-triage.md(Obsidian dataview)
Important Notes¶
- The vault path is relative to the V004 Handbuch repo root, not the toolkit repo
- Always verify you are working in the correct repo before modifying files
- The
intake_scanner.pyscript takes the vault root as its argument - The
evaluate_vorschlag.pyscript takes a vorschlag file path and vault root - Aufgabe files must pass the pre-commit YAML validation hook
git mvis used for folder transitions to preserve history
Open Brain Capture (Optional)¶
After processing intake items, if the capture_thought MCP tool is available, capture the intake outcome.
How:
1. Check if capture_thought tool is available. If not: skip silently.
2. If no items were processed: skip capture.
3. Call capture_thought with: