# Send Bear Blog Publisher to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- 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.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bear-blog-publisher",
    "name": "Bear Blog Publisher",
    "source": "tencent",
    "type": "skill",
    "category": "其他",
    "sourceUrl": "https://clawhub.ai/CatTalk2/bear-blog-publisher",
    "canonicalUrl": "https://clawhub.ai/CatTalk2/bear-blog-publisher",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/bear-blog-publisher",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bear-blog-publisher",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "package.json",
      "SKILL.md",
      "templates/diagram.html",
      "scripts/publish.py",
      "examples/sample.md"
    ],
    "downloadMode": "redirect",
    "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/bear-blog-publisher"
    },
    "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."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bear-blog-publisher",
    "downloadUrl": "https://openagent3.xyz/downloads/bear-blog-publisher",
    "agentUrl": "https://openagent3.xyz/skills/bear-blog-publisher/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bear-blog-publisher/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bear-blog-publisher/agent.md"
  }
}
```
## Documentation

### Bear Blog Publisher

Publish blog posts to Bear Blog (https://bearblog.dev/).

### Overview

This skill provides automated publishing capabilities for Bear Blog, including optional AI content generation and diagram generation.

### Method 1: OpenClaw Config (Recommended for Personal Use)

Add to your ~/.openclaw/openclaw.json:

{
  "skills": {
    "bear-blog-publisher": {
      "email": "your@email.com",
      "password": "yourpassword"
    }
  }
}

Security: File permissions should be set to 600 (readable only by owner).

### Method 2: Environment Variables (Recommended for CI/CD)

export BEAR_BLOG_EMAIL="your@email.com"
export BEAR_BLOG_PASSWORD="yourpassword"

Security: Credentials exist only in memory, not written to disk.

### Method 3: Runtime Parameters (Recommended for Multi-User)

Provide credentials when calling the skill:

publisher = BearBlogPublisher(email="user@example.com", password="secret")

Security: Caller (chat bot, web app, etc.) manages credential lifecycle.

### AI Content Generation (Optional)

To use AI content generation, configure one of the following:

### OpenAI

export OPENAI_API_KEY="sk-..."

### Kimi

export KIMI_API_KEY="your-kimi-api-key"

### Usage

publisher = BearBlogPublisher()
content = publisher.generate_content(
    topic="Python best practices",
    provider="openai",  # or "kimi"
    tone="professional",
    length="medium"
)
result = publisher.publish(title="My Post", content=content)

### Priority Order

Runtime parameters (highest priority)
Environment variables
OpenClaw config (lowest priority)

### 1. Publish Blog Post

Input:

title (string): Blog post title
content (string): Markdown content
email (string, optional): Bear Blog email
password (string, optional): Bear Blog password

Output:

Published URL or error message

### 2. AI Content Generation (Optional)

Generate blog content using OpenAI or Kimi API.

### 3. Generate Diagram (Optional)

For technical topics, generates architecture diagrams using HTML/CSS + Playwright.

### Security Best Practices

Never commit credentials to git
Use environment variables in production
Set file permissions to 600 for config files
Use runtime parameters for multi-user scenarios

### Security Considerations

This skill makes several operational choices that users should be aware of:

### 1. Playwright Browser Download

Why: Required for generating architecture diagrams as PNG images
Size: ~100MB Chromium browser
Alternative: Skip diagram generation if not needed

### 2. Temporary Files

Location: /tmp/diagram.html and /tmp/diagram.png
Purpose: Intermediate files for diagram generation
Cleanup: Files are overwritten on each run, not explicitly deleted

### 3. --no-sandbox Flag

Why: Required for running Chromium in containerized/Docker environments
Risk: Slightly reduced browser isolation
Mitigation: Only used for local HTML-to-image conversion, no external URLs loaded

### 4. Plaintext Password Storage (Optional)

Config file: Only if user chooses Method 1
Recommendation: Use environment variables (Method 2) or runtime parameters (Method 3) instead
If using config: Always set file permissions to 600

### With Config File

# ~/.openclaw/openclaw.json configured
You: "Publish a blog about Python tips"
AI: [Uses config credentials, publishes]

### With Environment Variables

export BEAR_BLOG_EMAIL="user@example.com"
export BEAR_BLOG_PASSWORD="secret"

You: "Publish a blog about Python tips"
AI: [Uses env vars, publishes]

### With AI Content Generation

export BEAR_BLOG_EMAIL="user@example.com"
export BEAR_BLOG_PASSWORD="secret"
export OPENAI_API_KEY="sk-..."

You: "Write and publish a blog about Python asyncio"
AI: [Generates content with OpenAI, publishes]

### With Runtime Parameters

# In your chat bot code
email = get_user_email()  # Ask user
password = get_user_password()  # Ask user

publisher = BearBlogPublisher(email=email, password=password)
result = publisher.publish(title="My Post", content="# Content")

### Implementation

Uses Bear Blog web API
CSRF token authentication
Session-based (no persistent storage)
Playwright for diagram generation
OpenAI/Kimi API for content generation

### License

MIT
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: CatTalk2
- Version: 1.0.13
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-23T16:43:11.935Z
- Expires at: 2026-04-30T16:43:11.935Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/bear-blog-publisher)
- [Send to Agent page](https://openagent3.xyz/skills/bear-blog-publisher/agent)
- [JSON manifest](https://openagent3.xyz/skills/bear-blog-publisher/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/bear-blog-publisher/agent.md)
- [Download page](https://openagent3.xyz/downloads/bear-blog-publisher)