Skip to content

Proactively offer push notifications to existing GMs (plugin 1.4.0) - #36

Merged
bborn merged 1 commit into
mainfrom
feat/channel-nudge
Jun 9, 2026
Merged

Proactively offer push notifications to existing GMs (plugin 1.4.0)#36
bborn merged 1 commit into
mainfrom
feat/channel-nudge

Conversation

@bborn

@bborn bborn commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #35. Publishing the channel made it available, but existing GMs still had no way to discover it — they'd only get push notifications if the user happened to run /gm-doctor. This makes the GM raise it itself.

How

A plugin-shipped SessionStart hook — which reaches GMs that already exist the moment they update the plugin (a nudge baked into rendered GM files can't do that). It's:

  • Scoped — only acts inside a rendered taskyou-os GM directory (checks config.env + bin/ty-remote).
  • Self-disabling — injects an additionalContext note only when the channel isn't deployed; silent once it is, and silent in non-GM dirs.

When it fires, the GM reads the note and offers the user, in natural language: "Push notifications are available — want me to run /gm-doctor to enable them?" One yes and it's done.

Changes

  • hooks/hooks.json + hooks/channel-nudge.sh — the SessionStart hook (top-level hooks/, distinct from templates/hooks/ which are the ty server hooks).
  • plugin.json — register "hooks", bump 1.3.0 → 1.4.0; marketplace.json synced.
  • README — document enabling marketplace auto-update (off by default for third-party) + the proactive offer.
  • qa/ harness — asserts the nudge fires on a channel-less GM and stays silent on a channel-equipped GM / outside GM dirs. 29/29.

The full organic chain this completes

enable auto-update (one-time) → CC pulls the new plugin → next GM launch, the GM offers to enable push notifications → one yes → /gm-doctor deploys it → restart.

🤖 Generated with Claude Code

…4.0)

Existing GMs had no way to discover the task-event channel — they'd only get
it if the user happened to run /gm-doctor. Ship a plugin SessionStart hook so
the GM itself raises it.

- hooks/hooks.json + hooks/channel-nudge.sh: a SessionStart hook (delivered by
  the plugin, so it reaches GMs that already exist once they update). It is
  scoped to taskyou-os GM dirs and self-disabling — it injects an
  additionalContext note only when the channel ISN'T deployed, prompting the GM
  to offer '/gm-doctor' to the user. Silent otherwise.
- plugin.json: register hooks + bump 1.3.0 -> 1.4.0; marketplace.json synced.
- README: document enabling marketplace auto-update (off by default for
  third-party) and the proactive offer.
- qa harness: assert the nudge fires on a channel-less GM and stays silent on a
  channel-equipped GM / outside GM dirs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bborn
bborn merged commit 4899090 into main Jun 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant