Agent skill

Promote

by xiaotonng in xiaotonng/pikiloom

GitHub 截流。在同领域项目(local coding agent ↔ IM / mobile / remote console)的 feature-request issue 下,自动发现→起草→自我批判→护栏→(按 posture)发布 pikiloom 回复,并记录+度量。话术统一来自 promo/pitch.md;可由 promo/orchestrate.md 无人值守驱动。

MITAuto-check passed

Install Promote

skills CLI
$ npx skills add xiaotonng/pikiloom --skill promote -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install xiaotonng/pikiloom promote --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/xiaotonng/pikiloom.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pikiloom/skills/promote .claude/skills/promote && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
promote
GitHub stars
295
Token cost
~2k tokens
SKILL.md length
410 words
Files
2
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

GitHub 截流。在同领域项目(local coding agent ↔ IM / mobile / remote console)的 feature-request issue 下,自动发现→起草→自我批判→护栏→(按 posture)发布 pikiloom 回复,并记录+度量。话术统一来自 promo/pitch.md;可由 promo/orchestrate.md 无人值守驱动。

  • Works in 8 steps: 预检 → 主路径 — 同领域项目 issue → 次路径 — 关键词搜索(主路径不足 5 条候选时才跑) → …
  • SKILL.md covers GitHub 渠道的铁律, Step 1: 预检, Step 2: 主路径 — 同领域项目 issue and Step 3: 次路径 — 关键词搜索(主路径不足 5…, plus 5 more sections
  • Calls gh, python3 and jq

What it does

Promote is an agent skill from xiaotonng/pikiloom. GitHub 截流。在同领域项目(local coding agent ↔ IM / mobile / remote console)的 feature-request issue 下,自动发现→起草→自我批判→护栏→(按 posture)发布 pikiloom 回复,并记录+度量。话术统一来自 promo/pitch.md;可由 promo/orchestrate.md 无人值守驱动。

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It works with GitHub and Telegram. The repository describes itself as: Put the world's smartest AI agents & plugins in your pocket. The licence is MIT.

Example prompts

  • “/promote”

Requirements

  • Python 3
  • Node.js

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. 预检
  2. 主路径 — 同领域项目 issue
  3. 次路径 — 关键词搜索(主路径不足 5 条候选时才跑)
  4. 去重 + 筛选
  5. 起草(子 agent,话术来自 pitch.md)
  6. 自我批判(替代人工 review gate)
  7. 护栏 + 按 posture 发布
  8. 报告 + 度量 + 回访

What it can do on your machine

Read from SKILL.md and the folder at commit ad3bdb8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • python3
    • jq
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Promote loads about 2k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 410 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~51
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from xiaotonng/pikiloom at commit ad3bdb8, republished under its MIT licence (© xiaotonng). 410 words, ~2,038 tokens.

Download SKILL.mdSave it as .claude/skills/promote/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
promote
description
GitHub 截流。在同领域项目(local coding agent ↔ IM / mobile / remote console)的 feature-request issue 下,自动发现→起草→自我批判→护栏→(按 posture)发布 pikiloom 回复,并记录+度量。话术统一来自 _promo/pitch.md;可由 _promo/orchestrate.md 无人值守驱动。
version
6.0.0

GitHub Promotion Workflow

This skill targets the open issues of same-space projects (local coding agent ↔ IM / mobile / remote console) — where users have already self-identified as needing this category of tool. We share pikiloom as another option; we never position against the host project.

This file holds GitHub-specific mechanics only (which repos, which issues, how to post). All product copy, differentiators, honesty bounds, tone, language, skeleton, and anti-patterns come from ../_promo/pitch.md — do not duplicate or edit copy here. Dedup / guardrails / posting-posture / measurement come from the shared core:

关注点位置
产品话术 SSOT_promo/pitch.md(§9 表 github 列 = 本渠道机制差异)
去重(写时强制)_promo/registry.py(channel = github)
护栏(每仓上限/日配额/变体/熔断/deny_repos)_promo/guard.py
飞书推送 / 度量_promo/push_feishu.py / _promo/measure.py
无人值守编排 + posture_promo/orchestrate.md
旋钮_promo/config.json → channels.github

运行根目录:cd /Users/admin/Desktop/project/pikiloom。脚本前缀:.pikiloom/skills/_promo/。

GitHub 渠道的铁律

  1. 只打 feature-request / 用户提问 issue,绝不打 bug 报告。 "能加 X 吗" 是开放问题,分享别的工具已有 X 是正当同行信息;bug 报告是宿主实现的封闭范围,进去推等于批评。guard.py 不知道 issue 类型 —— 这一条 靠筛选阶段把关。
  2. 每仓终身 ≤ 2 条(config.json per_repo_lifetime_cap)。历史上 chenhg5/cc-connect 13 条、 RichardAtCT/claude-code-telegram 10 条 —— 这种集中度正是 AUP §4「coordinated inauthentic activity」 要抓的轮廓。guard.py 会按 registry 里的历史强制拦截超限的仓。
  3. 不打上游本体仓(anthropics/claude-code 等,见 deny_repos)—— 不是同类桥接,曝光最高、有官方 triage、风险最大。历史误打了 14 条,停止。guard.py 直接 deny。
  4. 每条独立起草 + 必带披露行("I'm building / 我在做 pikiloom")。披露既是诚实也是护身符;boilerplate 翻译版仍是 boilerplate,guard.py 变体检查会拦。

Step 1: 预检

bash
cd /Users/admin/Desktop/project/pikiloom
python3 .pikiloom/skills/_promo/guard.py caps      # github 今日剩余配额;为 0 则今天不跑

Step 2: 主路径 — 同领域项目 issue

walk 下列同类项目的 issue tracker(pikiloom 原生支持 Telegram/Feishu/WeChat/Slack/Discord/DingTalk/WeCom, 所有 IM-bridge 仓都是同渠道同类)。bucket 内并行,按时间排序,忽略 >90 天且无活动的。

Bucket A — IM-channel peers(原生,契合度最高)
bash
# Telegram
for r in chenhg5/cc-connect RichardAtCT/claude-code-telegram a5c-ai/claude-code-telegram-bot \
         seedprod/claude-code-telegram cutevisor/return-by-death JohannOosthuizen/Gemini-CLI-Telegram-Bot \
         ada720725-star/claude-code-telegram gohyperdev/hdcd-telegram; do
  gh issue list --repo "$r" --state open --limit 40; done
# Feishu
for r in laborany/laborany MidnightV1/Claude-Code-Feishu whobot-ai/claude-code-feishu-channel \
         m1heng/clawdbot-feishu CherryLover/claude-code-feishu AwadYoo/claude-code-feishu-channel \
         czm15053/claude-code-feishu-channel AkaiZheng/ClaudeCode-Feishu-Channel; do
  gh issue list --repo "$r" --state open --limit 30; done
# WeChat
for r in Johnixr/claude-code-wechat-channel Wechat-ggGitHub/wechat-claude-code m1heng/claude-plugin-weixin; do
  gh issue list --repo "$r" --state open --limit 30; done
Bucket B — 更多 IM-channel peers(Discord / Slack / DingTalk / WeCom,均原生)
bash
for r in zebbern/claude-code-discord timoconnellaus/claude-code-discord-bot ebibibi/claude-code-discord-bridge \
         BrunoJurkovic/claude-code-discord-status jubalm/claude-code-discord \
         mpociot/claude-code-slack-bot jeremylongshore/claude-code-slack-channel 41fred/claude-code-slack \
         AnandChowdhary/claude-code-slack-bot sfyyy/claude-code-dingtalk-mcp; do
  gh issue list --repo "$r" --state open --limit 30; done
Bucket C — Mobile / remote / dashboard
bash
for r in 9cat/claude-code-app ahmed3elshaer/everything-claude-code-mobile aiya000/claude-code-mobile-ssh \
         qingpingwang/remote-claude-code BMeyn/claude_code_mobile; do
  gh issue list --repo "$r" --state open --limit 30; done

定期刷新仓列表(这个领域更新很快):

bash
for kw in "claude code telegram" "claude code feishu" "claude code wechat" "claude code discord" \
          "claude code slack" "claude code dingtalk" "claude code wecom" "claude code 企业微信" \
          "claude code mobile" "claude code swarm" "codex telegram" "codex feishu" "gemini cli telegram"; do
  gh search repos "$kw" --limit 15 --json fullName,stargazersCount,description,pushedAt \
    --jq 'sort_by(-.stargazersCount) | .[] | "\(.stargazersCount)★ \(.fullName) — \(.description // "")"'
done

10★ 且 90 天内有 push 而不在上面的,按类别补进 A/B/C。

Step 3: 次路径 — 关键词搜索(主路径不足 5 条候选时才跑)

bash
# billing 段 = 最高转化(付 API credits、想用 Max 订阅跑自动化的人);GitHub issue 搜索是 term-AND,
# 长 phrase 返回 ~0,用下面这些校准过能出 open issue 的词:
for q in "claude code billing" "claude code credits" "claude max api" "use claude subscription" \
         "claude code subscription" "claude code mobile" "claude code telegram" "claude code 飞书" \
         "claude code 微信" "agent web dashboard" "run multiple coding agents"; do
  gh search issues "$q" --state open --limit 30 --json url,title,repository \
    | jq -r '[.[] | select(.repository.name | test("trending|news|weekly|github-daily|awesome|digest|bulletin|pikiloom|pikiclaw"; "i") | not)
        | select(.repository.nameWithOwner | test("xiaotonng/") | not)]
        | .[] | "\(.url) | \(.title) | \(.repository.nameWithOwner)"'; done

