.claude/skills/dan-discuss/SKILL.md
Deep interview phase to capture project intent, constraints, and success criteria
npx skillsauth add RavBogard/DAN dan:discussInstall 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.
Run the discuss phase for a specific phase -- a structured interview that surfaces decisions, tradeoffs, constraints, and preferences before any planning begins. Produces a phase-level CONTEXT.md that downstream skills (research, plan, apply) consume.
Runs in-session (interactive). Requires multiple rounds of user input. No agent spawning -- the skill IS the interviewer. This is a conversation, not a delegation.
State operations use the DAN CLI:
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR state set "last_activity" "2026-03-28 -- Discuss phase 03"
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR commit "docs(03): capture discussion context" --files .planning/phases/03-research-system/03-CONTEXT.md
<execution_flow>
<step name="parse_target"> ## Step 1: Parse TargetDetermine the phase number from the user's argument (e.g., /dan:discuss 03).
Actions:
.planning/phases/{phase-dir}/.planning/phases/{phase-dir}/{phase}-CONTEXT.mdError handling:
Read background files to understand what is already known. This prevents re-litigating settled decisions and ensures continuity.
Files to load:
.planning/PROJECT.md -- project vision, core value, key decisions.planning/ROADMAP.md -- phase goal, requirements list, success criteria for target phase.planning/STATE.md -- current position, accumulated decisions (never re-litigate these).planning/REQUIREMENTS.md -- requirement details for target phase (requirement IDs, descriptions)*-CONTEXT.md files from other phases -- for cross-phase awareness (e.g., if phase 2 already discussed error handling, phase 3 should not contradict it)*-RESEARCH.md for this phase -- if research ran before discuss, its findings inform gray area identificationKey principle: Prior decisions from STATE.md and PROJECT.md are SETTLED. If the user brings up a settled decision, acknowledge it and reference where it was decided. Do not reopen it unless the user explicitly requests reconsideration. </step>
<step name="identify_gray_areas"> ## Step 3: Identify Gray AreasAnalyze the phase goal, requirements, and loaded context to identify 3-7 gray areas.
What is a gray area? A gray area is an implementation decision where multiple valid approaches exist and the user's preference matters. These are NOT yes/no questions -- they are design choices with real tradeoffs.
Examples of gray areas:
How to identify them:
Presentation: Present gray areas as a numbered list with brief descriptions. Then ask:
"Which of these would you like to discuss? You can:
Wait for user selection before proceeding. </step>
<step name="discuss_selected_areas"> ## Step 4: Discuss Each Selected AreaFor each selected gray area, run a focused mini-interview.
Protocol per area:
Questioning philosophy (from questioning.md):
Question types to draw from:
Scope guardrail (scope_guardrail) enforcement: If the user mentions something outside this phase's scope, apply this test:
"Does this clarify HOW to implement what is already scoped, or does it add a new capability?"
Deferred idea capture: When capturing a deferred idea, mentally note it with enough context to be actionable later. The user should feel heard -- their idea is valued, just not for this phase. </step>
<step name="write_context"> ## Step 5: Write CONTEXT.mdAfter all selected areas are discussed, synthesize the conversation into a structured CONTEXT.md file.
Output path: .planning/phases/{phase-dir}/{phase}-CONTEXT.md
Format:
---
phase: {phase-number}
created: {YYYY-MM-DD}
areas_discussed: {count}
decisions_captured: {count}
deferred_count: {count}
---
# Phase {N}: {Phase Name} -- Discussion Context
## Domain
{Brief description of what this phase covers and the key challenge it addresses.
This should be 2-3 sentences that orient a reader who has not seen the discussion.}
## Decisions
{Numbered list of decisions made during discussion. Each decision is a concrete choice, not a vague preference.}
1. **{Decision title}**
- Decision: {what was decided, stated as a clear directive}
- Rationale: {why this choice over alternatives}
- Alternatives considered: {what else was discussed and why it was not chosen}
2. **{Decision title}**
- Decision: {what was decided}
- Rationale: {why}
- Alternatives considered: {what else}
## Code Context
{Technical context relevant to implementation. Reference existing patterns, files, and conventions that implementers need to know about. Include specific file paths and function names where relevant.}
## Specifics
{Detailed implementation guidance captured from discussion. These are the "how" details that go beyond what requirements specify. Organized by topic or requirement.}
## Deferred Ideas
{Ideas mentioned during discussion but explicitly deferred to a future phase. Each item has enough context to be actionable later without re-discussing.}
- **{Idea title}**: {description} -- Deferred because: {reason}
## Open Questions
{Questions that came up during discussion but were not resolved. These may need research, experimentation, or a future discussion. Each question includes enough context to understand why it matters.}
- **{Question}**: {context for why this matters and what depends on the answer}
Writing principles:
After writing CONTEXT.md, update project state and commit.
State update:
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR state set "last_activity" "{date} -- Discuss phase {N}"
Commit:
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR commit "docs({phase}): capture discussion context" --files .planning/phases/{phase-dir}/{phase}-CONTEXT.md
Error handling:
Summarize the discussion session for the user.
Report format:
Discussion complete for Phase {N}: {Phase Name}
- Areas discussed: {count}
- Decisions captured: {count}
- Items deferred: {count}
- Open questions: {count}
Output: .planning/phases/{phase-dir}/{phase}-CONTEXT.md
Suggested next step: {recommendation}
Next step recommendations:
/dan:research {phase} to investigate open questions and validate decisions."/dan:plan {phase} to create implementation plans informed by this context."/dan:research {phase} to resolve open questions before planning."/dan:plan {phase} -- the context is clear."
</step>
</execution_flow>
data-ai
Core DAN workflow protocol and conventions injected into all agent contexts
testing
Spawn verifier agent to validate phase outputs against requirements and success criteria
tools
Close the loop on a completed plan by writing SUMMARY.md and updating state
tools
Show current project progress, blockers, and suggest the next action