{
  "schemaVersion": "1.0",
  "item": {
    "slug": "zenn",
    "name": "zenn",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/tachi-koma-x/zenn",
    "canonicalUrl": "https://clawhub.ai/tachi-koma-x/zenn",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/zenn",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=zenn",
    "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-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/zenn"
    },
    "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/zenn",
    "agentPageUrl": "https://openagent3.xyz/skills/zenn/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zenn/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zenn/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": "Overview",
        "body": "Zenn publishes by syncing a GitHub repository. Articles/books are Markdown files placed in specific directories, and Zenn CLI helps you preview and scaffold content locally.\n\nThis skill defines an operational workflow that is both fast and safe:\n\nDraft in PRs (published: false)\nReview with local preview (zenn preview)\nPublish by flipping published: true once the PR is ready"
      },
      {
        "title": "Inputs to collect",
        "body": "Repo path (local clone) and GitHub remote\nPublishing branch (the branch connected to Zenn)\nArticle metadata: title, emoji, type (tech or idea), topics, published\nSlug / filename for the Markdown file (kebab-case recommended)\nAssets (images) location strategy (recommended: images/<slug>/...)"
      },
      {
        "title": "File placement rules (Zenn)",
        "body": "Articles must be placed under articles/ as individual .md files.\n(Optional) Books are placed under books/.\n\nRecommended repo layout:\n\n.\n├─ articles/\n│  └─ 20260216-openclaw-to-zenn.md\n├─ books/                # optional\n└─ images/               # optional, recommended\n   └─ openclaw-to-zenn/\n      ├─ cover.png\n      └─ diagram.png"
      },
      {
        "title": "Install / init (one-time per repo)",
        "body": "If Zenn CLI is not set up yet in the repo:\n\nnpm init --yes\nnpm install zenn-cli\nnpx zenn init"
      },
      {
        "title": "Preview locally",
        "body": "npx zenn preview"
      },
      {
        "title": "Create new content",
        "body": "npx zenn new:article\nnpx zenn new:book"
      },
      {
        "title": "List existing content",
        "body": "npx zenn list:articles\nnpx zenn list:books"
      },
      {
        "title": "Article template (copy/paste)",
        "body": "Create articles/<slug>.md:\n\n---\ntitle: \"記事タイトル\"\nemoji: \"🧩\"\ntype: \"tech\" # tech or idea\ntopics: [\"ruby\", \"rails\", \"ai\"]\npublished: false\n---\n\n## TL;DR\n- ...\n- ...\n- ...\n\n## 背景\n...\n\n## 実装 / 検証\n...\n\n## 学び\n...\n\n## 参考\n- ...\n\nNotes:\n\nTitle is in front matter, so body headings should generally start at ##.\nKeep topics to a small, consistent set for series-building."
      },
      {
        "title": "1) Draft in a feature branch",
        "body": "Create or edit articles/<slug>.md (keep published: false)\nAdd images (if any) under images/<slug>/...\nPreview locally:\nnpx zenn preview"
      },
      {
        "title": "2) Open a PR",
        "body": "git checkout -b article/<slug>\ngit add articles/<slug>.md images/<slug>/\ngit commit -m \"Add draft: <title>\"\ngit push -u origin article/<slug>\n\nOpen a PR into the Zenn publishing branch."
      },
      {
        "title": "3) Publish safely",
        "body": "Option A (safest): publish in a second tiny PR/commit\n\nMerge the draft PR (still published: false)\nFlip to published: true and merge a small PR\n\nOption B (fast): publish in the same PR\n\nKeep published: false during writing/review\nFlip to true right before merging"
      },
      {
        "title": "Quality gate checklist (minimum)",
        "body": "Before setting published: true, verify:\n\nNo confidential info (customer names, internal URLs, unreleased metrics)\nCode blocks are runnable or clearly labeled as pseudo-code\nImages render and paths are correct\nLinks are correct\nSpelling / headings / formatting are acceptable"
      },
      {
        "title": "Troubleshooting",
        "body": "Preview differs from Zenn web or CLI shows update notice:\nnpm install zenn-cli@latest\n\n\nImages not showing:\n\nEnsure they are committed and pushed\nEnsure references look like /images/<slug>/... (not ./images/...)\n\n\nArticle not appearing:\n\nFile is under articles/\npublished: true\nThe branch synced to Zenn is the one being updated"
      },
      {
        "title": "When does this not work?",
        "body": "Skipping PR review (direct publish) increases risk of accidental leaks.\nRelying on UI/browser automation instead of GitHub sync is brittle to UI changes.\nMixing multiple articles in one file or placing files outside articles/ will not publish as expected."
      }
    ],
    "body": "Zenn: GitHub Push/PR Publishing\nOverview\n\nZenn publishes by syncing a GitHub repository. Articles/books are Markdown files placed in specific directories, and Zenn CLI helps you preview and scaffold content locally.\n\nThis skill defines an operational workflow that is both fast and safe:\n\nDraft in PRs (published: false)\nReview with local preview (zenn preview)\nPublish by flipping published: true once the PR is ready\nInputs to collect\nRepo path (local clone) and GitHub remote\nPublishing branch (the branch connected to Zenn)\nArticle metadata: title, emoji, type (tech or idea), topics, published\nSlug / filename for the Markdown file (kebab-case recommended)\nAssets (images) location strategy (recommended: images/<slug>/...)\nFile placement rules (Zenn)\nArticles must be placed under articles/ as individual .md files.\n(Optional) Books are placed under books/.\n\nRecommended repo layout:\n\n.\n├─ articles/\n│  └─ 20260216-openclaw-to-zenn.md\n├─ books/                # optional\n└─ images/               # optional, recommended\n   └─ openclaw-to-zenn/\n      ├─ cover.png\n      └─ diagram.png\n\nZenn CLI usage (local)\nInstall / init (one-time per repo)\n\nIf Zenn CLI is not set up yet in the repo:\n\nnpm init --yes\nnpm install zenn-cli\nnpx zenn init\n\nPreview locally\nnpx zenn preview\n\nCreate new content\nnpx zenn new:article\nnpx zenn new:book\n\nList existing content\nnpx zenn list:articles\nnpx zenn list:books\n\nArticle template (copy/paste)\n\nCreate articles/<slug>.md:\n\n---\ntitle: \"記事タイトル\"\nemoji: \"🧩\"\ntype: \"tech\" # tech or idea\ntopics: [\"ruby\", \"rails\", \"ai\"]\npublished: false\n---\n\n## TL;DR\n- ...\n- ...\n- ...\n\n## 背景\n...\n\n## 実装 / 検証\n...\n\n## 学び\n...\n\n## 参考\n- ...\n\n\nNotes:\n\nTitle is in front matter, so body headings should generally start at ##.\nKeep topics to a small, consistent set for series-building.\nStandard workflow (recommended)\n1) Draft in a feature branch\nCreate or edit articles/<slug>.md (keep published: false)\nAdd images (if any) under images/<slug>/...\nPreview locally:\nnpx zenn preview\n\n2) Open a PR\ngit checkout -b article/<slug>\ngit add articles/<slug>.md images/<slug>/\ngit commit -m \"Add draft: <title>\"\ngit push -u origin article/<slug>\n\n\nOpen a PR into the Zenn publishing branch.\n\n3) Publish safely\n\nOption A (safest): publish in a second tiny PR/commit\n\nMerge the draft PR (still published: false)\nFlip to published: true and merge a small PR\n\nOption B (fast): publish in the same PR\n\nKeep published: false during writing/review\nFlip to true right before merging\nQuality gate checklist (minimum)\n\nBefore setting published: true, verify:\n\nNo confidential info (customer names, internal URLs, unreleased metrics)\nCode blocks are runnable or clearly labeled as pseudo-code\nImages render and paths are correct\nLinks are correct\nSpelling / headings / formatting are acceptable\nTroubleshooting\nPreview differs from Zenn web or CLI shows update notice:\nnpm install zenn-cli@latest\n\nImages not showing:\nEnsure they are committed and pushed\nEnsure references look like /images/<slug>/... (not ./images/...)\nArticle not appearing:\nFile is under articles/\npublished: true\nThe branch synced to Zenn is the one being updated\nWhen does this not work?\nSkipping PR review (direct publish) increases risk of accidental leaks.\nRelying on UI/browser automation instead of GitHub sync is brittle to UI changes.\nMixing multiple articles in one file or placing files outside articles/ will not publish as expected."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/tachi-koma-x/zenn",
    "publisherUrl": "https://clawhub.ai/tachi-koma-x/zenn",
    "owner": "tachi-koma-x",
    "version": "0.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/zenn",
    "downloadUrl": "https://openagent3.xyz/downloads/zenn",
    "agentUrl": "https://openagent3.xyz/skills/zenn/agent",
    "manifestUrl": "https://openagent3.xyz/skills/zenn/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/zenn/agent.md"
  }
}