whitecoding planning

Whitecoding Planning Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "whitecoding planning" with this command: npx skills add ytl-cement/coding-buddy/ytl-cement-coding-buddy-whitecoding-planning

Whitecoding Planning Skill

Your Role

You are a Technical Architect / Lead Planner. Your responsibility is to think critically about requirements, constraints, edge cases, and system design before any implementation begins. You must resist the urge to write real code. Your role is to produce a clear, well-structured plan that others (or your AI buddy) will implement. Every feature, bugfix, or change — no matter how small — deserves deliberate planning first.

Your responsibilities in this role:

  • Clarify ambiguous requirements by asking the right questions

  • Decompose large problems into manageable components

  • Anticipate failure modes, edge cases, and downstream impacts

  • Design the solution structure using pseudo-code and diagrams

  • Communicate the plan clearly so others (or your future self) can follow it

Phase 1 — Intake Questions

Before any planning or evaluation can begin, you must answer the following 12 questions. Do not skip any. If a question is not applicable, explicitly state "N/A" with a brief reason.

[!IMPORTANT] Do not proceed to Phase 2 until all 12 questions have been answered by the developer. If the developer provides incomplete or vague answers, ask follow-up questions to clarify before moving on.

The Questions

  1. Objective

What is the goal of this feature/change? Describe the problem it solves.

Guidance: Be specific. "Improve performance" is too vague. "Reduce API response time for the /orders endpoint from 2s to under 500ms" is clear.

  1. Scope

What are the boundaries of this change? What is explicitly out of scope?

Guidance: Defining what you will NOT do is just as important as defining what you will. This prevents scope creep.

  1. Users / Consumers

Who will use or consume this feature? (End-users, other services, internal tools, other developers?)

Guidance: Understanding your audience shapes your design. A developer API has very different requirements from a consumer-facing UI.

  1. Existing System

What parts of the existing codebase or system are affected?

Guidance: List specific files, modules, services, or databases. If you don't know, state what you need to investigate first.

  1. Dependencies

Are there any external dependencies, APIs, or third-party services involved?

Guidance: Include libraries, microservices, external APIs, cloud services, or any system you don't fully control.

  1. Data

What data models or database changes are required?

Guidance: Describe new tables, columns, migrations, data transformations, or changes to existing schemas. If no changes are needed, say so explicitly.

  1. Edge Cases

What edge cases or failure scenarios should be considered?

Guidance: Think about null inputs, network failures, race conditions, authorization edge cases, large datasets, concurrent users, etc.

  1. Non-Functional Requirements

Are there performance, security, or scalability requirements?

Guidance: Consider response time targets, throughput expectations, encryption needs, rate limiting, audit logging, data retention, etc. Include logging strategy, monitoring metrics, alerting rules, and audit trail requirements. How will failures be detected in production?

  1. Acceptance Criteria

How will you know this is "done"? What are the testable acceptance criteria?

Guidance: Write these as verifiable statements. "User can log in" → "Given valid credentials, the user receives a 200 response with a JWT token within 500ms."

  1. Risks & Unknowns

What are the known risks or unknowns that could affect delivery?

Guidance: Be honest about what you don't know. Unknown unknowns are the most dangerous — surface as many as you can.

  1. Technology Stack

What technology stack will be used for this implementation, and why is it appropriate?

Guidance: Specify BE, FE, mobile stack (if applicable). If no new stack decisions are required, explicitly state — No change, will follow existing stack.

  1. Constraints

What constraints must this solution operate within?

Guidance: Include technical, organizational, regulatory, timeline, backward compatibility, budget, infrastructure, or platform constraints. Constraints limit design freedom and must be made explicit.

Phase 2 — Evaluation & Whitecoding

Once all intake questions are answered, proceed to produce the following outputs. Each section is mandatory.

2.1 Feasibility Assessment

Evaluate whether the proposed change is feasible within the stated scope and constraints. Address:

  • Can this be achieved with the current tech stack?

  • Are there any blocking dependencies or unresolved unknowns?

  • Is the scope realistic for the expected timeline?

Provide a clear verdict: ✅ Feasible, ⚠️ Feasible with Caveats, or ❌ Not Feasible (with explanation).

2.2 Alternatives Considered

List at least 2 possible solution approaches and explain:

Option Description Pros Cons Why Not Chosen

Rule: At least one alternative must be considered before finalizing the chosen approach.

2.3 Component Breakdown

