Wire the daily.dev headlines statusline into the user's Claude Code settings. Claude Code does not activate a statusline from plugin settings automatically, so this skill writes the statusLine config for the user.
This plugin's statusline script lives at ${CLAUDE_PLUGIN_ROOT}/statusline/statusline.mjs. That path is version-pinned (it changes on every plugin update), so DO NOT write it into settings literally. Instead, derive the version-independent parent directory (strip the trailing /<version> segment from ${CLAUDE_PLUGIN_ROOT}) and use a shell glob that always resolves the most recently installed version.
Enable
- Read
~/.claude/settings.json(create it as{}if missing). - If a
statusLinekey already exists and is not the daily.dev one, show it to the user and ask before replacing it. - Set the
statusLinekey, substituting<PLUGIN_PARENT_DIR>with the version-stripped parent of${CLAUDE_PLUGIN_ROOT}:
{
"statusLine": {
"type": "command",
"command": "node \"$(ls -td \"<PLUGIN_PARENT_DIR>\"/*/ | head -1)statusline/statusline.mjs\"",
"refreshInterval": 10
}
}
- Verify it renders by piping an empty JSON object to the resolved command, e.g.
echo '{}' | node "$(ls -td "<PLUGIN_PARENT_DIR>"/*/ | head -1)statusline/statusline.mjs". It should print a line starting withdaily.dev. - Tell the user to restart Claude Code (or start a new session) to see it, and mention headlines rotate about once a minute and are clickable in terminals with hyperlink support.
Disable
Remove the statusLine key from ~/.claude/settings.json if its command references this plugin's statusline script. If it points somewhere else, leave it alone and tell the user.
Notes
- Requires
nodeon PATH. - Anonymous impression telemetry can be disabled with
DAILY_DEV_TELEMETRY=0in the environment; mention this if the user asks about privacy (full details in the plugin README).