Skip to content

Releases: the-sid-dani/second-brain-os

v0.2.1 — ship 3 missing skills + 2 hooks + PII scrub

Choose a tag to compare

@the-sid-dani the-sid-dani released this 19 May 06:25

Point release — ships three productivity skills and two SessionStart/PreToolUse hooks that should have been in v0.2.0 but were missing from the extractor's allowlist. Plus a PII scrub of the new ship surface caught and fixed before the bundle ever left.

Re-extracted from daily-agents@46729b0.

Skills added (3)

  • /todo — Task tracking in personal Notion Action Items [DB]. Read-mostly: surfaces today's/tomorrow's tasks (/todo today), supports quick capture (/todo add "..."), and completion (/todo done "..."). Respects PARA-aligned schema (1st-5th Priority, LNO Category, Kanban Status, Projects [DB] relation). Wraps the official ntn CLI + Notion HTTP API. Never creates databases, renames properties, or deletes tasks (only Done/Archived status changes).
  • /end-of-day — Nightly task reconciliation routine. Cross-references today's calendar / meeting transcripts / sent emails / (optionally) Slack outbound messages against open Notion Action Items to propose done-candidates and surface new commitments not yet tracked. Never auto-marks done. Closes the loop where overdue items get done same-day but stay flagged "overdue", or tasks with no due date never surface in "today" views.
  • /atlassian-attach — Upload files (screenshots, diagrams, PDFs) as attachments to a Jira issue or Confluence page. Fills the gap the official Atlassian MCP leaves open (no attachment-upload tools). Pure stdlib Python via REST API; pairs naturally with /confluence-publish-markdown and /jira-decompose-epic. Auth via ATLASSIAN_BASIC_AUTH (classic API token only); instance via ATLASSIAN_INSTANCE env or --instance <name> CLI flag.

Hooks added (2)

  • session-start-tasks.mjs — SessionStart hook injects current Notion task state (overdue + due today, 1st Priority) into session context so the assistant is always aware of pending tasks before responding. Fails silently if NOTION_API_TOKEN / NOTION_ACTION_ITEMS_DS env vars are missing. Pairs with /todo.
  • pre-slack-draft-contact-check.mjs — PreToolUse hook that, when drafting/sending a Slack message to a known contact, emits the contact-file context to stderr so the model sees relationship + open commitments + tone notes BEFORE the draft lands. Requires a .claude/.slack-id-map.json (Slack user IDs → contact slugs) and contact files at <workspace.root>/3-Resources/contacts/<slug>.md. Auto-discovers workspace root via glob — works for any workspace name set by /bootstrap.

Changed

  • scripts/extract-template.sh allowlist: 45 → 48 skills, 7 → 9 hooks copied.
  • atlassian-attach/scripts/attach.py: removed hardcoded sambatv Atlassian-subdomain default; now empty default with clear error pointing to ATLASSIAN_INSTANCE env or --instance flag.

PII scrub (caught + fixed before extraction)

  • Hooks: "Beru is always aware" → "the assistant is always aware"; "When Sid says..." → "When the user says..."; named-incident narrative in pre-slack-draft-contact-check header rewritten to generic setup instructions.
  • /todo: "Samba TV workspace" + siddani09@gmail.com reference rewritten; "Sid promised X to Y" example → <user.name> promised X to Y.
  • /todo/lib/ntn.sh: "Sid's convention from MEMORY""PARA-aligned convention".
  • /atlassian-attach docs: sambatv.atlassian.net URLs → acme.atlassian.net; AITF-450 examples → PROJ-450.

Upgrading

git pull
# No installer re-run needed — the new skills/hooks load on next claude launch.

The two new hooks are already wired in .claude/settings.json and fail silently if their setup is missing — so they're zero-config and zero-friction for fork users who haven't opted in.

Acceptance gate

All three extractor Phase 10 leakage passes (PII / path-refs / T1 invariant) clean on this export.

🤖 Generated with Claude Code

v0.2.0 — simplify install + bootstrap

Choose a tag to compare

@the-sid-dani the-sid-dani released this 19 May 06:11

The big one. Knowledge-worker default tier now ships in ~3-5 minutes. CCv4 toolchain (Rust/uv/bloks/tldr/FastEdit) is opt-in via --with-coding. Bootstrap slimmed 929 → 498 LOC. .mcp.json ships with 3 universal MCPs only — zero red errors on a fresh fork's first claude launch.

