tranfu-naming

tranfu-naming is a command for Claude Code from tranfu-labs/tranfu-skills. It costs 0 tokens per session (1,205 once invoked), scanned A, original, MIT.

A naming and URL-parsing convention for tranfu-labs GitHub repositories and their matching Coolify projects and applications. It accepts common HTTPS and SSH repository URL forms and extracts the organization and repository name.

In plain words
What is it for?
Use it to parse supported GitHub URLs, require the tranfu-labs organization, remove a trailing .git, and derive application and project names.
Why use it?
Consistent names let automation connect a GitHub repository to the correct Coolify resources without a separate mapping table.

Command for Claude Code

Written for Claude Code: a Claude Code command (commands/*.md).

Good fit Use it to parse supported GitHub URLs, require the tranfu-labs organization, remove a trailing .git, and derive application and project names.

Compare 6 commands from other repositories ↓
Install with agentmods
npx agentmods add commands/tranfu-labs/tranfu-skills/tranfu-naming
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.

Clone the repo
git clone --depth 1 https://github.com/tranfu-labs/tranfu-skills

Made for: Claude Code.

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 tranfu-naming

README.md
[![agentmods](https://agentmods.dev/badge/commands/tranfu-labs/tranfu-skills/tranfu-naming/github.svg)](https://agentmods.dev/commands/tranfu-labs/tranfu-skills/tranfu-naming)
Your own site
<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.

agentmods 80×15 button for tranfu-naming

Your own site · 80×15
<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>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,205 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.00000 $0.01205
Opus 5 $0.00000 $0.00602
Sonnet 5 $0.00000 $0.00241
Haiku 4.5 $0.00000 $0.00120

Measured 8d ago against content hash df4d7cf17097, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

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.

own-skills/tranfu-coolify-ops/commands/tranfu-naming.md · 95 lines

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}

解析做完后忽略 .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-apporder-mgmt-appa1-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"的映射从"需要查表"变成"看名字就知道"。自动化脚本不需要额外 配置文件,新成员上手也不需要记忆映射表。

Read the full file on GitHub · 95 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. 8d ago First seen · 95 lines · 0 tokens per session scan A df4d7cf17097

Subscribe to this mod's changes

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.