Skip to content

feat: 新增 ponytail_code_quality Skill (SK_0003) + 路径硬编码修复#1

Open
ciskonc wants to merge 3 commits into
MagicalYuYu:mainfrom
ciskonc:main
Open

feat: 新增 ponytail_code_quality Skill (SK_0003) + 路径硬编码修复#1
ciskonc wants to merge 3 commits into
MagicalYuYu:mainfrom
ciskonc:main

Conversation

@ciskonc

@ciskonc ciskonc commented Jun 27, 2026

Copy link
Copy Markdown

概述

本 PR 在 v1.1.0 基础上新增 ponytail_code_quality Skill (SK_0003) 并修复若干路径硬编码问题,提升代码质量规范与跨环境可移植性。

变更内容

1. 新增 ponytail_code_quality Skill (SK_0003)

背景:ponytail 是 DietrichGebert/ponytail(18.4k star)的代码质量规则集,核心理念是"能不写就不写、能复用就复用、能一行就一行"。本 Skill 将其适配到 AOS 体系,为 AI 编写代码时提供决策约束。

核心机制:6 级决策阶梯(按优先级从高到低)

1. YAGNI          → 能不写就不写
2. stdlib         → 优先用标准库
3. 原生特性        → 用语言原生特性
4. 已安装依赖      → 复用项目已有依赖
5. 一行代码        → 能一行就不写多行
6. 最小实现        → 实在要写就写最小代码

安全边界:以下 5 个领域不使用阶梯,保持严谨实现:

  • auth(认证授权)
  • crypto(加密解密)
  • serialization(序列化)
  • sql(数据库)
  • user_input(用户输入处理)

强度切换:默认 full,用户可通过 ponytail lite / ponytail ultra 切换

新增文件

  • 03_TOOLS/skills/ponytail_code_quality/SKILL.md(核心指令,95 行)
  • 03_TOOLS/skills/ponytail_code_quality/config.json(配置,15 行)
  • 03_TOOLS/skills/ponytail_code_quality/gotchas.md(坑点清单,40 行)
  • 03_TOOLS/skills/ponytail_code_quality/references/ladder.md(阶梯详解,54 行)

注册变更

  • 00_BOOT/SKILL_REGISTRY.md 新增 SK_0003 注册行 + 演化记录
  • 04_MEMORY/INDEX.md 新增 skill 段指针
  • 00_BOOT/SYSTEM_STATE.md 追加事件日志

2. AGENTS.md 双路径环境改为相对路径

问题:原"双路径环境"章节使用硬编码盘符 d:\AOS\d:\github\agent-operating-system\,发布到 GitHub 会泄露本地环境信息,且其他用户路径不一致会导致规则失效。

修复:改为相对路径 ./AOS/./github/agent-operating-system/,不绑定盘符。

3. aos_generate_data.py 移除硬编码路径

问题find_aos_root() 函数第 50 行有硬编码 fallback 路径列表 [Path("D:/AOS"), Path("C:/AOS"), Path("d:/AOS"), Path("c:/AOS")],发布到 GitHub 会泄露盘符假设。

修复:改为读取环境变量 AOS_ROOT,用户可自定义。原有 3 级自动检测(命令行参数 → 当前目录 → 脚本所在目录向上查找)保持不变。

设计决策

为什么选 ponytail

维度 评估
社区验证 18.4k star,经过大量开发者实际验证
理念契合 与 AOS"最小化、文件优先"的设计哲学一致
适配成本 纯规则文本,无需运行时依赖,适配 Trae 无 hooks 架构
安全可控 明确的安全边界,5 个关键领域不使用阶梯

为什么默认 full 强度

ponytail 官方就是默认 full。经过讨论(见 aos_development 项目下 7 份方案文档),最终在 v3 方案中确定:所有模型通用,不做模型检测,不做评分系统。理由:

  1. full 本身是安全的(最坏是"说了没做到",不是"做更糟")
  2. 评分系统增加复杂度、消耗 tokens、可能不准、需要维护
  3. 用户比 Agent 更懂自己,效果不好用户会说 ponytail lite

测试验证

AOS 一致性自检 — 2026-06-28
版本:1.1.0 | 根目录:D:\libraries\Desktop\trae\agent-operating-system

检查:版本号一致性...    通过 ✓
检查:引用完整性...      通过 ✓
检查:索引对应性...      通过 ✓
检查:目录合规性...      通过 ✓

一致性验证:通过 ✓
  • aos_generate_data.py 运行正常,通过脚本所在目录向上查找 AGENTS.md 自动定位根目录
  • aos_check.py 全部检查通过
  • ponytail Skill 文件结构完整,符合 AOS Skill 规范(SKILL.md + gotchas.md + config.json + references/)

文件变更清单

类型 文件 改动
新增 03_TOOLS/skills/ponytail_code_quality/SKILL.md +95 行
新增 03_TOOLS/skills/ponytail_code_quality/config.json +15 行
新增 03_TOOLS/skills/ponytail_code_quality/gotchas.md +40 行
新增 03_TOOLS/skills/ponytail_code_quality/references/ladder.md +54 行
修改 00_BOOT/SKILL_REGISTRY.md +3/-1 行
修改 00_BOOT/SYSTEM_STATE.md +2 行
修改 04_MEMORY/INDEX.md +5/-1 行
修改 AGENTS.md +6/-6 行
修改 03_TOOLS/scripts/aos_generate_data.py +4/-2 行

合计:3 个 commit,9 个文件,+224/-10 行

不在本 PR 范围

  • ponytail Skill 的实际效果验证(需在真实代码任务中实测 5 次以上)
  • 创建 Trae Rule 实现自动激活(当前需手动调用)
  • aos_check.py 索引检查的路径解析优化(设计脆弱点,非阻塞)

后续计划

若本 PR 合并,后续可考虑:

  1. 07_EXPORTS/ 下新增 ponytail 安装说明(面向 v1.0.0 用户)
  2. 创建 .trae/rules/ 实现 ponytail 自动生效(always-on Rule)
  3. 在 5 个真实代码任务中实测 ponytail 效果,积累 gotchas

相关文档

本次变更的完整讨论过程记录在 01_PROJECTS/aos_development/docs/ 下(共 7 份方案文档,从 v1 分析到 v3 最终版),因含个人开发笔记未包含在本 PR 中。


许可证:MIT License with Additional Terms,与上游一致

ciskonc added 3 commits June 28, 2026 02:52
- 6级决策阶梯(YAGNI→stdlib→原生→已装依赖→一行→最小实现)
- 源自 DietrichGebert/ponytail(18.4k star),适配 Trae 无 hooks 架构
- 默认 full 强度,所有模型通用,支持 lite/full/ultra 切换
- 安全边界:auth/crypto/serialization/sql/user_input 5 领域不使用阶梯
- SKILL_REGISTRY 注册 SK_0003,INDEX.md 新增 skill 段指针
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant