# Web-Design-Engineer Step 0: Verify Facts First Requirement Explained

> Learn the essential Step 0 Verify Facts First requirement for web-design-engineer roles. Ensure accuracy before starting any design work to avoid critical errors. Boost your skills now.

- Repository: [ConardLi/garden-skills](https://github.com/ConardLi/garden-skills)
- Tags: how-to-guide
- Published: 2026-09-01

---

**The web-design-engineer skill mandates that agents complete Step 0—Verify Facts Before Anything Else—to confirm all product, brand, SDK, or time-sensitive information before beginning any design work.**

The ConardLi/garden-skills repository defines a strict, staged workflow for the web-design-engineer skill that prioritizes accuracy over speed. At the foundation of this process lies **Step 0**, a non-negotiable guardrail defined in [`skills/web-design-engineer/SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/SKILL.md) that prevents brand misrepresentation by forcing fact-checking before any visual design or token selection begins.

## What Is Step 0 Verify Facts First?

Step 0 is the highest-priority action in the web-design-engineer workflow. It functions as a mandatory pre-check that halts the execution pipeline until the agent confirms the current reality of any mentioned products, specifications, or brand assets. According to the source specification (lines 24-30), this step exists to ensure that every subsequent design decision—whether selecting color palettes, typography, or asset usage—is anchored in correct, up-to-date context rather than assumptions.

### The Philosophy Behind Mandatory Verification

The skill’s architecture treats fact verification as a prerequisite for *stunning* design. Jumping directly into layout work without confirming current reality risks stale or incorrect outputs, such as designing for "v1" of a product when "v2" is already live. By enforcing **accuracy and brand-consistency** as core values, Step 0 prevents the accumulation of design debt based on outdated information.

### When Step 0 Triggers

The requirement activates automatically when any of four conditions are met (lines 31-36):

1. **Product Uncertainty** – The request mentions a specific product, SDK, library, or device the agent cannot confirm.
2. **Time Sensitivity** – The request contains release timelines, version numbers, or specifications subject to change.
3. **Internal Hedging** – The agent recognizes uncertainty markers like "I think…", "probably…", or "should still be…".
4. **Corporate Context** – The user asks for design work tied to a particular company or branded product.

## Implementation Requirements

### Required Actions and Constraints

When triggered, the agent must perform two specific actions (line 37):

- **Search authoritative sources** – Query official documentation, release notes, press kits, or verified repositories.
- **Escalate ambiguity** – If the search yields nothing or remains unclear, ask the user for clarification. The skill explicitly forbids guessing or using speculative phrases such as *"I think X hasn't released yet"*.

### Code Implementation Example

Below is a practical implementation showing how to enforce Step 0 in a JavaScript-based agent architecture:

```javascript
// utils/search.js – wrapper around web-search API
export async function verifyFact(term) {
  const res = await fetch(`https://ddg-api.example.com/search?q=${encodeURIComponent(term)}`);
  const data = await res.json();
  // Return first authoritative result or null if none found
  return data.results.find(r => r.isOfficial) ?? null;
}

```

```javascript
// steps/step0.js – enforce the "Verify Facts" rule
export async function step0VerifyFacts(request) {
  const triggers = [
    /latest version of (.+?)\b/i,
    /new (?:SDK|device|product) (.+?)\b/i,
    /released on (\d{4}-\d{2}-\d{2})\b/i,
  ];

  for (const re of triggers) {
    const m = request.match(re);
    if (m) {
      const term = m[1];
      const fact = await verifyFact(term);
      if (!fact) throw new Error(`I'm not sure about "${term}". Could you clarify?`);
      // Store verified fact for later steps
      return { term, fact };
    }
  }
  // No trigger – proceed without extra verification
  return null;
}

```

```javascript
// main.js – workflow orchestration
import { step0VerifyFacts } from './steps/step0.js';
import { step1UnderstandRequirements } from './steps/step1.js';

export async function runWebDesignEngine(request) {
  // ---- Step 0 -------------------------------------------------
  const verified = await step0VerifyFacts(request);
  // If verification fails, function throws and prompts user
  
  // ---- Step 1 -------------------------------------------------
  const req = await step1UnderstandRequirements(request, verified);
  // … continue with design workflow …
}

```

This implementation demonstrates **trigger detection via regex**, **authoritative lookup**, and **error handling** that strictly adheres to the "do not guess" policy.

## Workflow Integration and Impact

Step 0 functions as a gatekeeper to the remainder of the pipeline. Only after successful fact-verification does the agent proceed to **Step 1 (Understand Requirements)**. This architectural enforcement is reflected in the *Pre-delivery Checklist* (lines 46-49), which guarantees verification was performed for every branded task. By anchoring the workflow in verified reality, the skill prevents cascading errors in design calibration and asset selection that would otherwise propagate through [`skills/web-design-engineer/references/design-calibration.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/references/design-calibration.md) (used in Step 2-b).

## Key Files and Architecture

The "Verify Facts First" requirement is encoded across the following repository files:

- **[`skills/web-design-engineer/SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/SKILL.md)** – Primary definition of the staged workflow, including Step 0 trigger conditions (lines 24-36) and the Pre-delivery Checklist (lines 46-49).
- **[`skills/web-design-engineer/README.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/README.md)** – User-facing overview that mirrors the mandatory verification workflow.
- **[`skills/web-design-engineer/references/browser-acceptance.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/references/browser-acceptance.md)** – Optional acceptance harness that executes only after Step 0 succeeds.
- **[`skills/web-design-engineer/references/failure-patterns.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/references/failure-patterns.md)** – Documents common pitfalls that strict fact verification helps avoid.
- **[`skills/web-design-engineer/references/design-calibration.md`](https://github.com/ConardLi/garden-skills/blob/main/skills/web-design-engineer/references/design-calibration.md)** – Consumed in later workflow stages (Step 2-b) once verified facts are confirmed.

## Summary

- **Step 0 is mandatory** for any web-design-engineer task involving specific products, versions, or brands.
- **Four trigger conditions** force verification: product mentions, time-sensitive data, internal uncertainty, and corporate design requests.
- **No guessing allowed** – Agents must search authoritative sources or ask users; speculative language is forbidden.
- **Architectural gatekeeping** – The Pre-delivery Checklist ensures Step 0 completion before design work proceeds.
- **Repository enforcement** – Defined in [`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md) lines 24-49 and integrated throughout the skill’s reference files.

## Frequently Asked Questions

### What happens if I cannot verify a fact during Step 0?

If authoritative sources return ambiguous or empty results, you must ask the user for clarification. The web-design-engineer skill explicitly prohibits proceeding with assumptions or using phrases like "I think" to describe factual states. This prevents brand misrepresentation based on unverified information.

### Does Step 0 apply to every web-design-engineer request?

No. Step 0 triggers only when the request meets one of four specific conditions: mentioning products/SDKs the agent is unsure about, containing time-sensitive specifications, including internal uncertainty markers, or requesting company-specific design work. When triggered, however, it is non-negotiable.

### How does Step 0 interact with the Pre-delivery Checklist?

The Pre-delivery Checklist (lines 46-47 in [`SKILL.md`](https://github.com/ConardLi/garden-skills/blob/main/SKILL.md)) structurally verifies that Step 0 was completed for every branded task. This creates an architectural guarantee that no design output reaches the user without first passing through the fact-verification gate.

### Can confident knowledge bypass the Step 0 requirement?

No. The requirement is architectural, not conditional on confidence levels. Even with high certainty, any trigger condition (such as specific version numbers or product mentions) forces a verification search through authoritative sources to ensure accuracy according to the specification in lines 31-37.