// "Master catchup for David. Use at SESSION START, when user says 'catchup', 'was hab ich verpasst', 'was ist los', 'check status', 'zeig blocked', or before Daily Sync. Shows Marius activity, blocked/waiting issues with context. (project)"
| name | accountability-check |
| description | Master catchup for David. Use at SESSION START, when user says 'catchup', 'was hab ich verpasst', 'was ist los', 'check status', 'zeig blocked', or before Daily Sync. Shows Marius activity, blocked/waiting issues with context. (project) |
| allowed-tools | Bash(gh:*), Task, mcp__google_workspace__* |
| version | 3.5.0 |
Kontext ist alles. Nicht nur "Issue #4 ist blocked" sondern:
WICHTIG: 3 Pages holen um alle Marius Comments zu kriegen (Bots verdrรคngen sonst echte Comments)
# Page 1 (neueste)
gh api "repos/DaveX2001/deliverable-tracking/issues/comments?per_page=100&sort=created&direction=desc&page=1" \
--jq '[.[] | select(.user.login == "MariusWilsch")] | .[0:20] | .[] | "#\(.issue_url | split("/") | .[-1]) [\(.created_at | split("T")[0])]: \(.body[0:120])..."'
# Page 2 (falls Page 1 wenig Marius hat)
gh api "repos/DaveX2001/deliverable-tracking/issues/comments?per_page=100&sort=created&direction=desc&page=2" \
--jq '[.[] | select(.user.login == "MariusWilsch")] | .[0:15] | .[] | "#\(.issue_url | split("/") | .[-1]) [\(.created_at | split("T")[0])]: \(.body[0:120])..."'
# Page 3 (fรผr รคltere Comments)
gh api "repos/DaveX2001/deliverable-tracking/issues/comments?per_page=100&sort=created&direction=desc&page=3" \
--jq '[.[] | select(.user.login == "MariusWilsch")] | .[0:10] | .[] | "#\(.issue_url | split("/") | .[-1]) [\(.created_at | split("T")[0])]: \(.body[0:120])..."'
Ziel: ~45 Marius Comments aus 300 totalen Comments (Bots rausgefiltert durch .user.login == "MariusWilsch")
gh api "repos/DaveX2001/deliverable-tracking/issues/events?per_page=100" \
--jq '[.[] | select(.actor.login == "MariusWilsch") | select(.event == "labeled" or .event == "unlabeled")] | .[0:10] | .[] | "#\(.issue.number) - \(.event): \(.label.name) [\(.created_at | split("T")[0])]"'
gh issue list --repo DaveX2001/deliverable-tracking --author MariusWilsch --state all --limit 15 \
--json number,title,createdAt,labels \
--jq '.[] | "#\(.number): \(.title) [\([.labels[].name] | join(", "))]"'
KRITISCH: Fรผr jedes Issue den LATEST COMMENT holen!
# 1. Get blocked issues
gh issue list --repo DaveX2001/deliverable-tracking --state open --label "blocked" \
--json number,title,labels,updatedAt
# 2. For EACH blocked issue, get latest comment:
gh api repos/DaveX2001/deliverable-tracking/issues/ISSUE_NR/comments \
--jq 'if length > 0 then .[-1] | "[\(.created_at | split("T")[0])] \(.user.login): \(.body[0:150])" else "Kein Kommentar" end'
# Get backlog issues count
gh issue list --repo DaveX2001/deliverable-tracking --state open --label "backlog" \
--json number --jq 'length'
Note: Backlog is for ungroomed items. Check during grooming sessions.
# 1. Get in-progress issues
gh issue list --repo DaveX2001/deliverable-tracking --state open --label "in-progress" \
--json number,title,labels,updatedAt
# 2. For EACH, get latest comment
# 3. Flag if no update in 3+ days
Statt einzelne API-Calls, alle Comments auf einmal holen und lokal filtern:
# Get 300 recent comments (3 pages), filter out bots, group by issue
for page in 1 2 3; do
gh api "repos/DaveX2001/deliverable-tracking/issues/comments?per_page=100&sort=created&direction=desc&page=$page" \
--jq '.[] | select(.user.login != "github-actions[bot]")'
done | jq -s 'group_by(.issue_url | split("/") | .[-1]) | .[] | {issue: .[0].issue_url | split("/") | .[-1], latest: .[0] | "[\(.created_at | split("T")[0])] \(.user.login): \(.body[0:100])"}'
Zeige nur wenn:
blocked LabelMoney-Signale:
# Get blocked issues WITHOUT milestone
gh issue list --repo DaveX2001/deliverable-tracking --state open --label "blocked" \
--json number,title,body,milestone \
--jq '.[] | select(.milestone == null) | {number: .number, title: .title, body: .body}'
Dann fรผr jedes: Check body + letzten Comment auf Money-Signale.
Output (nur wenn Matches gefunden):
๐ฐ POTENTIAL GATEKEEPERS (kein Milestone)
#3 Rohdex - "Final approval + invoice"
๐ฌ Latest: "signNow an Roland gesendet"
โ Milestone erstellen?
#111 IITR - "โฌ2,880 Festpreis"
๐ฌ Latest: "Roman confirmed via WhatsApp"
โ Milestone erstellen?
NICHT nerven:
gh issue list --repo DaveX2001/deliverable-tracking --state open \
--json number,title,labels,updatedAt \
--jq '[.[] | select(.updatedAt < (now - 604800 | strftime("%Y-%m-%dT%H:%M:%SZ")))] | .[] | "#\(.number): \(.title) - Letztes Update: \(.updatedAt | split("T")[0])"'
gh issue list --repo DaveX2001/deliverable-tracking --state open --label "to-do" \
--json number,title,createdAt \
--jq '[.[] | select(.createdAt < (now - 1209600 | strftime("%Y-%m-%dT%H:%M:%SZ")))] | .[] | "#\(.number): \(.title) - Erstellt: \(.createdAt | split("T")[0])"'
# Issues closed in last 7 days
gh issue list --repo DaveX2001/deliverable-tracking --state closed --limit 10 \
--json number,title,closedAt \
--jq '.[] | "#\(.number): \(.title) - Closed: \(.closedAt | split("T")[0])"'
# For each: check if last comment has proof (link, commit, screenshot)
Nur ausfรผhren wenn explizit angefragt oder bei Weekly Review.
Skill: email-sync
"Scan last 7 days, match to issues, report gaps"
Skill: transcript-sync
"Process recent transcripts, update issues"
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ ACCOUNTABILITY CHECK - [DATE]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ค MARIUS ACTIVITY (48h)
Comments: X | Label Changes: X | New Issues: X
Recent:
โข #35 [02.12]: "Video Truncation Root Cause..."
โข #7 [02.12]: "Token Passthrough verified working"
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ซ BLOCKED (X)
#4 Network State: Decide start date
๐ท๏ธ NETWORK-STATE | โฑ๏ธ Blocked seit: 02.12 (2 Tage)
๐ฌ [02.12] MariusWilsch: "Waiting for NS to confirm..."
โ Action: Follow up mit Network State
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ BACKLOG (X Items)
โ Grooming needed: Pick items for next sprint
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ IN-PROGRESS (X) - Nur wenn 3+ Tage ohne Update
#15 Archibus: Define POC Extension Scope
๐ท๏ธ ARCHIBUS | Letztes Update: heute โ
๐ฌ [04.12] MariusWilsch: "Started scoping..."
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๏ธ FLAGS
โข Stale (7+ Tage): None โ
โข Stuck To-Do (14+ Tage): None โ
โข Done without proof: Check #XX
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฏ DAVID's ACTION ITEMS
1. #4 - Network State: Jan oder Feb entscheiden?
2. #3 - Rohdex: Roland's Antwort checken
3. #20 - Archibus: Follow up auf ISO Policies
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Der Latest Comment ist der wichtigste Kontext!
Ohne: "Issue #4 ist blocked" โ David weiร nicht warum Mit: "Issue #4 blocked - Marius: Waiting for NS to confirm Jan date" โ David weiร genau was los ist
gh api repos/DaveX2001/deliverable-tracking/issues/ISSUE_NR/comments \
--jq 'if length > 0 then .[-1] | "[\(.created_at | split("T")[0])] \(.user.login): \(.body[0:150])" else "Kein Kommentar" end'
Das letzte Kommentar = aktueller Stand der Dinge.
.[-1] = IMMER das allerletzteNEU nach ALT - neueste Comments OBEN!
# RICHTIG: sort=created, direction=desc โ neueste zuerst
gh api "repos/DaveX2001/deliverable-tracking/issues/comments?per_page=100&sort=created&direction=desc" \
--jq '[.[] | select(.user.login == "MariusWilsch")] | .[0:30] | .[] | "#\(.issue_url | split("/") | .[-1]) [\(.created_at | split("T")[0])]: \(.body[0:120])..."'
#10 Abtmayr: E-Bike Karte
๐ฌ Latest [04.12] DaveX2001: "Bitte prรผfen!..."
REGEL: .[-1] fรผr letzten Comment. Keine Ausnahmen. Keine Filter nach User.
| Check | Threshold |
|---|---|
| Stale | 7+ Tage ohne Update |
| Blocked attention | 3+ Tage |
| Backlog grooming | 50+ Items = too many |
| Stuck to-do | 14+ Tage |
| In-progress flag | 3+ Tage ohne Update |
DaveX2001/deliverable-trackingmarius@wilsch-ai.comKontext. Kontext. Kontext. Latest Comment fรผr jedes Issue.