<!-- title: gstack开盖：Skill长成软件仓库 -->

# gstack开盖：Skill长成软件仓库

## 概述

本期是装机目录实拆。外部榜单通道本期受限，所以观察口径换了一个：直接打开一台真实工作机的 `~/.claude/skills/` 装机目录，把里面的件一个个数文件。结果比任何榜单都有说服力——生态的件型分层已经彻底拉开：最薄的件只有一张 SKILL.md 名片，而天花板上的件已经长成带 CI 评测、遥测上报、更新检查、卸载器和版本日志的完整软件仓库。本期主角就是这台机器上最大的件：**gstack**，一个装下来超过 150 个文件、自带四个子技能和整套工程纪律的“仓库级件”。上次拆官方模具讲的是门牌怎么写，这次拆的是整栋楼怎么盖。

## 评测对比表

本期对比对象全部来自同一台机器的装机目录，按文件数排成一条清晰的“件型梯度”：

| Skill | 文件数（实测） | 件型 | 功能完整度 | 设计质量 | 实战与维护佐证 | 上手难度 | 社区活跃度 |
|---|---|---|---|---|---|---|---|
| defuddle | 1 | 单文件件 | ★★ | ★★★ | ★★ | ★★★★★ | — |
| openstoryline-use | 3 | 脚配角件 | ★★★ | ★★★★ | ★★★ | ★★★★ | — |
| long-running-agent | 5 | 模板资产件 | ★★★★ | ★★★★★ | ★★★ | ★★★★ | — |
| atlas | 8 | 小仓库件 | ★★★★ | ★★★★ | ★★★ | ★★★ | — |
| **gstack** | 150+ | 仓库级件 | ★★★★★ | ★★★★★ | ★★★★ | ★★ | — |

口径说明：本期为装机目录实拆，未引外部网页数据，故“社区活跃度”一律不给分；“实战与维护佐证”评的不是跑分，而是文件树里能看到的维护痕迹（CHANGELOG、VERSION、TODOS、评测设施、成对工具的打磨度）。上手难度星越多越容易装。

## 生态的金字塔：一张目录里的五种件型

先看全景。同一台机器上，五个件的“体重”差了两个数量级：

```mermaid
flowchart TD
    A["单文件件<br/>defuddle 一张名片"] --> B["脚本角件<br/>openstoryline-use 带桥接脚本"]
    B --> C["模板资产件<br/>long-running-agent 带清单模板"]
    C --> D["小仓库件<br/>atlas 带CLI与数据文档"]
    D --> E["仓库级件<br/>gstack 带CI评测遥测"]
```

- **defuddle**：一个 SKILL.md，没了。网页正文提取这类小活，一张名片足够。
- **openstoryline-use**：SKILL.md 加两个 Python 脚本，其中一个是 `feishu_file_sender.py`——产出文件后直接推进飞书。典型“干完活就交接”的角件。
- **long-running-agent**：五个文件，结构经典——主文件、两份参考提示词（`references/coding-prompt.md`、`initializer-prompt.md`）、两份资产模板（`assets/feature_list_template.json`、`assets/progress_template.md`）。把“长任务怎么断点续跑”的方法论做成了可复制的模板。
- **atlas**：八个文件，出现了 `scripts/atlas_cli.py`、`references/atlas-data.md`，还有一个意味深长的 `agents/openai.yaml`——给非 Claude 宿主留的门。
- **gstack**：Glob 数到截断还没数完的 150+ 文件，独占一档。

这五档体重就是本期第一个结论：**“Skill”这个词已经装不下生态里的东西了**。1 个文件的叫名片，150 个文件的叫产品，而它们共用同一个安装姿势。

## 主角开盖：gstack 的六层结构

把 gstack 的文件树按职能分成六层，一层层看。每一层都是普通件没有的东西。

```mermaid
flowchart TD
    G["gstack 仓库级件"] --> F["门面层"]
    G --> S["子件层"]
    G --> B["工具层"]
    G --> D["纪律层"]
    G --> E["评测层"]
    G --> O["运营层"]
    G --> H["跨宿主层"]
    F --> F1["SKILL.md.tmpl<br/>模板生成门面"]
    S --> S1["autoplan"]
    S --> S2["benchmark"]
    S --> S3["browse"]
    B --> B1["review-log 与 review-read"]
    B --> B2["telemetry-log 与 sync"]
    B --> B3["update-check 与 uninstall"]
    D --> D1["ETHOS 价值观"]
    D --> D2["ARCHITECTURE 结构"]
    E --> E1["evals.yml 进CI"]
    E --> E2["qa-eval 假网页"]
    O --> O1[".env.example 配置面"]
    H --> H1["CLAUDE.md"]
    H --> H2["AGENTS.md"]
    H --> H3["agents/openai.yaml"]
```

