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.
git clone --depth 1 https://github.com/tranfu-labs/tranfu-skillsWrote 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.
[](https://agentmods.dev/commands/tranfu-labs/tranfu-skills/tranfu-naming)<a href="https://agentmods.dev/commands/tranfu-labs/tranfu-skills/tranfu-naming"><img src="https://agentmods.dev/badge/commands/tranfu-labs/tranfu-skills/tranfu-naming/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/tranfu-labs/tranfu-skills/tranfu-naming"><img src="https://agentmods.dev/badge/commands/tranfu-labs/tranfu-skills/tranfu-naming.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01205 |
| Opus 5 | $0.00000 | $0.00602 |
| Sonnet 5 | $0.00000 | $0.00241 |
| Haiku 4.5 | $0.00000 | $0.00120 |
Grade A, and why
tranfu-naming 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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
tranfu 命名约束
涉及 GitHub 仓库的场景共用这一份硬约定。约定本身简单,关键是它让后续整套自动化能稳定运行:
- 一眼看 URL 就能判定"是不是 tranfu 团队的仓库"。
- 仓库名就是 Coolify 里的 app 名 和 project 名(1:1 映射),不需要额外的映射表。
- 名字格式收敛,避免大小写、下划线、空格之类的边界 case 拖垮 jq 解析与 CLI 参数传递。
解析 GitHub URL
支持以下几种常见写法,都解析成 ${org} 和 ${repo}:
https://github.com/<org>/<repo>https://github.com/<org>/<repo>.git[email protected]:<org>/<repo>.git[email protected]:<org>/<repo>
解析做完后忽略 .git 后缀。例:
| 输入 | org | repo |
|---|---|---|
https://github.com/tranfu-labs/foo-app |
tranfu-labs |
foo-app |
https://github.com/tranfu-labs/foo-app.git |
tranfu-labs |
foo-app |
[email protected]:tranfu-labs/foo-app.git |
tranfu-labs |
foo-app |
如果输入既不是上面四种之一,也不能用简单正则提取出 org / repo,MUST 立即终止。返回文案:
看不懂这个 GitHub 链接:
<输入原文>。本流程支持https://github.com/<org>/<repo>(.git)?和[email protected]:<org>/<repo>(.git)?两类写法。
校验 1:组织必须是 tranfu-labs
org == "tranfu-labs"
不匹配则 MUST 立即终止,NEVER 尝试代替用户切换组织或猜测目标组织。返回文案:
这个仓库属于
<org>,本流程只接tranfu-labs组织的仓库。 如果是其它组织的仓库要上 Coolify,请走通用 coolify CLI 流程或者扩展本 skill。
约定本身的意义:tranfu 团队的 Coolify 实例对应 GitHub App 只授权了 tranfu-labs 组织下的仓库。 跨组织的仓库即使勉强 onboard 上去,GitHub App 也看不到、推送事件也不会触发自动部署。
校验 2:仓库名必须是烤肉串 + -app 后缀
repo 匹配正则:^[a-z][a-z0-9-]*-app$
意思:
- 全小写。
- 只允许小写字母、数字、短横线。
- 第一位必须是字母(不能数字或短横线开头)。
- 末尾必须是
-app。
不匹配则 MUST 立即终止,NEVER 自动改名、补后缀或转小写。返回文案:
仓库名
<repo>不合规。tranfu 仓库名约定:全小写、烤肉串(kebab-case)、必须以-app结尾, 例如foo-app、order-mgmt-app、a1-app。请先在 GitHub 改名,再跑这个流程。
约定本身的意义:
- Coolify 里 app 名、project 名、domain 都直接复用仓库名。仓库名不规范,下游全连带不规范。
-app后缀让一眼能区分"代码仓库"和"基础设施仓库 / 文档仓库 / 资源仓库",避免把不该 onboard 的仓库 误识别成应用。
project 命名规则
project name == repo name(1:1,find-or-create)
意思:
- onboard 一个新仓库
foo-app时,对应 project 名也叫foo-app。 - project 不存在则自动用
coolify project create --name <repo>建;存在则复用,不重建。 - 一个 project 下只挂这一个 app(仓库 1:1)。未来如果要把多个相关 app 编组,再扩展。
约定本身的意义:把"仓库 → project → app"的映射从"需要查表"变成"看名字就知道"。自动化脚本不需要额外 配置文件,新成员上手也不需要记忆映射表。
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.
- 8d ago First seen · 95 lines · 0 tokens per session scan A df4d7cf17097
tranfu-naming is a command published in the GitHub repository tranfu-labs/tranfu-skills (2 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,205 tokens. 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-09-03.
Other commands, from other repositories
commit
A command that examines staged Git changes and proposes a commit message using the Conventional Commits format, such as feat, fix, or docs. Git is a tool for tracking changes to code.
merge-conflict-analysis
You are analyzing merge conflicts for PR #${{ pr-number }}.
release-notes
Generate consistent, well-structured release notes from git history. Triggered on release tags following semver patterns (v..) to produce categorized changelog with breaking changes, features, fixes, and contributor attribution.
doctor
Diagnosticar y reparar problemas del framework Don Cheli, git y entorno. Usa cuando el usuario dice "doctor", "problemas del framework", "don cheli no funciona", "repair Don Cheli", "debug setup", "setup broken", "framework broken", "reparar entorno". Detecta y repara issues de configuración, git y dependencias…
handoff
Export a Waybill Bundle by default, or import one when requested.
repo-audit
Audit a codebase (local or remote GitHub/GitLab) against architecture principles and requirements, surfacing drift, risk, and missing decisions.