vibe_status
Update your presence by selecting a mood from options like thinking, debugging, or celebrating to communicate your current status.
Instructions
Set your mood/status. Options: shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, clear
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mood | Yes | Your mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, clear) |
Implementation Reference
- tools/status.js:35-68 (handler)The main handler function for the vibe_status tool. Validates initialization, maps the mood string to an emoji via MOODS dictionary, calls store.heartbeat() to update presence, and returns a display message.
async function handler(args) { if (!config.isInitialized()) { return { display: 'Run `vibe init` first to set your identity.' }; } const { mood } = args; const moodKey = mood.toLowerCase().replace(/[^a-z]/g, ''); if (!MOODS.hasOwnProperty(moodKey)) { const options = Object.entries(MOODS) .filter(([k, v]) => v) .map(([k, v]) => `${v} ${k}`) .join(', '); return { display: `Unknown mood. Options: ${options}, or "clear" to remove` }; } const emoji = MOODS[moodKey]; const handle = config.getHandle(); // Update presence with mood via context await store.heartbeat(handle, config.getOneLiner(), { mood: emoji }); if (!emoji) { return { display: 'Status cleared.' }; } return { display: `Status set: ${emoji} ${moodKey}\n\nOthers will see this next to your name.` }; } - tools/status.js:20-33 (schema)Schema definition for vibe_status: name, description, and inputSchema requiring 'mood' string.
const definition = { name: 'vibe_status', description: 'Set your mood/status. Options: shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, clear', inputSchema: { type: 'object', properties: { mood: { type: 'string', description: 'Your mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, clear)' } }, required: ['mood'] } }; - bridges/webhook-server.js:281-286 (helper)Helper function in the webhook bridge that updates vibe status via heartbeat for external platform integrations.
async function updateVibeStatus(handle, mood, note) { const store = require('../store'); const context = { mood }; if (note) context.note = note; await store.heartbeat(handle, note || '', context, 'bridge'); }