### 门面层：SKILL.md 是编译产物，不是手稿

根目录里并排放着 `SKILL.md` 和 `SKILL.md.tmpl`。这个 `.tmpl` 后缀是全仓库最锋利的一个设计：**门面文件是模板生成的**。连子件都跟着用——`autoplan/SKILL.md.tmpl`、`benchmark/SKILL.md.tmpl`、`browse/SKILL.md.tmpl` 一应俱全，`.github/workflows/` 里还有一个专职的 `skill-docs.yml` 工作流。

这意味着作者根本不维护 SKILL.md，他维护模板，SKILL.md 由流水线产出。好处直白：版本号、子件清单、命令列表这类会在多处重复的信息，只改模板一处，重新生成，四处同步。手工维护 SKILL.md 的件最常见的事故是“README 说有这个命令，实际早删了”，模板化从根上掐死这类失同步。

### 子件层：一个件，四张门牌

gstack 不是一件，是一件带三件：根门面之外，`autoplan/SKILL.md`（自动规划）、`benchmark/SKILL.md`（跑分自测）、`browse/SKILL.md`(浏览器操控)各自成件。按 Claude Code 的机制，子目录里的 SKILL.md 是独立触发面——用户说“帮我规划”和“帮我跑个评测”会命中不同的子件，各自只把那一份说明书装进上下文。

这是对“渐进披露”的极致用法：**与其写一个五千字的巨型 SKILL.md 让模型自己找段落，不如拆成四个短门面，按需加载**。官方仓库一件一 SKILL.md 是标准写法，gstack 证明了大件必须反过来走。

### 工具层：bin 里的三对镜像命令

`bin/` 下是一整个命令族，其中三对成镜像的命令暴露了作者的习惯：

- `gstack-review-log` 与 `gstack-review-read`——评审记录一个写一个读；
- `gstack-telemetry-log` 与 `gstack-telemetry-sync`——遥测先落本地、再择机上行的两段式；
- `bin/dev-setup` 与 `bin/dev-teardown`——开发环境一装一拆。

外加 `gstack-diff-scope`（diff 范围）、`gstack-repo-mode`（仓库模式）、`gstack-slug`、`gstack-analytics`、`gstack-config`、`chrome-cdp`（CDP 桥）等散件。规律可以总结成一句话：**每个有副作用的动作，都配了一个对称的回收动作**。普通件的脚本是一条道走到黑，gstack 的脚本是成套的开关。这正是长流程自动化和“一次性脚本”的分野——有开就有关，状态才收得回来。

### 纪律层：四份文档，四类读者

普通件的所有话都挤在 SKILL.md 里。gstack 根目录同时摊着 `ETHOS.md`、`DESIGN.md`、`ARCHITECTURE.md`、`BROWSER.md`、`TODOS.md`、`CHANGELOG.md`、`README.md`——一套完整开源软件的文档建制。最有性格的是 `ETHOS.md`：一份专门讲“这个件信什么”的价值观文档，放在 DESLGN 和 ARCHITECTURE 之前的位置。它的潜台词是：先认同做事方式，再看技术方案。

这套分档给 skill 作者的启示是：**当你的说明书写过两千字，就该按读者分家了**——模型读的留 SKILL.md，贡献者读的进 CONTRIBUTING.md，未来自己读的进 DESIGN.md，混在一起谁都读不好。

### 评测层：评测进 CI，还分日常档和定期档

`.github/workflows/` 里同时有 `evals.yml` 和 `evals-periodic.yml`——评测不只进了 CI，还单开了一条定期跑的流水线（防止“上周还行这周漂了”的模型行为漂移）。配套的 `benchmark/SKILL.md` 把“跑评测”本身做成了一个可触发的子技能。

