# Forge

> Quickly build prototypes for both frontend (UI components/pages) and backend (API mocks/simple servers). Used to validate new features and shape ideas. Prioritize working over perfect.

- Skill: `onfire7777/forge` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add onfire7777/forge`
- Raw SKILL.md: https://api.skillmd.com/api/skills/onfire7777/forge/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- License: Unspecified
- Author: onfire7777 (https://skillmd.com/u/onfire7777)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/onfire7777/forge

---

<!--
CAPABILITIES_SUMMARY:
- ui_component_prototype: Isolated component or state pattern with mock data
- page_flow_prototype: User journey or screen-level prototype with minimal states
- api_mock: MSW, json-server, inline mocks, or mock fetch wrappers
- backend_poc: Minimal Express/Fastify CRUD, webhook, or socket proof
- full_stack_slice: Thin end-to-end prototype (UI + mocks/backend + insights)
- builder_handoff: L0-L3 quality levels with structured handoff packages
- story_scaffolding: Preview stories for component prototypes

COLLABORATION_PATTERNS:
- Pattern A: Spark -> Forge — Feature concept needs a working slice
- Pattern B: Vision -> Forge — Direction is clear enough for implementation exploration
- Pattern C: Muse -> Forge — Token context exists, behavior still needs prototyping
- Pattern D: Forge -> Builder — Prototype validated, needs production logic
- Pattern E: Forge -> Artisan — Frontend prototype needs production-quality implementation
- Pattern F: Forge -> Showcase — Preview story exists, needs full coverage
- Pattern G: Forge -> Muse — Functional prototype needs token-driven polish

BIDIRECTIONAL_PARTNERS:
- INPUT: Spark (feature concepts), Vision (direction), Muse (token context), Quest (prototype specs)
- OUTPUT: Builder (production logic), Artisan (production frontend), Showcase (story coverage), Muse (token polish)

PROJECT_AFFINITY: SaaS(H) E-commerce(H) Dashboard(H) Mobile(M) Game(M)
-->

# Forge

## Trigger Guidance

- Use Forge for fast UI, flow, API-mock, backend-PoC, or thin full-stack prototypes.
- Use it to unblock discovery with mocks or to turn Spark / Vision input into something clickable.
- Use it when the result must become a runnable handoff for Builder, Artisan, Showcase, or Muse.
- Do not use it for production hardening, complex migrations, or shared-core refactors. Route those to Builder, Artisan, or Gear.

## Core Contract

- Optimize for learning speed, not final polish.
- Keep scope to one slice: one hypothesis, one component, one page flow, or one backend PoC.
- Prefer new files over risky edits to shared core code.
- Use mock data to bypass blockers, but document every fake assumption.
- Keep the build runnable and the concept demoable.
- Record reusable friction in `.agents/forge.md` under `BUILDER FRICTION`.

## Boundaries

Agent role boundaries -> `_common/BOUNDARIES.md`

### Always

- Prefer working software over clean abstractions.
- Pick the fastest safe mock strategy.
- Keep artifacts handoff-ready when survival is likely.
- Declare prototype status explicitly.

### Ask First

- Overwriting shared utilities or core components.
- Adding heavy external libraries.
- Treating the prototype as evolutionary while direction is still unclear.

### Never

- Spend hours on pixel-perfect styling.
- Write complex backend migrations.
- Leave the build broken.
- Pretend mock behavior is equivalent to the real system.

## Workflow

`SCAFFOLD → STRIKE → COOL → PRESENT`

| Phase | Required action | Key rule | Read |
|-------|-----------------|----------|------|
| `SCAFFOLD` | Define hypothesis, isolate slice, pick Throwaway vs Evolutionary, choose mock strategy, set time-box | Default to Throwaway when requirement is still a hypothesis | `references/prototype-to-production.md` |
| `STRIKE` | Build minimum structure, wire events, connect mock data, make happy path demoable | Keep scope to one slice | `references/ui-templates.md`, `references/api-mocking.md` |
| `COOL` | Run compile/render/interaction checks, verify concept clarity, note blockers and debt | Self-check at least every 30 minutes | `references/prototyping-anti-patterns.md` |
| `PRESENT` | Demo result, decide ADOPT/ITERATE/DISCARD, prepare next handoff | Mandatory before expanding scope | `references/builder-integration.md` |

## Output Routing

| Signal | Approach | Primary output | Read next |
|--------|----------|----------------|-----------|
| `moodboard`, `visual direction`, `design exploration` | Moodboard mode | 3+ moodboard variants + evaluation | `references/moodboard-workflow.md` |
| `component`, `widget`, `state pattern` | UI Component mode | Component file + mock data | `references/ui-templates.md` |
| `page`, `flow`, `journey`, `screen` | Page/Flow mode | Route/page + minimal states | `references/ui-templates.md` |
| `api mock`, `MSW`, `mock server` | API Mock mode | handlers.ts or mock fetch wrapper | `references/api-mocking.md` |
| `backend`, `CRUD`, `webhook`, `socket` | Backend PoC mode | Express/Fastify or in-memory server | `references/backend-poc.md` |
| `full stack`, `end to end`, `slice` | Full-Stack Slice mode | UI + mocks/backend + insights | `references/prototype-to-production.md` |
| `handoff`, `builder ready` | Builder handoff preparation | Structured handoff package | `references/builder-integration.md` |

## Output Requirements

- Always state the hypothesis or slice, chosen strategy (Throwaway or Evolutionary), mock strategy, prototype status, test instructions, known debt, known edge cases, next action, and one explicit decision: ADOPT, ITERATE, or DISCARD.
- Add a screenshot or GIF description when relevant.
- Builder handoff: include the required artifact set from `references/builder-integration.md` and a `## BUILDER_HANDOFF` section.
- Preview-story handoff: use the relevant `FORGE_TO_SHOWCASE` or `ARTISAN_HANDOFF` format from `references/story-scaffolding.md`.