Re-extracted from daily-agents@f958d29.

Headlines

  • Tier model. ./scripts/install.sh = minimal (knowledge-worker default). ./scripts/install.sh --with-coding = adds Rust + uv + bloks + tldr + FastEdit MCP. Tier marker SBOS_TIER=minimal|coding lands in ~/.second-brain-os.env and /bootstrap Step 2 reads it.
  • Bootstrap slimmed 929 → 498 LOC (-46%). 8 narrated steps merged to 6. T1-T4 invariants preserved canonically with point-of-use refs. Affective moments ("Meet your assistant:" echo-back; voice-synthesis preview-before-write gate) preserved verbatim.
  • assistant.pronoun field added (she / he / they / no-pronouns). All <him/her/them> placeholder literals eliminated.
  • .mcp.json 3-universal defaults — gemini-vision (local stdio), exa (HTTP), firecrawl (HTTP). Slack/Atlassian/Figma are opt-in via bootstrap Step 2.5 multi-select; canonical entries live in .mcp.json _notes.opt_in_* as the single source of truth.
  • firecrawl MCP added as the third universal default (https://mcp.firecrawl.dev/v2/mcp). Auth via FIRECRAWL_API_KEY shell env.

Added

  • --with-coding tier flag + SBOS_TIER marker
  • --with-ripgrep opt-in flag (ripgrep no longer auto-installed; /find falls back to grep -r)
  • ASCII logo opener + closing summary card + duration + ~/.claude/install.log tee
  • --doctor flag (working stub in v0.2.0 — read-only probe of foundation/tier/coding-tier/MCP/log; full implementation in v0.3.0)
  • assistant.pronoun Configuration token
  • Day 2+ rhythms externalized to beru-workspace/3-Resources/onboarding/day-2-plus.md
  • Bootstrap Step 2.5 — interactive MCP opt-in multi-select for Slack/Atlassian/Figma
  • firecrawl MCP in .mcp.json defaults
  • GEMINI_API_KEY and FIRECRAWL_API_KEY in .env.example (and the matching HEREDOC in scripts/lib/api-keys.sh)

Changed

  • Bootstrap SKILL.md rewritten — 8 → 6 steps; T1-T4 canonical-only with single-line step-header refs; failure-modes table 18 → 10 rows; Step 4b voice synthesis collapsed three branches into one spec with the preview-before-write gate preserved
  • INSTALL.md rewritten for the tier model — Path A (minimal) + Path B (coding)
  • README.md Forking section reframed as 2-layer install (system tools / persona + workspace)
  • README-template.md aligned with tier model (collapsed old Lite-CCv4 / Full paths into single --with-coding flag)
  • .env.example sectioned by purpose (default-MCP keys / skill-only keys / opt-in connector keys), 7 keys total
  • TOOLS.md MCP + env sections rewritten; SBOS_TIER + FIRECRAWL_API_KEY documented
  • scripts/lib/api-keys.sh no longer prompts — writes annotated .env.example only

Removed

  • ffmpeg + yt-dlp auto-install (zero active skills consumed them; pre-existing brew installs untouched)
  • Slack / Atlassian / Figma from default .mcp.json mcpServers (still available via bootstrap Step 2.5 opt-in)
  • ffmpeg / yt-dlp probes from verify.sh

Deferred to v0.3.0

  • Cross-platform Python rewrite + Windows port (W4)
  • Full --doctor implementation with remediation hints (W5)

Upgrading

git pull
./scripts/install.sh                 # if you want the minimal-tier upgrade path
./scripts/install.sh --with-coding   # if you want the full toolchain

The installer is idempotent and additive — existing forks get the new tier marker written automatically; nothing else regresses.

Acceptance gate

  • Bootstrap LOC < 500 ✅ (498)
  • 3 default MCPs ✅
  • Tier gating + SBOS_TIER marker ✅
  • Zero "what's bloks?" jargon on minimal tier ✅
  • Extractor PHASE 10 leakage scan: PII clean, path-refs clean, samba-tools-setup clean ✅
  • shellcheck + bash syntax + --help + --doctor smoke: all green ✅
  • Fresh-VM empirical M1/M2 (time-to-first-/briefing < 15 min; default install < 5 min): structurally gated, recommend fork users measure on their own machine

🤖 Generated with Claude Code

v0.1.23 — remove dead Phase 6 env-path sed step

Choose a tag to compare

@the-sid-dani the-sid-dani released this 18 May 05:16

Removed

  • Extractor's Phase 6 ~/.daily-agents.env~/.second-brain-os.env sed step — added in v0.1.20 to compensate for 72e9129 (which had drifted the atlassian-skill env paths to .daily-agents.env). Since fca6c97 reverted the source files back to .second-brain-os.env directly, the sed had become a no-op. 12 lines of dead defensive code removed. Phase 10's daily-agents leakage scan still catches accidental regressions if any future commit reintroduces the wrong path.

Notes

  • Extractor-only change. No skill bodies, hooks, root docs, or installer affected.

v0.1.22 — README restructure (concepts first, /bootstrap as central step)

Choose a tag to compare

@the-sid-dani the-sid-dani released this 18 May 05:08

Changed

  • README restructured to lead with concepts, not commands. The v0.1.21 README jumped straight into the install tier table + 3 install commands before explaining what the OS is, what a "skill" is, or what /bootstrap does. Fork users landed on a wall of shell commands without context. New structure:
    1. What is this? (concept first)
    2. How it works — new section explaining the three layers (skills / PARA workspace / Configuration tokens) and the two-stage setup model (shell install.sh for power-user toolchain, Claude /bootstrap for personalization)
    3. Install — now framed as "you're trying to reach /bootstrap; everything else is plumbing." Path A (Minimal) is clone → cd → claude → /bootstrap; Path B (Lite CCv4) adds ./scripts/install.sh --no-fastedit-model before claude; Path C (Full) drops the flag.
    4. The PARA workspace — explains each of the 5 folders (0-Inbox, 1-Projects, 2-Coding, 3-Resources, 4-Archive) with a "what goes in it" + "why it exists" column. New callout that /bootstrap creates the empty folder skeleton; skills own the content.
    5. Reference sections (Project map, Configuration tokens, Update Rules, What's included, Quick reference) come after.
  • /bootstrap reframed as the central setup step. Previous README treated install.sh and /bootstrap as equally-weighted install steps. The new framing: /bootstrap is THE step that personalizes the OS to you; install.sh is optional plumbing that only matters if you want /research, /autonomous, /premortem, /review. Minimal-tier users skip install.sh entirely.

Notes

  • README-template.md grew from 438 → 482 lines (+44, mostly the new "How it works" section).
  • No skill bodies, hooks, or scripts changed in v0.1.22 — README-only release.

v0.1.21 — branding sweep + decision-# cleanup

Choose a tag to compare

@the-sid-dani the-sid-dani released this 18 May 04:52

Changed

  • Persona templates rebranded to "Second-Brain OS". Fork users were seeing the old "Second-Brain Harness" name in their regenerated CLAUDE.md and README.md (CLAUDE-template.md heading + body, README-template.md heading) — leftover from the v0.1.18 rename that didn't catch the templates. Fixed at the source so the next /bootstrap produces correctly-branded persona files.
  • Removed stale hyperframes references from the shipped bundle. The design-hyperframes skill was dropped in v0.1.13 (external HeyGen tool), but the name lingered in TOOLS-template.md ("video/transcript flows (hyperframes, transcript-extract.sh)"), INSTALL.md ("ffmpeg for video encoding (used by hyperframes / design skills)"), and a README-template.md example query ("what did I save about Hyperframes?"). Cleaned in 3 spots.
  • .env.example header "Second-brain-harness API keys" → "second-brain-os API keys".
  • EXAMPLE-CONFIG.md now documents the assistant.vibe field (was missing from the example block and field-reference table — vibe is referenced in CLAUDE.md Configuration but the worked example didn't show it).
  • Stray decision #N and system-design.md cross-references scrubbed from 6 shipping skills (thinking-partner, archive-project, save-resource, new-project, sync-indexes, briefing). These were parenthetical citations like "per decision #15", "decision #23 token-isolation", "Locked by decision #22" — fork users don't have the system-design.md source file the numbers reference. The principles remain in the skill bodies as principles; the broken citations are gone. Legitimate references to system-design.md as a user-input file (in jira-decompose-epic, scaffold-engineering-project, confluence-publish-markdown — where the user's own design doc is the expected input) are preserved.

Notes

  • This was a polish-pass surfaced by manual review of the v0.1.20 export — the v0.1.20 release already had these residual refs; the bundle worked fine but the wording was sloppy for first-time forkers. v0.1.21 is the cleanup.

v0.1.20 — installer rebrand + os-guide cleanup + colleague-name scrub

Choose a tag to compare

@the-sid-dani the-sid-dani released this 18 May 04:22

Changed

  • Installer rebrand — fork users now see "Second-Brain OS Installer" instead of "Samba Onboarding". Stale samba-onboarding-named language was leaking into the user-facing surfaces of the v0.1.19 bundle — the installer header, log file (~/samba-onboarding.log), shell-rc comment block, runtime "samba-onboarding artifacts detected" message, and the INSTALL.md troubleshooting section all referenced the company-internal install tool that fork users don't have. Renamed in 6 files: scripts/lib/ui.sh (header + subtitle + log filename), scripts/lib/prereqs.sh (shell-rc comment + stale "Installing Samba CLIs" reference), scripts/lib/verify.sh (post-install hints), scripts/install.sh (top-of-file comment + variable rename SAMBA_DONEFOUNDATION_INSTALLED + foundation-detection message), INSTALL.md (troubleshooting section), and beru-workspace/3-Resources/templates/scripts/transcript-extract.sh (comment). Detection logic widened from gh + gws + claude to gh + claude (gws isn't shipped in this bundle).
  • os-guide skill body genericized. Removed ~15 abstract decision #N and system-design.md cross-references that wouldn't resolve for fork users (the design log is maintainer-private). Skill remains operative: still routes OS-shaped questions to canonical sources, still cites with file:line refs. Dropped the "Locked design decisions" routing-table subsection entirely (was Sid-private). Replaced "After locking a new decision in system-design.md §7" with "in your fork's design log (if you keep one)". Cleaner for forkers, no functional change for the maintainer.
  • Contact-skill examples genericized to placeholder names. contact/SKILL.md and contact-log/SKILL.md taught the fuzzy-match algorithm using literal Samba colleague names (Omar Zennadi / Jaya Aswani / Alyson Sprague / Bob van Toorn / Lena Kincaid / Michael Zennadi). Replaced consistently across the skill bodies with placeholder names (Alex Chen / Priya Patel / Jordan Rivera / Robin van Pelt / Lena Okoye / Michael Chen + michele anti-regression example) that preserve the algorithmic structure including the substring-vs-token anti-regression rule.
  • Briefing skill body genericized. briefing/SKILL.md: 9 literal "Sid" references replaced with <user.name> or "the user"; tagline examples changed from "Omar's waiting on you" to "Alex is waiting on you"; the "Origin incident" callout that named real colleagues (Bob/Jay/Walter/Phillip group DM) replaced with the abstract "a multi-person DM thread containing the highest-leverage open question was invisible" version that preserves the technical lesson.
  • External-action-guard hook message changed from "explicit Sid approval" to "explicit user approval".

Fixed

  • scripts/lib/prereqs.sh install_jq comment referenced validate_oauth_json and "step 5 (Installing Samba CLIs)" — neither exists in the public bundle. Rewrote to point at the real consumers (.claude/tools/*, extract-template.sh settings-filter, MCP config parsing).

Known issues remaining (cosmetic)

  • Brand-preset count in v0.1.19 CHANGELOG narrative says 72 but the actual export ships 73. Cosmetic.

v0.1.19 — os-guide skill + external-action-guard hook

Choose a tag to compare

@the-sid-dani the-sid-dani released this 18 May 03:51

Added

  • os-guide skill — runtime-read librarian over the OS's canonical source files. Answers "how does X work in this OS?" by routing the question to its canonical source (CLAUDE.md / README.md / SOUL.md / TOOLS.md / SKILL.md files), reading at runtime, and citing with file:line refs. Two-audience design: (a) Claude Code self-correcting mid-session before writing an OS-shaped claim from memory, (b) fork users in their first 30 days. Read-only by default; /os-guide --sync is the only mutation mode and refreshes the routing table after new tools / skills / brands / decisions are added. Locked principle: explainer skills must be runtime-read librarians, not textbooks — referencing canonical sources, never reproducing them.
  • external-action-guard.mjs hook — PreToolUse show-and-confirm friction on irreversible external actions: Slack send (mcp__slack__slack_send_message + slack_schedule_message), GitHub destructive push (git push --force or git push targeting main/master), Atlassian writes (Jira issue create/edit/transition + Confluence page create/update), rm -rf outside whitelisted paths (/tmp/, node_modules/, __pycache__/, .venv/, dist/, build/, .tldr/, .workflow/). Emits permissionDecision: "ask" via modern hookSpecificOutput format — block is show-and-confirm, not show-and-deny. Goal: friction at the moment of action, not refusal. Fails open on any error.
  • /os-guide consult section in CLAUDE-template.md — tells Claude to invoke /os-guide instead of answering OS-shaped questions from memory. Specifically applies before writing a workspace path, Configuration value, schema field, skill-behavior claim, or tool-connection-state claim into a user-facing response.
  • "What is PARA in this OS?" section in README-template.md — table explaining the 5-folder workspace layout (0-Inbox, 1-Projects, 2-Coding, 3-Resources, 4-Archive) with a Configuration-token bridge and a "Areas was deliberately cut" callout. Helps fork users distinguish the in-this-OS implementation from Tiago Forte's generic PARA framework.
  • "How to add a tool" section in TOOLS-template.md — step-by-step guide for adding MCP servers (declare in .mcp.json → authorize via /mcp → probe → flip status → /os-guide --sync) and CLI tools (install → auth probe → add row → /os-guide --sync). Plus a "Removing a tool" subsection. Each path has a verification probe baked in.
  • Two new Quick Reference rows in README-template.md/os-guide for understanding how X works in this OS, /os-guide --sync for refreshing the routing table after additions.
  • /os-guide Day 1 + Day 2+ mentions in bootstrap SKILL.md — Day 1 onboarding now points fork users at /os-guide after /bootstrap, and Day 2+ rhythms list /os-guide --sync as the after-adding-a-tool follow-up.

Changed

  • SHIPPED_SKILLS allowlist — 44 → 45 skills. Added os-guide to the first-party group (15 → 16).
  • os-guide skill body genericized — replaced literal beru-workspace/ paths with <workspace.root>/<workspace.resources>/ token forms in 7 locations (line references in canonical source listings, citation examples, the PARA disambiguation question). Removed the "Locked design decisions" subsection that referenced Sid's private design project (2026-05-second-brain-design/system-design.md). Decision-numbered references (decision #N) elsewhere in the skill body are left as-is for this release — they don't break the leakage scan but are broken cross-refs for fork users; cleanup deferred to a future release.
  • external-action-guard.mjs spec comment — genericized to drop the path reference to Sid's private design project.

Removed

  • pii-leak-guard.mjs not shipped in the public bundle. The hook hardcodes Sid's PII patterns (sid.dani, Siddharth, @samba.tv) as the literal regexes it guards against. Useful for the maintainer's local workspace but useless and confusing to fork users (it would warn about leaking someone else's PII). Kept in the maintainer's local tree; not copied by extract-template.sh. The corresponding hook registration in .claude/settings.json is stripped via a new jq filter step in the extractor so the public bundle doesn't ship a dangling hook reference. Re-introduce as a config-driven generic (pattern file or env var) in a future release.

Infrastructure

  • Extract-template.sh hook copy list updatedpii-leak-guard removed from the for-loop at PHASE 2.5; external-action-guard retained. New jq post-copy filter on .claude/settings.json drops the PreToolUse hook block whose command references pii-leak-guard.mjs. Filter is no-op-safe (handles missing jq gracefully via warn).

v0.1.11 — SKILL.md frontmatter cleanup + briefing v0.2.0 HTML + CCv4 port

Choose a tag to compare

@the-sid-dani the-sid-dani released this 11 May 19:10

What changed

SKILL.md frontmatter cleanup (verified against authoritative Claude Code docs)

  • Removed context: fork from 14 first-party skills. The field is real but only takes effect when paired with agent: — without that companion, Claude Code silently ignores it. Was vestigial.
  • Added per-skill allowed-tools to 15 high-impact skills (briefing, bootstrap, find, contact, contact-log, new-project, archive-project, prune-projects, inbox-process, save-resource, sync-indexes, thinking-partner, samba-publish, company-research, people-research). allowed-tools grants no-prompt access to listed tools when a skill is active. Total skills with allowed-tools: 4 → 19.

Top-5 SKILL.md description trims (~7,478 chars / ~1,870 tokens reclaimed)

  • `briefing` 2941 → 803 chars
  • `bootstrap` 2921 → 897 chars
  • `contact-log` 2006 → 658 chars
  • `contact` 1743 → 754 chars
  • `inbox-process` 1609 → 630 chars (was being dropped from session listing)

Trigger phrases, invariants, composition notes, and historical pointers moved out of description into SKILL.md body where they belong.

`/briefing` v0.2.0 — HTML output

Output switched from `morning-briefing-YYYY-MM-DD.md` to `.html`. Self-contained DOM with `data-od-id` slugs follows the `design-dashboard` pattern (sidebar nav + topbar + KPI row + section panels + Tools-used footer). No `<script>`, no external links/fonts/CSS, no `http://`, inline SVG only.

Atlassian skill scripts parameterized

`jira-decompose-epic` (renamed from `jira-create-vertical-slices`), `scaffold-engineering-project`, and `confluence-publish-markdown` now read `ATLASSIAN_BASE_URL` (and `ATLASSIAN_CONF_SPACE`) from env with `` placeholder fallback. No more hardcoded `sambatv.atlassian.net` references.

New skills + hooks (CCv4 port)

New skills: `autonomous`, `autonomous-research`, `bootup`, `create-handoff`, `jira-decompose-epic` (renamed), `premortem`, `research`, `resume-handoff`, `review`, `upgrade-harness`.

New hooks: `auto-handoff-stop`, `post-edit-diagnostics`, `pre-compact`, `status`, `tldr-read` + shared lib.

Install

```bash
git clone https://github.com/the-sid-dani/second-brain-harness
cd second-brain-harness
claude
```

Then run `/bootstrap` for first-time setup.

v0.1.10 — trim to 68 skills (drop recipe-* + niche gws-*)

Choose a tag to compare

@the-sid-dani the-sid-dani released this 11 May 17:56

What's new

Re-trim the v0.1.9 bundle to a leaner 68 skills based on a critical re-assessment of the recipe-* and gws-* skill families.

Net: 117 → 68 skills (-49 dropped, +0 added)

Dropped — 38 recipe-* skills (all of them)

Each recipe was ~27-29 lines — thin "use gws-X and gws-Y together for Z" tutorials. Claude composes the same flows on the fly from the underlying gws-* primitives without needing the recipe pre-baked. The recipes didn't add value over Claude's native composition; they bloated the skill registry for routing.

If you want a specific recipe locally, gws generate-skills recreates them all in ~/.claude/skills/ based on the gws CLI's recipe catalog.

Dropped — 11 niche gws-*

Family Why dropped
gws-tasks Google Tasks is niche vs Jira / Linear / Asana for most teams
gws-chat, gws-chat-send Google Chat Spaces — most teams use Slack (and the harness has a Slack MCP)
gws-script, gws-script-push Google Apps Script — developer-niche
gws-workflow + 5 variants Overlap with the recipe-* composition pattern that's also dropped

Kept — 21 gws-* (universal-utility primitives)

  • Gmail (8): gws-gmail, gws-gmail-forward, gws-gmail-read, gws-gmail-reply, gws-gmail-reply-all, gws-gmail-send, gws-gmail-triage, gws-gmail-watch
  • Calendar (3): gws-calendar, gws-calendar-agenda, gws-calendar-insert
  • Drive (2): gws-drive, gws-drive-upload
  • Docs (2): gws-docs, gws-docs-write
  • Sheets (3): gws-sheets, gws-sheets-append, gws-sheets-read
  • Slides (1): gws-slides
  • Meet (1): gws-meet
  • Shared helper (1): gws-shared (referenced by all gws-* skills for auth + global flags)

New total: 68 skills

Category Count
First-party 15
Design 26
Atlassian 3
Research 2
samba-publish 1
gws-* 21
Total 68

Why this trim makes sense

The previous v0.1.9 bundle added 70 skills (32 gws-* + 38 recipe-*) to make the workspace "batteries included." But:

  • 38 recipe- skills were thin tutorials, not real skills.* Claude composes forward labeled emails to X from the gws-* primitives without needing a 27-line recipe pre-baked.
  • 11 gws- families don't match most fork users' actual usage* — Google Tasks/Chat/Script/Workflow are either replaced by other tools (Jira, Slack) or developer-niche.

v0.1.10 is a more honest bundle: ship the primitives that have utility (Gmail, Calendar, Drive, Docs, Sheets, Slides, Meet) and let Claude compose them on demand.

What stayed the same

  • /briefing graceful degradation (v0.1.7 T4) — still gates on command -v gws
  • v0.1.8 workspace folder READMEs — still ship
  • v0.1.8 manual 3-line install flow — unchanged
  • v0.1.9 persona-* removal — still removed (fork users pick persona via /bootstrap)

🤖 Generated with Claude Code

v0.1.9 — bundle gws-* + recipe-* skills, remove persona-*

Choose a tag to compare

@the-sid-dani the-sid-dani released this 11 May 17:50

What's new

Re-shape the skill bundle to make the Google Workspace toolchain available out of the box.

Net skill count: 57 → 117 (+70 added, -10 removed)

Added — 32 gws-* skills

Google Workspace CLI wrappers (Gmail, Calendar, Drive, Docs, Sheets, Slides, Tasks, Chat, Meet, Script, Workflow). Each requires the gws CLI on PATH:

brew install googleworkspace-cli
gws auth login -s drive,gmail,calendar,sheets,docs,chat,tasks,slides

/briefing already gates on command -v gws for graceful degradation (v0.1.7 T4 invariant) — fork users without the CLI will see Gmail/Calendar sections silently skip; users with it get them auto-composed.

Added — 38 recipe-* skills

Composed multi-step workflows over the gws-* primitives. Examples:

  • /recipe-forward-labeled-emails — find Gmail messages by label, forward to a list
  • /recipe-block-focus-time — recurring Calendar focus blocks
  • /recipe-share-doc-and-notify — Drive permission + Gmail send in one step
  • /recipe-find-free-time — query Calendar free/busy for multiple users
  • /recipe-create-vacation-responder — Gmail out-of-office with custom message + dates
  • /recipe-batch-invite-to-event — add attendees to a Calendar event from a list
  • /recipe-create-events-from-sheet — read events from a Google Sheet, create Calendar entries

Full list of 38 in the commit message.

Removed — 10 persona-* skills

Intentional. Fork users pick their own persona during /bootstrap (identity + role + vibe + emoji). The role-modeled persona skills weren't carrying their weight relative to the bootstrap-driven model.

Removed: persona-content-creator, persona-customer-support, persona-event-coordinator, persona-exec-assistant, persona-hr-coordinator, persona-it-admin, persona-project-manager, persona-researcher, persona-sales-ops, persona-team-lead.

NOT bundled (intentional)

10 niche gws-* skills not shipped — available locally via gws generate-skills if a fork user needs them, but most users don't have access to the underlying feature:

  • gws-admin-reports (Workspace admin only)
  • gws-classroom (educators only)
  • gws-events, gws-events-renew, gws-events-subscribe (Workspace Events API)
  • gws-forms (programmatic Forms management)
  • gws-modelarmor + 3 variants (GCP Model Armor security)

3 recipe-* orphans also dropped because they composed the niche gws-* above: recipe-collect-form-responses, recipe-create-feedback-form, recipe-create-classroom-course.

What stayed the same

  • 15 first-party skills (/briefing, /find, /contact, /new-project, etc.) — unchanged
  • 26 design skills, 3 Atlassian skills, 2 research skills, samba-publish — unchanged
  • v0.1.8 workspace folder READMEs — unchanged
  • v0.1.7 /briefing graceful degradation — unchanged
  • v0.1.8 install flow (manual 3-line primary) — unchanged

Verification

  • 117 skills copied (0 missing)
  • Phase 6 (Sid/Beru leakage) — clean
  • Phase 10 (PII + path refs) — clean
  • gws-* and recipe-* symlinks dereferenced into real SKILL.md files via cp -RL

🤖 Generated with Claude Code