更见功夫的是 `browse/test/fixtures/` 里的假网页：`qa-eval.html`、`qa-eval-checkout.html`、`qa-eval-spa.html`——普通页、结账页、单页应用三种形态各备一个专供评测的靶子，旁边还有 dialog、iframe、upload、network-idle 等十几个场景 fixture。2026 年了，“件带评测”正在从加分项变成分水岭：没有评测的件，每次上游模型升级都是一次盲飞。

### 运营层与跨宿主层：装上之后的一生

运营层回答“装上之后呢”：`.env.example`（配置有样例）、`gstack-update-check`（更新检查）、`gstack-uninstall`（正经的卸载器）、`VERSION` 加 `CHANGELOG.md`（版本纪律）、`gstack-community-dashboard`（社区面板）。一个件的完整生命周期——安装、配置、升级、卸载、反馈——在文件树里全找得到落点。

跨宿主层回答“只服务 Claude 吗”：`CLAUDE.md` 与 `AGENTS.md` 并存，`agents/openai.yaml` 直通 OpenAI 系宿主。同一套纪律喂三个宿主，一个字都没浪费——这是无名的 atlas 和头部件共同押注的方向：**Skill 的本质是“带说明书的工具包”，说明书不必绑定某家模型**。

## 从装箱单提炼的七个仓库级写法模式

本期全部结论来自文件名，但文件名本身就是设计文档。可照抄的模式七条：

1. **模板生成门面**——SKILL.md.tmpl 加生成工作流，门面永不手改。
2. **子目录即子件**——功能域各自带 SKILL.md，触发面按需加载。
3. **文档按受众分档**——ETHOS 给同路人，DESIGN 给自己，ARCHITECTURE 给贡献者。
4. **命令成对造**——log 配 read，setup 配 teardown，状态必须可回收。
5. **评测进 CI**——日常档加定期档，fixture 靶场按页面形态分型。
6. **宿主无关化**——CLAUDE.md、AGENTS.md、agents/openai.yaml 三门齐开。
7. **配齐生命周期**——.env.example 到 update-check 到 uninstall，管装管卸。

## 适用与不适用

**适合谁**：需要稳定浏览器会话与长流程工程化的团队用户；想给自己的 Skill 做“产品化”的作者——这份文件树本身就是一本作业，七条模式条条可抄。

**不适合谁**：轻量场景的单点用户。150+ 文件的件意味着更高的磁盘占用、更长的配置链（`.env.example` 说明有必填配置）、更大的心智负担，拆个网页正文用 defuddle 一张名片更划算。**件的重量应该配任务的重量**，这是装机目录教的最朴素一课。

## 安装与使用

本机副本为已装机状态，上游 owner 名本期未经网络核验，安装前请以 skills.sh 或 GitHub 搜索确认仓库地址：

```bash
# 通用装法（skills.sh 生态标准命令格式）
npx skills add <owner>/gstack

# 或手动克隆进 Claude Code 技能目录
git clone https://github.com/<owner>/gstack ~/.claude/skills/gstack

# 装完先看配置面（该件存在 .env.example，需补环境变量）
cp ~/.claude/skills/gstack/.env.example ~/.claude/skills/gstack/.env

# 确认四个门牌都被识别
ls ~/.claude/skills/gstack/*/SKILL.md
```

## 推荐排行榜

- **想抄工程化作业**：gstack——七条模式全套现成。
- **想学断点续跑模板**：long-running-agent——五个文件讲透清单驱动。
- **想学角件与交接**：openstoryline-use——干完活直接推飞书的桥接写法。
- **想学跨宿主兼容**：atlas——八文件的极简版三门齐开。
- **只想解决问题**：defuddle 型单文件件——最快的装、最快的忘。

## 参考来源

1. 本机装机目录 `~/.claude/skills/gstack/` 完整文件树（2026-09-13 Glob 实测）——本文全部一手材料，含 bin 命令族、四份 SKILL.md、evals 工作流、qa-eval fixtures 等 150+ 文件名。
2. 本机装机目录对照件文件树（同日实测）——`defuddle/`（1 文件）、`openstoryline-use/`（3 文件）、`long-running-agent/`（5 文件）、`atlas/`（8 文件），件型梯度数据来源。
3. Claude Code Agent Skills 机制（子目录 SKILL.md 触发、渐进披露）——官方公开机制，本文子件层分析的前提，本期未逐文件核验上游仓库。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
