daily-workstream-update
Run the daily workstream update workflow for the Obsidian vault.
Skill by gbencke
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/gbencke-daily-workstream-update
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/daily-workstream-update
What's inside
- Skill name
daily-workstream-update- Description
- Run the daily workstream update workflow for the Obsidian vault. Generates today's workstream summary from meeting summaries, syncs individual workstream files, copies daily-note entries into workstream files, updates PROJECT_DECISIONS.md, ACTION_ITEMS.guilherme_bencke.md, and the Decisions tables in all Topics subtopic files, then publishes to git. Use when asked to "run daily workstream update", "generate daily summary", "sync workstreams", "update workstream files", or invokes /daily-workstream-update.
- License
- MIT
- Instructions
- 361 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (2)
- README.md
- SKILL.md
SKILL.md (first lines)
# Daily Workstream Update Skill
Runs the `/daily-workstream-update` workflow for the Obsidian vault at
`/home/gbencke/git.work/331.obsidian-scripts`.
Today's date (or the argument provided) is the target date `D`.
If no argument is given, use today.
Helper script for all mechanical operations:
```bash
python3 05.Scripts/daily_workstream_update.py <subcommand> [--date D]
```
Available subcommands: `today`, `meetings`, `workstreams`, `hierarchies-path`,
`daily-summary-path`, `daily-note-path`, `workstream-file <name>`,
`list-workstream-files`, `verify`, `move-daily-summary`,
`git-publish "<msg>"`.
Run `python3 05.Scripts/daily_workstream_update.py -h` to recheck at any time.
Use the script for every date / path / file-listing / verification / git
operation. Do not hand-roll those.
---
## Step A — Generate today's workstream summary
1. Resolve the date:
```bash
python3 05.Scripts/daily_workstream_update.py today [--date D]
```
2. List today's meeting summaries:
```bash
python3 05.Scripts/daily_workstream_update.py meetings --date D
```
If the list is empty, stop and tell the user there are no meetings for `D`.
3. Read the workstream reference:
```bash
python3 05.Scripts/daily_workstream_update.py workstreams
```
This is `00.Tasks/Workstreams.SubTasks.Hierarchies.md`.
4. Read the most recent existing file in `00.Tasks/Daily.Summary/` (sorted by
date) — this is the **formatting model**. Match its frontmatter, heading
hierarchy, source-meeting wikilinks, "What was discussed" / "Action Items"
sections, and `---` separators exactly.
5. Read each meeting summary file from step 2 in full.
6. Write `<repo-root>/<D>.WorkstreamUpdates.Summary.md` (at the repo root, not
yet in `00.Tasks/Daily.Summary/`). Include a `## <Workstream Name>` section
**only** for workstreams from the hierarchies reference that were actually
discussed in today's meetings. Use the exact workstream names from the
hierarchies file as the `## ` headings — never an older name or a workstream
file's alias (e.g. `## SchedulerIQ - Scope.Open.Beta`, not
`## SchedulerIQ - Open Beta`). Write **one** section per workstream: if
content fits two headings that are the same workstream, merge it into one.
Content that fits no workstream row (one-off intake or refinement items)
goes under the closest workstream, not under a new ad-hoc heading.
7. Move the file into place:
```bash
python3 05.Scripts/daily_workstream_update.py move-daily-summary --date D
```
---
## Step B — Verify workstream files contain today's entry, then publish
1. Run:
```bash
python3 05.Scripts/daily_workstream_update.py verify --date D
```
2. For every `MISSING` line: open the workstream file shown and add a new
`### <D-dashed>` section directly under the `#workstream/...` tag line (as
the newest entry). Use the same per-day structure already in that file:
`##### Meetings` block with summary + source links, body bullets grouped by
topic, `##### Action Items`. Pull content from the corresponding
`## <Workstream>` section in the daily summary produced in Step A. End the
new section with a `---` separator before the previously-newest section.
3. For every `RENAME` line: the heading resolves (via an alias) but is not the
hierarchies name. Rename the `## ` heading in the daily summary to the name
shown. If that creates two sections with the same heading, merge them:
combine the `> Source meetings:` lines (dedupe), the "What was discussed"
bodies, and the action items.
4. For every `UNKNOWN` line: no workstream file matches that heading.
- If the heading is a row in the hierarchies file, create the missing file
as `00.Tasks/WorkStreams/<Product>/<Workstream Name>.md` (exact row name)
with frontmatter `category: workstream`, `description`, `creation`,
`last updated`, `product`, `status: open`, then a
`#workstream/<product>/<workstream-slug>` tag line. Re-run `verify`; it
now reports `MISSING`, which step 2 fills.
- Otherwise it is an ad-hoc heading: move its content under the closest
hierarchies workstream (step A.6). Only if nothing fits, print a short
note for the user.
5. Re-run `verify` until it exits clean (only `OK` lines and any genuinely
unresolvable `UNKNOWN` cases).
6. Publish:
```bash
python3 05.Scripts/daily_workstream_update.py git-publish "Daily workstream summary <D-dashed>"
```
---
## Step C — Copy daily-note workstream entries into workstream files
1. Get today's daily note path:
```bash
python3 05.Scripts/daily_workstream_update.py daily-note-path --date D
```
2. **Re-read** that file from disk now — the user may have updated it since
this run started. Do not rely on cached content.
3. The daily note is organised as `### <Section Name>` blocks. For each section:
- Map the section name to a workstream from the hierarchies reference (names
are usually close but not identical — e.g. `### NewGen Performance` →
`NewGen - Performance.Improvements`). Skip and note any section with no
clear workstream mapping.
- Resolve the workstream file:
```bash
python3 05.Scripts/daily_workstream_update.py workstream-file "<workstream name>"
```
- In that workstream file, locate today's `### <D-dashed>` section (createdFrom gbencke/dotfiles, MIT.
More from gbencke/dotfiles
- 0.622score
token-diagnostics
gbencke
Diagnose where an AI coding agent's tokens go over the last 7 days and produce a standard summary with ranked optimisation findings.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
review-change
gbencke
Evidence-backed PR, branch, or patch review with cumulative finding reconciliation, invariant coverage, and sequential propose → challenge → judge phases.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
review-consolidate
gbencke
Run repository/lens reviews in separate processes, then consolidate validated, scope-aware full reports.
SkillAFreshness: A★ 6Claude Code +9 - 0.618score
action-items
gbencke
Manage Guilherme Bencke's personal action-item log at 00.Tasks/ACTION_ITEMS.guilherme_bencke.md.
SkillAFreshness: A★ 6Claude Code +9 - 0.582score
review-change
gbencke
Adversarial review of a change: a PR, a branch diff, or a patch file.
SkillBFreshness: B★ 6Claude Code +9 - 0.582score
review-consolidate
gbencke
Review many repos under every lens — one OS process per (repo × lens), all in parallel — then consolidate every findings.json into ONE cross-repo document…
SkillBFreshness: B★ 6Claude Code +9 - 0.582score
spotify
gbencke
Query the Spotify Web API (search tracks/artists/albums, fetch artist, album, playlist, audio features, recommendations) using SPOTIFY_CLIENT_ID /…
SkillBFreshness: B★ 6Claude Code +9 - 0.582score
book-digest
gbencke
Research and write a 90-day digest of software-development and technology books released by O'Reilly Media, Manning, Pragmatic Bookshelf, Packt…
SkillBFreshness: B★ 6Claude Code +9 - 0.582score
daily-digest
gbencke
Generate The Architect's Digest — a daily curated briefing of the most relevant stories in architecture, distributed systems, cloud, languages, tooling, AI…
SkillBFreshness: B★ 6Claude Code +9 - 0.579score
review-repo
gbencke
Adversarial review of an entire repository, run inline in a single process: propose → kill → judge, one lens per run.
SkillBFreshness: B★ 6Claude Code +9 - 0.532score
article-reorganization
gbencke
Reorganize a long, scattered Markdown article into a clean hierarchy of Parts and Chapters, then regenerate its PDF with Pandoc (--top-level-division=part).
SkillCFreshness: C★ 6Claude Code +9 - 0.532score
zinsser
gbencke
Rewrites text using William Zinsser's "On Writing Well" method.
SkillCFreshness: C★ 6Claude Code +9
Signals
- Stars
- 6
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 6, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/gbencke/dotfiles
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from gbencke
- 0.622score
token-diagnostics
gbencke
Diagnose where an AI coding agent's tokens go over the last 7 days and produce a standard summary with ranked optimisation findings.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
review-change
gbencke
Evidence-backed PR, branch, or patch review with cumulative finding reconciliation, invariant coverage, and sequential propose → challenge → judge phases.
SkillAFreshness: A★ 6Claude Code +9 - 0.619score
review-consolidate
gbencke
Run repository/lens reviews in separate processes, then consolidate validated, scope-aware full reports.
SkillAFreshness: A★ 6Claude Code +9 - 0.618score
action-items
gbencke
Manage Guilherme Bencke's personal action-item log at 00.Tasks/ACTION_ITEMS.guilherme_bencke.md.
SkillAFreshness: A★ 6Claude Code +9 - 0.582score
spotify
gbencke
Query the Spotify Web API (search tracks/artists/albums, fetch artist, album, playlist, audio features, recommendations) using SPOTIFY_CLIENT_ID /…
SkillBFreshness: B★ 6Claude Code +9 - 0.582score
review-consolidate
gbencke
Review many repos under every lens — one OS process per (repo × lens), all in parallel — then consolidate every findings.json into ONE cross-repo document…
SkillBFreshness: B★ 6Claude Code +9
Cite this page
daily-workstream-update skill. Agent Mart. https://agentmart.dev/skills/gbencke-daily-workstream-update (last updated 2026-10-24)