billing 段命中时,回复用 pitch §2 角度 0 开场(守住 §3 诚实边界)。 丢弃 issue-mirror / digest bot(republish 别人 issue,OP 不在那):小仓上的 4–5 位 issue 号、 或标题像 [upstream PR N] … / Weekly Tech Report / AI CLI 日报。起草前先 gh issue view 确认。

Show full SKILL.md (153 more words)Show less

Step 4: 去重 + 筛选

对每个候选 URL 先去重,再 gh issue view <url> 读全文再判断:

bash
python3 .pikiloom/skills/_promo/registry.py seen github "<issue_url>" && echo SKIP   # 已记录则跳过

全部满足才选: ① 是 feature-request / 用户提问(不是宿主实现相关的 bug)② pikiloom 今天就有这个能力 (不要硬拗,读者会查)③ 线程还活着(近期活动,未 closed/wontfix/locked)④ 作者是用户而非 maintainer 在做路线规划。 任一命中即跳过: bug 报告 / maintainer 已承诺修或有在飞 PR / 社区公告 / pikiloom 并无该能力 / 争议政治帖。

pikiloom 真正能解的痛点见 pitch.md §2(角度 0 billing 是头牌差异点;其余按 OP 痛点挑 1–2 个)。选 3–6 条最强候选。

