Skip to content

Repository files navigation

Context Snack

Context Snack (for Cursor)

Achieve micro-learnings while your agent works!
(because developers never have enough context switches...)

Install · Quick Start · Privacy

GitHub stars CI TypeScript License: MIT PRs welcome

Agent is thinking

You asked Cursor to refactor, debug, or ship a feature. The agent is running. That gap is dead time unless you turn it into a tiny learning moment.

Context Snack opens a swipeable micro-learning feed when the agent has been busy long enough (configurable). Read a changelog item, skim AI news, or peek at what is trending. Close it when you are done. Optional retro games are available on click only - never auto-opened.

Feed sources are scraped or fetched from public sites. Layouts change, APIs shift, and parsers drift. Maintenance is best-effort; a broken source should degrade gracefully, not take down the extension.

Demo

What's different

Context Snack Typical "wait screen"
Trigger Agent busy in this workspace Manual or always-on distraction
Default surface Feed of short cards Full-screen game or blank panel
Games Opt-in via command or in-feed button Often auto-start
Data Local cache, mute, seen state Often none
Privacy No Context Snack server; HTTPS to public feeds only Varies

Quick start

Install in Cursor

  1. Open Extensions in Cursor.
  2. Search for Context Snack (or ofershap.context-snack).
  3. Click Install.
  4. Reload if prompted, then run Context Snack: Open Context Snack.

Listing: open-vsx.org/extension/ofershap/context-snack

On first activation the extension merges Cursor hook entries and copies the agent-state hook script into ~/.cursor (see Security & privacy).

Install from VSIX (fallback)

If search is empty (Cursor's Open VSX mirror can lag):

  1. Download the .vsix from GitHub Releases.
  2. Command PaletteExtensions: Install from VSIX... → select the file.
  3. Reload Cursor.

Build from source (contributors)

git clone git@github.com:ofershap/context-snack.git
cd context-snack
npm install
npm run compile

Press F5 (or Run Extension from .vscode/launch.json) to launch an Extension Development Host, or symlink the folder to ~/.cursor/extensions/context-snack-1.4.0 and reload the window.

Maintainer publish notes: docs/MARKETPLACE.md.

Security & privacy

Context Snack does not run a backend and does not upload your prompts or workspace code. It merges hook configuration locally, caches feed JSON under ~/.cursor/context-snack/, and fetches public HTTPS feeds you enable in settings.

Details, uninstall steps, and vulnerability reporting: SECURITY.md.

Settings

Setting Default Description
contextSnack.autoShow true Show the feed while the agent is working in this workspace.
contextSnack.showDelayMs 3000 Milliseconds the agent must stay busy before the feed appears.
contextSnack.feedRefreshMinutes 45 Background refresh interval for the cached feed (min 5).
contextSnack.enableGames true Allow Play a Game and the in-feed Play control. Games never auto-open.
contextSnack.sources.cursor true Cursor changelog
contextSnack.sources.superhuman true Superhuman AI
contextSnack.sources.rundown true The Rundown AI
contextSnack.sources.tldr true TLDR AI
contextSnack.sources.hn true Hacker News
contextSnack.sources.devto true Dev.to
contextSnack.sources.github true GitHub Trending
contextSnack.sources.producthunt true Product Hunt
contextSnack.sources.geeky true Lobsters / Show HN style picks

Toggle sources in Settings → search contextSnack.

Commands

Command What it does
Context Snack: Open Context Snack Open the feed panel manually.
Context Snack: Hide Context Snack Close the feed or game panel.
Context Snack: Don't Pop for Current Conversation Stop auto-show for the current agent conversation.
Context Snack: Play a Game Open Snake, Pong, or Space Invaders (if enabled).
Context Snack: Show Statistics Local snack stats (opens, streaks, etc.).

Feed controls: drag or arrow keys to move between cards; swipe up, Enter, or the link control to open the article; Esc or close to dismiss. When the agent finishes, a short countdown offers a soft close instead of an instant snap shut.

Architecture (brief)

Cursor hooks (beforeSubmitPrompt, stop, sessionEnd)
        │
        ▼
~/.cursor/hooks/context-snack-agent-state.mjs  →  ~/.cursor/context-snack/busy.json
        │
        ▼
Extension watches busy.json + workspace roots + per-chat mute
        │
        ▼
After showDelayMs → feed webview (cached cards, shuffle + seen tracking)

Optional path: games webview (click-only). Feed fetchers live in src/feed/sources/ and run on a timer into the local cache.

Contributing

Bug fixes, feed source repairs, and UI polish are welcome. See CONTRIBUTING.md for dev setup, feed verification scripts, and how to add a source.

Author

Made by ofershap

LinkedIn GitHub

Install latest VSIX · Report an issue

MIT License. See LICENSE.

About

Micro-learnings while your Cursor agent works

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages