A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

MITAuto-check passedDevelopment

Install Vibepulse

skills CLI
$ npx skills add niclasvestlund-YT/vibepulse --skill vibepulse -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install niclasvestlund-YT/vibepulse vibepulse --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/niclasvestlund-YT/vibepulse.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/plugins/plugins/vibepulse/skills/vibepulse .claude/skills/vibepulse && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vibepulse
GitHub stars
208
Token cost
~1.6k tokens
SKILL.md length
885 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

  • VibePulse panel questions
  • Calls python3 and git
  • Permission behavior
  • Doctor diagnostics for the optional local Codex bridge

What it does

Vibepulse is an agent skill from niclasvestlund-YT/vibepulse. Use for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Embedded systems and File uploads and storage. It works with Python and ESP32. The repository describes itself as: ESP32-S3 AMOLED for Claude Code & Codex usage, live agent activity, and answerable NEEDS YOU alerts. Local-first macOS/Windows host; optional encrypted relays. The licence is MIT.

When your agent uses it

  • VibePulse panel questions
  • Permission behavior
  • Doctor diagnostics for the optional local Codex bridge

Example prompts

  • “/vibepulse”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 21b905d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vibepulse loads about 1.6k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 885 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~35
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from niclasvestlund-YT/vibepulse at commit 21b905d, republished under its MIT licence (© niclasvestlund-YT). 885 words, ~1,565 tokens.

