# Task Banner > Configura (o silencia) un banner de escritorio en macOS que aparece cuando Claude Code termina una tarea, con un resumen de una línea de lo realizado. Fuente: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/task-banner Markdown: https://skillsagentes.com/skills/openclaudia/openclaudia-skills/task-banner.md Repositorio: https://github.com/OpenClaudia/openclaudia-skills Autor: OpenClaudia Licencia: MIT Actualizado: el mes pasado Coste de contexto: 75 tok instalada, 798 tok al activarse, 4.9k tok con todos los archivos del bundle Bundle: 2 archivos, 19 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add OpenClaudia/openclaudia-skills --skill task-banner --agent claude-code # Cursor npx -y skills add OpenClaudia/openclaudia-skills --skill task-banner --agent cursor # Codex npx -y skills add OpenClaudia/openclaudia-skills --skill task-banner --agent codex # Gemini CLI npx -y skills add OpenClaudia/openclaudia-skills --skill task-banner --agent gemini # Windsurf npx -y skills add OpenClaudia/openclaudia-skills --skill task-banner --agent windsurf # Cline npx -y skills add OpenClaudia/openclaudia-skills --skill task-banner --agent cline ``` ## Qué hace - Instala un hook `Stop` que muestra un banner Cocoa siempre visible cuando Claude Code termina una tarea - Copia `mac-overlay.js` a `~/.claude/scripts/` para dibujar el overlay sin necesitar permisos de Notification Center - Lee el resumen de la tarea desde `/tmp/claude-banner-msg` y lo muestra, o usa 'Task done' si no existe - Permite silenciar/reactivar el banner con un archivo sentinel `~/.claude/banner.off` ## Cuándo usarla - El usuario dice 'notify me when Claude is done' o 'desktop notification on completion' - El usuario pide 'set up the task banner' - El usuario pide 'mute the banner' o 'unmute the banner' ## Qué la activa - "Avísame cuando Claude termine una tarea" - "Configura el banner de tareas en mi Mac" - "Silencia el banner de notificación" - "Reactiva el banner de tareas" ## Antes de instalar - Requiere macOS (usa Cocoa vía JXA/osascript -l JavaScript) y Claude Code con soporte de hooks. ## Archivos - SKILL.md — 3 KB - mac-overlay.js — 16 KB ## SKILL.md Reproducido tal cual desde OpenClaudia/openclaudia-skills bajo MIT. Esta sección es el documento original y está en inglés. # task-banner Show a large, always-on-top desktop banner when Claude Code finishes a turn — with a one-line summary of what was actually completed. Works even when macOS Notification Center silently drops `osascript display notification` calls (a common problem: the CLI has no Notification Center registration, so the command exits 0 but nothing shows). The banner is a borderless Cocoa overlay window drawn by `mac-overlay.js` (a JXA script adapted from [peon-ping](https://github.com/PeonPing/peon-ping)), so no notification permissions are needed. ## Requirements - macOS (the overlay uses Cocoa via JXA / `osascript -l JavaScript`) - Claude Code with hooks support ## Setup 1. Copy `mac-overlay.js` from this skill directory to `~/.claude/scripts/mac-overlay.js`. 2. Merge a `Stop` hook into `~/.claude/settings.json` (read the file first and preserve existing hooks): ```json { "hooks": { "Stop": [ { "matcher": "", "hooks": [ { "type": "command", "command": "m=$(cat /tmp/claude-banner-msg 2>/dev/null); rm -f /tmp/claude-banner-msg; [ -f ~/.claude/banner.off ] || osascript -l JavaScript ~/.claude/scripts/mac-overlay.js \"${m:-Task done}\" blue \"\" 0 4 2>/dev/null || true", "async": true } ] } ] } } ``` 3. To make the banner show *what* was finished (instead of the generic "Task done"), add this to your global agent instructions file (`~/.claude/CLAUDE.md` or `AGENTS.md`): > After finishing each task, write a short summary of what was completed to `/tmp/claude-banner-msg` (e.g. `printf 'Typecheck fixed and committed' > /tmp/claude-banner-msg`). Identify the actual task; never use a generic "task done". The Stop hook displays the message and deletes the file. If the file is absent, it falls back to "Task done". ## Toggle (mute / unmute) The hook checks a sentinel file — no config editing needed: ```bash touch ~/.claude/banner.off # mute the banner rm -f ~/.claude/banner.off # unmute ``` When the user asks to mute/unmute the banner, run the matching command and report the resulting state. ## How it works / notes - `mac-overlay.js ` — color is `blue`/`yellow`/`red`, dismiss `0` means persistent-until-click. - The hook consumes `/tmp/claude-banner-msg` even while muted, so no stale summary pops up later when unmuted. - On recent macOS the JXA bridge constant `NSTextAlignmentCenter` evaluates to the legacy AppKit value (2), which the unified runtime treats as right-aligned — the bundled script hardcodes alignment `1` (center) to compensate. - `/tmp/claude-banner-msg` is shared across parallel Claude sessions; if two finish in the same instant one banner may show the other's summary. Use a per-session file path if that ever matters. ## Dónde encaja - Categoría: [Productividad](https://skillsagentes.com/categorias/productividad.md) — Planificación, toma de notas y automatización de flujos personales. - Creador: [OpenClaudia](https://skillsagentes.com/creators/openclaudia.md) — 76 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Competitor Traffic Report](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/competitor-traffic-report.md): Genera un informe HTML autocontenible de tráfico competitivo: visitas mensuales (SimilarWeb), tráfico orgánico y Domain Rating (Ahrefs), con gráficos ranked, tendencias y tabla de datos. - [Brand Dev](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/brand-dev.md): Obtiene datos de marca (nombre, descripción, logos, industria) desde la API de brand.dev y guarda los logos localmente. - [Gsc Portfolio Audit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/gsc-portfolio-audit.md): Audita TODAS las propiedades de Google Search Console a la vez: ranking por clics e impresiones con deltas, y diff de keywords por sitio (nuevas, suben, bajan, perdidas, o bien rankeadas sin clics). - [Wechat Moments](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/wechat-moments.md): Clasifica y resume el feed de WeChat Moments (朋友圈) del usuario para que los eventos reales y la información genuina destaquen sobre la promoción, ponderando según cuánto le escribe el usuario a cada autor. - [Podcast Edit](https://skillsagentes.com/skills/openclaudia/openclaudia-skills/podcast-edit.md): Edita audio o video de podcast: recorta charla previa/posterior, quita muletillas, corta silencios, mejora el audio y aplica el mismo corte a una versión en video. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)