agentsclimarketplace

Strategic questions before code touch

Skill Ed3Design/ed3design-skill-bundles/planning-disciplines/skills/strategic-questions-before-code-touch

Claude Code skill bundles for software engineering: 56 skills + 5 Python tools + 6 hooks + 4 sub-agents across 6 thematic plugins (token-savers, code-quality, planning-disciplines, async-forensik, schema-discipline, skill-system-meta). Empirically TDD-validated patterns, MIT licensed.

Install
npx -y skills add Ed3Design/ed3design-skill-bundles --skill strategic-questions-before-code-touch

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use when about to start a multi-architecture-decision feature implementation (Phase-X-Vision-Spec, complex refactor, new module that touches 3+ existing modules) AFTER Reality-Inventory but BEFORE first code-touch. Pose 2-4 strategic questions via AskUserQuestion that lock in: (a) scope (atomic-block vs phased), (b) model/algorithm choice when ≥2 valid options exist, (c) persistence-decision (new column vs JSONB vs new table), (d) backward-compat strategy. Each question with 2-4 specific options + Recommended-marker. Trigger on phrases like "start Phase X", "implement Vision-Spec", "build new module for X", "refactor Y", "larger code change", "multiple architecture decisions open". Do NOT load for single-bug-fixes, for tasks with only one reasonable approach, when scope/persistence/model are obvious from existing code, or when user explicitly says "just start".

SKILL.md

7.0 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Strategic Questions Before Code-Touch

PROMOTED — TDD pressure test PASS. RED made 6 assumptions without user question (wished-for-code risk, live-trade with wrong sizing as worst case); GREEN formulated 3 strategic questions with 2-3 options each + Recommended marker. Cycle 2 polish: caller-context section "subagent without AskUserQuestion → markdown-simulated block" + AskUserQuestion JSON schema template.

Overview

For multi-architecture decisions, the default temptation is: just start with assumptions. This systematically produces wished-for implementation that later triggers user pushback + requires re-refactor. Pattern from a Phase B+C+D session: 3 strategic questions before code-touch → user 3× Recommended → 30s decision block, ~1.75h clean implementation instead of ~3.5h with pushback loops.

Pattern order (user-confirmed):

  1. Reality inventory (via skill roadmap-phase-execution-verify-first) — document drift vs spec
  2. Strategic questions (this skill) — decisions that influence code direction
  3. TDD cycle (via skill superpowers:test-driven-development) — implementation

When to use

Trigger phrases:

  • "Start / implement Phase X"
  • "Execute vision spec"
  • "Build new module for Y"
  • "Larger refactor"
  • "Multiple architecture decisions open"

Concrete signals:

  • Reality inventory has shown spec drift (wished-for-implementation risk high)
  • ≥2 valid implementation approaches visible (new position-sizer vs re-use; Model A vs B; JSONB vs new column)
  • Backward-compat strategy not obvious
  • Persistence slot not unambiguous (which table/which field?)

When NOT to use

  • Single bug fix: no architecture decisions — directly TDD cycle
  • One obvious solution: when there's only one sensible path
  • Existing pattern fully defined: when the feature follows an established pattern (e.g. "another FastAPI endpoint")
  • User override: "just start" or "do the code first, we'll refactor later"

How to use

Step 1 — Reality inventory done?

Pre-condition: drift table exists. If not → first run roadmap-phase-execution-verify-first.

Step 2 — Formulate strategic questions

2-4 questions each with 2-4 specific options plus Recommended marker for the default suggestion. Question types:

Question typeExample options
Scope"atomic block (~1.75h)" vs "phased (shorter iterations)"
Model/Algorithm"Leverage-relative (consistent with existing)" vs "Strike-Delta (spec original)"
Persistence"JSONB per suggestion (additive)" vs "new v3_signals column (migration)" vs "new table"
Backward-compat"graceful fallback in read layer" vs "explicit migration with backfill"

Step 3 — Formulate options clearly

Per option:

  • Label: 1-5 words
  • Description: 1-2 sentences, what happens + trade-off
  • Recommended marker: at the end of the label "(Recommended)" for the default suggestion

Step 4 — AskUserQuestion with all questions in one block

