← 返回 Skills 市场
shyjal

Help.Center Article Management

作者 shyjal · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
385
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install helpcenter
功能描述
When the user wants to create, update, read, or manage help center articles via the Help.Center API. Use when the user says "write a help article", "update t...
使用说明 (SKILL.md)

Help.Center Article Management

Manage help center articles through the Help.Center API. Supports creating new articles, reading and updating existing ones, publishing/unpublishing, and organizing by category.

Prerequisites

Before making any API calls, you need two pieces of information from the user:

  1. API Key - Created in Help.Center dashboard under Settings > General > API
    • The key must have appropriate scopes:
      • content.read - Required for searching/reading articles
      • content.write - Required for creating/updating articles and categories
      • content.publish - Required for publishing/unpublishing articles
      • content.delete - Required for deleting articles or categories
  2. Center ID - Found on the same page

If the user hasn't provided these, ask for them before proceeding. Store them as environment variables for the session:

export HC_API_KEY="the_api_key"
export HC_CENTER_ID="the_center_id"

Base URL

https://api.help.center

Authentication

All requests require the API key in the Authorization header:

Authorization: Bearer $HC_API_KEY

Workflow

When the user wants to UPDATE an existing article

  1. Search for the article first to find its ID and current content:

    curl -s -X GET \
      -H "Authorization: Bearer $HC_API_KEY" \
      -H "Content-Type: application/json" \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles?search=SEARCH_TERM&expand[]=content"
    
  2. Read the full article using the article ID from search results:

    curl -s -X GET \
      -H "Authorization: Bearer $HC_API_KEY" \
      -H "Content-Type: application/json" \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/ARTICLE_ID?expand[]=content"
    
  3. Update only the specific part the user wants changed. Merge the user's changes into the existing HTML content, preserving everything else. Update via the draft endpoint:

    curl -s -X PATCH \
      -H "Authorization: Bearer $HC_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "title": "Updated Title",
        "html": "\x3Ch1>Updated full HTML content with changes merged in\x3C/h1>"
      }' \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/ARTICLE_ID/draft"
    
  4. Publish the updated article (ask the user first if they want to publish or keep as draft):

    curl -s -X POST \
      -H "Authorization: Bearer $HC_API_KEY" \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/ARTICLE_ID/publish"
    

When the user wants to CREATE a new article

  1. List categories so the article can be assigned properly:

    curl -s -X GET \
      -H "Authorization: Bearer $HC_API_KEY" \
      -H "Content-Type: application/json" \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/categories"
    
  2. Write the article content as clean, well-structured HTML. Follow these content guidelines:

    • Use semantic HTML: \x3Ch1> for main title, \x3Ch2> for sections, \x3Ch3> for subsections
    • Use \x3Cp> tags for paragraphs
    • Use \x3Cul>/\x3Col> for lists
    • Use \x3Ccode> for inline code and \x3Cpre>\x3Ccode> for code blocks
    • Use \x3Cstrong> for emphasis on key terms
    • Use \x3Ca href="..."> for links
    • Keep the tone clear, helpful, and concise
    • Structure content so users can scan and find what they need quickly
  3. Create the article:

    curl -s -X POST \
      -H "Authorization: Bearer $HC_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "title": "Article Title",
        "content": {
          "html": "\x3Ch1>Title\x3C/h1>\x3Cp>Content here...\x3C/p>"
        },
        "category_id": "category-slug"
      }' \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles"
    
  4. Publish if requested:

    curl -s -X POST \
      -H "Authorization: Bearer $HC_API_KEY" \
      "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/ARTICLE_ID/publish"
    

Important Rules

  1. Always search before creating. If the user says "write an article about X", search for existing articles on that topic first. If one exists, confirm with the user whether they want to update it or create a new one.

  2. Preserve existing content when updating. Never overwrite an entire article when only a section needs changing. Fetch the current content, modify the relevant part, and send back the full updated HTML.

  3. Always ask before publishing. Default to creating as draft. Only publish when the user explicitly asks for it.

  4. Handle errors gracefully. Check HTTP status codes. Common issues:

    • 401: API key is invalid or missing
    • 403: Insufficient permissions (missing required scope)
    • 404: Article or center not found
    • 400: Missing required fields (title is always required)
    • 429: Rate limited (wait and retry)
  5. Use pagination for large result sets. The API returns max 100 articles per request. Use starting_after with the last article's ID to fetch more.

API Quick Reference

Action Method Endpoint
List articles GET /v0/centers/:centerId/articles
Search articles GET /v0/centers/:centerId/articles?search=query
Get article GET /v0/centers/:centerId/articles/:articleId
Create article POST /v0/centers/:centerId/articles
Update draft PATCH /v0/centers/:centerId/articles/:articleId/draft
Update metadata PATCH /v0/centers/:centerId/articles/:articleId/metadata
Publish POST /v0/centers/:centerId/articles/:articleId/publish
Unpublish POST /v0/centers/:centerId/articles/:articleId/unpublish
Delete DELETE /v0/centers/:centerId/articles/:articleId
Duplicate POST /v0/centers/:centerId/articles/:articleId/duplicate
List drafts GET /v0/centers/:centerId/articles/drafts
Get draft GET /v0/centers/:centerId/articles/:articleId/draft
Discard draft POST /v0/centers/:centerId/articles/:articleId/draft/discard
List categories GET /v0/centers/:centerId/articles/categories
Create category POST /v0/centers/:centerId/articles/categories
Update category PATCH /v0/centers/:centerId/articles/categories/:categoryId
Delete category DELETE /v0/centers/:centerId/articles/categories/:categoryId
Upload image POST /v0/centers/:centerId/articles/images
Get center info GET /v0/centers/:centerId
Count articles GET /v0/centers/:centerId/articles/count

