.claude/skills/gwt-discussion/SKILL.md
Use when an idea, spec question, or implementation gap needs investigation and discussion before deciding how work should proceed.
npx skillsauth add akiojin/gwt gwt-discussionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Unified discussion entrypoint for exploration, design clarification, and mid-implementation investigation. Use it before a SPEC exists, while a SPEC or plan is being refined, or when implementation reveals a gap that needs user discussion before work can continue.
Use the current user's language for decision summaries, Discussion TODO,
Action Delta, Action Bundle, and any user-facing artifact text generated
during this workflow, unless an existing artifact must keep its established
language.
gwt-plan-spec or
gwt-build-specDo not use this when the work is already decision-complete and ready for
planning or implementation. Use gwt-plan-spec or gwt-build-spec directly in
that case.
Keep these artifacts throughout the discussion:
Intake Memo in conversation context for background, scope, and constraintsDiscussion TODO in conversation context and mirrored to
.gwt/discussion.mdAction Delta for changes that are ready to land in spec, plan, issue,
or build contextAction Bundle for the concrete follow-up actions that should happen nextDiscussion TODO is not an implementation task list. It tracks unresolved
questions, dependency checks, deferred decisions, and the next question to ask.
Mirror structure for .gwt/discussion.md:
## Discussion TODO
### Proposal A - <title> [active|parked|rejected|chosen]
- Summary:
- Open Questions:
- Dependency Checks:
- Deferred Decisions:
- Next Question:
- Promotable Changes:
Promote an item from Discussion TODO into Action Delta only after the
high-impact unknown behind it has been resolved.
Managed hook settings in .claude/settings.local.json and .codex/hooks.json
may surface unfinished discussion candidates from .gwt/discussion.md.
Use this contract:
[active] with a non-empty Next Question as
resumable.SessionStart to surface the resume prompt.SessionStart before the first turn, arm a
fallback from UserPromptSubmit and surface it after the next Stop.Resume discussion, Park proposal, and Dismiss for now.Resume discussion continues gwt-discussion before other work proceeds.Park proposal changes the matching proposal in .gwt/discussion.md from
[active] to [parked].Dismiss for now suppresses the prompt only for the current agent session. A
later session may surface it again.PreToolUse may also dispatch workflow-policy before tool calls.workflow-policy enforces safety guardrails only: branch switching,
worktree escape, and direct gh CLI are blocked. It does not gate
implementation by owner Issue/SPEC or plan/tasks presence.Use the platform's selection-style question tool instead of naming a single API in the contract.
| Platform | Preferred tool |
|---|---|
| Codex | request_user_input |
| Claude Code | AskUserQuestionTool |
| Other runtimes | Closest equivalent selection-style question UI |
If no selection UI exists in the current runtime, ask in plain text as the exception path. Keep the same one-question-at-a-time discipline.
gwt-search with 2-3 semantic queries in Japanese and English.gwt issue spec list.Intake Memo.Do not ask the user anything until you have investigated.
For every potential change surface, map:
| Change | Downstream impact | Upstream prerequisite | Must change together |
|---|---|---|---|
| ... | ... | ... | ... |
Present findings first:
active, parked, rejected, or chosenAsk the user one question at a time about the findings. Wait for their answer before asking the next question.
Use the platform question tool first. Each question should:
After each answer:
Intake MemoDiscussion TODOWhen the runtime and user allow delegation, a bounded subagent may be used for objective review of competing proposals. Keep that subagent scoped to independent comparison work and do not let it replace the main discussion flow.
Do not end the discussion after a single answer when unresolved high-impact unknowns still exist.
When the discussion stabilizes, update the right artifacts in one batch.
references/intake.md for search and routing disciplinereferences/ddd-modeling.md for Bounded Context and domain modelingreferences/registration.md to create or seed spec.mdreferences/clarification.md to remove high-impact
[NEEDS CLARIFICATION] markersreferences/deepening.md when the user asks for deeper analysis on an
existing SPECplan and related planning artifacts in-placeAction Deltagwt-plan-spec in the Action Bundle when further planning work is
still neededspec / plan / issue context as needed firstResume Build in the Action Bundlegwt-build-spec continue with the updated contextUpdate Issue or Write Lesson in the Action Bundlegwt-register-issue or gwt-fix-issue when the GitHub Issue flow should
own the next stepPresent the result in this format:
## <Discussion Decision in the current user's language>
Owner: #<number> | SPEC-<id> | "new" | "none"
Reason: <one sentence>
### Intake Memo
- <final bullets>
### Discussion TODO
- Proposal A [active|parked|rejected|chosen]: <state + remaining concern>
### Action Delta
- Update Spec: <what changes>
- Update Plan: <what changes>
- Update Issue: <what changes>
- Resume Build Context: <what the implementer must use>
### Action Bundle
- Update Spec
- Update Plan
- Resume Build
- Update Issue
- Write Lesson
- No Action
Action Bundle may contain multiple actions. Examples:
Update Spec + Update Plan + Resume BuildUpdate Issue + No ActionWrite Lesson onlygwt-plan-spec when design is stable but planning work remainsgwt-build-spec when implementation should continuegwt-register-issue when new work should become an Issue instead of a
SPECgwt-fix-issue when an existing Issue owns the next stepDiscussion TODO into an implementation task listAction Bundletools
Create distinctive, production-grade terminal user interfaces. Use when building TUI components with ratatui, CLI output styling, or xterm.js terminal rendering. Triggers: 'design TUI', 'terminal UI', 'TUIデザイン', 'ターミナルUI', 'ratatui widget'
testing
Semantic search over SPEC Issues (GitHub Issue cache at ~/.gwt/cache/issues/) using vector embeddings. Use when searching for existing specs, finding related specs, checking for duplicate specs, or determining which spec owns a scope. Mandatory preflight before gwt-discussion when the work may need a SPEC owner. Use when user says 'search specs', 'find related specs', 'check for duplicate specs', or asks which spec owns a scope.
testing
Mandatory preflight before gwt-discussion, gwt-register-issue, and gwt-fix-issue. Use proactively before creating any SPEC or Issue owner or before reusing an existing one. Searches SPEC Issues, GitHub Issues, and project files via ChromaDB. Triggers: 'search', 'find related', 'check duplicates'.
business
Use when the user wants to register new work from a bug report, idea, or task description and an existing GitHub Issue number is not already known.