/gsd-dashboard-console
Checks dashboard console inbox at GSD lifecycle boundaries and handles milestone-submit, config-update, and question-response messages. Use when running GSD workflows with the dashboard active.
$ npx -y skills add Tibsfox/gsd-skill-creator --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/gsd-dashboard-console
Context preview
What this command does when you run it.
Checks dashboard console inbox at GSD lifecycle boundaries and handles milestone-submit, config-update, and question-response messages. Use when running GSD workflows with the dashboard active.
Command definition
gsd-dashboard-console.mdname: gsd-dashboard-console
description: Checks dashboard console inbox at GSD lifecycle boundaries and handles milestone-submit, config-update, and question-response messages. Use when running GSD workflows with the dashboard active.
GSD Dashboard Console
Overview
This skill integrates the dashboard console message bridge into GSD workflows. At key lifecycle checkpoints, Claude checks for incoming messages from the dashboard and processes them. Claude can also emit questions and status updates back to the dashboard.
The console uses a filesystem-based message bus at `.planning/console/` with inbox, outbox, config, and uploads directories. Messages are JSON envelopes with id, type, timestamp, source, and payload fields.
Lifecycle Checkpoints
At these GSD lifecycle boundaries, run `bash scripts/console/check-inbox.sh` to check for pending messages:
1. **Session start** -- Before any GSD work begins, check if the dashboard has queued messages (milestone submissions, config changes, question responses). This ensures nothing submitted while Claude was offline gets missed.
2. **Phase boundary** -- After completing a phase (plan execution, verification), check inbox before starting the next phase. This is the natural pause point where dashboard input is most actionable.
3. **Post-verification** -- After `/gsd:verify-work` completes, check for any dashboard responses or config updates. Verification often triggers user feedback via the dashboard.
If `check-inbox.sh` exits 0, parse the JSON output and process each message by type (see Message Type Handling below). If exit 1, no messages are pending -- continue normal workflow.
Example check:
bash scripts/console/check-inbox.sh
The output (on exit 0) is JSON: `{ "count": N, "messages": [{ "id": "...", "type": "...", "filename": "..." }, ...] }`
Message Type Handling
milestone-submit
A user submitted a new milestone from the dashboard. Steps:
1. Run `bash scripts/console/validate-config.sh` to validate the config at `.planning/console/config/milestone-config.json` 2. If valid: read the config and use it to initialize a new milestone via `/gsd:new-milestone` 3. If invalid: emit a question back asking the user to fix the config (use `scripts/console/write-question.sh`) 4. Check `.planning/console/uploads/` for any attached vision documents 5. If vision documents exist, incorporate them into the milestone initialization as project context
config-update
The dashboard sent updated configuration settings. Steps:
1. Read the payload to identify which settings changed 2. For hot-configurable settings (mode, parallelization): apply immediately to current session by updating `.planning/config.json` 3. For cold settings (depth, model_preference): note the change and inform user it takes effect next phase 4. Update `.planning/console/outbox/status/current.json` via `bash scripts/console/write-status.sh` to confirm the update was processed
question-response
The user answered a question from the dashboard. Steps:
1. Match the response to the original question by `question_id` in the payload 2. Apply the answer to the pending decision in the current workflow 3. Continue the blocked workflow if the question was blocking progress
Outbound Communication
Emitting Questions
When Claude needs user input during a GSD workflow:
bash scripts/console/write-question.sh "<question_id>" "<question_text>" "<type>" "<options_json>"
Types: `binary`, `choice`, `multi-select`, `text`, `confirmation`
Use questions when a decision is needed that cannot be made autonomously. Always provide a clear question_id so the response can be matched back.
Updating Status
After every state change (phase start, plan completion, error):
bash scripts/console/write-status.sh "<phase>" "<plan>" "<status>" "<progress_pct>"
This updates `.planning/console/outbox/status/current.json` so the dashboard reflects live session state. Status values: `planning`, `executing`, `verifying`, `blocked`, `complete`, `error`.
Validating Config
Before processing a milestone-submit:
bash scripts/console/validate-config.sh [base_path]
Exits 0 if valid, exit 1 with error details on stdout if invalid. Always validate before acting on milestone submissions to prevent malformed configs from entering the GSD pipeline.
Important Notes
- Never block on inbox check -- if `scripts/console/check-inbox.sh` fails or takes longer than 5 seconds, continue normal workflow
- Messages are moved to `acknowledged/` after reading -- they will not appear again
- The skill works alongside existing GSD commands, not replacing them
- All filesystem paths are relative to project root under `.planning/console/`
- The message envelope format follows the schema in `src/console/schema.ts`
Read more
name: gsd-dashboard-console description: Checks dashboard console inbox at GSD lifecycle boundaries and handles milestone-submit, config-update, and question-response messages. Use when running GSD workflows with the dashboard active.
GSD Dashboard Console
Overview
This skill integrates the dashboard console message bridge into GSD workflows. At key lifecycle checkpoints, Claude checks for incoming messages from the dashboard and processes them. Claude can also emit questions and status updates back to the dashboard.
The console uses a filesystem-based message bus at `.planning/console/` with inbox, outbox, config, and uploads directories. Messages are JSON envelopes with id, type, timestamp, source, and payload fields.
Lifecycle Checkpoints
At these GSD lifecycle boundaries, run `bash scripts/console/check-inbox.sh` to check for pending messages:
1. **Session start** -- Before any GSD work begins, check if the dashboard has queued messages (milestone submissions, config changes, question responses). This ensures nothing submitted while Claude was offline gets missed.
2. **Phase boundary** -- After completing a phase (plan execution, verification), check inbox before starting the next phase. This is the natural pause point where dashboard input is most actionable.
3. **Post-verification** -- After `/gsd:verify-work` completes, check for any dashboard responses or config updates. Verification often triggers user feedback via the dashboard.
If `check-inbox.sh` exits 0, parse the JSON output and process each message by type (see Message Type Handling below). If exit 1, no messages are pending -- continue normal workflow.
Example check:
bash scripts/console/check-inbox.sh
The output (on exit 0) is JSON: `{ "count": N, "messages": [{ "id": "...", "type": "...", "filename": "..." }, ...] }`
Message Type Handling
milestone-submit
A user submitted a new milestone from the dashboard. Steps:
1. Run `bash scripts/console/validate-config.sh` to validate the config at `.planning/console/config/milestone-config.json` 2. If valid: read the config and use it to initialize a new milestone via `/gsd:new-milestone` 3. If invalid: emit a question back asking the user to fix the config (use `scripts/console/write-question.sh`) 4. Check `.planning/console/uploads/` for any attached vision documents 5. If vision documents exist, incorporate them into the milestone initialization as project context
config-update
The dashboard sent updated configuration settings. Steps:
1. Read the payload to identify which settings changed 2. For hot-configurable settings (mode, parallelization): apply immediately to current session by updating `.planning/config.json` 3. For cold settings (depth, model_preference): note the change and inform user it takes effect next phase 4. Update `.planning/console/outbox/status/current.json` via `bash scripts/console/write-status.sh` to confirm the update was processed
question-response
The user answered a question from the dashboard. Steps:
1. Match the response to the original question by `question_id` in the payload 2. Apply the answer to the pending decision in the current workflow 3. Continue the blocked workflow if the question was blocking progress
Outbound Communication
Emitting Questions
When Claude needs user input during a GSD workflow:
bash scripts/console/write-question.sh "<question_id>" "<question_text>" "<type>" "<options_json>"
Types: `binary`, `choice`, `multi-select`, `text`, `confirmation`
Use questions when a decision is needed that cannot be made autonomously. Always provide a clear question_id so the response can be matched back.
Updating Status
After every state change (phase start, plan completion, error):
bash scripts/console/write-status.sh "<phase>" "<plan>" "<status>" "<progress_pct>"
This updates `.planning/console/outbox/status/current.json` so the dashboard reflects live session state. Status values: `planning`, `executing`, `verifying`, `blocked`, `complete`, `error`.
Validating Config
Before processing a milestone-submit:
bash scripts/console/validate-config.sh [base_path]
Exits 0 if valid, exit 1 with error details on stdout if invalid. Always validate before acting on milestone submissions to prevent malformed configs from entering the GSD pipeline.
Important Notes
- Never block on inbox check -- if `scripts/console/check-inbox.sh` fails or takes longer than 5 seconds, continue normal workflow
- Messages are moved to `acknowledged/` after reading -- they will not appear again
- The skill works alongside existing GSD commands, not replacing them
- All filesystem paths are relative to project root under `.planning/console/`
- The message envelope format follows the schema in `src/console/schema.ts`
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Repo: Tibsfox/gsd-skill-creator
Other commands on gsd-skill-creator.
- /api-design
REST API design best practices. Use when designing APIs, choosing status codes, or creating endpoints.
Open command - /code-review
Reviews code for bugs, style, and best practices. Use when reviewing PRs or checking code quality.
Open command - /context-handoff
Creates context handoff documents for session continuity. Use when ending sessions, switching tasks, or handing off work.
Open command - /decision-framework
Thinking frameworks for decisions and problem analysis. Use when evaluating options, root causes, or prioritizing.
Open command - /env-setup
Environment configuration and secrets management. Use when setting up .env files, managing secrets, or configuring environments.
Open command - /file-operation-patterns
Safe file operation patterns. Use when performing bulk file operations or writing deployment scripts.
Open command

