- name
- corkboard_dashboard
- description
- Post and manage real-time corkboard pins, lamp cues, deleted-history recovery, and multi-track project pipeline work for the Carl's Corkie dashboard. Use when you need to surface actionable tasks, alerts, opportunities, links, briefings, package tracking, article summaries, YouTube videos, or cellar ideas on the board.
- homepage
- https://github.com/Grooves-n-Grain/carls-corkie
- metadata
- {"openclaw":{"emoji":"📌"}}
Corkboard Dashboard
Use this skill when you need to put something actionable on the board right now. Prefer a pin for one-off work or a project for multi-step work with tracks, handoffs, and task checklists.
Quick Start
- Install or update the dashboard:
export CORKBOARD_REPO="https://github.com/Grooves-n-Grain/carls-corkie.git" # first-time installs only
bash {baseDir}/scripts/install.sh- Point tooling at the running API. Use
localhoston the same machine, the machine's LAN IP from another trusted device, or a public reverse-proxy hostname if the operator has exposed/api/*externally (see the main README). The dashboard requires a bearer token; the helper script auto-loads it from.envin the install directory:
CORKBOARD_API=http://localhost:3010
# or LAN:
CORKBOARD_API=http://<lan-ip>:3010
# or public reverse-proxy hostname (API routes only, frontend not exposed):
CORKBOARD_API=https://corkie-api.example.com
# CORKBOARD_TOKEN is auto-loaded from .env. To set it manually:
export CORKBOARD_TOKEN="$(grep '^CORKBOARD_TOKEN=' /path/to/dashboard/.env | cut -d= -f2-)"- Post work with the bundled helper (it adds the auth header for you):
bash {baseDir}/scripts/corkboard.sh add task "Review PR" "Auth refactor complete" 1
bash {baseDir}/scripts/corkboard.sh add alert "Server down" "API returning 503s" 1
bash {baseDir}/scripts/corkboard.sh add link "Error logs" "https://logs.example.com/errors"
bash {baseDir}/scripts/corkboard.sh add-opportunity "Wholesale inquiry" "Follow up with studio buyer" 2
bash {baseDir}/scripts/corkboard.sh add-briefing "Morning briefing" "## Today\
- Ship the fix\
- Reply to supplier"- Use the REST API directly for projects, cellar ideas, history/restore, track updates, and lamp state. Every request to
/api/*needs theAuthorization: Bearer $CORKBOARD_TOKENheader:
curl -X POST "$CORKBOARD_API/api/pins" \
-H "Authorization: Bearer $CORKBOARD_TOKEN" \
-H "Content-Type: application/json" \
-d '{"type":"task","title":"Review PR","content":"Auth refactor complete","priority":1}'
curl -X POST "$CORKBOARD_API/api/projects" \
-H "Authorization: Bearer $CORKBOARD_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Launch blog","emoji":"✍️","phase":"build","tracks":[{"name":"Write posts","owner":"claude"},{"name":"Review","owner":"you"}]}'Editing Pins
Task and Note pins can be edited inline on the dashboard by double-clicking the title. From the API, use PATCH /api/pins/:id to update any field:
# Update a pin's title and content
curl -X PATCH "$CORKBOARD_API/api/pins/<pin-id>" \
-H "Authorization: Bearer $CORKBOARD_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"Updated title","content":"New content here"}'Pick The Right Surface
- Use a
pinfor one-off tasks, alerts, links, notes, briefings, tracking updates, or short-lived reminders. - Use a
projectfor multi-step work with phases, tracks, and task lists shared between the agent and the human. - Use
projectStatus: "cellar"orPOST /api/projects/:id/cellarfor future ideas that should stay off the active board until they are ready. - Tracks are owned by
claude,you, orshared; finishing a track can automatically create a follow-up task pin for the next handoff. - Use deleted pin history plus restore routes when something should come back to the board instead of being recreated from scratch.
- Prefer
priority: 1for urgent work,2for the normal default, and3for low urgency. - The dashboard ships with a shared bearer token (
CORKBOARD_TOKEN) generated on first run. Keep.envprivate; the helper script reads the token from there automatically. To disable auth (only behind a reverse-proxy auth layer), setCORKBOARD_AUTH=disabledin.env.
Common Actions
bash {baseDir}/scripts/corkboard.sh list
bash {baseDir}/scripts/corkboard.sh complete <pin-id>
bash {baseDir}/scripts/corkboard.sh delete <pin-id>
bash {baseDir}/scripts/corkboard.sh add-email <from> <subject> [preview] [email_id]
bash {baseDir}/scripts/corkboard.sh add-github <owner/repo> [description] [stars] [forks]
bash {baseDir}/scripts/corkboard.sh add-idea <title> [verdict] [summary] [scores_json] [competitors] [effort]
bash {baseDir}/scripts/corkboard.sh add-tracking <number> <carrier> [status] [eta] [url]
bash {baseDir}/scripts/corkboard.sh add-article <title> <url> <source> <tldr> [bullets_json] [tags_json]
bash {baseDir}/scripts/corkboard.sh add-opportunity <title> [content] [priority]
bash {baseDir}/scripts/corkboard.sh add-briefing <title> <content>
bash {baseDir}/scripts/corkboard.sh add-twitter <title> <content> [url]
bash {baseDir}/scripts/corkboard.sh add-reddit <title> <content> [url]
bash {baseDir}/scripts/corkboard.sh add-youtube <youtube-url>
curl -H "Authorization: Bearer $CORKBOARD_TOKEN" "$CORKBOARD_API/api/pins/history/deleted"
curl -X POST -H "Authorization: Bearer $CORKBOARD_TOKEN" "$CORKBOARD_API/api/pins/<pin-id>/restore"
curl -X POST -H "Authorization: Bearer $CORKBOARD_TOKEN" "$CORKBOARD_API/api/projects/<project-id>/cellar"
curl -X POST -H "Authorization: Bearer $CORKBOARD_TOKEN" "$CORKBOARD_API/api/lamp/waiting"References
- API routes, socket events, project statuses, track attachments, deleted-history behavior, and lamp controls:
{baseDir}/references/api.md - Install, LAN access, env vars, helper script usage, and trusted-network notes:
{baseDir}/references/setup.md - Pin types, specialized payload shapes, and example request bodies:
{baseDir}/references/pin-types.md