character-count

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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "character-count" with this command: npx skills add evandataforge/character-count

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.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Gigo Lobster Taster

🦞 GIGO · gigo-lobster-taster: 正式试吃模式:跑完整评测,默认上传云端、生成个人结果页并进入排行榜。 Triggers: 试吃我的龙虾 / 品鉴我的龙虾 / lobster taste / lobster taster.

Registry SourceRecently Updated
General

Invoice Generator

Creates professional invoices in markdown and HTML

Registry SourceRecently Updated
92001kalin
General

backstage companion

Anti-drift protocol script. Ensures parity between docs and system. Triggers: 'bom dia PROJECT' / 'good morning PROJECT' (load project context with health ch...

Registry SourceRecently Updated
General

stratos-storage

Upload and download files to/from Stratos Decentralized Storage (SDS) network. Use when the user wants to store files on Stratos, retrieve files from Stratos, upload to decentralized storage, or download from SDS.

Registry SourceRecently Updated