promote

promote is a skill for Claude Code from nmhjklnm/yaohe. It costs 86 tokens per session (1,421 once invoked), scanned A, original, MIT.

A skill for promoting an open-source project across Chinese and English channels. It reads the repository, checks its public details, writes channel-specific submissions, and can submit some issue or pull-request forms through GitHub's gh command.

In plain words
What is it for?
Use it to publicize a repository through channels such as newsletters, HelloGitHub, or Show HN.
Why use it?
It prevents unsupported claims, dead links, unsuitable channels, and duplicate submissions during project promotion.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: names the AskUserQuestion tool; mentions Codex.

Part of the yaohe plugin — 1 skill shipped together

Good fit Use it to publicize a repository through channels such as newsletters, HelloGitHub…

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/nmhjklnm/yaohe/promote
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add nmhjklnm/yaohe --skill promote
Clone the repo
git clone --depth 1 https://github.com/nmhjklnm/yaohe

Made for: Claude Code.

Or install yaohe, the plugin that ships this one along with the rest of its 1 skill.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for promote

README.md
[![agentmods](https://agentmods.dev/badge/skills/nmhjklnm/yaohe/promote.svg)](https://agentmods.dev/skills/nmhjklnm/yaohe/promote)
Your own site
<a href="https://agentmods.dev/skills/nmhjklnm/yaohe/promote"><img src="https://agentmods.dev/badge/skills/nmhjklnm/yaohe/promote.svg" alt="Measured on agentmods" height="20"></a>
Per session 86 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,421 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00086 $0.01421
Opus 5 $0.00043 $0.00711
Sonnet 5 $0.00017 $0.00284
Haiku 4.5 $0.00009 $0.00142

Measured 7d ago against content hash 60d80fb20366, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

promote scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/promote/SKILL.md · 69 lines

How it starts

The opening of the file, as written. The whole thing — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.

promote — 开源项目一键合规宣传

核心原则:一键 ≠ 一键全发。渠道分三级自动化,越权发帖 = spam = 毁项目声誉。

流程

1. 项目画像(必做,一切文案的源头)

硬性前置闸门,任一不过就停下问用户,不进入后续步骤:

  • gh repo view <owner>/<repo> 必须成功(仓库公开可达)。本地路径则检查 git remote -v 有 GitHub remote 且已 push——稿件里的每个链接都必须真实可达,绝不写入死链
  • LICENSE 文件真实存在才可声明协议;README 说 MIT 但没有 LICENSE 文件 → 提醒用户先补

然后读 README 全文、描述、topics、star 数、最近活跃度,提炼:一句话定位(它是什么+替代/优于什么)、目标人群、3 个差异化亮点、演示素材(截图/GIF/demo URL)。

README 薄的判定(缺任一项即问用户补齐,不要编):① 一句话说清它是什么 ② 安装/使用方法 ③ 至少一个具体使用场景或示例。

2. 渠道选择

channels/ 下所有渠道文件的 frontmatter,按项目画像过滤:

  • 语言匹配:投 EN 渠道的条件 = 有英文 README(或 README 本身是英文);不满足时该渠道仍可列出但标注「需先补英文文档」,用户坚持投则明示风险后照办
  • 门槛匹配(如渠道要求 star 数 / 入门级 / dev-tool 类目)
  • 检查 PROMO-LOG.md(项目根目录):同一渠道 30 天内有任何记录(含 rejected)即跳过,冷却期从最新一条记录的日期起算

用 AskUserQuestion 列出推荐渠道(含自动化等级标注)让用户勾选;用户明确说"全投"则投所有合规匹配渠道。

3. 逐渠道生成定制稿

对每个选中渠道,读其 channels/<id>.md 全文,严格按其 format_spec 生成

  • 禁止一稿多投:每渠道的标题风格、篇幅、语气、结构都不同(阮一峰自荐 ≠ Show HN 标题 ≠ V2EX 分享创造帖)
  • 文案原则:说人话、给事实(能做什么、和现有方案差在哪),禁营销腔/AI 味(震惊体、emoji 堆砌、buzzword)
  • 去 AI 味终审(必做):装了 deslop 类 skill 就调用它过一遍;没装则至少执行硬规则:禁破折号(——)、禁「不是…而是…」否定对比句、弯引号换直角引号「」、删段末总结句、删互联网黑话
  • 配图(必做):几乎所有渠道带图命中率都更高。优先级:① 项目已有截图/GIF 直接用 ② 真实运行录屏/截图(终端工具录一段 demo)③ 用可用的图像生成能力(imagegen/codex 出图/自绘 SVG 转 PNG)设计一张说明产品原理的宣传图。图片提交到项目仓库(如 docs/assets/)用 raw.githubusercontent.com URL 引用,别用外部图床。渠道规格标注图片必备的(如 ruanyf-weekly),无图不投
  • 全部稿件先写入 promo-drafts/<channel-id>.md 落盘;文件首行固定为 Title: <标题>(即使该渠道标题走 gh --title 参数不进 body),复盘时才对得上号

4. 分级执行

按渠道 frontmatter 的 automatable 字段:

  • full(issue/PR 型):先 gh auth status 确认已登录(未登录 → 让用户 gh auth login,停在这里)→ 展示最终稿 → 用户确认一次 → gh CLI 提交 → 记录返回 URL。失败就报错停,不换渠道兜底。
  • assisted(网页表单型):给出最终稿 + 提交 URL + 逐字段填写指引;Chrome 扩展已连接时按 references/browser-assist.md 流程代开页面、代填字段(登录和提交按钮永远归用户)。
  • manual-only(社区发帖型):只交稿件 + 建议发帖时间(见渠道文件)+ 红线提醒。任何情况下不代发

5. 记录与复盘

把本次投递写入目标项目根目录 PROMO-LOG.md,固定表格 schema(机器可读,下次运行先读它):

| channel | date | draft | url | status |
|---|---|---|---|---|
| ruanyf-weekly | 2026-07-02 | promo-drafts/ruanyf-weekly.md | https://github.com/ruanyf/weekly/issues/NNN | submitted |

Read the full file on GitHub · 69 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 69 lines · 86 tokens per session scan A 60d80fb20366

Subscribe to this mod's changes

promote is a skill published in the GitHub repository nmhjklnm/yaohe (8 stars, last pushed 2mo ago), licensed MIT. It adds 86 tokens to every session and 1,421 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

delegate

Let Claude Architect route a versioned implementation spec through the trusted MCP runtime, independently review the Candidate Artifact, record a decision, and integrate only accepted bytes. Use for implementation delegation, Producer selection, or commitment-boundary review.

PyModel/claude-architect · 47 tokens

codex

Run the Codex CLI directly in the user's checkout for code analysis, refactoring, or automated editing without Claude Architect's verified delegation lifecycle.

PyModel/claude-architect · 31 tokens

commit

A guided process for committing code changes to Git. It checks the working tree, follows a conventional commit format, links a task when available, reviews the changes, and asks for approval.

restarter/lets-workflow · 90 tokens

orient

Internal skill for commands. Render the shared orientation snapshot - active task, what's in flight, what's next - tracker-universal. Do not trigger on user conversation; only when a command needs the snapshot.

restarter/lets-workflow · 42 tokens

actor-fetch-personality

Internal skill for commands. Fetch and validate personality from URL or file path for Actor agent. Do not trigger on user conversation - only when commands need personality loading.

restarter/lets-workflow · 37 tokens

explain

Use when user invokes /explain with a file path, directory path, function/class name, or natural language concept. Also triggers on "explain this", "how does X work", "walk me through". Produces a structured, layered explanation of what the code does, how it connects, and where to start if you need to change it. Do…

harnessprotocol/harness-kit · 95 tokens