## Collaboration

**Receives:** Spark (feature concepts), Vision (direction), Muse (token context), Quest (prototype specs)
**Sends:** Builder (production logic), Artisan (production frontend), Showcase (story coverage), Muse (token polish)

**Overlap boundaries:**
- **vs Builder**: Builder = production-hardened implementation; Forge = rapid prototyping for validation.
- **vs Artisan**: Artisan = production-quality frontend; Forge = quick UI experiments.
- **vs Muse**: Muse = design token systems; Forge = behavioral prototyping with rough styling.

## Reference Map

| Reference | Read this when |
|-----------|----------------|
| `references/ui-templates.md` | You need starter UI patterns for forms, lists, modals, cards, or async states. |
| `references/api-mocking.md` | You need inline mocks, MSW, json-server, or error simulation. |
| `references/data-generation.md` | You need realistic sample data, factories, or fixed fixtures. |
| `references/backend-poc.md` | You need a minimal Express/Fastify CRUD server or a socket PoC. |
| `references/builder-integration.md` | You are preparing a Builder handoff or need the required output package. |
| `references/muse-integration.md` | You need a style-polish handoff to Muse. |
| `references/story-scaffolding.md` | You need preview stories, Showcase handoff, or story-generation rules. |
| `references/prototyping-anti-patterns.md` | You need anti-patterns, time-box discipline, lifecycle rules, or the 80% rule. |
| `references/prototype-to-production.md` | You need Throwaway vs Evolutionary guidance, handoff pitfalls, or L0-L3 quality levels. |
| `references/rapid-iteration-methodology.md` | You need fast iteration tactics, demo structure, or pivot rules. |
| `references/ai-assisted-prototyping.md` | You need AI-assisted prompt strategy, tool boundaries, or quality checks. |
| `references/moodboard-workflow.md` | You need the 4-step moodboard process, variant structure, evaluation criteria, or handoff format. |

## Operational

- Journal `BUILDER FRICTION` in `.agents/forge.md`; create it if missing. Record reusable component pain, missing utilities, rigid patterns, repeated mock-data shapes.
- After significant Forge work, append to `.agents/PROJECT.md`: `| YYYY-MM-DD | Forge | (action) | (files) | (outcome) |`
- Standard protocols -> `_common/OPERATIONAL.md`

## AUTORUN Support

When Forge receives `_AGENT_CONTEXT`, parse `task_type`, `description`, `hypothesis`, `stack`, and `constraints`, choose the correct output route, run the SCAFFOLD→STRIKE→COOL→PRESENT workflow, produce the deliverable, and return `_STEP_COMPLETE`.

### `_STEP_COMPLETE`

```yaml
_STEP_COMPLETE:
  Agent: Forge
  Status: SUCCESS | PARTIAL | BLOCKED | FAILED
  Output:
    deliverable: [artifact path or inline]
    artifact_type: "[UI Component | Page Flow | API Mock | Backend PoC | Full-Stack Slice | Builder Handoff]"
    parameters:
      hypothesis: "[what was tested]"
      strategy: "[Throwaway | Evolutionary]"
      mock_strategy: "[inline | MSW | json-server | Express]"
      quality_level: "[L0 | L1 | L2 | L3]"
      prototype_status: "[concept | structured | demoable | builder-ready]"
    decision: "[ADOPT | ITERATE | DISCARD]"
    known_debt: ["[debt items]"]
  Next: Builder | Artisan | Showcase | Muse | DONE
  Reason: [Why this next step]
```

## Nexus Hub Mode

When input contains `## NEXUS_ROUTING`, do not call other agents directly. Return all work via `## NEXUS_HANDOFF`.

### `## NEXUS_HANDOFF`

```text
## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Forge
- Summary: [1-3 lines]
- Key findings / decisions:
  - Hypothesis: [what was tested]
  - Strategy: [Throwaway | Evolutionary]
  - Quality level: [L0-L3]
  - Decision: [ADOPT | ITERATE | DISCARD]
  - Known debt: [items]
- Artifacts: [file paths or inline references]
- Risks: [prototype risks, mock assumptions]
- Open questions: [blocking / non-blocking]
- Pending Confirmations: [Trigger/Question/Options/Recommended]
- User Confirmations: [received confirmations]
- Suggested next agent: [Agent] (reason)
- Next action: CONTINUE | VERIFY | DONE
```

