skills/engineering_flow/SKILL.md
Core engineering workflow standards detailing the 2x2 prioritization matrix, RFC/ADR planning, and the 7-tier Evidence Hierarchy for research. Activate at the start of any task, when designing features, refactoring, dealing with technical ambiguity, performing research, or setting quality gates.
npx skillsauth add danicat/godoctor engineering_flowInstall 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.
This skill establishes the core engineering standards, decision frameworks, and research rules for developing the GoDoctor codebase. It defines how we prioritize tasks, structure technical decisions, and systematically eliminate uncertainty via grounded research to guarantee the delivery of maximum business value with zero-defect quality.
The ultimate goal of all software engineering is the delivery of business value. We do not write code for the sake of coding ("vibe coding" without structure); we write code to solve real-world problems.
To maximize effectiveness, we must:
To manage the evolution of the codebase, we use a structured, conversational planning process:
graph TD
A["Ambiguous Goal / High Complexity"] --> B["RFC (exploratory, fluid, options)"]
B -->|Discuss / Iterate| C["Consensus Reached"]
C --> D["ADR (immutable, decision record)"]
D --> E["Actionable Tasks (Context/Todo/AC)"]
F["Trivial Goal / Low Complexity"] --> E
design/rfc/.design/adr/.Before beginning any work, prioritize goals using the 2x2 Prioritization Matrix, which maps tasks based on their Business Value and Technical Certainty:
| | High Technical Certainty | Low Technical Certainty | | :--- | :--- | :--- | | High Business Value | Synchronous (Hands-on):<br>Execute immediately using high-control interactive tools. Stay "in the loop" to maintain absolute control. | Asynchronous Research & Spikes:<br>Do NOT write production code yet. You must run research, build prototypes, or draft an RFC to reduce uncertainty first. | | Low Business Value | Asynchronous Delegation:<br>Delegate these "nice-to-have" tasks to background coding agents or subagents to free up principal developer time. | Avoid or Defer:<br>Do not spend time here. If absolutely necessary, delegate to background agents for low-priority execution after attempting to increase certainty. |
When facing a Low Technical Certainty task, you must systematically reduce uncertainty before writing any production code:
scratch/ directory to test APIs, libraries, and compiler compatibility.To bypass AI model training cutoff limits and prevent library API hallucinations, all technical research must be grounded on verified evidence. Use the following hierarchy of source validity, prioritizing stronger evidence over weaker ones:
[1] SOURCE CODE (Strongest)
└── [2] OFFICIAL DOCUMENTATION
└── [3] OFFICIAL PRODUCT BLOGS
└── [4] LEADER BLOG POSTS (<3 Months)
└── [5] REPUTABLE COMMUNITY POSTS (<3 Months)
└── [6] BLOGS (>3 Months)
└── [7] SOCIAL MEDIA (Weakest)
AI models operate under static training data cutoff limits. This introduces Model Drift, where the model incorrectly assumes modern software packages, library versions, or even newer LLM models (e.g., assuming gemini-3.5-flash does not exist or that gemini-2.5-pro is the latest) do not exist.
To mitigate this limitation, you must follow this mandatory version verification protocol:
latest-software-versions or latest-version.go list -m -versions, npm queries, or proxy lookups) to bypass the cutoff limits and verify the absolute latest stable releases.As the final stage of any technical milestone, refactoring, or feature branch completion, you must respect the strict release quality gate before interacting with the Git repository for committing, tagging, or publishing.
ready-for-release-check skill.development
Guidelines and templates for structuring software development goals and ideas into actionable, bounded tasks using Context/Todo/AC, enforced by the DoR gate. Activate when scoping user requests, decomposing RFCs into tasks, or creating a new task file.
development
Guidelines and templates for authoring Request for Comments (RFCs). Activate when proposing significant features/refactorings, exploring design alternatives under high ambiguity, or gathering technical consensus.
development
Pre-release checklist and quality gate to verify codebase health, docs, and security before interacting with Git. Activate when preparing to tag/publish a release, concluding milestones, or running final verification on a pull request.
development
Highly actionable step-by-step checklist for diagnosing and resolving Go compilation errors, type errors, build/test failures, and runtime issues. Activate on any build or execution failure.