{
  "schemaVersion": "1.0",
  "item": {
    "slug": "shaping",
    "name": "Shaping & Breadboarding",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Borahm/shaping",
    "canonicalUrl": "https://clawhub.ai/Borahm/shaping",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/shaping",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=shaping",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/breadboarding.md",
      "references/shaping.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/shaping"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/shaping",
    "agentPageUrl": "https://openagent3.xyz/skills/shaping/agent",
    "manifestUrl": "https://openagent3.xyz/skills/shaping/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/shaping/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Shaping & Breadboarding",
        "body": "Structured methodology for defining problems, exploring solutions, and planning implementation. Based on Shape Up adapted for working with an LLM.\n\nSource: rjs/shaping-skills by @rjs (Ryan Singer, author of Shape Up)"
      },
      {
        "title": "Two Skills in One",
        "body": "Shaping — Iterate on problem (requirements) and solution (shapes) before committing to implementation. Separates what you need from how you might build it, with fit checks to see what's solved and what isn't.\n\nBreadboarding — Map a system into UI affordances, code affordances, and wiring. Shows what users can do and how it works underneath in one view. Good for slicing into vertical scopes."
      },
      {
        "title": "When to Use",
        "body": "Exploring a new feature or product direction\nComparing solution approaches before building\nMapping an existing system to understand where changes land\nBreaking a selected solution into vertical implementation slices\nAny \"should we build X or Y?\" discussion"
      },
      {
        "title": "Entry Points",
        "body": "Start from R (Requirements) — Describe the problem, pain points, constraints. Build up requirements and let shapes emerge.\nStart from S (Shapes) — Sketch a solution already in mind. Capture it as a shape and extract requirements as you go.\n\nNo required order. R and S inform each other throughout."
      },
      {
        "title": "Core Notation",
        "body": "LevelNotationMeaningRelationshipRequirementsR0, R1, R2...Problem constraintsMembers of set RShapesA, B, C...Solution optionsPick one from SComponentsC1, C2, C3...Parts of a shapeCombine within shapeAlternativesC3-A, C3-B...Approaches to a componentPick one per component"
      },
      {
        "title": "Phases",
        "body": "Shaping → Slicing\n\nShaping: Explore problem/solution space, select and detail a shape\nSlicing: Break down for implementation into vertical slices with demo-able UI"
      },
      {
        "title": "Key Actions",
        "body": "Populate R — Gather requirements as they emerge\nSketch a shape — Propose a high-level approach\nDetail — Break shape into components or concrete affordances\nCheck fit — Build decision matrix (R × S), binary ✅/❌ only\nBreadboard — Map to UI/Code affordances with wiring\nSpike — Investigate unknowns\nSlice — Break breadboarded shape into vertical increments"
      },
      {
        "title": "Detailed Reference",
        "body": "For the complete methodology, notation rules, examples, and procedures:\n\nShaping reference: See references/shaping.md — Full shaping methodology including fit checks, parts, spikes, documents, multi-level consistency\nBreadboarding reference: See references/breadboarding.md — Complete breadboarding procedure, affordance tables, places, wiring, Mermaid conventions, chunking, slicing\n\nLoad the relevant reference when entering that phase of work."
      },
      {
        "title": "Quick Reference: Fit Check Format",
        "body": "| Req | Requirement | Status | A | B | C |\n|-----|-------------|--------|---|---|---|\n| R0 | Full requirement text | Core goal | ✅ | ✅ | ✅ |\n| R1 | Full requirement text | Must-have | ✅ | ❌ | ✅ |\n\nAlways show full requirement text, never abbreviate\nBinary only: ✅ or ❌. No ⚠️ in fit checks\nExplanations go in Notes section below the table"
      },
      {
        "title": "Quick Reference: Affordance Tables",
        "body": "UI Affordances: # | Place | Component | Affordance | Control | Wires Out | Returns To\nCode Affordances: Same columns\nControls: click, type, call, observe, write, render\nWires Out (solid →): Control flow — calls, triggers, writes\nReturns To (dashed -.->): Data flow — return values, reads"
      },
      {
        "title": "Quick Reference: Slicing",
        "body": "Every slice must end in demo-able UI\nMax 9 slices\nEach slice demonstrates a mechanism working\nFormat: V1: Name — affordances, demo statement"
      }
    ],
    "body": "Shaping & Breadboarding\n\nStructured methodology for defining problems, exploring solutions, and planning implementation. Based on Shape Up adapted for working with an LLM.\n\nSource: rjs/shaping-skills by @rjs (Ryan Singer, author of Shape Up)\n\nTwo Skills in One\n\nShaping — Iterate on problem (requirements) and solution (shapes) before committing to implementation. Separates what you need from how you might build it, with fit checks to see what's solved and what isn't.\n\nBreadboarding — Map a system into UI affordances, code affordances, and wiring. Shows what users can do and how it works underneath in one view. Good for slicing into vertical scopes.\n\nWhen to Use\nExploring a new feature or product direction\nComparing solution approaches before building\nMapping an existing system to understand where changes land\nBreaking a selected solution into vertical implementation slices\nAny \"should we build X or Y?\" discussion\nEntry Points\nStart from R (Requirements) — Describe the problem, pain points, constraints. Build up requirements and let shapes emerge.\nStart from S (Shapes) — Sketch a solution already in mind. Capture it as a shape and extract requirements as you go.\n\nNo required order. R and S inform each other throughout.\n\nCore Notation\nLevel\tNotation\tMeaning\tRelationship\nRequirements\tR0, R1, R2...\tProblem constraints\tMembers of set R\nShapes\tA, B, C...\tSolution options\tPick one from S\nComponents\tC1, C2, C3...\tParts of a shape\tCombine within shape\nAlternatives\tC3-A, C3-B...\tApproaches to a component\tPick one per component\nPhases\nShaping → Slicing\n\nShaping: Explore problem/solution space, select and detail a shape\nSlicing: Break down for implementation into vertical slices with demo-able UI\nKey Actions\nPopulate R — Gather requirements as they emerge\nSketch a shape — Propose a high-level approach\nDetail — Break shape into components or concrete affordances\nCheck fit — Build decision matrix (R × S), binary ✅/❌ only\nBreadboard — Map to UI/Code affordances with wiring\nSpike — Investigate unknowns\nSlice — Break breadboarded shape into vertical increments\nDetailed Reference\n\nFor the complete methodology, notation rules, examples, and procedures:\n\nShaping reference: See references/shaping.md — Full shaping methodology including fit checks, parts, spikes, documents, multi-level consistency\nBreadboarding reference: See references/breadboarding.md — Complete breadboarding procedure, affordance tables, places, wiring, Mermaid conventions, chunking, slicing\n\nLoad the relevant reference when entering that phase of work.\n\nQuick Reference: Fit Check Format\n| Req | Requirement | Status | A | B | C |\n|-----|-------------|--------|---|---|---|\n| R0 | Full requirement text | Core goal | ✅ | ✅ | ✅ |\n| R1 | Full requirement text | Must-have | ✅ | ❌ | ✅ |\n\nAlways show full requirement text, never abbreviate\nBinary only: ✅ or ❌. No ⚠️ in fit checks\nExplanations go in Notes section below the table\nQuick Reference: Affordance Tables\n\nUI Affordances: # | Place | Component | Affordance | Control | Wires Out | Returns To Code Affordances: Same columns Controls: click, type, call, observe, write, render Wires Out (solid →): Control flow — calls, triggers, writes Returns To (dashed -.->): Data flow — return values, reads\n\nQuick Reference: Slicing\nEvery slice must end in demo-able UI\nMax 9 slices\nEach slice demonstrates a mechanism working\nFormat: V1: Name — affordances, demo statement"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Borahm/shaping",
    "publisherUrl": "https://clawhub.ai/Borahm/shaping",
    "owner": "Borahm",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/shaping",
    "downloadUrl": "https://openagent3.xyz/downloads/shaping",
    "agentUrl": "https://openagent3.xyz/skills/shaping/agent",
    "manifestUrl": "https://openagent3.xyz/skills/shaping/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/shaping/agent.md"
  }
}