Download SKILL.mdSave it as .claude/skills/vibepulse/SKILL.md (or your agent's skills folder).
name
vibepulse
description
Use for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

VibePulse

Keep VibePulse interactions opt-in and local. Installing the plugin does not enable a provider; the saved VibePulse configuration controls routing.

Use mcp__vibepulse__ask only for one bounded question with 2-3 explicit options when you can make a genuine recommendation. Keep labels and details short, mark at most one option recommended, and send no secrets.

Use native request_user_input for free-form answers, secrets, multiple questions, unsupported shapes, an unavailable panel, timeout, or computer fallback. Never treat silence, panel absence, or fallback as approval. Permission decisions remain subject to Codex policy.

For a physical Codex smoke test, use the exact short question Ser du APPROVE? with Ja (APPROVE syns) and Nej (APPROVE saknas), marking only Ja recommended. Pass only when the panel visibly shows APPROVE, a human taps it, and the call returns status: answered, option_index: 0, answer: Ja. SOMETHING IS WAITING without answer buttons is the fit/privacy fallback, not a pass. After a flash, compare git describe --tags --always --dirty from the build checkout with the service's otaAvailableVersion before testing.

Explain that the encrypted relay remains not enabled by this plugin. When the owner separately enables it, opaque encrypted envelopes leave the LAN but the question and verdict stay end-to-end encrypted between host and panel.

When setup state is relevant, run python3 tools/vibepulse_setup.py status. When troubleshooting is relevant, run python3 tools/vibepulse_setup.py doctor. From a checkout, prefer its .venv/bin/python on POSIX or .venv\Scripts\python.exe on Windows when present; a system python3 can be older than the interpreter that actually runs the service. Also run tools/tokenserver/smoke.py with that interpreter for a stale report.

Diagnose these safe signals separately: claudeProbe is the active quota source outcome, claudeCredential is saved-credential readiness, and the /api/tokens stale flags are the data actually sent to the panel. If claudeProbe is usage_http_200 + ok and the relevant stale flag is false, the source is live even when the saved credential says expired; call that a future recovery risk, not the current stale cause. Start a new Claude Code CLI turn to refresh the saved fallback. VibePulse rereads local credentials every 15 seconds, so do not prescribe a tokenserver restart first.

On plugin 0.1.7+, read VibePulse startup health: provider stale routes to provider/credential checks; device path stale to panel power/network/discovery/ firmware; version drift means plugin and host sources differ; server unavailable routes to service diagnostics. It is read-only and never approves.

If the local API and configured numbers relay are fresh while the glass is stale, inspect GET / → interactions.panel for recent direct polling and read passive logs. waiting does not prove failure on a relay-only network, but fresh LAN and relay with stale glass localizes the device hop. Test relay with the panel User-Agent; generic Python may get a misleading Cloudflare 403. Computer USB can exhaust its 500 mA budget during Wi-Fi bursts, so use a dedicated 5 V supply. Compare installed firmware with current main; old firmware cannot discover another Mac/Windows host. Never reset or flash without explicit permission, and never infer health from serial silence.

If passive serial repeatedly reports accepted token payloads while the glass still says STALE, compare its Claude/Fable/Codex/Max Tracker stale bits. Fresh bits localize stale bookkeeping/rendering; current firmware clears transport stale synchronously and logs only those booleans. Do not treat hämtning ok as UI proof or close the incident before the glass changes. Never call one successful post-boot request a sustained stale-recovery pass. Keep the panel on dedicated power beyond its 120-second stale window, require recent direct polling again, and repeat the canonical physical question. If the board still answers ping while direct panel polling ages out, the local and numbers-relay payloads remain fresh, and the repeated question times out, record a device-side application-HTTP stall rather than blaming provider data. Current relay-configured firmware has a bounded self-recovery guard: after an initial quota success, 60 seconds without progress while Wi-Fi still reports association recycles the station transport and wakes the quota task, which waits for a new IP before retrying. If no real success follows within another 45 seconds, the device performs one controlled restart. Cold boot stays disarmed until a new real success, preventing a persistent upstream outage from becoming a restart loop. Either guard firing is recovery evidence, not a PASS by itself. LAN-only firmware deliberately does not recover merely because its host sleeps. After a guarded restart, interactions.panel.httpStallRecoveryBoot can prove the guard fired without serial, not that the stale window/question passed.

Show full SKILL.md (159 more words)Show less

Treat fresh numbers plus timed-out questions as a separate transport check. When more than one _vibepulse._tcp service is advertised on the same LAN, DNS-SD result order cannot identify which computer owns the current question; the panel may be polling a different healthy Mac or PC. Confirm the service count without publishing hostnames or private addresses. For a panel shared by several computers, use the existing end-to-end encrypted interaction relay on the hosts and enable TK_VIBEPULSE_INTERACTION_RELAY in that panel's firmware. If local /api/agent-status reports an active agent while the glass says no active agent, also check the separate host and firmware live-status switches. Do not claim a local active row proves the panel route, and do not flash a relay-enabled image without a fresh explicit authorization.

Explain that this versioned skill does not learn or update itself; new lessons reach Codex after a plugin release and new task. Do not run install, disable, or uninstall without the user's explicit request.

© niclasvestlund-YT, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/plugins/plugins/vibepulse/skills/vibepulse of niclasvestlund-YT/vibepulse.

Open the folder on GitHubat commit 21b905d

Compare with similar skills

Vibepulse next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Vibepulse compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vibepulse this skillniclasvestlund-YT/vibepulse208—~1.6kAutomated safety check: PassMIT
RuView mmWave Radar Setupruvnet/RuView97k—~907Automated safety check: NotesMIT
Embedded Cpp14 MisraBlueAndi/Pixelix443—~2kAutomated safety check: PassMIT
Flash Esp32s3RomanLut/hx_espnow_rc129—~794Automated safety check: PassMIT
Guition Jc3636k718cMichalZaniewicz/esphome-guition-jc3636k718c-va167—~3kAutomated safety check: PassMIT
Implement Next Taskrvdbreemen/OTGW-firmware207—~2.1kAutomated safety check: PassGPL-3.0

Similar skills

  • Sets up and runs 60 GHz and 24 GHz mmWave radar sensing on ESP32 boards in RuView, alone or fused with WiFi CSI.

    97k GitHub stars~907 tokensUpdated today
    DevelopmentAuto-check: notes
  • Embedded Cpp14 Misra

    BlueAndi/Pixelix

    A skill your agent uses when writing, reviewing, or refactoring C/C++ firmware code in this repository (src/, lib/, test/) — creating or editing .h/.hpp/.cpp files, applying MISRA-oriented and…

    443 GitHub stars~2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Flash Esp32s3

    RomanLut/hx_espnow_rc

    Build, flash, recover, and verify the ESP32-S3 Super Mini MAVLink/ESP-NOW USB receiver in examples/rxesp32s3mavlinkrcusb.

    129 GitHub stars~794 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Guition Jc3636k718c

    MichalZaniewicz/esphome-guition-jc3636k718c-va

    Reference for building/editing ESPHome configs on the Guition JC3636K718C round knob display (ESP32-S3, 1.8" 360x360 ST77916, CST816 touch, rotary knob, PCM5100A DAC, PDM mic, WS2812 LED ring).

    167 GitHub stars~3k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Implement Next Task

    rvdbreemen/OTGW-firmware

    Drive the autonomous 2.0.0 ESP32-S3-only async + FreeRTOS migration (epic TASK-865).

    207 GitHub stars~2.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Flash Devices

    jtenniswood/esphome-media-player

    Flash ESPHome firmware to physical EspControl devices. An agent skill from jtenniswood/esphome-media-player.

    234 GitHub stars~1.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from niclasvestlund-YT/vibepulse

  • Iterating Esp32 Amoled UI

    niclasvestlund-YT/vibepulse

    A skill your agent uses when making any Torget AMOLED app visual change, exact-size mockup, simulator capture, or physical review.

    208 GitHub stars~927 tokensUpdated 10 days ago
    Auto-check passed

Works with

Categories

Questions about Vibepulse

What does Vibepulse do?

A skill your agent uses for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge. Vibepulse is an agent skill from niclasvestlund-YT/vibepulse. Use for VibePulse panel questions, permission behavior, setup, status, or doctor diagnostics for the optional local Codex bridge.

When should I use Vibepulse?

Vibepulse fits situations like: vibePulse panel questions; permission behavior; doctor diagnostics for the optional local Codex bridge.

How do I install Vibepulse in Claude Code?

Run `npx skills add niclasvestlund-YT/vibepulse --skill vibepulse -a claude-code`. Or copy the skill folder (.agents/plugins/plugins/vibepulse/skills/vibepulse in niclasvestlund-YT/vibepulse) into .claude/skills/vibepulse in your project. Claude Code loads it when a task matches its description.

How do I install Vibepulse in Codex?

Run `npx skills add niclasvestlund-YT/vibepulse --skill vibepulse -a codex`. Or copy the skill folder (.agents/plugins/plugins/vibepulse/skills/vibepulse in niclasvestlund-YT/vibepulse) into .agents/skills/vibepulse in your project. Codex loads it when a task matches its description.

Can I use Vibepulse in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add niclasvestlund-YT/vibepulse --skill vibepulse -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vibepulse, .gemini/skills/vibepulse, .github/skills/vibepulse and .opencode/skills/vibepulse in your project.

What does Vibepulse need to run?

Going by SKILL.md and its folder, Vibepulse needs the command-line tools its instructions call (python3 and git). Our summary lists: Python 3.

Does Vibepulse access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Vibepulse safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Vibepulse use?

Vibepulse is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vibepulse use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Vibepulse?

Skills that share tags, products or a category with Vibepulse: RuView mmWave Radar Setup (ruvnet/RuView, 97k stars), Embedded Cpp14 Misra (BlueAndi/Pixelix, 443 stars), Flash Esp32s3 (RomanLut/hx_espnow_rc, 129 stars) and Guition Jc3636k718c (MichalZaniewicz/esphome-guition-jc3636k718c-va, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vibepulse?

niclasvestlund-YT (a GitHub user) maintains it in niclasvestlund-YT/vibepulse, which has 208 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 30, 2026.

Source: niclasvestlund-YT/vibepulse on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.