From waggle
Manages the local view server that renders task data as interactive HTML pages (Kanban, List, Calendar, Gantt). Starts the server, pushes data, and opens views. Use this skill whenever the user wants to see tasks visually — board views, timelines, calendars, or any kind of task visualization or dashboard display. Triggers on: "kanban", "list view", "show tasks", "view", "visualize", "gantt", "calendar", "board", "timeline", "display tasks", "open dashboard".
npx claudepluginhub kazukinagata/waggle --plugin waggleThis skill uses the workspace's default tool permissions.
You manage the local view server that renders task data as interactive HTML pages.
scripts/generate-static-html.shserver/package-lock.jsonserver/package.jsonserver/src/app.test.tsserver/src/app.tsserver/src/index.tsserver/src/sse.tsserver/src/types.test.tsserver/src/types.tsserver/static/calendar.htmlserver/static/detail-panel.cssserver/static/detail-panel.jsserver/static/filter-bar.cssserver/static/filter-bar.jsserver/static/gantt.htmlserver/static/kanban.htmlserver/static/list.htmlserver/static/selector.htmlserver/static/shared.cssserver/static/shared.jsGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
You manage the local view server that renders task data as interactive HTML pages.
Invoke the bootstrap-session skill to establish the active provider and current user.
Skip if active_provider and current_user are already set in this conversation.
Before starting, detect the runtime environment:
# Check if running in a remote/sandboxed environment where localhost is not accessible from the user's browser
if [ -n "${CLOUD_SHELL:-}" ]; then
# Use static HTML export mode (see below)
STATIC_MODE=true
else
STATIC_MODE=false
fi
If STATIC_MODE=true, skip "Starting the Server" and go directly to Static HTML Export below.
The view server runs at http://localhost:3456. To start it:
cd "${CLAUDE_SKILL_DIR}/server" && npm ci --silent && npx tsx src/index.ts &
Before starting, check if it's already running:
curl -s http://localhost:3456/api/health 2>/dev/null
If the health check succeeds, the server is already running. Do NOT start a second instance.
| View | URL | Status |
|---|---|---|
| View Selector | http://localhost:3456/ | Available |
| List | http://localhost:3456/list.html | Available |
| Kanban | http://localhost:3456/kanban.html | Available |
| Calendar | http://localhost:3456/calendar.html | Available |
| Gantt | http://localhost:3456/gantt.html | Available |
After ensuring the server is running, open the appropriate URL in the user's browser:
# macOS
open http://localhost:3456/kanban.html
# Linux
xdg-open http://localhost:3456/kanban.html
# WSL
wslview http://localhost:3456/kanban.html
Detect the platform and use the appropriate command.
After starting the server, push current task data so the view is populated. Follow the Pushing Data to View Server section in the active provider's SKILL.md to:
{ "tasks": [...], "updatedAt": "<ISO timestamp>", "currentTeam": { "id": "<id>", "name": "<name>" } } (include currentTeam if current_team is set from resolving-identity; omit if null)http://localhost:3456/api/dataUsers can create custom visualizations using the managing-views skill. Custom views are served at /custom/<slug>.html.
# macOS
open http://localhost:3456/custom/<slug>.html
# Linux
xdg-open http://localhost:3456/custom/<slug>.html
# WSL
wslview http://localhost:3456/custom/<slug>.html
ls ~/.waggle/views/*.html
"${CLAUDE_SKILL_DIR}/scripts/generate-static-html.sh" custom:<slug> /tmp/tasks.json > /tmp/<slug>.html
To create, delete, or regenerate custom views, use the managing-views skill.
All views support:
/api/events. Changes made via managing-tasks skill are reflected automatically.When running in a remote environment (e.g. cloud shell) where localhost is not accessible from the user's browser, generate a standalone HTML file with embedded task data instead of starting the server.
cat > /tmp/tasks.json << 'TASKEOF'
{ "tasks": [...], "updatedAt": "<ISO timestamp>" }
TASKEOF
"${CLAUDE_SKILL_DIR}/scripts/generate-static-html.sh" <view> /tmp/tasks.json > /tmp/<view>.html
Supported views: kanban, list
Present the generated HTML file to the user. In environments that support artifacts (e.g. Claude Desktop), output the HTML content directly so it can be rendered in the browser. Otherwise, inform the user of the file path.
Clean up temporary files:
rm -f /tmp/tasks.json /tmp/<view>.html
If views don't update after task changes:
curl http://localhost:3456/api/health/api/data