{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openspec",
    "name": "OpenSpec",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/jcorrego/openspec",
    "canonicalUrl": "https://clawhub.ai/jcorrego/openspec",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openspec",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openspec",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/schemas.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",
      "slug": "openspec",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:37.338Z",
      "expiresAt": "2026-05-07T16:55:37.338Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openspec",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openspec",
        "contentDisposition": "attachment; filename=\"openspec-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "openspec"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openspec"
    },
    "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/openspec",
    "agentPageUrl": "https://openagent3.xyz/skills/openspec/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openspec/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openspec/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": "OpenSpec — Spec-Driven Development",
        "body": "OpenSpec structures AI-assisted development into trackable changes with artifacts (proposal, specs, design, tasks) that guide implementation."
      },
      {
        "title": "Setup",
        "body": "# Install globally\nnpm install -g @fission-ai/openspec@latest\n\n# Initialize in a project\ncd /path/to/project\nopenspec init --tools claude\n\n# Update after CLI upgrade\nopenspec update"
      },
      {
        "title": "Core Workflow",
        "body": "Each change follows: new → plan → apply → verify → archive"
      },
      {
        "title": "1. Start a Change",
        "body": "# Create change folder with default schema\nopenspec new change <name>\n\n# With specific schema\nopenspec new change <name> --schema tdd-driven"
      },
      {
        "title": "2. Plan (Create Artifacts)",
        "body": "Use the CLI instructions command to get enriched prompts for each artifact:\n\n# Get instructions for next artifact\nopenspec instructions --change <name> --json\n\n# Check progress\nopenspec status --change <name> --json\n\nArtifact sequence (spec-driven schema):\n\nproposal.md — Why and what (intent, scope, approach)\nspecs/ — Requirements + scenarios (Given/When/Then)\ndesign.md — Technical approach and architecture decisions\ntasks.md — Implementation checklist with checkboxes"
      },
      {
        "title": "3. Implement",
        "body": "Read tasks.md and work through items, marking [x] as complete."
      },
      {
        "title": "4. Verify",
        "body": "openspec validate --change <name> --json\n\nChecks completeness, correctness, and coherence."
      },
      {
        "title": "5. Archive",
        "body": "openspec archive <name> --yes\n\nMerges delta specs into main openspec/specs/ and moves change to archive."
      },
      {
        "title": "Agent Workflow (How to Use as an AI Agent)",
        "body": "When the user asks to build/migrate/refactor something with OpenSpec:\n\nCheck project state:\nopenspec list --json           # Active changes\nopenspec list --specs --json   # Current specs\nopenspec schemas --json        # Available schemas\n\n\n\nCreate the change:\nopenspec new change <name> [--schema <schema>]\n\n\n\nFor each artifact, get instructions and create the file:\nopenspec instructions <artifact> --change <name> --json\nopenspec status --change <name> --json\n\nThen write the artifact file to openspec/changes/<name>/.\n\n\nImplement tasks from tasks.md.\n\n\nValidate and archive:\nopenspec validate <name> --json\nopenspec archive <name> --yes"
      },
      {
        "title": "CLI Quick Reference",
        "body": "CommandPurposeopenspec list [--specs] [--json]List changes or specsopenspec show <name> [--json]Show change/spec detailsopenspec status --change <name> [--json]Artifact completion statusopenspec instructions [artifact] --change <name> [--json]Get enriched creation instructionsopenspec validate [name] [--all] [--json]Validate changes/specsopenspec archive <name> [--yes]Archive completed changeopenspec schemas [--json]List available schemasopenspec templates [--json]Show template pathsopenspec configView/modify settings\n\nAlways use --json for programmatic/agent use."
      },
      {
        "title": "Custom Schemas",
        "body": "Schemas define artifact sequences. Create custom ones for different workflows:\n\n# Fork built-in schema\nopenspec schema fork spec-driven my-workflow\n\n# Create from scratch\nopenspec schema init my-workflow\n\n# Validate\nopenspec schema validate my-workflow\n\nSchema files live in openspec/schemas/<name>/schema.yaml with templates in templates/.\n\nFor schema structure details, see references/schemas.md."
      },
      {
        "title": "Project Structure",
        "body": "project/\n├── openspec/\n│   ├── config.yaml          # Project config (default schema, context, rules)\n│   ├── specs/               # Source of truth — current system behavior\n│   ├── changes/             # Active changes (one folder each)\n│   │   └── <change-name>/\n│   │       ├── .openspec.yaml\n│   │       ├── proposal.md\n│   │       ├── specs/       # Delta specs (what's changing)\n│   │       ├── design.md\n│   │       └── tasks.md\n│   └── schemas/             # Custom schemas\n└── .claude/skills/          # Auto-generated Claude integration"
      },
      {
        "title": "Spec Format",
        "body": "Specs use RFC 2119 keywords (SHALL/MUST/SHOULD/MAY) with Given/When/Then scenarios:\n\n### Requirement: User Authentication\nThe system SHALL issue a JWT token upon successful login.\n\n#### Scenario: Valid credentials\n- GIVEN a user with valid credentials\n- WHEN the user submits login form\n- THEN a JWT token is returned"
      },
      {
        "title": "Delta Specs",
        "body": "Changes don't rewrite specs — they describe deltas (ADDED/MODIFIED/REMOVED) that merge into main specs on archive."
      },
      {
        "title": "Config",
        "body": "openspec/config.yaml sets defaults:\n\nschema: spec-driven      # or tdd-driven, rapid, custom\ncontext: |\n  Tech stack: TypeScript, React, Node.js\n  Testing: Jest\nrules:\n  proposal:\n    - Include rollback plan\n  specs:\n    - Use Given/When/Then format"
      }
    ],
    "body": "OpenSpec — Spec-Driven Development\n\nOpenSpec structures AI-assisted development into trackable changes with artifacts (proposal, specs, design, tasks) that guide implementation.\n\nSetup\n# Install globally\nnpm install -g @fission-ai/openspec@latest\n\n# Initialize in a project\ncd /path/to/project\nopenspec init --tools claude\n\n# Update after CLI upgrade\nopenspec update\n\nCore Workflow\n\nEach change follows: new → plan → apply → verify → archive\n\n1. Start a Change\n# Create change folder with default schema\nopenspec new change <name>\n\n# With specific schema\nopenspec new change <name> --schema tdd-driven\n\n2. Plan (Create Artifacts)\n\nUse the CLI instructions command to get enriched prompts for each artifact:\n\n# Get instructions for next artifact\nopenspec instructions --change <name> --json\n\n# Check progress\nopenspec status --change <name> --json\n\n\nArtifact sequence (spec-driven schema):\n\nproposal.md — Why and what (intent, scope, approach)\nspecs/ — Requirements + scenarios (Given/When/Then)\ndesign.md — Technical approach and architecture decisions\ntasks.md — Implementation checklist with checkboxes\n3. Implement\n\nRead tasks.md and work through items, marking [x] as complete.\n\n4. Verify\nopenspec validate --change <name> --json\n\n\nChecks completeness, correctness, and coherence.\n\n5. Archive\nopenspec archive <name> --yes\n\n\nMerges delta specs into main openspec/specs/ and moves change to archive.\n\nAgent Workflow (How to Use as an AI Agent)\n\nWhen the user asks to build/migrate/refactor something with OpenSpec:\n\nCheck project state:\n\nopenspec list --json           # Active changes\nopenspec list --specs --json   # Current specs\nopenspec schemas --json        # Available schemas\n\n\nCreate the change:\n\nopenspec new change <name> [--schema <schema>]\n\n\nFor each artifact, get instructions and create the file:\n\nopenspec instructions <artifact> --change <name> --json\nopenspec status --change <name> --json\n\n\nThen write the artifact file to openspec/changes/<name>/.\n\nImplement tasks from tasks.md.\n\nValidate and archive:\n\nopenspec validate <name> --json\nopenspec archive <name> --yes\n\nCLI Quick Reference\nCommand\tPurpose\nopenspec list [--specs] [--json]\tList changes or specs\nopenspec show <name> [--json]\tShow change/spec details\nopenspec status --change <name> [--json]\tArtifact completion status\nopenspec instructions [artifact] --change <name> [--json]\tGet enriched creation instructions\nopenspec validate [name] [--all] [--json]\tValidate changes/specs\nopenspec archive <name> [--yes]\tArchive completed change\nopenspec schemas [--json]\tList available schemas\nopenspec templates [--json]\tShow template paths\nopenspec config\tView/modify settings\n\nAlways use --json for programmatic/agent use.\n\nCustom Schemas\n\nSchemas define artifact sequences. Create custom ones for different workflows:\n\n# Fork built-in schema\nopenspec schema fork spec-driven my-workflow\n\n# Create from scratch\nopenspec schema init my-workflow\n\n# Validate\nopenspec schema validate my-workflow\n\n\nSchema files live in openspec/schemas/<name>/schema.yaml with templates in templates/.\n\nFor schema structure details, see references/schemas.md.\n\nProject Structure\nproject/\n├── openspec/\n│   ├── config.yaml          # Project config (default schema, context, rules)\n│   ├── specs/               # Source of truth — current system behavior\n│   ├── changes/             # Active changes (one folder each)\n│   │   └── <change-name>/\n│   │       ├── .openspec.yaml\n│   │       ├── proposal.md\n│   │       ├── specs/       # Delta specs (what's changing)\n│   │       ├── design.md\n│   │       └── tasks.md\n│   └── schemas/             # Custom schemas\n└── .claude/skills/          # Auto-generated Claude integration\n\nSpec Format\n\nSpecs use RFC 2119 keywords (SHALL/MUST/SHOULD/MAY) with Given/When/Then scenarios:\n\n### Requirement: User Authentication\nThe system SHALL issue a JWT token upon successful login.\n\n#### Scenario: Valid credentials\n- GIVEN a user with valid credentials\n- WHEN the user submits login form\n- THEN a JWT token is returned\n\nDelta Specs\n\nChanges don't rewrite specs — they describe deltas (ADDED/MODIFIED/REMOVED) that merge into main specs on archive.\n\nConfig\n\nopenspec/config.yaml sets defaults:\n\nschema: spec-driven      # or tdd-driven, rapid, custom\ncontext: |\n  Tech stack: TypeScript, React, Node.js\n  Testing: Jest\nrules:\n  proposal:\n    - Include rollback plan\n  specs:\n    - Use Given/When/Then format"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/jcorrego/openspec",
    "publisherUrl": "https://clawhub.ai/jcorrego/openspec",
    "owner": "jcorrego",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openspec",
    "downloadUrl": "https://openagent3.xyz/downloads/openspec",
    "agentUrl": "https://openagent3.xyz/skills/openspec/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openspec/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openspec/agent.md"
  }
}