본문으로 건너뛰기
cccskills
무료GitHub에 공개

phx-brainstorm

Brainstorm Elixir/Phoenix features — explore ideas, compare; Use when vague idea, not sure how to approach, or want…

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(3)

  • SKILL.md6.0 KB
  • references/interview-techniques.md8.6 KB
  • references/research-integration.md6.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Brainstorm — Adaptive Requirements Gathering

Interactive interview → research → synthesis loop. Produces structured interview.md that $elixir-phoenix:phx-plan detects and consumes (skipping clarification).

Usage

$elixir-phoenix:phx-brainstorm Add some kind of notification system
$elixir-phoenix:phx-brainstorm Improve authentication security
$elixir-phoenix:phx-brainstorm                    # starts with open question

Workflow

$elixir-phoenix:phx-brainstorm {topic}
    |
    v
[INTERVIEW] ←──────────────────┐
    |                           |
    v (sufficient OR user exit) |
[DECISION POINT]                |
    ├─ Research ──→ [RESEARCH] ─┘
    ├─ Continue interview ──────┘
    ├─ Make a plan ──→ STOP (suggest $elixir-phoenix:phx-plan {slug})
    ├─ Store & exit ──→ STOP (artifacts saved)
    └─ Discuss ──→ freeform ──→ [DECISION POINT]

Phase 1: Adaptive Interview

Create .claude/plans/{slug}/ directory. Start asking ONE question at a time.

Coverage Dimensions

Track coverage across 6 dimensions (0=uncovered, 1=partial, 2=sufficient). Ask Scope early — for "optimize X" topics, ask about boundaries (upstream OK? Local-only? CI vs dev?) before research, not during.

DimTargetSufficient signal
WhatSpecific behavior/featuresConcrete verbs, not "some kind of"
WhyProblem solved, user needClear benefit stated
ScopeIn/out boundariesExplicit exclusions stated
WhereModules, contexts, pagesFile paths or context names mentioned
HowApproach, constraintsAt least one concrete constraint
EdgeError states, scale, auth2+ edge cases identified

Interview is "sufficient" when total score >= 8 out of 12.

Context-Aware Questioning

Before each question, run a brief codebase scan on topics the user mentioned:

  1. User mentions a topic (e.g., "notifications") → run Grep/Glob for related patterns
  2. Use scan results to ground your next question in what actually exists
  3. Unknown/niche topic → suggest research pause before continuing

Signal Detection

  • Vague answer ("maybe", "not sure") → probe deeper on same dimension
  • Niche topic mentioned → "This involves {X}. Want me to research it first?"
  • Detailed answer covering 3+ dimensions → mark all covered, advance
  • No new coverage for 2 consecutive questions → suggest moving to Decision Point

Phase 2: Decision Point

Write interview.md first, then use AskUserQuestion — every option below relies on the saved file. Move past this point only on a formal choice.

  1. Write current state to .claude/plans/{slug}/interview.md

  2. Show coverage summary: "Coverage: What 2/2 | Why 2/2 | Scope 1/2 | ..."

  3. Use AskUserQuestion with EXACTLY these options (4 max — the tool's hard limit; the auto-added "Other" covers freeform discussion):

    • Research — search codebase + internet for approaches (2 agents)
    • Continue interview — ask more questions
    • Make a plan — I'll suggest: $elixir-phoenix:phx-plan .claude/plans/{slug}/interview.md
    • Store & exit — save everything, come back later
  4. Wait for user response. Do NOT proceed without explicit choice

AskUserQuestion discipline: decisions only, never narration or rhetorical check-ins. Every option states concrete impact (what happens, what it costs) so the user can pick without follow-up questions.

Phase 3: Research (Diverge → Evaluate → Converge)

First cycle: MAX 2 agents — keep it fast (~2-3 min). Spawn in ONE Tool Use block with run_in_background: true:

  • phoenix-patterns-analyst: "How does this codebase handle {topics}?" Write to .claude/plans/{slug}/research/codebase-scan.md
  • web-researcher: "Elixir/Phoenix approaches to {topics}" Return 500-word summary

Do NOT spawn additional specialist agents in the first cycle. If user wants deeper investigation, they pick "More research" at the next Decision Point — then spawn focused agents for specific questions.

Evaluate — for each approach found:

  • Thesis: why it works for THIS codebase
  • Antithesis: why it might NOT work (scale, complexity, pattern conflicts)

Converge — present 2-3 approaches with honest trade-offs. Do NOT recommend one. Return to Decision Point (AskUserQuestion).

See references/research-integration.md for details.

Iron Laws

  1. NEVER auto-transition to $elixir-phoenix:phx-plan — always present as option, let user choose
  2. ONE question at a time — never dump a question list
  3. Always write artifacts — interview.md is the contract with $elixir-phoenix:phx-plan
  4. Scan codebase between questions — every question must be context-aware
  5. AskUserQuestion at EVERY decision point — never flow past without formal choice. This is the most critical law. After interview, after research, after discuss — ALWAYS present options via AskUserQuestion. Never let conversation skip the checkpoint
  6. STOP after presenting options — do not proceed without user input
  7. MAX 2 agents in first research cycle — deeper dives are subsequent cycles. User picks "More research" to go deeper, not the skill

Integration

$elixir-phoenix:phx-brainstorm ──→ interview.md ──→ $elixir-phoenix:phx-plan (skips clarification)
                                 ──→ $elixir-phoenix:phx-plan --existing (deepens)
                                 ──→ stored for later session

Position: optional upstream of $elixir-phoenix:phx-plan in workflow cycle.

References

  • references/interview-techniques.md — coverage scoring, question templates, scan patterns, signal detection, interview.md format
  • references/research-integration.md — diverge-evaluate-converge, agent spawn templates, approach presentation format

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

analyze

무료

Analyze a legacy app in any language before rewriting it in Elixir: inventory, features as goals, why each mechanism exists, runtime topology, external contracts. Use to start or refresh a rewrite.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oliver-kriska/claude-elixir-phoenix5692026년 10월 22일 업데이트

architect

무료

Design the idiomatic Elixir architecture for a rewrite: set the compatibility bar (ADR-000), consult phx specialists on open questions, then build contexts, ledger and ADRs. Use after /rewrite:analyze.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oliver-kriska/claude-elixir-phoenix5692026년 10월 22일 업데이트

Ash Framework — resources, actions, policies, aggregates; Use when generating resources via mix ash.codegen, editing…

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oliver-kriska/claude-elixir-phoenix5692026년 10월 22일 업데이트

Ash Framework — resources, actions, policies, aggregates, calculations, AshPhoenix.Form, LiveView, migrations. Use when generating resources via mix ash.codegen, editing changes, checks, types, validations, or domain code interfaces.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oliver-kriska/claude-elixir-phoenix5692026년 10월 22일 업데이트

assigns

무료

Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oliver-kriska/claude-elixir-phoenix5692026년 10월 22일 업데이트

Inspect LiveView socket assigns for memory bloat — missing temporary_assigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporary_assigns.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oliver-kriska/claude-elixir-phoenix5692026년 10월 22일 업데이트

oliver-kriska의 스킬 모두 보기

이 스킬의 문제 신고