Content Writing Guidelines

When writing help center articles:

  • Lead with the outcome. Start by telling the user what they'll be able to do after reading.
  • Use short paragraphs. 2-3 sentences max per paragraph.
  • Add step-by-step instructions with numbered lists for procedures.
  • Include examples wherever possible to make abstract concepts concrete.
  • Use screenshots or visuals references where helpful (use the image upload endpoint to host images, then reference the returned URL in your HTML).
  • End with next steps or related articles when relevant.
  • Write for scanning. Use descriptive headings so users can jump to what they need.

Category Management

Categories help organize your articles. You can create hierarchical categories with one level of subcategories.

Creating a category:

curl -s -X POST \
  -H "Authorization: Bearer $HC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Getting Started",
    "description": "Articles for new users",
    "icon": "\x3Csvg>...\x3C/svg>",  // Optional custom SVG icon
    "parent_id": "parent-cat-id"  // Optional, for subcategories
  }' \
  "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/categories"

Updating a category:

curl -s -X PATCH \
  -H "Authorization: Bearer $HC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Name",
    "description": "Updated description",
    "icon": "\x3Csvg>...\x3C/svg>"
  }' \
  "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/categories/CATEGORY_ID"

Deleting a category:

Categories can only be deleted if no articles are using them.

curl -s -X DELETE \
  -H "Authorization: Bearer $HC_API_KEY" \
  "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/categories/CATEGORY_ID"

Image Upload

Upload images for use in your articles:

curl -s -X POST \
  -H "Authorization: Bearer $HC_API_KEY" \
  -F "image=@/path/to/image.jpg" \
  "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/images"

Constraints:

  • Maximum size: 10MB
  • Supported formats: JPEG, PNG, GIF, WebP, SVG
  • Use multipart/form-data with field name image

The response will include the image URL to use in your article HTML:

{
  "success": true,
  "data": {
    "url": "https://cdn.help.center/images/...",
    "filename": "image.jpg",
    "size": 1024576
  }
}

SEO Metadata

When creating articles, optionally include SEO metadata:

{
  "metadata": {
    "seo": {
      "title": "Concise, keyword-rich title (50-60 chars)",
      "description": "Clear summary of the article (150-160 chars)"
    }
  }
}

You can also update SEO metadata on existing articles via the metadata endpoint:

curl -s -X PATCH \
  -H "Authorization: Bearer $HC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "seo": {
      "title": "SEO Title",
      "description": "SEO Description"
    }
  }' \
  "https://api.help.center/v0/centers/$HC_CENTER_ID/articles/ARTICLE_ID/metadata"
安全使用建议
This skill appears to be what it says (a Help.Center article manager) and uses only the Help.Center API endpoints in SKILL.md, but note two issues: (1) The runtime docs instruct the agent to ask for and export HC_API_KEY and HC_CENTER_ID, yet the skill metadata lists no required env vars — treat that as a sloppy/incomplete manifest. (2) The SKILL.md recommends creating API keys with broad scopes (including delete and publish). Before installing, confirm the skill's source (the README references a GitHub repo — verify it), only provide a key with the minimal scopes required for your use case (avoid content.delete unless you need deletion), and consider creating a scoped, revocable API key or test center account. If you need higher assurance, ask the skill author to update the manifest to declare the required env vars and to document scope recommendations and secure handling of keys.
功能分析
Type: OpenClaw Skill Name: helpcenter Version: 1.0.0 The SKILL.md defines numerous `curl` commands that use placeholders for user-provided input (e.g., `SEARCH_TERM`, `ARTICLE_ID`, `title`, `html`, `category-slug`, `/path/to/image.jpg`). If the AI agent directly substitutes unsanitized user input into these shell commands, it creates a critical shell injection vulnerability (RCE). Furthermore, the image upload functionality (`image=@/path/to/image.jpg`) allows the agent to read and upload local files, which could be leveraged for data exfiltration if the agent is prompted to upload sensitive files. While the skill's stated purpose is legitimate, these inherent execution patterns expose the system to significant risks if the agent's input sanitization is insufficient.
能力评估
Purpose & Capability
Name, description, and SKILL.md are coherent: the instructions and example curl calls target a Help.Center API for searching, creating, updating, publishing, and deleting articles, which matches the stated purpose.
Instruction Scope
The SKILL.md explicitly instructs the agent to ask the user for an API key and Center ID and to export them as HC_API_KEY and HC_CENTER_ID for the session. However, the skill registry metadata lists no required environment variables. The instructions otherwise stay within the Help.Center API domain and do not request unrelated files or endpoints.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so nothing is downloaded or written to disk by the skill itself (lowest install risk).
Credentials
Requiring an API key and center identifier is proportionate to the described functionality. However, the metadata's failure to declare these env vars is an inconsistency. The SKILL.md also recommends wide scopes (including content.delete); users should prefer least-privilege keys (e.g., omit delete/publish if not needed).
Persistence & Privilege
The skill does not request always:true, does not require system config paths, and is user-invocable with normal autonomous invocation settings. It does not request persistent system privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install helpcenter
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /helpcenter 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
Slug helpcenter
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Help.Center Article Management 是什么?

When the user wants to create, update, read, or manage help center articles via the Help.Center API. Use when the user says "write a help article", "update t... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 385 次。

如何安装 Help.Center Article Management?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install helpcenter」即可一键安装,无需额外配置。

Help.Center Article Management 是免费的吗?

是的,Help.Center Article Management 完全免费(开源免费),可自由下载、安装和使用。

Help.Center Article Management 支持哪些平台?

Help.Center Article Management 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Help.Center Article Management?

由 shyjal(@shyjal)开发并维护,当前版本 v1.0.0。

💬 留言讨论