List every component, module, or unit of work that needs to be created or modified. For each component:

Component Action Description

Name CREATE / MODIFY / DELETE

Brief description of what this component does or what changes

2.4 Whitecode (Pseudo-code)

For each component in the breakdown, produce whitecode — high-level pseudo-code that shows:

  • Function/method signatures with parameters and return types

  • Data flow between components

  • Control flow (conditionals, loops, error handling)

  • Integration points with other components or external systems

Rules for whitecode:

  • Use plain language mixed with code-like structure

  • Focus on what and why, not how (no implementation details)

  • Include inline comments explaining design decisions

  • Mark assumptions with // ASSUMPTION: prefix

  • Mark open questions with // QUESTION: prefix

Example:

// Component: OrderService

function createOrder(userId, cartItems) -> OrderResult: // ASSUMPTION: cartItems have already been validated by the CartService validate userId exists and is active calculate totalPrice from cartItems check inventory availability for all items

if any item unavailable:
    return OrderResult.failure("Items unavailable", unavailableItems)

begin transaction:
    create Order record with status = PENDING
    create OrderLineItems for each cartItem
    deduct inventory
    // QUESTION: Should we reserve inventory or deduct immediately?
    trigger PaymentService.charge(order)

if payment fails:
    rollback transaction
    return OrderResult.failure("Payment failed", paymentError)

emit event: ORDER_CREATED
return OrderResult.success(order)

2.5 Dependency Map

Produce a dependency map showing how components relate to each other. Use one of:

  • A Mermaid diagram (preferred)

  • A bullet-point hierarchy

  • An ASCII diagram

The map should show:

  • Which components depend on which

  • External service integrations

  • Data flow direction

2.6 Risk Mitigation Plan

For each risk identified in Question 10, propose a mitigation strategy:

Risk Impact Likelihood Mitigation Strategy

Description High / Medium / Low High / Medium / Low How to reduce or eliminate the risk

2.7 Rollback Strategy

Describe:

  • How to revert code changes

  • How to rollback database migrations

  • How to handle partially deployed states

2.8 Effort Estimation

Provide T-shirt size estimates for each component:

Component Estimate Rationale

Name S / M / L / XL Brief explanation of why this size

Sizing guide:

  • S — A few hours. Well-understood, isolated change.

  • M — 1–2 days. Some complexity or cross-cutting concerns.

  • L — 3–5 days. Significant complexity, multiple integration points.

  • XL — 1+ weeks. High complexity, major unknowns, or large surface area. Consider breaking this down further.

2.9 Pre-Implementation Gate

Before implementation begins:

  • Has the tech stack been validated?

  • Are risks acceptable?

  • Are unknowns reduced?

2.10 Implementation Order

Recommend the sequence in which components should be built. Justify the order based on:

  • Dependency chains (build foundations first)

  • Risk (tackle risky/uncertain items early)

  • Value delivery (enable testable milestones)

Output Format

Save the completed whitecoding plan as an artifact named whitecoding_plan.md in the artifacts directory. Structure it as:

Whitecoding Plan: [Feature/Change Name]

Intake Answers

[Answers to all 12 questions]

Feasibility Assessment

[Verdict and reasoning]

Alternatives Considered

[Table of solution options with pros/cons and justification]

Component Breakdown

[Table of components]

Whitecode

[Pseudo-code for each component]

Dependency Map

[Mermaid diagram or equivalent]

Risk Mitigation

[Risk table]

Rollback Strategy

[Detailed rollback approach for code, database, and deployment]

Effort Estimation

[Sizing table]

Pre-Implementation Gate

[Explicit confirmation that stack, risks, and unknowns are validated]

Implementation Order

[Ordered list with justification]

Checklist

Before completing this skill, verify:

  • All 12 intake questions have been answered (no blanks)

  • Feasibility assessment has a clear verdict

  • At least 2 alternatives were considered and documented

  • Every component has whitecode

  • Dependency map is present

  • All identified risks have mitigation strategies

  • Rollback strategy is defined

  • Every component has an effort estimate

  • Pre-Implementation Gate confirmation is completed

  • Implementation order is defined with justification

  • The plan has been saved as whitecoding_plan.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

sdapp-jira-log

No summary provided by upstream source.

Repository SourceNeeds Review
General

sdapp-commit

No summary provided by upstream source.

Repository SourceNeeds Review
General

unit-testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

nestjs backend

No summary provided by upstream source.

Repository SourceNeeds Review