AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Passive Zeiterfassung

skill-eliasreiche-legal-ops-germany-passive-zeiterfassung · by eliasreiche

Rekonstruiert aus Kalender- und Mail-Metadaten Zeiterfassungs-Vorschläge je Akte zum Bestätigen oder Verwerfen und übergibt bestätigte Einträge an taetigkeitstext-rvg. Triggert bei Zeiterfassung, Stunden rekonstruieren, Timesheet-Vorschlag, erfasste Zeiten je Akte.

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-eliasreiche-legal-ops-germany-passive-zeiterfassung

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-eliasreiche-legal-ops-germany-passive-zeiterfassung)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
23d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

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 →
Are you the author of Passive Zeiterfassung? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

passive-zeiterfassung

Zweck

Rekonstruiert aus Kalender- und Mail-Metadaten je Akte Zeiterfassungs-Vorschläge, die die Kanzlei bestätigt oder verwirft. Jeder eindeutig zugeordnete Vorschlag ist bereits ein fertiger Leistungseintrag im Format des Abnehmers [taetigkeitstext-rvg](../taetigkeitstext-rvg/SKILL.md) — bestätigte Einträge laufen ohne Umbau in dessen Executor.

Der Skill erfindet nichts: Termin-Dauern kommen aus start/ende ([core/calc/zeit](../../core/calc/zeit/)), Mail-Zeitwerte ausschließlich aus der Kanzlei-Konvention config.mail_pauschale_minuten, die Akten-Zuordnung aus [core/calc/zuordnung](../../core/calc/zuordnung/) gegen kontext/mandate/*.md. Fehlt eine Zuordnung oder ein Zeitwert, wird das als Lücke ausgewiesen, nie geraten (P3, Anti-Halluzination).

Eingaben (Datei-Kontrakt, P2)

Vollständige Feldtabellen und das M365-Mapping: [schema/README.md](schema/README.md).

| Flag | Pflicht | Inhalt | |---|---|---| | --termine | eines von beiden Pflicht | Kalender-Metadaten {"termine": [...]} (Betreff, start/ende, Teilnehmer, Ort). | | --mails | eines von beiden Pflicht | Mail-Metadaten {"mails": [...]} (Zeitstempel, Betreff, Absender, Empfänger, Richtung) — keine Bodies. | | --kontext | ja | kontext/-Verzeichnis mit mandate/*.md. | | --config | nein | {"mail_pauschale_minuten": int>0 \| null} — Zeitansatz je Mail (Kanzlei-Konvention). Ohne Config → Mails ohne Zeitwert. | | --output | nein | Zieldatei für den Report (Default: stdout). |

Die Metadaten-Dateien entstehen über [kontext-sync](../kontext-sync/SKILL.md) (Microsoft-365-MCP-Konnektor) oder als manueller Export.

Ablauf

  1. Metadaten-Dateien liegen vor — Kalender-/Mail-Metadaten als

termine.json/mails.json (via [kontext-sync](../kontext-sync/SKILL.md) oder Export). Keine Mail-Inhalte, nur Metadaten.

  1. Executor läuft (deterministisch):

``bash python3 ${CLAUDE_PLUGIN_ROOT}/skills/passive-zeiterfassung/executor.py \ --termine termine.json --mails mails.json --config config.json \ --kontext --output report.json ``

Er berechnet Termin-Dauern, ordnet jeden Termin/jede Mail einer Akte zu (Z0–Z4) und verteilt die Ergebnisse auf vorschlaege, mehrdeutig, nicht_zuordenbar, ohne_zeitwert und warnungen (Termin-Überlappungen).

  1. Claude präsentiert die Vorschläge je Akte tabellarisch zum

Bestätigen / Verwerfen — je Vorschlag: Datum, Akte (az), Dauer, Betreff/Stichworte, Zuordnungs-Beleg (Stufe + Begründung). mehrdeutig, nicht_zuordenbar und ohne_zeitwert werden immer als offene Fragen gestellt (welche Akte? welcher Zeitwert?), nie automatisch entschieden.

  1. **Bestätigte Einträge → leistungen.json → Übergabe an

[taetigkeitstext-rvg](../taetigkeitstext-rvg/SKILL.md)**: Claude schreibt die von der Kanzlei bestätigten leistung-Objekte als leistungen.json (Format identisch, siehe schema/README.md) und übergibt sie an dessen Executor zur Formulierung/Taktung. Die Taktung passiert dort, nicht hier.

Output-Format

Der Report (report.json) enthält:

  • vorschlaege[] — je Eintrag den fertigen taetigkeitstext-rvg-Eintrag

(leistung), den Zuordnungs-Beleg (zuordnung: Stufe, Kategorie, Begründung) und status: "zu_bestaetigen".

  • mehrdeutig[] — mehrere Treffer oder nur mögliche Treffer; die Kanzlei

wählt die Akte.

  • nicht_zuordenbar[] — kein Kandidat (Lücke).
  • ohne_zeitwert[] — Mails ohne konfigurierte Pauschale (Lücke; Minuten

manuell nachtragen).

  • warnungen[] — zeitlich überlappende Termine (beide Betreffs).
  • summen.je_az — Minuten je Akte, nur über die eindeutigen Vorschläge

(via core/calc/zeit).

Deterministik-Grenze (P3): Jeder Zahlen-/Datums-/Zuordnungswert im Report stammt aus dem Executor und ist als solcher markiert — nie modellgeneriert.

Beispiele

schema/beispiel-termine.json (5 Termine: eindeutig, mehrdeutig, nicht zuordenbar, Überlappungspaar), schema/beispiel-mails.json (3 Mails) und schema/beispiel-config.json erzeugen schema/beispiel-report.json. schema/beispiel-leistungen.json sind die bestätigten Vorschläge im taetigkeitstext-rvg-Format. Alle Beispieldateien werden per Executor erzeugt und von den Tests synchron gehalten; der Round-Trip-Test lässt die bestätigten Einträge durch den echten taetigkeitstext-rvg-Executor laufen.

Grenzen

  • Zuordnung ist eine Heuristik (Z0–Z4, siehe

[core/calc/zuordnung](../../core/calc/zuordnung/)): Az-Treffer (Z0) sind sicher, Parteiname-Treffer (Z1–Z4) können bei kurzen/ähnlichen Namen falsch anschlagen — deshalb landet jede Unsicherheit in mehrdeutig/ nicht_zuordenbar, nie in einem stillen Vorschlag.

  • Mail-Zeitwerte sind eine Pauschale, kein gemessener Aufwand — die

Kanzlei setzt sie als Konvention und korrigiert je Mail bei Bedarf.

  • Der Skill entscheidet nie über Abrechnung — er liefert Vorschläge; jede

abrechnungsrelevante Zeit bestätigt die Kanzlei.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.