Step 5: 起草(子 agent,话术来自 pitch.md)

委托子 agent 起草,唯一内容契约 = ../_promo/pitch.md:peer-position+orienter(§1) → out-of-box 主张(§8 step2,回答"装好是不是开箱即有") → 一句实现证据(§4) → npx pikiloom@latest → https://github.com/xiaotonng/pikiloom。语言跟随 issue 正文(§6),≤5 句,挑 1–2 个对得上的差异点(§2)。

每条起草后记录:

bash
python3 .pikiloom/skills/_promo/registry.py add --channel github --url "<issue_url>" \
  --status drafted --repo "<owner/repo>" --type <feature-request|question> --lang <en|zh|ja> \
  --title "<issue 标题>" --draft-file /tmp/promo_draft_<id>.txt

Step 6: 自我批判(替代人工 review gate)

对每条草稿按 pitch.md §10 自检(营销腔 / 对比宿主 / >2 差异点 / 超 5 句 / 没 ground issue 痛点 / 缺披露 / 越诚实边界 / boilerplate)。FAIL → 子 agent 修一次;再 FAIL → update --status skipped 丢弃。不做第三次。

Step 7: 护栏 + 按 posture 发布

bash
python3 .pikiloom/skills/_promo/guard.py check --channel github --url "<issue_url>" \
  --draft-file /tmp/promo_draft_<id>.txt        # exit 3 = deny(每仓上限/deny_repos/日配额/变体);deny 则跳过