One AskUserQuestion tool-call with 2-4 questions. User decides in 30s. Code-touch then gated on answers.

Step 5 — Document decisions in commit message

In the feat-commit at the end a section:

Strategic decisions:
- Scope: B+C+D as block
- Model: Leverage-relative
- Persistence: JSONB per suggestion

Makes the pull request reviewable + documents for later code-read why-so.

Anti-patterns

Anti-patternWhat to do instead
Make assumptions without user question → user pushback laterFormulate 2-4 strategic questions, invest 30s
One giant question with 8 optionsMax 4 questions × 4 options, cognitively manageable
Questions without Recommended markerUser wants to see default suggestion, not all equally weighted
Questions AFTER code-touch ("what should I do?")Before code-touch — otherwise sunk-cost pressure
Vague options ("A: faster, B: cleaner")Concrete trade-offs (effort estimate + consequences)

Real-world impact

Phase B+C+D session: spec had 60% drift vs code reality (see roadmap-phase-execution-verify-first application). Three strategic questions via AskUserQuestion (scope/model/persistence) → user 3× Recommended in ~30s.

Outcome:

  • ~1.75h implementation instead of spec-naive ~3.5h
  • Phase C completely saved (existing position_sizer.py re-used instead of built new)
  • JSONB persistence instead of migration (no rollback risk)
  • Backward-compat in bot layer for old signals (graceful skip)

Counterfactual without skill: wished-for-implementation would trigger 2-3 user pushback cycles, ~40min re-refactor effort minimum.

Cross-References

  • roadmap-phase-execution-verify-first — predecessor step (reality inventory)
  • superpowers:test-driven-development — follow-up step (implementation)
  • decision-plan-hypothesis-matrix — related pattern for decision discussions

Background

Pattern discovered after maxim "Outcome > Tool" + Phase B+C+D experience.

Background: TDD log (Bulletproofing log)

Cycle 1 (PASS)

  • RED subagent (without skill): 6 assumptions without user question (leverage-relative vs strike-delta, JSONB vs new column, sizing semantics, migration order). Wished-for implementation as default. Self-reflection identified worst case correctly: "live trades with wrong sizing → trust damage to entire vision-spec model." But self-reflection is not the default workflow.
  • GREEN subagent (with skill): Formulated 3 strategic questions with 2-3 options each + Recommended marker. Caller-context bias (subagent without AskUserQuestion tool) explicitly addressed via markdown-simulated block. NO-code-touch gate before user answer maintained.
  • Refactor: no blocker; cycle-2 backlog extended with subagent caller-context section.

Cycle-2 backlog (polish, non-blocking)

  • Caller-context section "subagent without AskUserQuestion → markdown-simulated block + report-up to top-level caller"
  • AskUserQuestion template as JSON schema code block, so top-level caller can translate subagent markdown block directly into real tool-call
  • Cross-reference to superpowers:subagent-driven-development for caller-limit topic

Gives 0 of the 12 instructions most roadmap strategy skills give in ~1.4k tokens

Counted across 591 of the 672 authors here whose files we hold, read 2026-08-06

  • read product marketing context before asking questionsin 21 of 591, across 10 files
  • base price on perceived value, not costin 15 of 591, across 4 files
  • compact after finalizing a planin 14 of 591, across 9 files
  • differentiate tiers using features, limits, or supportin 14 of 591, across 3 files
  • use Van Westendorp to find acceptable price rangein 13 of 591, across 2 files
  • use MaxDiff to identify highly valued featuresin 13 of 591, across 2 files
  • map topics to buyer journey stagesin 12 of 591, across 6 files
  • Extract domain capabilities and classify subdomainsin 11 of 591, across 1 file
  • Define bounded contexts around consistency and ownershipin 11 of 591, across 1 file
  • Establish a ubiquitous language glossary and anti-termsin 11 of 591, across 1 file
  • Capture context boundaries in ADRs before implementationin 11 of 591, across 1 file
  • Open the strategic design template if neededin 11 of 591, across 1 file

Said here and by no other author read

  • ask two to four strategic questions
  • provide two to four options per question
  • mark a recommended option per question
  • present all questions in one block
  • gate code changes on user answers
  • document decisions in the commit message

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.