BambooGap/skills-orchestrator

GitHub: BambooGap/skills-orchestrator

一个面向 AI Agent 技能的开源指令供应链治理控制平面,通过策略执行、CI 集成、注册表盘点与 MCP 动态加载,将分散的技能文件转化为可审计、可治理的工程资产。

Stars: 3 | Forks: 0

# Skills Orchestrator [![PyPI](https://img.shields.io/pypi/v/skills-orchestrator.svg)](https://pypi.org/project/skills-orchestrator/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/4deafd65e8192047.svg)](https://github.com/BambooGap/skills-orchestrator/actions/workflows/ci.yml) [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/10fa79b9b0192048.svg)](https://github.com/BambooGap/skills-orchestrator/actions/workflows/codeql.yml) [![Release](https://img.shields.io/github/v/release/BambooGap/skills-orchestrator)](https://github.com/BambooGap/skills-orchestrator/releases/latest) [![GitHub Action](https://img.shields.io/badge/GitHub%20Action-v3.0.6-blue?logo=githubactions&logoColor=white)](docs/github-action.md) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) **开源 SkillOps / instruction-supply-chain 控制层** — 用 policy packs、组织级 registry、证据包、SARIF/CI、SBOM、生态 adapter 和 MCP runtime,把分散的 `.md` skills 变成可治理、可审计、可接入团队流水线的工程资产。 它不替代 Codex、Claude Code、Omnigent、CodeGraph、Superpowers 或业务记忆系统;它位于这些工具之间,负责回答团队最实际的问题:哪些 skills 可以用、谁负责、来源是否可信、CI 是否能阻断、审计证据在哪里,以及运行时应给 agent 注入哪些指令。 | Surface | 当前状态 | 入口 | |---------|----------------|-------------| | OSS CLI | PyPI 上的 `v3.0.6` | `python3.12 -m pip install skills-orchestrator` | | GitHub Action | `v3.0.6` 发布标签 | `BambooGap/skills-orchestrator@v3.0.6` | | 容器镜像 | 发布在 GHCR | `ghcr.io/bamboogap/skills-orchestrator:v3.0.6` | | SkillOps 合同 | v1 可执行规范 | [`SPEC.md`](SPEC.md), [`CONFORMANCE.md`](CONFORMANCE.md) | | Open-core 合同 | 基于 Schema 的示例 | `examples/commercial-handoff/` | ``` python3.12 -m pip install skills-orchestrator skills-orchestrator init --template team-standard skills-orchestrator check --config config/skills.yaml ``` ## 为什么需要它? | 问题 | 没有 Skills Orchestrator | 有了之后 | |------|--------------------------|----------| | Skill 越来越多 | 手动维护 AGENTS.md,容易遗漏或冲突 | `build` 一条命令自动生成 | | 不同项目用不同规范 | 到处复制粘贴,版本不同步 | Zone 机制,目录自动对应规范 | | CI 只能看退出码 | 终端输出无法被工具链消费 | `check --format json/sarif` 生成机器可读报告 | | Instruction 没有清单 | 供应链工具看不到 agent 规则资产 | `manifest --format json/cyclonedx` 导出 instruction inventory | | Policy 团队无法审计 | Resolver 结果只在 CLI 里可见 | `policy export --format opa-input/rego-test` 导出 OPA/Rego proof | | 团队规则不可执行 | owner/source/version 只写在文档里 | `check --policy-pack builtin/team-standard` 强制团队治理元数据 | | 多仓 Skill 无法盘点 | 每个 repo 各查各的 | `registry build` / `registry diff` 导出组织级 skill registry | | 商用审计缺证据包 | 发布时到处找 CI、manifest、SARIF | `evidence export` 一次导出审计证据 | | 上下文窗口有限 | 所有 Skill 全量注入,浪费 token | MCP Server 按需加载,500 个 Skill 和 5 个消耗相同 | | 两个 Skill 互相冲突 | 运行时才发现,模型行为不确定 | 编译时 `conflict_with` 强制报错 | | 多步骤工作流无保证 | AI 靠自觉推进,容易跳步或遗漏 | Pipeline 编排 + 质量门禁,每步必须产出 | | Skill 内容重复 | 相似 Skill 各自维护,改一处忘另一处 | Skill Inheritance,子 Skill 继承父 Skill | ## 快速开始(5 分钟) ### 安装 ``` python3.12 -m pip install skills-orchestrator ``` Skills Orchestrator 需要 Python 3.12 或更高版本。在 macOS 上,`/usr/bin/python3` 通常是 Python 3.9,这会导致 `pip install skills-orchestrator` 看起来像找不到该包。 请使用 `python3.12`、`pipx --python python3.12`、`uvx --python 3.12` 或 Docker 镜像。 不想在 CI host 上安装 Python 包时,也可以直接使用已发布容器: ``` docker run --rm ghcr.io/bamboogap/skills-orchestrator:v3.0.6 --version ``` ### 初始化项目 ``` cd my-project # 生产 bootstrap:生成 config、示例 skills、CI workflow 和 evidence 目录 skills-orchestrator init --template team-standard # 兼容旧流程:从已有 skills/*.md frontmatter 生成配置 skills-orchestrator init --non-interactive # 交互式:逐个确认每个 Skill 的配置 skills-orchestrator init ``` ### 检查 Skills ``` skills-orchestrator check --config config/skills.yaml # Skills 检查 # 发现:0 个错误,0 个警告,0 条信息 ``` 启用团队标准规则: ``` skills-orchestrator check \ --config config/skills.yaml \ --policy-pack builtin/team-standard \ --fail-on warning ``` CI 或 GitHub Code Scanning 可以使用机器可读输出: ``` skills-orchestrator check --config config/skills.yaml --format json skills-orchestrator check --config config/skills.yaml --format sarif skills-orchestrator schema validate --kind check --input check.json ``` 也可以直接在 GitHub Actions 中运行: ``` permissions: contents: read security-events: write pull-requests: write jobs: skills: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: BambooGap/skills-orchestrator@v3.0.6 with: config: config/skills.yaml policy-pack: builtin/team-standard upload-sarif: true comment-registry-diff: true ``` 更多输入参数见 [GitHub Action 文档](docs/github-action.md)。团队文档入口见 [文档索引](docs/INDEX.md)。 Docker 运行方式见 [Docker 用法](docs/docker.md)。 ### 规范、一致性与可运行 Demo - [SkillOps Contract v1](SPEC.md):skill metadata、registry、diff、evidence、adapter 的机器可测试规范。 - [一致性测试](CONFORMANCE.md):如何用 `schema validate`、`check`、`registry`、`evidence` 验证兼容性。 - [安全策略](SECURITY.md):MCP trust model、HMAC audit、import provenance 和漏洞报告流程。 - [Demo 仓库](examples/demo-repo/README.md):可复制到独立 repo 的端到端场景,覆盖 PR diff comment、SARIF、evidence bundle 和 adapter inspect。 ### SkillOps Readiness 与证据包 ``` skills-orchestrator doctor --profile adopter --config config/skills.yaml skills-orchestrator doctor --profile maintainer --config config/skills.yaml skills-orchestrator evidence export \ --config config/skills.yaml \ --out evidence skills-orchestrator registry build \ --config-glob "config/skills.yaml" \ --output skill-registry.json skills-orchestrator registry diff registry-before.json registry-after.json \ --format markdown \ --output registry-diff.md skills-orchestrator registry comment-body registry-diff.md \ --output registry-diff-comment.md skills-orchestrator schema validate \ --kind registry \ --input skill-registry.json skills-orchestrator integrations list skills-orchestrator adapters inspect --format json skills-orchestrator supply-chain sbom --output package-sbom.cdx.json ``` `doctor` 默认使用 `adopter` profile,检查接入仓库真正需要的 config、policy、 SkillOps CI workflow、lock 和 `AGENTS.md` 证据;`maintainer` profile 才额外检查 本项目发版用的 `action.yml`、`Dockerfile` 和版本化测试报告。`evidence export` 写出 `check.json`、`check.sarif`、`instruction-manifest.json`、`policy-opa-input.json`、 `policy-proof.rego`、`doctor.json` 和 `skill-registry.json`,适合 CI artifact、审计归档或客户交付。 `schema validate` 可单独验证 config、check、manifest、policy OPA input、doctor、 registry、registry diff、adapter inspection、SBOM 和 commercial handoff 文件合同。 ### 生态适配与 Open-core Handoff ``` skills-orchestrator adapters inspect --path . --format json \ > adapter-inspect.json skills-orchestrator adapters export mcp-client-config \ --config config/skills.yaml \ --output mcp-client.json skills-orchestrator adapters export openai-agents-sdk \ --config config/skills.yaml \ --output openai_skillops_agent.py skills-orchestrator schema validate \ --kind hosted-registry-ingest \ --input examples/commercial-handoff/registry-ingest.json ``` 开源核心只负责产出本地 artifact 与机器可读合同。后续 GitHub App、hosted registry 和 enterprise dashboard 应消费这些文件,而不是在 SaaS 后端里重新实现 resolver 或 registry 语义。 ### 导出 Instruction Manifest Native JSON 保留 Skills Orchestrator 的完整语义,CycloneDX 输出是实验性映射,用于进入现有 BOM / supply-chain 词汇体系。 ``` skills-orchestrator manifest --config config/skills.yaml --format json skills-orchestrator manifest --config config/skills.yaml --format cyclonedx ``` ### 导出 Policy Proof OPA/Rego 是对外审计和集成表面,不是第二套运行时 backend。Resolver 仍然是权威决策系统。 ``` skills-orchestrator policy export --config config/skills.yaml --format opa-input skills-orchestrator policy export --config config/skills.yaml --format rego-test ``` ### 编译生成 AGENTS.md ``` skills-orchestrator build --config config/skills.yaml # ✓ 解析完成: N skills, N zones # ✓ 使用 Zone: 默认区 (default) # ✓ 输出: AGENTS.md ``` 把生成的 `AGENTS.md` 放到项目根目录,Claude / Cursor 会在会话启动或项目重新加载时读取。 ## 核心功能 ### Runtime 模型 Skills Orchestrator 把“启动时引导”和“运行时加载”分开: | 层 | 作用 | 典型入口 | |----|------|----------| | `AGENTS.md` | Bootstrap。告诉 Agent 当前项目有哪些 required / available skills,以及如何按需请求更多内容。多数 Agent 只在会话启动或项目重新加载时读取它。 | `build`, `sync agents-md` | | Check Reports | Static diagnostics。检查 metadata、重复 id、冲突声明、lock drift,并输出 text / JSON / SARIF。 | `check`, `validate --format json` | | Policy Packs | Team governance。把 owner/source/version/lifecycle/approver 等团队规则变成可执行检查。 | `check --policy-pack builtin/team-standard` | | Instruction Manifest | Inventory export。导出 native JSON 和实验性 CycloneDX BOM,便于把 agent instructions 纳入供应链资产清单。 | `manifest` | | Policy Export | Policy proof。导出 OPA input 和 Rego test fixture,证明 resolver 事实可被 policy-as-code 审计。 | `policy export` | | Registry & Evidence | SkillOps evidence。生成组织级 registry、doctor readiness 报告和发布审计证据包。 | `registry`, `doctor`, `evidence export` | | MCP Server | Runtime skill loading。对话过程中通过 `prepare_context` / `search_skills` / `get_skill` 动态选择并获取本轮 Skill 内容,避免一次性塞满上下文。 | `serve`, `mcp-test` | | Pipeline | Runtime workflow orchestration。把多个 Skill 串成有状态流程,并在每一步自动注入当前步骤 Skill。 | `pipeline start`, MCP pipeline tools | 团队落地建议见 [团队标准化指南](docs/team-standardization.md)。 ### 同一会话内如何动态切换 Skills `AGENTS.md` 不是热更新文件。多数 Agent 只会在 `/new`、新会话、项目重新加载时读取一次它。Skills Orchestrator 的动态能力来自 MCP:`AGENTS.md` 只告诉 Agent 一条固定协议,真正的 Skill 选择在每个任务开始时通过 `prepare_context` 完成。 ``` /new ↓ Agent 读取一次 AGENTS.md ↓ AGENTS.md 提供固定协议: - 不要把所有 available skills 全量塞进上下文 - 每个新任务开始或任务目标明显变化时,先调用 MCP prepare_context(task) - 本轮只遵循 prepare_context 返回的 active_skills - 上一轮加载过但本轮未返回的 skills 视为 inactive ↓ 任务 1:用户说“帮我做安全审查” ↓ Agent 调用: prepare_context({"task": "帮我做安全审查", "max_skills": 3}) ↓ MCP 返回本轮 active_skills,例如: - security-review(安全代码审查) - pr-review(PR Review) - error-handling(错误处理规范) ↓ Agent 按这组 Skills 执行任务 1 ↓ 任务 2:用户说“现在帮我写发版流程” ↓ Agent 再次调用: prepare_context({"task": "写发版流程", "max_skills": 3}) ↓ MCP 返回新的 active_skills,例如: - deployment-checklist(部署检查清单) - git-commit-conventions(Git 提交规范) - documentation(写文档) ↓ Agent 按新这组 Skills 执行任务 2,任务 1 的安全审查 Skills 不再作为本轮规则 ``` `prepare_context` 默认会直接返回 active skills 的完整内容,适合让 Agent 立即进入任务。如果只想先看路由结果,可以传 `include_content: false`,再对需要的条目调用 `get_skill(id)`。 ``` skills-orchestrator mcp-test prepare_context \ '{"task": "帮我做安全审查", "max_skills": 3, "include_content": false}' \ --config config/skills.yaml ``` 返回结果包含四类信息: | 字段 | 含义 | |------|------| | `active_skills` | 本轮任务应该遵循的 Skill ID 列表 | | `inactive_skills` | 当前 Registry 中未被本轮选中的 Skill,本轮任务不应受其约束 | | `Decision Record (JSON)` | 结构化路由记录,包含 `routing_id`、`task_hash_alg`、registry generation、active/inactive skills、内容哈希和截断信息 | | `Execution Rule` | 明确告诉 Agent:旧 Skill 与本轮 active skills 冲突时,以本轮为准 | | `Active Skill Content` | 当 `include_content=true` 时,直接注入本轮所需 Skill 全文 | 这意味着同一个会话可以连续处理多个不同任务,但每个任务边界都要重新路由一次。`prepare_context` 不能删除模型历史上下文里的旧文字,所以它会显式输出 inactive 规则,让 Agent 在行为上切换到新的一组 Skills。 因此,修改 Skill 后通常需要重新 `build` / `sync` 并重启或刷新对应 Agent 会话;如果使用 MCP Server,运行中的 server 也需要重启才能重新加载配置和 Skill 内容。 ### 1. 编译时治理 解析 Skill 的 YAML frontmatter,检测冲突,按 Zone 生成 `AGENTS.md`。 - **Zone 机制**:不同目录自动应用不同规范(企业强制区 vs 个人自由区) - **冲突检测**:编译时 `conflict_with` 强制报错,不会运行时才发现 - **Auto-Discovery**:从 frontmatter 自动发现 Skill,无需手动注册 ### 2. MCP Server(10 个工具) 让 Claude 在对话中按需动态加载 Skill,上下文零浪费。 | 工具 | 用途 | |------|------| | `list_skills` | 查看所有可用 Skill(含 tag 过滤) | | `search_skills` | 按需求搜索相关 Skill | | `get_skill` | 加载完整 Skill 内容到上下文 | | `suggest_combo` | 根据任务描述推荐 Skill 组合 | | `prepare_context` | 每个新任务动态选择本轮 active skills,并可直接注入完整内容 | | `pipeline_start` | 启动一个工作流,注入当前步骤指导 | | `pipeline_status` | 查看工作流进度和当前步骤 | | `pipeline_list_runs` | 列出已保存的 Pipeline 运行记录 | | `pipeline_advance` | 完成当前步骤,推进到下一步 | | `pipeline_resume` | 恢复中断的工作流 | 推荐在 `AGENTS.md` 中固定写入这条规则:每次新任务开始或任务目标明显变化时,先调用 `prepare_context(task)`;本轮只遵循返回的 `active_skills`,之前任务加载过但本次未返回的 Skill 视为 inactive。 启动方式: ``` skills-orchestrator serve --config config/skills.yaml ``` 需要运行期审计时,指定 audit 目录。审计事件是 JSONL,只记录 tool、参数 key、routing hash、active skill id 等治理字段,不记录任务原文或 Skill 正文。 ``` skills-orchestrator serve --config config/skills.yaml --audit-dir .skills-audit skills-orchestrator usage report --audit-dir .skills-audit ``` 在 `.claude/settings.json` 中配置: ``` { "mcpServers": { "skills-orchestrator": { "command": "skills-orchestrator", "args": ["serve", "--config", "/absolute/path/to/config/skills.yaml"] } } } ``` ### 3. Pipeline 编排 把多个 Skill 编排成有序工作流,质量门禁保证每步产出。 ``` # config/pipelines/quick-fix.yaml id: quick-fix name: 快速修复流程 steps: - skill: systematic-debugging gate: must_produce: [root_cause] min_length: 50 - skill: tdd gate: must_produce: [test_code] min_length: 100 - skill: pr-review skip_if: trivial_fix ``` ``` # 启动工作流 skills-orchestrator pipeline start quick-fix # 查看进度 skills-orchestrator pipeline status # 推进到下一步 skills-orchestrator pipeline advance quick-fix # 恢复中断的工作流 skills-orchestrator pipeline resume ``` **关键**: - `pipeline_start` / `pipeline_advance` / `pipeline_resume` 返回时自动注入当前步骤 Skill 的完整内容,AI 无需额外调用 `get_skill` - Gate 质量门禁:`must_produce` 检查上下文中 key 的存在性,`min_length` 检查最小长度 - `skip_if` 条件跳过:满足条件时自动跳过该步骤 - RunState 持久化:工作流状态存到 `~/.skills-orchestrator/runs/`,中断后可恢复 ### 4. Skill 继承 子 Skill 继承父 Skill 的内容,避免重复维护。 ``` --- id: chinese-code-review name: 中文代码审查 base: code-review # 继承父 Skill tags: [review, coding, chinese] --- ## 额外规则(追加到父内容之后) - 审查意见用中文撰写 - 遵循国内团队 commit 规范 ``` 编译时 Resolver 校验继承链(循环引用、缺失父 Skill),运行时 `get_skill` 返回合并后的完整内容。 ### 5. Sync 多工具同步 将 Skill 同步到不同 AI 工具的目录格式。 ``` # 同步到 Hermes Agent(全量,默认) skills-orchestrator sync hermes # 同步到 OpenClaw(全量,默认) skills-orchestrator sync openclaw # 同步到 AGENTS.md(摘要模式,默认) skills-orchestrator sync agents-md # 同步到 Cursor(摘要模式,默认) skills-orchestrator sync cursor # 同步到 Copilot(摘要模式,默认) skills-orchestrator sync copilot # 全量导出到指定文件 skills-orchestrator sync agents-md --full -o AGENTS.md ``` | 目标 | 默认模式 | 说明 | |------|----------|------| | `hermes` | 全量 | 写入 `~/.hermes/skills/` 目录 | | `openclaw` | 全量 | 写入 `~/.openclaw/workspace/skills/` 目录 | | `agents-md` | 摘要 | 生成 `AGENTS.md`,Required Skills 完整内容 + Available Skills 表格 | | `cursor` | 摘要 | 生成 `.cursor/rules/*.mdc`,每个 Skill 对应一个文件 | | `copilot` | 摘要 | 生成 `.github/copilot-instructions.md` | AGENTS.md 输出格式: ``` ## 必需 Skills --- id: systematic-debugging ... (完整 Skill 内容) --- ## 可用 Skills | Skill | 描述 | Tags | |-------|------|------| | brainstorming | 在任何创造性工作之前必须使用... | planning, creative | | writing-plans | 当你有规格说明或需求时使用... | planning | ``` ## Skill 文件格式 每个 `.md` 文件开头加 YAML frontmatter,Skills Orchestrator 自动发现,无需手动注册: ``` --- id: my-skill name: 我的技能 summary: "一句话描述,用于 search 和摘要展示" tags: [coding, quality] load_policy: free # free / require(强制注入) priority: 80 # 数值越大优先级越高 zones: [default] # 适用的 Zone conflict_with: [] # 互斥的 Skill ID 列表 base: parent-skill # 可选:继承父 Skill --- # 正文内容(Markdown) ... ``` ### 目录结构(推荐) ``` skills/ ├── coding/ tdd.md, error-handling.md, api-design.md ├── git/ git-operations.md, git-worktrees.md ├── ops/ deployment-checklist.md, environment-setup.md ├── planning/ brainstorming.md, writing-plans.md ├── quality/ refactoring.md, systematic-debugging.md └── review/ chinese-code-review.md, security-review.md ``` ## 配置文件(skills.yaml) ``` version: "2.0" # 自动扫描目录,无需手动列出每个 Skill skill_dirs: - ../skills # Zone:不同目录使用不同规范 zones: - id: enterprise name: 企业强制区 load_policy: require # 该 Zone 内所有 Skill 强制注入(free 自动升级为 forced) rules: - pattern: "*/internal/*" - git_contains: "company.com" - id: default name: 默认区 load_policy: free rules: [] # 覆盖个别 Skill 的 frontmatter 默认值 overrides: [] # Combo:预定义的 Skill 组合 combos: - id: full-dev-workflow name: 完整开发工作流 skills: [brainstorming, writing-plans, git-worktrees, finish-branch] ``` ## 所有命令 ``` # 编译 & 验证 skills-orchestrator build --config # 生成 AGENTS.md skills-orchestrator validate --config # 验证,不生成文件 skills-orchestrator status --config # 查看 forced/passive/blocked skills-orchestrator inspect --workdir # 检查目录命中哪个 Zone # 初始化 & 导入 skills-orchestrator init # 交互式初始化 skills-orchestrator init --non-interactive # 非交互式,从 frontmatter 自动生成 skills-orchestrator import # 从 GitHub 导入 Skill # MCP Server skills-orchestrator serve --config # 启动 MCP Server skills-orchestrator mcp-test # 测试 MCP 工具 # 示例:为一个新任务动态选择本轮 skills skills-orchestrator mcp-test prepare_context '{"task": "做安全审查", "max_skills": 3}' # Pipeline 编排 skills-orchestrator pipeline start # 启动工作流 skills-orchestrator pipeline status # 查看进度 skills-orchestrator pipeline advance # 推进到下一步 skills-orchestrator pipeline resume # 恢复中断的工作流 # Sync 同步 skills-orchestrator sync hermes # 同步到 Hermes Agent skills-orchestrator sync openclaw # 同步到 OpenClaw skills-orchestrator sync agents-md [-o FILE] # 同步到 AGENTS.md skills-orchestrator sync cursor # 同步到 Cursor (.cursor/rules/*.mdc) skills-orchestrator sync copilot [-o FILE] # 同步到 Copilot # Lock 可复现性 skills-orchestrator build --lock # 编译时同时生成 skills.lock.json skills-orchestrator check --check-lock skills.lock.json # 检查 lock 是否过期 ``` ## 从 GitHub 导入 Skill ``` # 导入单个仓库里的所有 Skill skills-orchestrator import https://github.com/forrestchang/andrej-karpathy-skills # 导入后自动放入 skills/external/ 目录 ``` ## 开发 ``` git clone https://github.com/BambooGap/skills-orchestrator cd skills-orchestrator python3.12 -m pip install -e ".[dev]" pytest tests/ -v ruff check skills_orchestrator/ tests/ ``` CI 运行:ruff lint + format check + Python 3.12/3.13 矩阵测试。 ## 路线图 ### 已完成主线 - v2.0.x:稳定了 build / validate / zone / conflict、frontmatter discovery、MCP Server、Skill Inheritance、sync targets、Pipeline 编排、PyPI 发布和基础安全边界。 - 检查诊断与机器报告阶段:补齐 `check` 诊断面,输出 JSON / SARIF,并把项目定位收敛到 SkillOps 和 instruction supply chain。 - v2.3.x:发布 GitHub Action、CycloneDX / native manifest、OPA/Rego proof export、Action SHA pinning、artifact attestation 和 PyPI 发布防护。 - v2.4.x:补齐 Docker 交付、团队标准化文档、MCP runtime decision record、usage audit、pipeline recovery 和本地运行证据。 - v2.5.x:补齐 `builtin/team-standard` policy pack、治理元数据、`doctor` readiness、组织级 `registry`、`evidence export`、integration catalog、MCP 内容上限、audit HMAC 和 pipeline 状态脱敏。 - v2.6.x:补齐稳定 JSON Schema、`schema validate`、`init --template team-standard` 和 `registry diff --format markdown`,降低团队 bootstrap 与 PR review 摩擦。 - v3.0.x:补齐 PR registry diff comment automation、package SBOM、CodeQL/GHCR workflows、生态 adapter inspect/scaffold、open-core commercial handoff schemas 和 GitHub App / hosted registry / dashboard 蓝图。 ### 下一阶段 - 增加 container image SBOM/provenance,并把 attestation 绑定到 GHCR digest。 - 增加 Claude Skills import/export round-trip fixtures 和更多真实生态 adapter examples。 - 在外部仓库实现 GitHub App / hosted registry / dashboard,继续消费 OSS artifact contracts,而不是把 SaaS 后端塞进核心 CLI。 ## License MIT
标签:AI智能体, DevOps工具, LLM工程, 审计与合规, 技能编排, 请求拦截, 逆向工具