360 Secure SkillHub
360 安全技能中心

Character Count

核心功能是采用Python len逻辑精确统计字符串长度,支持配置字符上限,输出含字符数、限制值、剩余数及合规状态的结果(JSON或明文格式)。适用于社交帖子、文案、代码提交消息等需严格字符限制的场景,可通过标准输入或参数传文本,为通用校验工具,若平台有特殊规则需额外验证。

evandataforge
evandataforge
热度 44.77
最近更新 2026-05-11 17:35:58
分类:效率依赖:代码执行 / 读写文件应用场景:文案创作 / 社交媒体

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add character-count
Metadata
name
character-count
description
Count string length deterministically for text with hard limits. Use this skill when a post, reply, caption, commit message, or other text must stay within a maximum character count.
metadata
{"openclaw":{"requires":{"bins":["python3"]}}}

Character Count

Use this skill when text must fit within a strict character limit and guessing is not acceptable.

This skill is portable and self-contained. The counting logic lives in the bundled script at scripts/character_count.py.

Scope

This skill measures exact string length as seen by Python len(text).

  • It is suitable for generic hard-limit workflows.
  • It is not a platform-specific compliance engine.
  • If a platform applies custom weighting rules for URLs, Unicode, or special tokens, treat this skill as a deterministic local gate, not as a guarantee of platform acceptance.

Rules

  • Never estimate character counts manually.
  • Always count the final text exactly as it will be posted or saved.
  • If the text is too long, rewrite it and count again.
  • Prefer the JSON output mode for deterministic downstream use.
  • Do not describe the result as platform-accurate unless the target platform uses plain string length.

Recommended Usage

The bundled script requires python3. For broad portability, assume Python 3.8 or newer.

From the skill root, pass the exact final text over stdin so shell quoting does not alter the content:

printf '%s' "$FINAL_TEXT" | python3 scripts/character_count.py --limit 280 --json

If you are calling it from another working directory, use the full path to the script inside the installed skill folder.

If stdin is inconvenient, pass the text as an argument:

python3 scripts/character_count.py --limit 280 --json --text "Hello world"

Output Contract

--json returns a single JSON object:

{"chars":11,"limit":280,"remaining":269,"ok":true}

Field meanings:

  • chars: exact Python string length of the provided text
  • limit: the configured limit
  • remaining: limit - chars
  • ok: true when chars <= limit

Without --json, the script prints plain text key-value lines:

chars=11
limit=280
remaining=269
ok=true

Twitter and X Workflow

For tweets and replies:

  1. Draft the final post text.
  2. Count it with --limit 280.
  3. If ok is false, shorten the text.
  4. Count again.
  5. Post only after the script reports ok=true.
  6. If you need exact X enforcement, add a platform-specific validation step in addition to this skill.

Notes

  • Count the exact final text, including spaces, punctuation, hashtags, and URLs.
  • Do not add or remove characters after counting unless you count again.
  • Use printf '%s' instead of echo to avoid introducing a trailing newline.
  • If the script receives no text, treat that as a calling error and fix the invocation before proceeding.