{
  "schemaVersion": "1.0",
  "item": {
    "slug": "describe-design",
    "name": "Describe Design",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ziad-hsn/describe-design",
    "canonicalUrl": "https://clawhub.ai/ziad-hsn/describe-design",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/describe-design",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=describe-design",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.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-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/describe-design"
    },
    "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/describe-design",
    "agentPageUrl": "https://openagent3.xyz/skills/describe-design/agent",
    "manifestUrl": "https://openagent3.xyz/skills/describe-design/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/describe-design/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": "Describe Design",
        "body": "Research a codebase and produce an architectural document describing how features or\nsystems work. The output is a markdown file organized for both human readers and\nfuture AI agents."
      },
      {
        "title": "Stage 1: Scope Definition",
        "body": "Understand what to document before exploring:\n\nAsk what feature, system, or component to document.\nClarify the target audience (developers, AI agents, or both).\nConfirm the codebase location if not obvious from context."
      },
      {
        "title": "Stage 2: Initial Exploration",
        "body": "Explore the codebase broadly to build a mental model. Use lightweight, fast exploration\nmethods when available (in Claude Code, for example, use a Haiku Explore subagent):\n\nScan directory structure and identify key entry points.\nRead README, config files, and existing documentation.\nIdentify the main files and modules related to the feature.\nBuild a mental model of codebase organization.\n\nPresent a high-level outline to the user:\n\n## Proposed Outline\n\n1. [Component A] - Brief description\n2. [Component B] - Brief description\n3. [Component C] - Brief description\n\n* Have I correctly captured the scope of the research? Reply \"yes\" to continue.\n* Otherwise, please let me know what I've misunderstood.\n\nWhen the user confirms the scope, move on to deep research."
      },
      {
        "title": "Stage 3: Deep Research",
        "body": "For each component in the approved outline:\n\nTrace code paths from entry points.\nIdentify dependencies and interactions between components.\nNote configuration options and where they're defined.\nFind where data is stored or persisted.\nBuild a code reference index (file paths + key function/class names).\n\nTry to rely on the initial code exploration for much of this information. Read\nadditional files as needed. If the scope changed considerably in Stage 2, you\ncan engage a second code exploration subagent.\n\nWhen to Stop Exploring\n\nYou're ready to draft when you can:\n\nTrace the happy path — Follow a typical request/action from entry point to\ncompletion without gaps.\nName the boundaries — Clearly state what's in scope and what's external.\nDraw the diagram — Sketch the architecture without placeholder boxes.\nAnswer \"what talks to what?\" — For each component, you know its inputs and outputs.\n\nSigns you're not done:\n\nUncertainty: \"I think this connects to...\" or \"probably calls...\"\nUnresolved references: Found imports/calls to modules you haven't examined.\nMissing edges: Can't explain how data gets from component A to B.\n\nSigns you've gone too far:\n\nReading every file in a directory instead of representative samples.\nTracing into external libraries or framework internals.\nExploring implementation details that don't affect architecture."
      },
      {
        "title": "Stage 4: Document Draft",
        "body": "Generate the document following the template below. Present the draft to the user\nfor review and iterate based on feedback. If available, use the AskUserQuestion\ntool to request user input on key decisions."
      },
      {
        "title": "Stage 5: Finalize",
        "body": "Confirm the file location before writing. You may propose a path based on repository\nconventions (e.g., docs/architecture/, ARCHITECTURE.md), but NEVER write the file\nwithout explicit user confirmation of the location. If the user provided a path upfront,\nthat counts as confirmation.\nWrite the final document to the confirmed location."
      },
      {
        "title": "Document Template",
        "body": "The following template provides a starting point. Adapt it to fit the feature being\ndocumented — omit sections that don't apply, add sections for unique aspects, and\nadjust the structure to best serve the target audience.\n\n# [Feature/System Name] Architecture\n\n## Overview\n\n[1-2 paragraph summary of what this feature/system does and why it exists]\n\n## Architecture Diagram\n\n```mermaid\nflowchart TD\n    A[Entry Point] --> B[Component]\n    B --> C[Data Store]\n```\n\n## Components\n\n### [Component Name]\n\n**Purpose**: [What it does]\n\n**Location**: `path/to/file.ext`\n\n**Key Functions**:\n- `functionName()` - Brief description\n- `anotherFunction()` - Brief description\n\n**Interactions**:\n- Receives input from: [Component]\n- Sends output to: [Component]\n\n## Data Flow\n\n[Description of how data moves through the system, from input to output]\n\n## Configuration\n\n[How features are enabled, disabled, or configured. Include file paths and\nenvironment variables.]\n\n## Code References\n\n| Component | File | Key Symbols |\n|-----------|------|-------------|\n| Auth | `src/auth/index.ts` | `authenticate()`, `AuthConfig` |\n| Cache | `src/cache/redis.ts` | `CacheManager`, `invalidate()` |\n\n## Glossary\n\n| Term | Definition |\n|------|------------|\n| [Term] | [Project-specific definition] |"
      },
      {
        "title": "Code Reference Conventions",
        "body": "Use stable references that survive refactoring:\n\nPaths: Use relative paths from repository root (src/auth/login.ts)\nSymbols: Reference function and class names, not line numbers\nFormat: path/to/file.ext with key symbols listed separately\nAnchors: Use search patterns when helpful (handleAuth function in auth/)\n\nAvoid:\n\nCopying code: Never paste code into the document. Code goes stale immediately;\nthe document should be a guide that points readers to the source. Describe what\ncode does, then reference where to find it.\nLine numbers: They change with every edit.\nAbsolute paths: Use repository-relative paths only."
      },
      {
        "title": "Mermaid Diagrams",
        "body": "Use Mermaid for architecture visualizations:\n\nFlowcharts for component relationships:\n\nflowchart TD\n    A[Client] --> B[API Gateway]\n    B --> C[Service]\n    C --> D[(Database)]\n\nSequence diagrams for request flows:\n\nsequenceDiagram\n    Client->>API: Request\n    API->>Service: Process\n    Service-->>API: Response\n    API-->>Client: Result\n\nKeep diagrams focused on the specific feature being documented. Avoid overcrowding\nwith unrelated components."
      },
      {
        "title": "Writing Guidelines",
        "body": "Describe, never copy: Explain what code does and where to find it. Readers who\nneed implementation details will read the actual source — which is always current.\nStructure for scanning: Use headers, tables, and lists for quick navigation.\nBe specific: Include actual file paths, function names, and config keys.\nServe two audiences: Write clearly for humans; use consistent structure for AI.\nStay current: Note any assumptions about code state or version."
      }
    ],
    "body": "Describe Design\n\nResearch a codebase and produce an architectural document describing how features or systems work. The output is a markdown file organized for both human readers and future AI agents.\n\nWorkflow\nStage 1: Scope Definition\n\nUnderstand what to document before exploring:\n\nAsk what feature, system, or component to document.\nClarify the target audience (developers, AI agents, or both).\nConfirm the codebase location if not obvious from context.\nStage 2: Initial Exploration\n\nExplore the codebase broadly to build a mental model. Use lightweight, fast exploration methods when available (in Claude Code, for example, use a Haiku Explore subagent):\n\nScan directory structure and identify key entry points.\nRead README, config files, and existing documentation.\nIdentify the main files and modules related to the feature.\nBuild a mental model of codebase organization.\n\nPresent a high-level outline to the user:\n\n## Proposed Outline\n\n1. [Component A] - Brief description\n2. [Component B] - Brief description\n3. [Component C] - Brief description\n\n* Have I correctly captured the scope of the research? Reply \"yes\" to continue.\n* Otherwise, please let me know what I've misunderstood.\n\n\nWhen the user confirms the scope, move on to deep research.\n\nStage 3: Deep Research\n\nFor each component in the approved outline:\n\nTrace code paths from entry points.\nIdentify dependencies and interactions between components.\nNote configuration options and where they're defined.\nFind where data is stored or persisted.\nBuild a code reference index (file paths + key function/class names).\n\nTry to rely on the initial code exploration for much of this information. Read additional files as needed. If the scope changed considerably in Stage 2, you can engage a second code exploration subagent.\n\nWhen to Stop Exploring\n\nYou're ready to draft when you can:\n\nTrace the happy path — Follow a typical request/action from entry point to completion without gaps.\nName the boundaries — Clearly state what's in scope and what's external.\nDraw the diagram — Sketch the architecture without placeholder boxes.\nAnswer \"what talks to what?\" — For each component, you know its inputs and outputs.\n\nSigns you're not done:\n\nUncertainty: \"I think this connects to...\" or \"probably calls...\"\nUnresolved references: Found imports/calls to modules you haven't examined.\nMissing edges: Can't explain how data gets from component A to B.\n\nSigns you've gone too far:\n\nReading every file in a directory instead of representative samples.\nTracing into external libraries or framework internals.\nExploring implementation details that don't affect architecture.\nStage 4: Document Draft\n\nGenerate the document following the template below. Present the draft to the user for review and iterate based on feedback. If available, use the AskUserQuestion tool to request user input on key decisions.\n\nStage 5: Finalize\nConfirm the file location before writing. You may propose a path based on repository conventions (e.g., docs/architecture/, ARCHITECTURE.md), but NEVER write the file without explicit user confirmation of the location. If the user provided a path upfront, that counts as confirmation.\nWrite the final document to the confirmed location.\nDocument Template\n\nThe following template provides a starting point. Adapt it to fit the feature being documented — omit sections that don't apply, add sections for unique aspects, and adjust the structure to best serve the target audience.\n\n# [Feature/System Name] Architecture\n\n## Overview\n\n[1-2 paragraph summary of what this feature/system does and why it exists]\n\n## Architecture Diagram\n\n```mermaid\nflowchart TD\n    A[Entry Point] --> B[Component]\n    B --> C[Data Store]\n```\n\n## Components\n\n### [Component Name]\n\n**Purpose**: [What it does]\n\n**Location**: `path/to/file.ext`\n\n**Key Functions**:\n- `functionName()` - Brief description\n- `anotherFunction()` - Brief description\n\n**Interactions**:\n- Receives input from: [Component]\n- Sends output to: [Component]\n\n## Data Flow\n\n[Description of how data moves through the system, from input to output]\n\n## Configuration\n\n[How features are enabled, disabled, or configured. Include file paths and\nenvironment variables.]\n\n## Code References\n\n| Component | File | Key Symbols |\n|-----------|------|-------------|\n| Auth | `src/auth/index.ts` | `authenticate()`, `AuthConfig` |\n| Cache | `src/cache/redis.ts` | `CacheManager`, `invalidate()` |\n\n## Glossary\n\n| Term | Definition |\n|------|------------|\n| [Term] | [Project-specific definition] |\n\nCode Reference Conventions\n\nUse stable references that survive refactoring:\n\nPaths: Use relative paths from repository root (src/auth/login.ts)\nSymbols: Reference function and class names, not line numbers\nFormat: path/to/file.ext with key symbols listed separately\nAnchors: Use search patterns when helpful (handleAuth function in auth/)\n\nAvoid:\n\nCopying code: Never paste code into the document. Code goes stale immediately; the document should be a guide that points readers to the source. Describe what code does, then reference where to find it.\nLine numbers: They change with every edit.\nAbsolute paths: Use repository-relative paths only.\nMermaid Diagrams\n\nUse Mermaid for architecture visualizations:\n\nFlowcharts for component relationships:\n\nflowchart TD\n    A[Client] --> B[API Gateway]\n    B --> C[Service]\n    C --> D[(Database)]\n\n\nSequence diagrams for request flows:\n\nsequenceDiagram\n    Client->>API: Request\n    API->>Service: Process\n    Service-->>API: Response\n    API-->>Client: Result\n\n\nKeep diagrams focused on the specific feature being documented. Avoid overcrowding with unrelated components.\n\nWriting Guidelines\nDescribe, never copy: Explain what code does and where to find it. Readers who need implementation details will read the actual source — which is always current.\nStructure for scanning: Use headers, tables, and lists for quick navigation.\nBe specific: Include actual file paths, function names, and config keys.\nServe two audiences: Write clearly for humans; use consistent structure for AI.\nStay current: Note any assumptions about code state or version."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ziad-hsn/describe-design",
    "publisherUrl": "https://clawhub.ai/ziad-hsn/describe-design",
    "owner": "ziad-hsn",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/describe-design",
    "downloadUrl": "https://openagent3.xyz/downloads/describe-design",
    "agentUrl": "https://openagent3.xyz/skills/describe-design/agent",
    "manifestUrl": "https://openagent3.xyz/skills/describe-design/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/describe-design/agent.md"
  }
}