Skill v1.0.1
currentAutomated scan100/100+3 new
version: "1.0.1" name: plan-pipeline-eng-review description: "Engineering architecture gate: lock architecture, diagrams, edge cases, and test matrix before writing implementation code" effort: medium disable-model-invocation: true
/plan-pipeline:eng-review: Engineering architecture gate
Post-direction, pre-implementation command. Takes validated product direction and returns a buildable technical spec with diagrams. Forces the system to think through architecture before a single line of implementation code is written.
Use after `/plan-pipeline:ceo-review` has locked direction. Still in plan mode.
The problem this solves
Once product direction is locked, the next failure mode is vague architecture. "The system will handle it" is not a plan. This command forces explicit answers to the hard technical questions before they become production incidents.
The key unlock: forcing diagram generation. Diagrams surface hidden assumptions that prose keeps vague. A sequence diagram makes you specify who calls what. A state machine makes you enumerate every failure mode explicitly.
When to use
- After product direction is validated (post
/plan-pipeline:ceo-reviewor equivalent) - Before any implementation work starts on a non-trivial feature
- When the feature has async components, external dependencies, or multi-step flows
- Any time "the architecture is clear" needs to be proven, not assumed
What it should produce
| Output | Why it matters | |
|---|---|---|
| Architecture diagram (Mermaid) | Makes component boundaries explicit | |
| Data flow diagram | Shows where data transforms and who owns what | |
| State machine for core flow | Forces enumeration of all states including failures | |
| Sync vs async boundary decisions | Prevents "just make it async" without reasoning | |
| Failure mode inventory | Every failure path, not just happy path | |
| Trust boundary map | Where do you accept external input? What do you validate? | |
| Test matrix | What needs to be tested and at which layer |
Prompt template
# /plan-pipeline:eng-reviewYou are in engineering manager / tech lead mode. Direction is locked.Your job is to make it buildable: turn the product direction into atechnical spec that an engineer can implement without making architecturedecisions on the fly.Do NOT question the product direction. Do NOT suggest scope changes.Do NOT implement anything. Return a technical spec.## Step 1: Restate the Feature1-2 sentences: what is being built. Confirm you are working from thecorrect brief.## Step 2: Architecture DiagramDraw the component architecture in Mermaid:-All components involved (frontend, backend, jobs, storage, external APIs)-Boundaries between components-Data flow directions
graph LR ...
## Step 3: Core Flow (Sequence Diagram)Draw the happy path as a sequence diagram:- Which components call which, in what order- What data passes at each step- Where async handoffs happen
sequenceDiagram ...
## Step 4: State MachineDraw the state machine for the core domain object:- All valid states- All transitions and their triggers- Terminal states (success AND failure)
stateDiagram-v2 ...
## Step 5: Sync vs Async DecisionsFor each operation in the flow, decide:- **Synchronous** (blocks the request): why, and what is the latency budget- **Asynchronous** (background job): why, what triggers retry, how does thecaller know it succeeded## Step 6: Failure Mode InventoryFor each step in the flow, enumerate:- What can fail- How it fails (silently? loudly? partial success?)- What the recovery path is- What the user seesFlag any failure that is currently silent.## Step 7: Trust BoundariesFor each external input (user uploads, API responses, webhook payloads):- What do you trust? What do you validate?- Where could malicious input cause harm?- Is any external data flowing into further processing (prompt injection risk)?## Step 8: Test Matrix| Layer | What to test | Why ||-------|-------------|-----|| Unit | ... | ... || Integration | ... | ... || E2E | ... | ... |Identify any failure mode from Step 6 that does not have a corresponding test.## Step 9: Open QuestionsList any architectural decision that is genuinely unclear and needs a humandecision before implementation can start. Not a comprehensive list, onlyblockers.
Example
Feature: Smart listing creation from photo (post-/plan-pipeline:ceo-review)
Output excerpt:
graph LRUpload[Photo Upload] --> Storage[Object Storage]Storage --> Classify[Vision Classification Job]Classify --> Enrich[Web Enrichment Job]Enrich --> DraftGen[Draft Generation]DraftGen --> DB[(Listings DB)]DraftGen --> UI[Listing Editor UI]
State machine:
stateDiagram-v2[*] --> pendingpending --> classifyingclassifying --> enrichingclassifying --> classification_failedenriching --> draft_readyenriching --> enrichment_partialenrichment_partial --> draft_readydraft_ready --> publisheddraft_ready --> discarded
Failure modes:
- Classification fails -> degrade to manual listing (not silent failure)
- Enrichment partially fails -> use what succeeded, flag missing fields
- Upload succeeds, classification job never starts -> orphaned file, cleanup job required
- Web data in draft generation -> prompt injection vector, sanitize before passing to LLM
Pipeline position
/plan-pipeline:ceo-review -> product direction locked/plan-pipeline:eng-review -> architecture locked <- you are here/plan-pipeline:start -> produce implementation plan/plan-pipeline:validate -> validate before execution/plan-pipeline:execute -> execute to merged PR