POSTURE=$(python3 -c "import json;print(json.load(open('.pikiloom/skills/_promo/config.json'))['posture'])")
  • shadow:不发,推预览卡片。
  • batch:update --status approved + 推 veto 卡片,veto 窗口后由后续 run 发(见 orchestrate.md Phase 4)。
  • auto:直接发:
bash
gh issue comment "<issue_url>" --body-file /tmp/promo_draft_<id>.txt
python3 .pikiloom/skills/_promo/registry.py mark-posted --channel github \
  --url "<issue_url>" --post-url "<我们评论的 url>"      # 失败则 update --status failed

GitHub gh 发帖是三渠道里最可靠、最可逆的,建议 auto 从 github 先开。

Step 8: 报告 + 度量 + 回访

bash
python3 .pikiloom/skills/_promo/registry.py stats
python3 .pikiloom/skills/_promo/push_feishu.py --report-file /tmp/promo_report.md --title "🚀 GitHub Promote"
python3 .pikiloom/skills/_promo/measure.py report

回访:≥24h 的评论若被 hide/lock,registry.py update --channel github --url <u> --status hidden —— 会触发 guard.py 熔断,暂停该渠道。报告含:搜索/候选/已发/跳过/失败计数 + 下轮建议(如"Feishu 簇有 4 条新 open issue,7 天后再来")。

© xiaotonng, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .pikiloom/skills/promote of xiaotonng/pikiloom.

  • SKILL.md
  • replied_issues.txt

Open the folder on GitHubat commit ad3bdb8

Compare with similar skills

Promote next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Promote compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Promote this skillxiaotonng/pikiloom295—~2kAutomated safety check: PassMIT
Takopi Releasebanteg/takopi1k—~734Automated safety check: PassMIT
Keen Pbr Release Postmaksimkurb/keen-pbr139—~844Automated safety check: PassGPL-3.0
Project Managerpwrdrvr/openclaw-codex-app-server265—~1.5kAutomated safety check: PassMIT
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Releasepwrdrvr/openclaw-codex-app-server265—~2.2kAutomated safety check: PassMIT

Similar skills

  • Takopi Release

    banteg/takopi

    Prepare and ship a Takopi release. An agent skill from banteg/takopi.

    1k GitHub stars~734 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Keen Pbr Release Post

    maksimkurb/keen-pbr

    Draft keen-pbr release posts for GitHub and Telegram from git history.

    139 GitHub stars~844 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Project Manager

    pwrdrvr/openclaw-codex-app-server

    Manage GitHub issues and the GitHub Project board for the current repository, while keeping the local tracker in sync.

    265 GitHub stars~1.5k tokensUpdated 1 mo ago
    Product & Project ManagementAuto-check passed
  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Release

    pwrdrvr/openclaw-codex-app-server

    Plan and publish a GitHub Release in a tag-driven repository.

    265 GitHub stars~2.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Better Notify

    better-notify/better-notify

    End-to-end typed notification infrastructure for Node.js — typed catalog of email, SMS, push, web push, WhatsApp, Slack, Discord, Telegram, and GitHub notifications with provider-agnostic transports.

    313 GitHub stars~783 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed

More from xiaotonng/pikiloom

  • Install

    xiaotonng/pikiloom

    This skill should be used when the user asks to "install pikiclaw", "build and install", "deploy locally", "update local binary", "release", or "publish".

    295 GitHub stars~464 tokensUpdated 3 days ago
    Auto-check passed
  • Reddit Snipe

    xiaotonng/pikiloom

    Reddit 截流。在 coding agent / Claude Code / AI dev tool 的高互动帖下,以 pikiloom builder 身份自动发现→起草→自我批判→护栏→(按 posture)发布英文 peer 评论,并记录+度量。English-first。话术统一来自 promo/pitch.md;可由 promo/orchestrate.md 无人值守驱动。

    295 GitHub stars~3.3k tokensUpdated 3 days ago
    Auto-check: notes
  • Snipe

    xiaotonng/pikiloom

    Twitter/X 截流。在 coding/AI agent 工具的高流量推广帖下,自动发现→起草→自我批判→护栏→(按 posture)发布 pikiloom 回复,并记录+度量。内容话术统一来自 promo/pitch.md;可由 promo/orchestrate.md 无人值守驱动。

    295 GitHub stars~1.3k tokensUpdated 3 days ago
    Auto-check: notes
  • Auto Promote

    xiaotonng/pikiloom

    无人值守推广总入口。按 promo/orchestrate.md 跨所有启用渠道(GitHub / Twitter / Reddit)跑一轮:发现→去重→起草→自我批判→护栏→按 posture 发布→记录→度量。供每日 cron(schedule / loop)调用,也可手动运行。传 "post-approved" 只执行 batch 待发队列。

    295 GitHub stars~629 tokensUpdated 3 days ago
    Auto-check: notes
  • Dev

    xiaotonng/pikiloom

    This skill should be used when the user asks to start, restart, keep alive, or inspect the local pikiclaw development service, including npm run dev, local debug bot startup, dashboard verification…

    295 GitHub stars~174 tokensUpdated 3 days ago
    Auto-check passed

Works with

Questions about Promote

What does Promote do?

GitHub 截流。在同领域项目(local coding agent ↔ IM / mobile / remote console)的 feature-request issue 下,自动发现→起草→自我批判→护栏→(按 posture)发布 pikiloom 回复,并记录+度量。话术统一来自 promo/pitch.md;可由 promo/orchestrate.md 无人值守驱动。. Promote is an agent skill from xiaotonng/pikiloom.

How do I install Promote in Claude Code?

Run `npx skills add xiaotonng/pikiloom --skill promote -a claude-code`. Or copy the skill folder (.pikiloom/skills/promote in xiaotonng/pikiloom) into .claude/skills/promote in your project. Claude Code loads it when a task matches its description.

How do I install Promote in Codex?

Run `npx skills add xiaotonng/pikiloom --skill promote -a codex`. Or copy the skill folder (.pikiloom/skills/promote in xiaotonng/pikiloom) into .agents/skills/promote in your project. Codex loads it when a task matches its description.

Can I use Promote in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add xiaotonng/pikiloom --skill promote -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/promote, .gemini/skills/promote, .github/skills/promote and .opencode/skills/promote in your project.

What does Promote need to run?

Going by SKILL.md and its folder, Promote needs the command-line tools its instructions call (gh, python3, jq and npx). Our summary lists: Python 3; Node.js.

Does Promote access the network?

SKILL.md contains no URLs. Its commands use gh and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Promote safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Promote use?

Promote is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Promote use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Promote?

Skills that share tags, products or a category with Promote: Takopi Release (banteg/takopi, 1k stars), Keen Pbr Release Post (maksimkurb/keen-pbr, 139 stars), Project Manager (pwrdrvr/openclaw-codex-app-server, 265 stars) and Chat SDK (databuddy-analytics/Databuddy, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Promote?

xiaotonng (a GitHub user) maintains it in xiaotonng/pikiloom, which has 295 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 5, 2026.

Source: xiaotonng/pikiloom on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.