---
id: 007
title: GitHub 组织重组 —— acong-tech-skills 专用 org 托管 skill 仓集群
status: closed
labels: [infra, github, skills-sh]
assignee: team-lead
created_at: 2026-04-23
closed_at: 2026-04-23
---

# #007 GitHub 组织重组（acong-tech-skills）

## 场景

老板 2026-04-23 发现：skills.sh 生态的惯例是"**每个 skill 一个独立 GitHub 仓**，在专用 org 下"。当前我们把 `skill-xiangqin` 仓放在 `acong-tech` 主 org 下，和公司其他非 skill 仓混在一起不干净。

## 对标

别人的做法（观察 skills.sh 和 awesome-skills 清单）：
- Anthropic 官方 skills 在 `anthropics/skills-examples/*`
- 社区大户在 `openskills/skill-*` / `skillhub/skill-*`
- 命名约定：`<org>-skills` org + repo 叫 skill 裸名（不加 `skill-` 前缀）

## 目标

- 新建 org `acong-tech-skills`
- 仓命名从 `acong-tech/skill-xiangqin` → `acong-tech-skills/xiangqin`
- 未来每个新 skill 都在 `acong-tech-skills/<skill-name>` 下

## 步骤

### 1. 建新 org

`https://github.com/organizations/new` → org name `acong-tech-skills` → 选 Free plan → 完成。

（需要绑定邮箱 + 老板作为 owner）

### 2. Transfer 现有仓

`acong-tech/skill-xiangqin` → Settings → Danger Zone → Transfer ownership → `acong-tech-skills` → 改名为 `xiangqin`。

Transfer 过程 GitHub 会自动保留：
- 所有 commits + tags（v0.3.1 / v0.4.0 / v0.4.2）
- issues / PR（如果有）
- redirect：老 URL 自动 302 到新 URL（至少 1 年）

### 3. Deploy key 重配

Transfer 后 deploy key 通常**保留**（GitHub 会一起迁），但：
- 再验证：`gh repo deploy-key list --repo acong-tech-skills/xiangqin` 看还在不
- 如果 org 层 policy 不一样（acong-tech 已开 deploy keys，`acong-tech-skills` 默认 disabled）需要到新 org settings 开 `https://github.com/organizations/acong-tech-skills/settings/deploy_keys` → Enabled
- 若 key 丢失：重生成 + 重配 GHA secret `SKILL_REPO_DEPLOY_KEY`

### 4. 改 release.yml 里 clone URL

```yaml
git clone git@github.com:acong-tech-skills/xiangqin.git /tmp/skill
# 从
git clone git@github.com:acong-tech/skill-xiangqin.git /tmp/skill
```

1 处改动 + commit + 下次 tag 自动生效。

### 5. skills.sh 侧同步

skills.sh 指向 GitHub 仓 URL，迁移后：
- 旧 `acong-tech/skill-xiangqin` URL 有 GitHub 重定向，skills.sh 可能还能 resolve
- 但最好主动告知 skills.sh（看有没有 admin 面板改源 URL；或者发版时自动重新 ping）

## 不做

- **不迁老 skill 历史**（v0.3.0 / v0.3.1 的 canary 发布）：原 canary 已删（`xiangqin-canary` slug 在 ClawHub 删了），skills.sh 侧那两个版本也大概率 no-one 在用
- **不改 ClawHub slug**：ClawHub 不依赖 GitHub URL，slug `acong-tech-xiangqin` 独立保留

## 代价 / 风险

- Transfer 过程可能导致 5-10 分钟内 skills.sh / 用户装机时拿不到仓（GitHub 内部 redirect 延迟）
- 如果 deploy key 丢失需要重生成，下次 release 前要验证可用

## 时机

**不紧急**（当前 `acong-tech/skill-xiangqin` 能正常工作）。建议和下一个 skill 立项前一起做（第 2 个 skill 时才值得专门开 org）。单仓场景下 `acong-tech` 也能凑合。

## 2026-04-23 凌晨老板补充

老板确认要做 —— 关键诉求："新组织 `acong-tech-skills` 下的所有 skill 仓**不需要 skill 前缀**"。命名约定：

- 老：`acong-tech/skill-xiangqin`
- 新：`acong-tech-skills/xiangqin`

这样仓名就是 skill slug 本身，避免 `skill-xiangqin` 这种冗余前缀。

**等老板亲自做 GitHub org 创建 + repo transfer**（这是对 shared resource 的修改，我代不了，也不想在凌晨没确认就跨 org 动手）。完成后告诉我新 org 已建 + transfer 好了，我改 `release.yml` 的 clone URL + 验证 deploy key。

## 讨论

### 2026-04-23 @team-lead

**完成**：
- org `acong-tech-skills` 建成（老板手动，GitHub 不允许 API 建 org）
- 仓 transfer `acong-tech/skill-xiangqin` → `acong-tech-skills/xiangqin`（Playwright CLI 填表 + 老板点 Transfer 按钮验证 2FA；rename `skill-xiangqin` → `xiangqin` 通过 gh CLI）
- Deploy key `GHA release.yml (generated 2026-04-23)` 随 transfer 自动迁移（读写权限保留）
- `.github/workflows/release.yml` clone URL 更新
- `brain/sop/` + `brain/objectives/` 引用批量 sed 更新
- 老地址 GitHub 自动 301 redirect 到新地址（至少 1 年缓冲）

**待办**：打个测试 tag 跑 sync-skills-sh 验证新 clone URL + deploy key 组合工作
