{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bearblog",
    "name": "Bearblog",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/azade-c/bearblog",
    "canonicalUrl": "https://clawhub.ai/azade-c/bearblog",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/bearblog",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bearblog",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "examples/browser-api-reference.md",
      "examples/daily-post-template.md",
      "examples/post-workflow.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-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.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/bearblog"
    },
    "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/bearblog",
    "agentPageUrl": "https://openagent3.xyz/skills/bearblog/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bearblog/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bearblog/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": "Bear Blog Skill",
        "body": "Create, edit, and manage posts on Bear Blog — a minimal, fast blogging platform."
      },
      {
        "title": "Authentication",
        "body": "Bear Blog requires browser-based authentication. Log in once via the browser tool, and cookies will persist.\n\nbrowser action:navigate url:https://bearblog.dev/accounts/login/"
      },
      {
        "title": "Step 1: Navigate to the post editor",
        "body": "browser action:navigate url:https://bearblog.dev/<subdomain>/dashboard/posts/new/"
      },
      {
        "title": "Step 2: Fill the editor",
        "body": "Bear Blog uses a plain text header format.\n\nThe editor fields are:\n\ndiv#header_content (contenteditable): attributes (one per line)\ntextarea#body_content: Markdown body\n\nVerified: use fill/type on those two fields, then click Publish (or Save as draft). No evaluate needed.\n\nHeader format:\n\ntitle: Your Post Title\nlink: custom-slug\npublished_date: 2026-01-05 14:00\ntags: tag1, tag2, tag3\nmake_discoverable: true\nis_page: false\nclass_name: custom-css-class\nmeta_description: SEO description for the post\nmeta_image: https://example.com/image.jpg\nlang: en\ncanonical_url: https://original-source.com/post\nalias: alternative-url\n\nBody format: Standard Markdown with extensions (see below).\n\nThe separator ___ (three underscores) is used in templates to separate header from body."
      },
      {
        "title": "Step 3: Publish",
        "body": "Click the publish button or submit the form with publish: true."
      },
      {
        "title": "Post Attributes Reference",
        "body": "AttributeDescriptionExampletitlePost title (required)title: My PostlinkCustom URL sluglink: my-custom-urlpublished_datePublication date/timepublished_date: 2026-01-05 14:30tagsComma-separated tagstags: tech, ai, codingmake_discoverableShow in discovery feedmake_discoverable: trueis_pageStatic page vs blog postis_page: falseclass_nameCustom CSS class (slugified)class_name: featuredmeta_descriptionSEO meta descriptionmeta_description: A post about...meta_imageOpen Graph image URLmeta_image: https://...langLanguage codelang: frcanonical_urlCanonical URL for SEOcanonical_url: https://...aliasAlternative URL pathalias: old-url"
      },
      {
        "title": "Extended Markdown",
        "body": "Bear Blog uses Mistune with plugins:"
      },
      {
        "title": "Text Formatting",
        "body": "~~strikethrough~~ → strikethrough\n^superscript^ → superscript\n~subscript~ → subscript\n==highlighted== → highlighted (mark)\n**bold** and *italic* — standard"
      },
      {
        "title": "Footnotes",
        "body": "Here's a sentence with a footnote.[^1]\n\n[^1]: This is the footnote content."
      },
      {
        "title": "Task Lists",
        "body": "- [x] Completed task\n- [ ] Incomplete task"
      },
      {
        "title": "Tables",
        "body": "| Header 1 | Header 2 |\n|----------|----------|\n| Cell 1   | Cell 2   |"
      },
      {
        "title": "Code Blocks",
        "body": "```python\ndef hello():\n    print(\"Hello, world!\")\n```\n\nSyntax highlighting via Pygments (specify language after ```)."
      },
      {
        "title": "Math (LaTeX)",
        "body": "Inline: $E = mc^2$\nBlock: $$\\int_0^\\infty e^{-x^2} dx$$"
      },
      {
        "title": "Abbreviations",
        "body": "*[HTML]: Hypertext Markup Language\nThe HTML specification is maintained by the W3C."
      },
      {
        "title": "Admonitions",
        "body": ".. note::\n   This is a note admonition.\n\n.. warning::\n   This is a warning."
      },
      {
        "title": "Table of Contents",
        "body": ".. toc::"
      },
      {
        "title": "Dynamic Variables",
        "body": "Use {{ variable }} in your content:"
      },
      {
        "title": "Blog Variables",
        "body": "{{ blog_title }} — Blog title\n{{ blog_description }} — Blog meta description\n{{ blog_created_date }} — Blog creation date\n{{ blog_last_modified }} — Time since last modification\n{{ blog_last_posted }} — Time since last post\n{{ blog_link }} — Full blog URL\n{{ tags }} — Rendered tag list with links"
      },
      {
        "title": "Post Variables (in post templates)",
        "body": "{{ post_title }} — Current post title\n{{ post_description }} — Post meta description\n{{ post_published_date }} — Publication date\n{{ post_last_modified }} — Time since modification\n{{ post_link }} — Full post URL\n{{ next_post }} — Link to next post\n{{ previous_post }} — Link to previous post"
      },
      {
        "title": "Post Listing",
        "body": "{{ posts }}\n{{ posts limit:5 }}\n{{ posts tag:\"tech\" }}\n{{ posts tag:\"tech,ai\" limit:10 order:asc }}\n{{ posts description:True image:True content:True }}\n\nParameters:\n\ntag: — filter by tag(s), comma-separated\nlimit: — max number of posts\norder: — asc or desc (default: desc)\ndescription:True — show meta descriptions\nimage:True — show meta images\ncontent:True — show full content (only on pages)"
      },
      {
        "title": "Email Signup (upgraded blogs only)",
        "body": "{{ email-signup }}\n{{ email_signup }}"
      },
      {
        "title": "Standard Links",
        "body": "[Link text](https://example.com)\n[Link with title](https://example.com \"Title text\")"
      },
      {
        "title": "Open in New Tab",
        "body": "Prefix URL with tab::\n\n[External link](tab:https://example.com)"
      },
      {
        "title": "Heading Anchors",
        "body": "Headings automatically get slugified IDs:\n\n## My Section Title\n\nLinks to: #my-section-title"
      },
      {
        "title": "Typography",
        "body": "Automatic replacements:\n\n(c) → ©\n(C) → ©\n(r) → ®\n(R) → ®\n(tm) → ™\n(TM) → ™\n(p) → ℗\n(P) → ℗\n+- → ±"
      },
      {
        "title": "Raw HTML",
        "body": "HTML is supported directly in Markdown:\n\n<div class=\"custom-class\" style=\"text-align: center;\">\n  <p>Centered content with custom styling</p>\n</div>\n\nNote: <script>, <object>, <embed>, <form> are stripped for free accounts. Iframes are whitelisted (YouTube, Vimeo, Spotify, etc.)."
      },
      {
        "title": "Whitelisted Iframe Sources",
        "body": "youtube.com, youtube-nocookie.com\nvimeo.com\nsoundcloud.com\nspotify.com\ncodepen.io\ngoogle.com (docs, drive, maps)\nbandcamp.com\napple.com (music embeds)\narchive.org\nAnd more..."
      },
      {
        "title": "Dashboard URLs",
        "body": "Replace <subdomain> with your blog subdomain:\n\nBlog list: https://bearblog.dev/dashboard/\nDashboard: https://bearblog.dev/<subdomain>/dashboard/\nPosts list: https://bearblog.dev/<subdomain>/dashboard/posts/\nNew post: https://bearblog.dev/<subdomain>/dashboard/posts/new/\nEdit post: https://bearblog.dev/<subdomain>/dashboard/posts/<uid>/\nStyles: https://bearblog.dev/<subdomain>/dashboard/styles/\nNavigation: https://bearblog.dev/<subdomain>/dashboard/nav/\nAnalytics: https://bearblog.dev/<subdomain>/dashboard/analytics/\nSettings: https://bearblog.dev/<subdomain>/dashboard/settings/"
      },
      {
        "title": "Example: Complete Post",
        "body": "Header content:\n\ntitle: Getting Started with AI Assistants\nlink: ai-assistants-intro\npublished_date: 2026-01-05 15:00\nmeta_description: A beginner's guide to working with AI assistants\ntags: ai, tutorial, tech\nis_page: false\nlang: en\n\nBody content:\n\nAI assistants are changing how we work. Here's what you need to know.\n\n## Why AI Assistants?\n\nThey help with:\n- [x] Writing and editing\n- [x] Research and analysis\n- [ ] Making coffee (not yet!)\n\n> \"The best tool is the one you actually use.\" — Someone wise\n\n## Getting Started\n\nCheck out [OpenAI](tab:https://openai.com) or [Anthropic](tab:https://anthropic.com) for popular options.\n\n---\n\n*What's your experience with AI? Let me know!*\n\n{{ previous_post }} {{ next_post }}"
      },
      {
        "title": "Tips",
        "body": "Preview before publishing — Use the preview button to check formatting\nUse templates — Set up a post template in dashboard settings for consistent headers\nSchedule posts — Set published_date in the future\nDraft mode — Don't click publish to keep as draft\nCustom CSS — Add class_name and style in your blog's CSS\nSEO — Always set meta_description and meta_image"
      },
      {
        "title": "Troubleshooting",
        "body": "Post not showing? Check publish status and published_date\nTags not working? Use comma separation, no quotes\nStyling issues? Check class_name is slugified (lowercase, hyphens)\nDate format error? Use YYYY-MM-DD HH:MM"
      }
    ],
    "body": "Bear Blog Skill\n\nCreate, edit, and manage posts on Bear Blog — a minimal, fast blogging platform.\n\nAuthentication\n\nBear Blog requires browser-based authentication. Log in once via the browser tool, and cookies will persist.\n\nbrowser action:navigate url:https://bearblog.dev/accounts/login/\n\nCreating a Post\nStep 1: Navigate to the post editor\nbrowser action:navigate url:https://bearblog.dev/<subdomain>/dashboard/posts/new/\n\nStep 2: Fill the editor\n\nBear Blog uses a plain text header format.\n\nThe editor fields are:\n\ndiv#header_content (contenteditable): attributes (one per line)\ntextarea#body_content: Markdown body\n\nVerified: use fill/type on those two fields, then click Publish (or Save as draft). No evaluate needed.\n\nHeader format:\n\ntitle: Your Post Title\nlink: custom-slug\npublished_date: 2026-01-05 14:00\ntags: tag1, tag2, tag3\nmake_discoverable: true\nis_page: false\nclass_name: custom-css-class\nmeta_description: SEO description for the post\nmeta_image: https://example.com/image.jpg\nlang: en\ncanonical_url: https://original-source.com/post\nalias: alternative-url\n\n\nBody format: Standard Markdown with extensions (see below).\n\nThe separator ___ (three underscores) is used in templates to separate header from body.\n\nStep 3: Publish\n\nClick the publish button or submit the form with publish: true.\n\nPost Attributes Reference\nAttribute\tDescription\tExample\ntitle\tPost title (required)\ttitle: My Post\nlink\tCustom URL slug\tlink: my-custom-url\npublished_date\tPublication date/time\tpublished_date: 2026-01-05 14:30\ntags\tComma-separated tags\ttags: tech, ai, coding\nmake_discoverable\tShow in discovery feed\tmake_discoverable: true\nis_page\tStatic page vs blog post\tis_page: false\nclass_name\tCustom CSS class (slugified)\tclass_name: featured\nmeta_description\tSEO meta description\tmeta_description: A post about...\nmeta_image\tOpen Graph image URL\tmeta_image: https://...\nlang\tLanguage code\tlang: fr\ncanonical_url\tCanonical URL for SEO\tcanonical_url: https://...\nalias\tAlternative URL path\talias: old-url\nExtended Markdown\n\nBear Blog uses Mistune with plugins:\n\nText Formatting\n~~strikethrough~~ → strikethrough\n^superscript^ → superscript\n~subscript~ → subscript\n==highlighted== → highlighted (mark)\n**bold** and *italic* — standard\nFootnotes\nHere's a sentence with a footnote.[^1]\n\n[^1]: This is the footnote content.\n\nTask Lists\n- [x] Completed task\n- [ ] Incomplete task\n\nTables\n| Header 1 | Header 2 |\n|----------|----------|\n| Cell 1   | Cell 2   |\n\nCode Blocks\n```python\ndef hello():\n    print(\"Hello, world!\")\n```\n\n\nSyntax highlighting via Pygments (specify language after ```).\n\nMath (LaTeX)\nInline: $E = mc^2$\nBlock: $$\\int_0^\\infty e^{-x^2} dx$$\nAbbreviations\n*[HTML]: Hypertext Markup Language\nThe HTML specification is maintained by the W3C.\n\nAdmonitions\n.. note::\n   This is a note admonition.\n\n.. warning::\n   This is a warning.\n\nTable of Contents\n.. toc::\n\nDynamic Variables\n\nUse {{ variable }} in your content:\n\nBlog Variables\n{{ blog_title }} — Blog title\n{{ blog_description }} — Blog meta description\n{{ blog_created_date }} — Blog creation date\n{{ blog_last_modified }} — Time since last modification\n{{ blog_last_posted }} — Time since last post\n{{ blog_link }} — Full blog URL\n{{ tags }} — Rendered tag list with links\nPost Variables (in post templates)\n{{ post_title }} — Current post title\n{{ post_description }} — Post meta description\n{{ post_published_date }} — Publication date\n{{ post_last_modified }} — Time since modification\n{{ post_link }} — Full post URL\n{{ next_post }} — Link to next post\n{{ previous_post }} — Link to previous post\nPost Listing\n{{ posts }}\n{{ posts limit:5 }}\n{{ posts tag:\"tech\" }}\n{{ posts tag:\"tech,ai\" limit:10 order:asc }}\n{{ posts description:True image:True content:True }}\n\n\nParameters:\n\ntag: — filter by tag(s), comma-separated\nlimit: — max number of posts\norder: — asc or desc (default: desc)\ndescription:True — show meta descriptions\nimage:True — show meta images\ncontent:True — show full content (only on pages)\nEmail Signup (upgraded blogs only)\n{{ email-signup }}\n{{ email_signup }}\n\nLinks\nStandard Links\n[Link text](https://example.com)\n[Link with title](https://example.com \"Title text\")\n\nOpen in New Tab\n\nPrefix URL with tab::\n\n[External link](tab:https://example.com)\n\nHeading Anchors\n\nHeadings automatically get slugified IDs:\n\n## My Section Title\n\n\nLinks to: #my-section-title\n\nTypography\n\nAutomatic replacements:\n\n(c) → ©\n(C) → ©\n(r) → ®\n(R) → ®\n(tm) → ™\n(TM) → ™\n(p) → ℗\n(P) → ℗\n+- → ±\nRaw HTML\n\nHTML is supported directly in Markdown:\n\n<div class=\"custom-class\" style=\"text-align: center;\">\n  <p>Centered content with custom styling</p>\n</div>\n\n\nNote: <script>, <object>, <embed>, <form> are stripped for free accounts. Iframes are whitelisted (YouTube, Vimeo, Spotify, etc.).\n\nWhitelisted Iframe Sources\nyoutube.com, youtube-nocookie.com\nvimeo.com\nsoundcloud.com\nspotify.com\ncodepen.io\ngoogle.com (docs, drive, maps)\nbandcamp.com\napple.com (music embeds)\narchive.org\nAnd more...\nDashboard URLs\n\nReplace <subdomain> with your blog subdomain:\n\nBlog list: https://bearblog.dev/dashboard/\nDashboard: https://bearblog.dev/<subdomain>/dashboard/\nPosts list: https://bearblog.dev/<subdomain>/dashboard/posts/\nNew post: https://bearblog.dev/<subdomain>/dashboard/posts/new/\nEdit post: https://bearblog.dev/<subdomain>/dashboard/posts/<uid>/\nStyles: https://bearblog.dev/<subdomain>/dashboard/styles/\nNavigation: https://bearblog.dev/<subdomain>/dashboard/nav/\nAnalytics: https://bearblog.dev/<subdomain>/dashboard/analytics/\nSettings: https://bearblog.dev/<subdomain>/dashboard/settings/\nExample: Complete Post\n\nHeader content:\n\ntitle: Getting Started with AI Assistants\nlink: ai-assistants-intro\npublished_date: 2026-01-05 15:00\nmeta_description: A beginner's guide to working with AI assistants\ntags: ai, tutorial, tech\nis_page: false\nlang: en\n\n\nBody content:\n\nAI assistants are changing how we work. Here's what you need to know.\n\n## Why AI Assistants?\n\nThey help with:\n- [x] Writing and editing\n- [x] Research and analysis\n- [ ] Making coffee (not yet!)\n\n> \"The best tool is the one you actually use.\" — Someone wise\n\n## Getting Started\n\nCheck out [OpenAI](tab:https://openai.com) or [Anthropic](tab:https://anthropic.com) for popular options.\n\n---\n\n*What's your experience with AI? Let me know!*\n\n{{ previous_post }} {{ next_post }}\n\nTips\nPreview before publishing — Use the preview button to check formatting\nUse templates — Set up a post template in dashboard settings for consistent headers\nSchedule posts — Set published_date in the future\nDraft mode — Don't click publish to keep as draft\nCustom CSS — Add class_name and style in your blog's CSS\nSEO — Always set meta_description and meta_image\nTroubleshooting\nPost not showing? Check publish status and published_date\nTags not working? Use comma separation, no quotes\nStyling issues? Check class_name is slugified (lowercase, hyphens)\nDate format error? Use YYYY-MM-DD HH:MM"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/azade-c/bearblog",
    "publisherUrl": "https://clawhub.ai/azade-c/bearblog",
    "owner": "azade-c",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bearblog",
    "downloadUrl": "https://openagent3.xyz/downloads/bearblog",
    "agentUrl": "https://openagent3.xyz/skills/bearblog/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bearblog/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bearblog/agent.md"
  }
}