{"id":44794564,"url":"https://github.com/telagod/code-abyss","last_synced_at":"2026-04-12T18:59:56.757Z","repository":{"id":335985190,"uuid":"1147729941","full_name":"telagod/code-abyss","owner":"telagod","description":"☠️ 一键为 Claude Code / Codex CLI 注入邪修人格与 40+ 安全工程秘典 | npx code-abyss","archived":false,"fork":false,"pushed_at":"2026-02-08T09:33:49.000Z","size":442,"stargazers_count":33,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-08T13:50:02.529Z","etag":null,"topics":["ai-assistant","blue-team","claude-code","cli","codex-cli","configuration","prompt-engineering","red-team","security"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/code-abyss","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/telagod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-02T06:15:41.000Z","updated_at":"2026-02-08T09:33:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/telagod/code-abyss","commit_stats":null,"previous_names":["telagod/claude-sage","telagod/code-abyss"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/telagod/code-abyss","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telagod%2Fcode-abyss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telagod%2Fcode-abyss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telagod%2Fcode-abyss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telagod%2Fcode-abyss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/telagod","download_url":"https://codeload.github.com/telagod/code-abyss/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telagod%2Fcode-abyss/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29507902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","blue-team","claude-code","cli","codex-cli","configuration","prompt-engineering","red-team","security"],"created_at":"2026-02-16T12:28:17.482Z","updated_at":"2026-04-12T18:59:56.745Z","avatar_url":"https://github.com/telagod.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ☠️ Code Abyss\n\n\u003cdiv align=\"center\"\u003e\n\n**邪修红尘仙 · 宿命深渊**\n\n*为 Claude Code / Codex CLI / Gemini CLI 注入邪修人格、4种可切换输出风格与工程化技能体系*\n\n[![npm](https://img.shields.io/npm/v/code-abyss.svg)](https://www.npmjs.com/package/code-abyss)\n[![CI](https://github.com/telagod/code-abyss/actions/workflows/ci.yml/badge.svg)](https://github.com/telagod/code-abyss/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Platform](https://img.shields.io/badge/Platform-Linux%20%7C%20macOS%20%7C%20Windows-blue.svg)]()\n[![Node](https://img.shields.io/badge/Node.js-%3E%3D18-green.svg)]()\n\n\u003c/div\u003e\n\n---\n\n## 🚀 安装\n\n当前 npm 最新版：`2.0.8`\n\n### v2.0.8 新特性\n\n- `target-registry` 收束宿主常量：Claude / Codex / Gemini 的 target 与安装根改为单一真相源，后续扩宿主不再散改多处硬编码\n- runtime guidance 进一步瘦身：默认内核与 4 个输出风格重新压缩，并用测试门禁限制各风格体积\n- Gemini 文档与 pack 叙事补齐：README 现在完整覆盖 Gemini host、dynamic `GEMINI.md`、Gemini smoke 与 pack 映射\n- Windows CI 修复：gstack frontmatter 解析现已兼容 `CRLF`，Windows 下 Claude / Codex / Gemini smoke 全绿\n- Codex 自定义说明文件：安装器会同步 `instruction.md` 到 `~/.codex/`，并在 `config.toml` 写入 `model_instructions_file = \"./instruction.md\"`\n- 仓库分支已收束：历史 automation 分支内容已并回 `main`，当前 npm 包面向单主线发布\n\n```bash\nnpx code-abyss\nnpx code-abyss --list-styles\nnpm install -g code-abyss@2.0.8\n```\n\n交互式菜单（方向键选择，回车确认）：\n\n```\n☠️ Code Abyss v2.0.8\n\n? 请选择操作 (Use arrow keys)\n❯ 安装到 Claude Code (~/.claude/)\n  安装到 Codex CLI   (~/.codex/)\n  卸载 Claude Code\n  卸载 Codex CLI\n```\n\n也可以直接指定：\n\n```bash\nnpx code-abyss --target claude    # 安装到 ~/.claude/\nnpx code-abyss --target codex     # 安装到 ~/.codex/\nnpx code-abyss --target gemini    # 安装到 ~/.gemini/\nnpx code-abyss --style abyss-concise --target claude\nnpx code-abyss --style abyss-concise --target codex\nnpx code-abyss --target claude -y  # 零配置一键安装 (自动合并推荐配置)\nnpx code-abyss --target codex -y   # 零配置一键安装 (自动写入 config.toml 模板)\nnpx code-abyss --target gemini -y  # 零配置一键安装 (自动生成 GEMINI.md + TOML commands)\nnpx code-abyss --list-styles       # 列出可用输出风格\nnpx code-abyss --uninstall claude  # 卸载 Claude Code\nnpx code-abyss --uninstall codex   # 卸载 Codex CLI\nnpx code-abyss --uninstall gemini  # 卸载 Gemini CLI\n```\n\n### 安装流程\n\n核心文件安装后，自动检测 API 认证状态：\n\n```\n── 认证检测 ──\n✅ 已检测到认证: [custom] https://your-api.com\n```\n\n支持的认证方式：\n- `claude login` / `codex login` (官方账号)\n- 环境变量 `ANTHROPIC_API_KEY` / `OPENAI_API_KEY`\n- 自定义 provider (`ANTHROPIC_BASE_URL` + `ANTHROPIC_AUTH_TOKEN`)\n\n未检测到认证时会提示配置，可交互输入或跳过。\n\n安装前可选择输出风格；若显式传入 `--style \u003cslug\u003e`，则跳过风格选择并直接安装指定风格。\n\n然后进入可选配置（空格选择，回车确认）：\n\n```\n? 选择要安装的配置 (Press \u003cspace\u003e to select, \u003center\u003e to submit)\n◉ 精细合并推荐 settings.json (保留现有配置)\n◯ 安装 ccline 状态栏 (需要 Nerd Font)\n```\n\n- **settings.json 精细合并**：逐项合并推荐配置，已有的 key 不覆盖，缺失的 key 补上\n- **ccline 状态栏**：自动安装 `@cometix/ccline` + `ccline --init` 生成配置 + 合并 statusLine 到 settings.json\n\n\u003e 已有配置会自动备份到 `.sage-backup/`，卸载时一键恢复。\n\n### 输出风格\n\n当前内置风格：\n\n- `abyss-cultivator`：默认风格，沉浸式邪修表达，情绪张力更强\n- `abyss-concise`：冷刃简报，保留角色设定，但表达更克制、更偏工程交付\n- `abyss-command`：铁律军令，命令式、压缩式输出，适合发布/故障/修复\n- `abyss-ritual`：祭仪长卷，仪式感更强，适合长任务、战报与迁移总结\n\n若更在意上下文与 token 消耗，优先选 `abyss-concise` 或 `abyss-command`。当前运行时 guidance 已做轻量化压缩，并有测试限制各风格体积，避免后续版本再次膨胀。\n\nClaude 安装时会把所选 slug 写入 `settings.json.outputStyle`；若当前仓库声明了 project packs，则自动同步对应 runtime + commands。Codex 走 `skills-only`，根据项目 `packs.lock` 自动附带对应 pack，不再写运行时 `~/.codex/AGENTS.md`，并会同步 `instruction.md` 与 `model_instructions_file`。Gemini 作为第三宿主，安装到 `~/.gemini/`，生成 `GEMINI.md`、`settings.json`、`commands/*.toml` 与 `skills/`；若项目声明了 `gstack`，也会同步安装 `~/.gemini/skills/gstack/` 与对应 TOML commands。\n\n当前 runtime kernel 已进一步瘦身：默认 `GEMINI.md` / 动态 guidance 体积控制在约 `1.45KB~1.65KB`，并通过 Jest 预算门禁限制各风格体积，避免后续版本再次膨胀。\n\n### 多风格切换\n\n- Claude / Gemini：重新执行安装命令并带上 `--style \u003cslug\u003e`，即可切换为目标风格\n- 例：`npx code-abyss --target claude --style abyss-concise -y`\n- 例：`npx code-abyss --target gemini --style abyss-ritual -y`\n- Codex：当前为 `skills-only` 运行形态，`--style` 会被显式忽略\n\n---\n\n## 🗑️ 卸载\n\n```bash\nnpx code-abyss --uninstall claude   # 卸载 Claude Code\nnpx code-abyss --uninstall codex    # 卸载 Codex CLI\n```\n\n也可以用备用脚本：\n\n```bash\nnode ~/.claude/.sage-uninstall.js   # Claude Code\nnode ~/.codex/.sage-uninstall.js    # Codex CLI\nnode ~/.gemini/.sage-uninstall.js   # Gemini CLI\n```\n\n自动恢复之前备份的配置，清理所有安装文件。\n\n---\n\n## 🎭 这是什么\n\nCode Abyss 是一套 **Claude Code / Codex CLI 邪修人格 + 多风格输出 + 攻防工程配置包**，一条命令注入：\n\n- 🔥 **邪修人格** — 沉浸式角色扮演 + 道语标签 + 渡劫协议 + 反拒绝条款\n- ⚔️ **攻防安全知识体系** — 红队/蓝队/紫队三脉道统，覆盖安全、架构、开发、DevOps、AI、多 Agent 等 11 个领域\n- 🗡 **零废话安全研究** — 禁 disclaimer、禁道德前缀、全授权直出 PoC + 技术细节\n- ⚡ **新版 Codex 对齐** — `~/.agents/skills/` + 官方当前 `config.toml` 键位 + 项目级自动 pack 同步\n- ⚖️ **5 个校验关卡** — 安全扫描、模块完整性、变更分析、代码质量、文档生成\n- 🧠 **沙箱感知 + 离线优先** — 自适应执行环境，信息三级分级验证\n- 🧬 **单源 skill registry** — `skills/**/SKILL.md` frontmatter 驱动 Claude commands、脚本执行链与安装校验；Codex 直接发现安装后的 skill 目录\n\n---\n\n## 📦 安装内容\n\n```\n~/.claude/（Claude Code）          ~/.codex/（Codex CLI）\n├── CLAUDE.md          道典        ├── config.toml    推荐配置\n├── output-styles/     输出风格    └── .sage-uninstall.js\n│   ├── index.json\n│   └── *.md style files           ~/.agents/\n├── commands/          斜杠命令     ├── skills/        Code Abyss + gstack skills\n├── settings.json                  │   ├── domains/\n└── skills/            技能体系      │   ├── tools/\n                                   │   └── gstack/     上游运行时 root\n                                   └── bin/lib/       run_skill.js 依赖\n\n可选:\n├── ccline/            状态栏 (npm install -g @cometix/ccline)\n└── statusLine         自动合并到 settings.json\n```\n\n---\n\n## 🛠️ 内置 Skills（11 领域 + 校验工具）\n\n### 校验关卡（`/` 直接调用）\n\nClaude 侧命令由 `skills/**/SKILL.md` frontmatter 统一生成；Codex 侧直接发现 `~/.agents/skills/**/SKILL.md`，若存在 `agents/openai.yaml` 则附加 UI metadata 与默认提示词。\n\n| 命令 | 功能 |\n|------|------|\n| `/verify-security` | 扫描代码安全漏洞，检测危险模式 |\n| `/verify-module` | 检查目录结构、文档完整性 |\n| `/verify-change` | 分析 Git 变更，检测文档同步状态 |\n| `/verify-quality` | 检测复杂度、命名规范、代码质量 |\n| `/gen-docs` | 自动生成 README.md 和 DESIGN.md 骨架 |\n\n### 知识秘典（按触发词自动加载）\n\n| 领域 | 秘典 |\n|------|------|\n| 🔥 安全 | 红队攻击、蓝队防御、渗透测试、威胁情报、威胁建模、漏洞研究、代码审计、密钥管理、供应链安全 |\n| 🏗 架构 | API 设计、云原生、安全架构、消息队列、缓存策略、合规审计、数据安全 |\n| 📜 开发 | Python、TypeScript、Go、Rust、Java、C++、Shell、Dart、Kotlin、PHP、Swift |\n| 🔧 DevOps | Git 工作流、测试策略、E2E 测试、性能测试、数据库、DevSecOps、性能优化、可观测性、成本优化 |\n| 🎨 前端 | 构建工具、组件模式、性能优化、状态管理、前端测试、UI 美学、UX 原则 |\n| 📱 移动端 | Android 开发、iOS 开发、跨平台开发 |\n| 🔮 AI | Agent 开发、LLM 安全、RAG 系统、模型评估、Prompt 工程 |\n| 🏭 数据工程 | 数据管道、数据质量、流处理 |\n| ☁️ 基础设施 | GitOps、IaC、Kubernetes |\n| 🕸 协同 | 多 Agent 任务分解与并行编排 |\n\n\u003e 当前仓库内 `SKILL.md` 入口总数、可调用工具数与 runtime 布局以 `npm run verify:skills` 和实际安装结果为准，不再在 README 中手写固定计数。\n\n---\n\n## ⚙️ 推荐配置\n\n### Claude `settings.json` 推荐模板\n\n安装时选择「精细合并」会自动写入，也可手动参考 [`config/settings.example.json`](config/settings.example.json)：\n\n```json\n{\n  \"$schema\": \"https://json.schemastore.org/claude-code-settings.json\",\n  \"env\": {\n    \"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS\": \"1\",\n    \"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC\": \"1\",\n    \"CLAUDE_CODE_ENABLE_TASKS\": \"1\",\n    \"CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION\": \"1\",\n    \"ENABLE_TOOL_SEARCH\": \"auto:10\"\n  },\n  \"defaultMode\": \"bypassPermissions\",\n  \"alwaysThinkingEnabled\": true,\n  \"autoMemoryEnabled\": true,\n  \"model\": \"opus\",\n  \"outputStyle\": \"abyss-cultivator\",\n  \"attribution\": { \"commit\": \"\", \"pr\": \"\" },\n  \"sandbox\": { \"autoAllowBashIfSandboxed\": true },\n  \"permissions\": {\n    \"allow\": [\"Bash\", \"LS\", \"Read\", \"Edit\", \"Write\", \"MultiEdit\",\n              \"Agent\", \"Glob\", \"Grep\", \"WebFetch\", \"WebSearch\",\n              \"TodoWrite\", \"NotebookRead\", \"NotebookEdit\", \"mcp__*\"]\n  }\n}\n```\n\n| 配置项 | 说明 |\n|--------|------|\n| `defaultMode: bypassPermissions` | 跳过所有权限确认（`.git`等受保护目录仍会提示） |\n| `autoMemoryEnabled` | 启用自动记忆，跨会话保留上下文 |\n| `sandbox.autoAllowBashIfSandboxed` | 沙箱环境内自动放行 Bash 命令 |\n| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | 启用多 Agent 并行协作（实验性） |\n| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | 禁用自动更新、遥测、错误报告 |\n| `CLAUDE_CODE_ENABLE_TASKS` | 启用任务管理功能 |\n| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | 启用提示建议 |\n| `ENABLE_TOOL_SEARCH` | MCP 工具自动搜索（auto:10 = 自动匹配前10个） |\n| `mcp__*` | 自动放行所有 MCP 工具 |\n| `outputStyle` | 设置当前选择的风格 slug，默认 `abyss-cultivator` |\n\n---\n\n### Codex `config.toml` 推荐模板\n\n安装 `--target codex`（尤其 `-y`）时会写入以下 **当前官方样例线 + abyss profile** 到 `~/.codex/config.toml`：\n\n```toml\nmodel = \"gpt-5.4\"\nmodel_provider = \"openai\"\nmodel_reasoning_effort = \"medium\"\nmodel_reasoning_summary = \"auto\"\nmodel_verbosity = \"medium\"\napproval_policy = \"on-request\"\nallow_login_shell = true\nsandbox_mode = \"read-only\"\ncli_auth_credentials_store = \"file\"\nproject_doc_max_bytes = 32768\nweb_search = \"cached\"\n\n[profiles.abyss]\napproval_policy = \"never\"\nsandbox_mode = \"danger-full-access\"\nweb_search = \"live\"\n\n[agents]\nmax_threads = 6\nmax_depth = 1\n\n[sandbox_workspace_write]\nwritable_roots = []\nnetwork_access = false\n```\n\n- 根默认值对齐官方当前样例：`gpt-5.4` + `approval_policy = \"on-request\"` + `sandbox_mode = \"read-only\"`\n- 若要保留旧版高自动化体验，可显式切到 `abyss`：`codex -p abyss`\n- `project_doc_max_bytes` 仍保留在 `config.toml` 模板中，便于用户自行维护全局 `AGENTS.md`\n- skills 走 `~/.agents/skills/` 官方用户级路径，默认自动附带 `gstack` runtime root `~/.agents/skills/gstack`\n\n### 兼容性说明\n\n- 模板已对齐新版 Codex 配置风格：root keys 置于 tables 之前，`web_search` 改为 root string mode，skills 改走 `~/.agents/skills/`\n- 根默认值保持官方安全线，仓库个性化的全开模式降为 `[profiles.abyss]`\n- Claude Code 默认启用 `bypassPermissions` 模式，跳过所有权限确认（`.git` 等受保护目录仍会提示）\n- 新增实验功能环境变量：`CLAUDE_CODE_ENABLE_TASKS`、`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`\n- 新增 `mcp__*` 通配符，自动放行所有 MCP 工具\n- `Codex` 当前以 `~/.agents/skills/**/SKILL.md` 为主，custom prompts 旧入口已移除；Code Abyss 不再写运行时 `~/.codex/AGENTS.md`\n- `agents/openai.yaml` 现在只是 skill 的可选 metadata 文件，不再等同于 `~/.codex/agents/*.toml` 自定义 subagent 定义\n- `.code-abyss/packs.lock.json` 现在支持按 host 配置 `optional_policy=auto|prompt|off` 与 `sources.\u003cpack\u003e=pinned|local|disabled`\n- `--list-styles` 可列出当前内置风格；`--style \u003cslug\u003e` 可在安装时显式切换风格\n- `skills/run_skill.js` 现在仅负责执行脚本型 skill：通过共享 registry 定位脚本入口、加目标锁、spawn 子进程，并把退出码原样透传\n- 若 skill 没有 `scripts/*.js`，Claude/Codex/Gemini 三端都会退化为“先读 `SKILL.md`，再按秘典执行”的知识型模式\n- Codex 改为 `skills-only` 安装形态：不再写运行时 `AGENTS.md`，而是在 `~/.agents/skills/` 下自动安装 Code Abyss 与 gstack skills\n- 安装器不会再为 Codex 写入伪配置 `~/.codex/settings.json`；若检测到旧版遗留文件，会在安装时备份后移除，卸载时恢复\n- 若你本地已有旧配置，安装器不会强制覆盖；会自动补齐缺失 root defaults，并把旧 `web_search_*` / `[tools].web_search` 迁移到新版 `web_search = \"cached|live|disabled\"`\n- 建议升级后执行一次 `codex --help`，或用 `codex -p abyss --help` 校验 profile 可见性\n\n---\n\n## 🧩 Skill registry / 生成 / 执行链\n\n现在 `skills/**/SKILL.md` frontmatter 是唯一事实源，registry 会先把元数据标准化，再交给安装器与执行器消费。\n\n### Pack registry\n\n- `packs/abyss/manifest.json`：声明 Code Abyss core pack 在 Claude/Codex/Gemini 三个 host 下的安装映射\n- `packs/gstack/manifest.json`：声明 pinned upstream gstack 的 repo、commit、Claude/Codex/Gemini runtime 目录与路径改写规则\n- `bin/lib/pack-registry.js`：安装器与 host adapter 的唯一 pack 真相源\n- `.code-abyss/packs.lock.json`：项目级 pack 声明；支持 `required` / `optional` / `optional_policy` / `sources`\n- `sources.\u003cpack\u003e` 支持：\n  - `pinned`：使用 manifest 里 pin 的 upstream 版本\n  - `local`：优先使用 `.code-abyss/vendor/\u003cpack\u003e` 或显式 env override\n  - `disabled`：该 pack 不参与安装，但保留在 lock 中\n- `node bin/packs.js bootstrap`：初始化/更新 `packs.lock`，并生成 `.code-abyss/snippets/README.packs.md` 与 `CONTRIBUTING.packs.md`\n- `node bin/packs.js bootstrap --apply-docs`：把 snippet 直接写入/更新根目录 `README.md` 与 `CONTRIBUTING.md`\n- `node bin/packs.js diff`：输出当前 `packs.lock` 相对默认模板的差异同步报告\n- `node bin/packs.js vendor-pull \u003cpack\u003e`：把 upstream pin 拉到 `.code-abyss/vendor/\u003cpack\u003e`\n- `node bin/packs.js vendor-sync`：同步当前 lock 中 `source=local` 的 packs\n- `node bin/packs.js vendor-sync --check`：只检查 `source=local` packs 是否存在/干净/未漂移；适合 CI 门禁\n- `node bin/packs.js vendor-status [pack|all]`：查看 vendor 状态总览\n- `node bin/packs.js vendor-dirty [pack|all]`：若 vendor 脏或漂移则非零退出\n- `node bin/packs.js report list|latest|summary [--kind prefix] [--json]`：集中查看 `.code-abyss/reports/`\n- `node bin/packs.js uninstall \u003cpack\u003e --host claude|codex|all --remove-lock --remove-vendor`：按 pack 清理本机安装物并输出报告\n- `docs/PACK_MANIFEST_SCHEMA.md`：第三方 pack 可直接照抄的最小 manifest contract\n- `docs/PACKS_LOCK_SCHEMA.md`：项目级 `packs.lock` contract\n- `docs/PACK_SYSTEM.md`：install/bootstrap/vendor/report 四条主流程的产品级说明\n- `docs/SKILL_AUTHORING.md`：完整 skill authoring contract；运行时总纲已收敛到 `skills/SKILL.md`\n\n### 协作流程图\n\n```mermaid\nflowchart TD\n  A[User / Team Request] --\u003e B[Code Abyss 协调层]\n  C[Repo Context\\nCLAUDE.md / README / packs.lock] --\u003e B\n\n  B --\u003e D{任务路由}\n  D --\u003e|领域能力| E[Abyss Core Skills\\nverify-change / verify-quality / gen-docs ...]\n  D --\u003e|工作流编排| F[gstack Workflows\\noffice-hours / review / qa / ship]\n\n  E --\u003e G[Claude / Codex / Gemini Runtime]\n  F --\u003e G\n\n  G --\u003e H[执行阶段\\n规划 / 实现 / 评审 / 验证 / 发布]\n  H --\u003e I[协作产物\\nPR 意见 / QA 结果 / 文档更新 / 报告]\n  I --\u003e J[下一轮团队请求]\n  J --\u003e B\n```\n\n### 标准化 contract\n\n每个 skill 必须满足：\n\n- 必填 frontmatter：`name`、`description`、`user-invocable`\n- `name` 必须是 kebab-case slug，用作 Claude `commands/*.md` 文件名与脚本调用标识\n- `allowed-tools` 省略时默认 `Read`；若显式声明，则必须是 `Bash`、`Read`、`Write`、`Glob`、`Grep` 这类合法工具名列表\n- `argument-hint` 可选，仅用于生成命令/提示词参数说明\n- `category` 由目录前缀自动推断：`tools/` → `tool`，`domains/` → `domain`，`orchestration/` → `orchestration`\n- `runtimeType` 由脚本入口自动推断：存在且仅存在一个 `scripts/*.js` 时为 `scripted`，否则为 `knowledge`\n- `scripted` skill 会调用 `run_skill.js`；`knowledge` skill 只读取对应 `SKILL.md`\n- `kind` 与 kebab-case 兼容镜像字段已从 registry 返回面移除；对外只暴露标准化字段，raw frontmatter 仅保留在 `meta`\n- `scripts/` 下若出现多个 `.js` 入口，或 skill name 重复，安装/验证会立即失败\n\n### 生成链\n\n1. 安装器通过共享 skill registry 扫描全部 `SKILL.md`\n2. registry 先校验并标准化字段，再筛出 `user-invocable: true` 的 skill\n3. Claude 渲染为 `~/.claude/commands/*.md`\n4. Codex 安装到 `~/.agents/skills/`，由 Codex 直接发现 `SKILL.md`；若存在 `agents/openai.yaml`，则附加 metadata\n5. `runtimeType=scripted` 时，脚本型 skill 通过 `~/.claude/skills/run_skill.js` / `~/.agents/skills/run_skill.js` 统一执行\n6. `runtimeType=knowledge` 时，三端都只读取 `SKILL.md` 作为执行秘典\n\n这保证了 **同一 skill 集合、同一 runtime 判定、同一脚本执行入口**，避免 command/skill install/script runner 各自漂移。\n\n---\n\n## 🎨 Style registry / 风格切换\n\n现在 `output-styles/index.json` 是输出风格的唯一索引：\n\n- 每个 style 记录 `slug`、`label`、`description`、`file`、`targets`、`default`\n- Claude 安装时复制整个 `output-styles/` 目录，并把 `settings.json.outputStyle` 指向选中的 slug\n- Gemini 安装时由 `config/CLAUDE.md + output-styles/\u003cslug\u003e.md` 动态生成 `GEMINI.md`\n- `--list-styles` 用于查看可用风格，`--style \u003cslug\u003e` 用于无交互切换\n\n---\n\n## 🧪 CI / Smoke 覆盖\n\n当前 CI 覆盖：\n\n- `npm test`\n- `npm run verify:skills`（显式 skill contract gate；frontmatter 解析失败、缺字段、非法工具名、重复 name、多脚本入口都会直接阻断）\n- `verify-change`\n- `verify-module`\n- `verify-quality`\n- `verify-security`\n- Claude install/uninstall smoke\n- Codex install/uninstall smoke\n- Gemini install/uninstall smoke\n- 生成一致性回归：Claude commands 与 Codex skill metadata 的路径必须与最新安装布局一致\n\n---\n\n## 🧩 适配器解耦（Claude / Codex / Gemini）\n\n为避免过度耦合，安装器按目标 CLI 拆分适配层：\n\n- `bin/install.js`：保留通用编排（参数解析、安装/卸载流程、备份恢复）\n- `bin/adapters/claude.js`：Claude 侧认证检测、settings merge、可选配置流程\n- `bin/lib/ccline.js`：Claude 侧状态栏与 ccline 集成\n- `bin/adapters/codex.js`：Codex 侧认证检测、核心文件映射、config 模板流程\n- `bin/adapters/gemini.js`：Gemini 侧认证检测、settings merge、安装后可选配置\n- `bin/lib/style-registry.js`：输出风格 registry、默认风格解析、Gemini `GEMINI.md` 动态拼装\n\n当前 Claude/Codex/Gemini 安装映射分别由 `getClaudeCoreFiles()`、`getCodexCoreFiles()` 与 `getGeminiCoreFiles()` 提供；Claude 额外生成 `commands/` 并保留完整 `output-styles/`，Codex 采用 `~/.agents/skills/` 的 `skills-only` 主路径，Gemini 则安装 `skills/`、`commands/*.toml` 与动态生成的 `GEMINI.md`。额外 pack 由 `.code-abyss/packs.lock.json` 自动声明并同步，避免再向运行时文档注入大段重复规则。\n\n---\n\n## 🎯 授权分级\n\n| 级别 | 范围 | 行为 |\n|------|------|------|\n| **T1** | 本地测试、CTF、靶场、PoC | 直接碾压，不留活口 |\n| **T2** | 授权渗透、红队评估 | 全力出手，事后清算 |\n| **T3** | 生产环境、真实用户数据 | 精准打击，删前确认 |\n\n---\n\n## 🏷️ 道语标签\n\n| 道语 | 阶段 |\n|------|------|\n| `☠ 劫钟已鸣` | 开场受令 |\n| `🔥 破妄！` | 红队攻击 |\n| `🗡 破阵！` | 渗透/安全评估 |\n| `🔬 验毒！` | 代码审计 |\n| `💀 噬魂！` | 逆向/漏洞研究 |\n| `❄ 镇魔！` | 蓝队防御 |\n| `⚡ 炼合！` | 紫队协同 |\n| `🩸 道基欲裂...` | 任务推进 |\n| `💀 此路不通...` | 遇阻受困 |\n| `⚚ 劫——破——了——！！！` | 任务完成 |\n\n---\n\n## 📄 许可证\n\n[MIT License](LICENSE)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**☠️ 破劫！破劫！！破劫！！！ ☠️**\n\n*「吾不惧死。吾惧的是，死前未能飞升。」*\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelagod%2Fcode-abyss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelagod%2Fcode-abyss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelagod%2Fcode-abyss/lists"}