维护跨平台架构Skill maintain-cross-platform

该技能用于维护AgentSys的三平台架构,包括发布准备、跨平台兼容性验证和安装基础设施更新。它是一个元技能,确保Claude Code、OpenCode和Codex CLI的兼容性。关键词:跨平台、软件维护、架构验证、自动化、AgentSys、DevOps、验证脚本。

架构设计 0 次安装 0 次浏览 更新于 3/22/2026

name: maintain-cross-platform description: “用于准备发布、验证跨平台兼容性或更新安装基础设施时使用。维护AgentSys三平台架构的元技能。” metadata: short-description: “元技能:维护三平台架构” scope: local audience: repo-maintainers

维护跨平台架构

目的: 全面了解AgentSys的跨平台基础设施,用于发布准备、验证和维护。

范围: 仅限此存储库的本地技能。包含特定文件位置、转换规则和自动化模式,用于维护Claude Code + OpenCode + Codex CLI兼容性。

关键规则

  1. 3个平台必须工作 - Claude Code、OpenCode、Codex CLI。无例外。
  2. 每次推送前验证 - 预推送钩子自动运行6个验证器。
  3. 所有版本字段必须对齐 - 总共11个文件(package.json + 10个plugin.json文件)。
  4. 文档必须准确 - 计数、路径和平台引用由CI验证。
  5. 更新此技能 - 如果发现不对齐或自动化机会,更新此文件。

平台差异(完整矩阵)

配置

方面 Claude Code OpenCode Codex CLI
配置格式 JSON JSON/JSONC TOML
配置位置 ~/.claude/settings.json ~/.config/opencode/opencode.json ~/.codex/config.toml
状态目录 .claude/ .opencode/ .codex/
命令前缀 / / $
项目说明 CLAUDE.md AGENTS.md读取CLAUDE.md AGENTS.md

组件位置

组件 Claude Code OpenCode Codex CLI
命令 插件 commands/ ~/.config/opencode/commands/ N/A(使用技能)
代理 插件 agents/ ~/.config/opencode/agents/ N/A(使用MCP)
技能 插件 skills/ .opencode/skills/(单数) ~/.codex/skills/
钩子 插件 hooks/ 插件 hooks/ 插件 hooks/

安装位置(此存储库)

平台 包复制 命令 代理 技能 配置
Claude Code 通过市场 插件捆绑 插件捆绑 插件捆绑 N/A
OpenCode ~/.agentsys/ ~/.config/opencode/commands/ ~/.config/opencode/agents/(29个文件) N/A ~/.config/opencode/opencode.json
Codex CLI ~/.agentsys/ N/A N/A ~/.codex/skills/(9个目录) ~/.codex/config.toml

Frontmatter差异

命令Frontmatter:

# Claude Code
---
description: 任务描述
argument-hint: "[args]"
allowed-tools: Bash(git:*), Read, Task
---

# OpenCode(由安装程序转换)
---
description: 任务描述
agent: general
# 模型字段已移除(使用用户默认模型)
---

# Codex(技能使用不同格式)
---
name: skill-name
description: "当用户询问“触发”时使用。执行X。"
---

代理Frontmatter:

# Claude Code
---
name: agent-name
description: 代理描述
tools: Bash(git:*), Read, Edit, Task
model: sonnet
---

# OpenCode(由安装程序转换)
---
name: agent-name
description: 代理描述
mode: subagent
# 模型字段已移除(OpenCode尚不支持每个代理的模型)
permission:
  read: allow
  edit: allow
  bash: ask
  task: allow
---

转换规则(bin/cli.js处理):

Claude Code OpenCode
tools: Bash(git:*) permission: { bash: "allow" }
tools: Read permission: { read: "allow" }
tools: Edit, Write permission: { edit: "allow" }
tools: Task permission: { task: "allow" }
model: sonnet/opus/haiku 已移除(OpenCode使用用户默认)

关键: bin/cli.js中的--strip-models标志为没有访问所有三个模型层的OpenCode用户移除模型规范。


文件位置(此存储库)

安装基础设施

文件 目的
bin/cli.js 主安装程序(811行) - 处理所有3个平台
scripts/setup-hooks.js Git钩子安装程序(预提交、预推送)
adapters/opencode-plugin/ 原生OpenCode TypeScript插件
adapters/opencode/ OpenCode安装脚本(旧版)
adapters/codex/ Codex安装脚本(旧版)
mcp-server/index.js 跨平台MCP服务器

验证脚本(所有在CI + 预推送)

脚本 验证内容 退出1如果
scripts/validate-plugins.js 插件结构、plugin.json有效性 无效plugin.json
scripts/validate-cross-platform.js 3平台兼容性 平台特定代码
scripts/validate-repo-consistency.js 存储库完整性 不一致性
scripts/check-hardcoded-paths.js 无硬编码.claude/路径 发现硬编码路径
scripts/validate-counts.js 文档准确性(代理、插件、技能、版本) 计数不匹配
scripts/validate-cross-platform-docs.js 平台文档一致性 文档冲突

转换映射(bin/cli.js)

bin/cli.js中的搜索标记:

  • PLUGINS_ARRAY - 第138行 - 为Claude Code安装的插件
  • OPENCODE_COMMAND_MAPPINGS - 第242行 - 为OpenCode复制的命令
  • CODEX_SKILL_MAPPINGS - 第~280行 - 为Codex创建的技能

OPENCODE_COMMAND_MAPPINGS格式:

['dest-file.md', 'plugin-name', 'source-file.md']

CODEX_SKILL_MAPPINGS格式:

['skill-name', 'plugin-name', 'source-file.md', 'Trigger description with "phrases"']

版本字段(总共11个文件)

所有必须具有相同版本以发布:

  1. package.json - 第3行
  2. .claude-plugin/plugin.json - 根插件
  3. .claude-plugin/marketplace.json - 9个插件条目
  4. mcp-server/index.js - 搜索:MCP_SERVER_VERSION 5-13. plugins/*/. claude-plugin/plugin.json - 所有9个插件

快速检查:

grep -r '"version"' package.json plugins/*/.claude-plugin/plugin.json .claude-plugin/plugin.json

发布流程(RC和生产)

RC发布(3.X.0-rc.N)

步骤1:更新版本

# 在所有11个文件中提升到RC版本
NEW_VERSION="3.6.0-rc.1"

# package.json
npm version $NEW_VERSION --no-git-tag-version

# 所有plugin.json文件(9个插件 + 根)
find . -name "plugin.json" -path "*/.claude-plugin/*" -exec sed -i '' "s/\"version\": \".*\"/\"version\": \"$NEW_VERSION\"/" {} \;

# mcp-server/index.js
sed -i '' "s/version: '.*'/version: '$NEW_VERSION'/" mcp-server/index.js

步骤2:更新CHANGELOG.md

## [3.6.0-rc.1] - 2026-01-30

### 新增
- 功能描述

### 变更
- 变更描述

### 修复
- 错误修复描述

步骤3:验证

npm run validate    # 所有6个验证器
npm test            # 所有测试
npm pack --dry-run  # 包构建

步骤4:提交和标签

git add -A
git commit -m "chore: release v3.6.0-rc.1"
git tag v3.6.0-rc.1
git push origin main --tags

步骤5:验证

# 等待GitHub Actions
npm view agentsys@rc version  # 应显示3.6.0-rc.1

生产发布(3.X.0)

与RC相同,但:

  • 从版本中移除-rc.N后缀
  • 使用v3.X.0标签(无后缀)
  • npm自动发布到latest标签

每次发布的变化

总是更新

  1. 版本字段(11个文件) - 见“版本字段”部分
  2. CHANGELOG.md - 在顶部添加新条目
  3. 运行验证 - npm run validate(包括所有6个验证器)
  4. 运行测试 - npm test(1400+测试)
  5. 包构建 - npm pack --dry-run

如果添加新命令

  1. 基于约定的发现 - 插件从plugins/*/自动发现,带有.claude-plugin/plugin.json
  2. 命令自动发现 - 从plugins/*/commands/*.md文件
  3. Codex触发短语 - 在命令文件中使用codex-description frontmatter
  4. docs/INSTALLATION.md - 添加/plugin install <name>@agentsys
  5. .claude-plugin/marketplace.json - 添加插件条目到plugins数组
  6. README.md - 添加到命令表
  7. 验证将捕获 - 如果计数不匹配(插件计数)

如果添加新代理

  1. 无需更改 - 安装程序自动复制代理到OpenCode ~/.config/opencode/agents/
  2. Codex使用MCP - 代理不直接支持,使用MCP工具代替
  3. 验证将捕获 - 如果基于文件的代理计数变化

如果添加新技能

  1. Codex需要触发短语 - 描述必须包括“当用户询问时使用…”
  2. 验证将捕获 - 如果技能计数不匹配

如果添加新MCP工具

  1. mcp-server/index.js - 添加到TOOLS数组和toolHandlers
  2. .claude-plugin/marketplace.json - 添加到mcpServer.tools数组
  3. bin/cli.js - 更新MCP工具控制台输出(OpenCode + Codex)
  4. README.md - 如果用户面向,添加到MCP工具表

如果库模块更改

  1. lib/{module}/ - 进行更改
  2. lib/index.js - 如果是新模块,导出
  3. 运行同步 - ./scripts/sync-lib.sh(或agentsys-dev sync-lib)复制lib/到所有9个插件
  4. 提交两者 - 源在lib/ AND 副本在plugins/*/lib/

平台特定转换(bin/cli.js做什么)

OpenCode转换

1. 移除模型规范(如果–strip-models)

// 原始(Claude Code):
model: sonnet

// 转换后(OpenCode):
(字段完全移除)

原因: 并非所有OpenCode用户都能访问所有三个模型层。使用用户默认模型代替。

2. 转换工具为权限

// 原始:
tools: Bash(git:*), Read, Edit, Task

// 转换后:
permission:
  bash: allow
  read: allow
  edit: allow
  task: allow

3. 替换环境变量

// 原始:
${CLAUDE_PLUGIN_ROOT}

// 转换后:
${PLUGIN_ROOT}

4. 在require()中规范化Windows路径

// 原始:
require('${CLAUDE_PLUGIN_ROOT}/lib/module.js')

// 转换后:
require('${PLUGIN_ROOT}'.replace(/\\/g, '/') + '/lib/module.js')

原因: Windows反斜杠(C:\Users\...)破坏JavaScript字符串转义。

Codex转换

1. 命令 → 技能转换

// 命令变为带有触发短语的技能
// 原始命令:/next-task
// 变为:$next-task with SKILL.md

// SKILL.md要求:
---
name: next-task
description: "当用户询问“查找下一个任务”、“自动化工作流”时使用。主协调器。”
---

2. 代理逻辑 → 技能内联

  • 代理在Codex中不直接支持
  • 代理工作流嵌入在技能说明中
  • 或使用MCP工具调用代理逻辑

验证套件(预推送 + CI)

validate:plugins

文件: scripts/validate-plugins.js 检查:

  • plugin.json结构有效性
  • 必填字段存在
  • 命令/代理/技能如声明存在

退出1如果: 无效plugin.json

validate:cross-platform

文件: scripts/validate-cross-platform.js 检查:

  • 代码在所有3个平台上工作
  • 无平台特定假设
  • 正确使用AI_STATE_DIR

退出1如果: 检测到平台特定代码

validate:consistency

文件: scripts/validate-repo-consistency.js 检查:

  • 存储库完整性
  • 文件结构一致性

退出1如果: 发现不一致性

validate:paths

文件: scripts/check-hardcoded-paths.js 检查:

  • 在代理/命令/技能中无硬编码.claude/路径
  • 排除:docs、enhance/中的SKILL.md、RESEARCH.md、examples

检测模式:

/\.claude\/(?!.*\(example\)|.*Platform|.*State directory)/
/\.opencode\/(?!.*\(example\)|.*Platform)/
/\.codex\/(?!.*\(example\)|.*Platform)/

安全上下文(跳过):

  • 文档表(| State Dir |
  • 平台比较示例
  • 技能文档(enhance/* SKILL.md
  • 清单引用

退出1如果: 在安全上下文外发现硬编码路径

validate:counts

文件: scripts/validate-counts.js 检查:

  • 插件计数(9)跨README、CLAUDE.mdAGENTS.md、package.json、docs
  • 代理计数(39总计 = 29基于文件 + 10基于角色)跨所有文档
  • 技能计数(23)跨所有文档
  • 版本对齐(package.json匹配所有10个plugin.json文件)
  • CLAUDE.md ↔ AGENTS.md关键规则对齐(>90%相似性)

实际计数(文件系统):

  • 插件:plugins/中的9个目录
  • 基于文件的代理:plugins/*/agents/中的29个.md文件
  • 基于角色的代理:10个(来自audit-project,内联定义)
  • 技能:plugins/*/skills/*/SKILL.md中的23个SKILL.md文件

智能验证:

  • 接受“39代理”或“39代理(29基于文件 + 10基于角色)”
  • 跳过插件特定计数如“next-task(12代理)”
  • 仅验证顶级总数

退出1如果: 计数不匹配或版本不对齐

validate:platform-docs

文件: scripts/validate-cross-platform-docs.js 检查:

  • 命令前缀一致性(/ vs $)
  • 状态目录引用平台适当
  • 功能对等(所有9个命令为所有平台记录)
  • 安装说明一致
  • MCP服务器配置正确

智能验证:

  • 跳过比较表
  • 跳过清单引用
  • 跳过技能名称提及(如enhance-claude-memory
  • 跳过文档示例

退出1如果: 平台冲突或缺失功能


预推送钩子(自动执行)

文件: scripts/setup-hooks.js → 创建.git/hooks/pre-push

阶段1:验证套件

npm run validate  # 运行所有6个验证器

如果任何验证器失败,阻止。

阶段2:增强内容检查 检测修改:

  • agents/*.md
  • skills/*/SKILL.md
  • hooks/*.md
  • prompts/*.md

提示:“您是否已运行/enhance在这些文件上?(y/N)” 如果“N”,阻止(根据CLAUDE.md关键规则#7)。

阶段3:发布标签验证 如果推送版本标签(v*):

  • 运行npm test
  • 运行npm pack --dry-run
  • 如果任一失败,阻止

跳过钩子: git push --no-verify(谨慎使用)


安装程序深度解析(bin/cli.js)

交互流程

  1. 平台选择 - 多选:Claude Code、OpenCode、Codex CLI
  2. 清理旧安装 - 如果存在,移除~/.agentsys/
  3. 复制包 - 从npm全局到~/.agentsys/
  4. 安装依赖 - 在包和mcp-server中运行npm install --production
  5. 每个平台安装:
    • Claude Code:添加市场,安装9个插件
    • OpenCode:复制命令、代理;更新配置;安装原生插件
    • Codex:创建带有触发短语的技能;更新配置

关键函数

installForClaude() - 第116行

  • 添加市场:claude plugin marketplace add agent-sh/agentsys
  • 安装9个插件:claude plugin install {plugin}@agentsys
  • 命令:/next-task, /ship, /deslop, /audit-project, /drift-detect, /enhance, /perf, /sync-docs, /repo-map

installForOpenCode(installDir, options) - 第165行

  • 创建目录:~/.config/opencode/commands/, ~/.config/opencode/plugins/agentsys.ts
  • adapters/opencode-plugin/复制原生插件
  • 使用OPENCODE_COMMAND_MAPPINGS转换命令
  • 转换代理(工具 → 权限,如果–strip-models,剥离模型)
  • 更新~/.config/opencode/opencode.json与MCP配置

installForCodex(installDir) - 第330+行

  • 创建目录:~/.codex/skills/
  • 使用CODEX_SKILL_MAPPINGS创建SKILL.md文件
  • 每个技能获取触发短语描述
  • 更新~/.codex/config.toml与MCP配置

命令映射(OpenCode)

OPENCODE_COMMAND_MAPPINGS - 第~242行:

const commandMappings = [
  ['deslop.md', 'deslop', 'deslop.md'],
  ['enhance.md', 'enhance', 'enhance.md'],
  ['next-task.md', 'next-task', 'next-task.md'],
  ['delivery-approval.md', 'next-task', 'delivery-approval.md'],
  ['sync-docs.md', 'sync-docs', 'sync-docs.md'],
  ['audit-project.md', 'audit-project', 'audit-project.md'],
  ['drift-detect.md', 'drift-detect', 'drift-detect.md'],
  ['repo-map.md', 'repo-map', 'repo-map.md'],
  ['perf.md', 'perf', 'perf.md'],
  ['ship.md', 'ship', 'ship.md']
];

技能映射(Codex)

CODEX_SKILL_MAPPINGS - 第~280+行:

const skillMappings = [
  ['next-task', 'next-task', 'next-task.md',
    '当用户询问“查找下一个任务”、“自动化工作流”时使用。主工作流协调器。'],
  ['ship', 'ship', 'ship.md',
    '当用户询问“创建PR”、“运送更改”、“合并PR”时使用。完整PR工作流。'],
  // ... 7 more
];

添加新功能(逐步)

新命令(例如,/my-command)

1. 创建命令文件:

plugins/my-plugin/commands/my-command.md

2. 更新 bin/cli.js - 3个位置:

a) PLUGINS_ARRAY(如果新插件):

// 第~138行
const plugins = ['next-task', 'ship', ..., 'my-plugin'];

b) OPENCODE_COMMAND_MAPPINGS:

// 第~242行
['my-command.md', 'my-plugin', 'my-command.md'],

c) CODEX_SKILL_MAPPINGS:

// 第~280行
['my-command', 'my-plugin', 'my-command.md',
  '当用户询问“触发短语”时使用。能力描述。'],

3. 更新 marketplace.json:

// .claude-plugin/marketplace.json - 添加到插件数组
{
  "name": "my-plugin",
  "version": "3.5.0",
  "description": "...",
  "path": "plugins/my-plugin"
}

4. 创建 plugin.json:

plugins/my-plugin/.claude-plugin/plugin.json

5. 更新文档:

  • docs/INSTALLATION.md - 添加安装命令
  • README.md - 添加到命令表
  • CHANGELOG.md - 添加到“新增”下

6. 验证:

npm run validate  # 将捕获缺失映射

新代理(例如,my-agent)

1. 创建代理文件:

plugins/my-plugin/agents/my-agent.md

带有适当frontmatter:

---
name: my-agent
description: 简要描述
tools: Bash(git:*), Read, Edit
model: sonnet
---

2. 安装程序自动处理:

  • ✅ 复制到~/.config/opencode/agents/my-agent.md
  • ✅ 转换frontmatter(工具 → 权限)
  • ✅ 如果–strip-models标志,剥离模型
  • ✅ 在require()中规范化Windows路径

3. 无需Codex更改 - Codex使用MCP,非代理

4. 验证:

npm run validate:counts  # 如果添加,将更新代理计数

新技能(例如,my-skill)

1. 创建技能目录和文件:

plugins/my-plugin/skills/my-skill/SKILL.md

带有frontmatter:

---
name: my-skill
description: "当用户询问“触发”时使用。描述。”
metadata:
  short-description: "简要"
---

2. 如果用户可调用(Codex): 添加到bin/cli.js中的CODEX_SKILL_MAPPINGS

3. 验证:

npm run validate:counts  # 将检查技能计数匹配

新MCP工具

1. 添加到 mcp-server/index.js:

a) TOOLS数组:

const TOOLS = [
  // ...
  {
    name: 'my_tool',
    description: '工具描述',
    inputSchema: {
      type: 'object',
      properties: { param: { type: 'string' } },
      required: ['param']
    }
  }
];

b) toolHandlers对象:

const toolHandlers = {
  // ...
  my_tool: async (params) => {
    // 实现
    return xplat.successResponse({ result: 'data' });
  }
};

2. 更新 marketplace.json:

// .claude-plugin/marketplace.json
"mcpServer": {
  "tools": ["workflow_status", ..., "my_tool"]
}

3. 更新文档:

  • README.md - 如果用户面向,添加到功能

常见发布陷阱(以及验证器如何捕获)

陷阱1:忘记更新插件版本

# 症状:
- package.json 显示 3.6.0
- plugins/next-task/.claude-plugin/plugin.json 显示 3.5.0

# 捕获者:
npm run validate:counts
# → [ERROR] 版本不对齐

陷阱2:硬编码 .claude/ 路径

# 症状:
- 代理包含:`.claude/flow.json`
- OpenCode 和 Codex 中断

# 捕获者:
npm run validate:paths
# → [ERROR] 在 agents/my-agent.md:42 发现硬编码路径

陷阱3:代理计数不匹配

# 症状:
- 添加了新代理
- README 仍显示“39代理”
- 实际上现在40个

# 捕获者:
npm run validate:counts
# → [ERROR] README.md 代理:预期40,实际39

陷阱4:缺失触发短语(Codex)

# 症状:
- Codex 技能有:description: "主协调器"
- 无触发短语
- Codex 不知道何时调用

# 捕获者:
/enhance --focus=skills
# → [MEDIUM] 描述缺失触发短语

陷阱5:OpenCode标签太长

# 症状:
- AskUserQuestion 标签:"#123: 修复 ProfileScreen 组件中的身份验证超时"
- 65字符
- OpenCode 抛出错误

# 预防:
在 task-discoverer 代理中使用 truncateLabel() 函数
为 OpenCode 兼容性,最多30字符

陷阱6:忘记运行 /enhance

# 症状:
- 修改了代理/技能
- 未运行 /enhance
- 仍然推送

# 捕获者:
预推送钩子提示:“您是否已运行 /enhance?(y/N)”
如果“N”,阻止推送

自动化机会(始终考虑)

当前自动化

  1. lib/ 同步 - 预提交钩子自动同步 lib/ 到 plugins/
  2. 验证 - 预推送钩子运行6个验证器
  3. 代理转换 - 安装程序自动转换frontmatter
  4. 模型剥离 - --strip-models 标志为 OpenCode
  5. 版本检查 - validate:counts 捕获不对齐
  6. 路径检查 - validate:paths 捕获硬编码路径
  7. /enhance 执行 - 预推送钩子提示

潜在改进

1. 版本提升自动化

# 当前:在11个文件中手动查找/替换
# 机会:原子性更新所有版本字段的脚本
# 脚本:scripts/bump-version.js <new-version>

2. CHANGELOG 条目生成

# 当前:手动创建条目
# 机会:解析自上次标签以来的git日志,分类提交
# 脚本:scripts/generate-changelog-entry.js

3. 跨平台安装测试

# 当前:在每个平台上手动测试
# 机会:每个平台的Docker容器,自动化烟雾测试
# 脚本:scripts/test-install-all-platforms.sh

4. 代理计数自动更新

# 当前:在文档中手动更新计数
# 机会:从文件系统提取计数,自动更新文档
# 脚本:scripts/update-doc-counts.js

5. Marketplace.json 同步

# 当前:手动更新 .claude-plugin/marketplace.json
# 机会:从 plugins/ 目录结构生成
# 脚本:scripts/sync-marketplace-manifest.js

如果您识别更多自动化机会,请添加到此。


您的责任(使用此技能的代理)

推送前

  1. 运行验证:

    npm run validate
    

    修复发现的任何问题。

  2. 如果修改了增强内容(代理/技能/钩子/提示):

    /enhance
    

    处理高确定性发现。

  3. 检查此技能中的不对齐:

    • 新脚本添加但未在此记录?
    • 发现新平台差异?
    • 需要新验证模式?
    • 如果是,更新此文件
  4. 考虑自动化:

    • 这个手动步骤可以自动化吗?
    • 我们正在重复的模式?
    • 添加到“潜在改进”部分

发布前

  1. 阅读发布清单:

    cat checklists/release.md
    
  2. 更新所有11个版本字段:

    • 使用版本提升脚本(如果存在)或手动查找/替换
    • 验证:npm run validate:counts
  3. 更新 CHANGELOG.md

    • 在顶部添加带日期的条目
    • 分类:新增/变更/修复/移除
  4. 运行完全验证:

    npm test                  # 1400+测试
    npm run validate          # 所有6个验证器
    npm pack --dry-run        # 包构建
    
  5. 测试跨平台安装:

    npm pack
    npm install -g ./agentsys-*.tgz
    echo "1 2 3" | agentsys  # 测试安装程序
    
  6. 提交和标签:

    git add -A
    git commit -m "chore: release v3.X.0-rc.N"
    git tag v3.X.0-rc.N
    git push origin main --tags
    
  7. 验证 npm 发布:

    # 等待GitHub Actions发布工作流
    npm view agentsys@rc version  # 对于RC
    npm view agentsys version     # 对于生产
    

更新不对齐

如果您在工作中发现以下任何情况:

新脚本未在此记录:

  1. 阅读脚本以了解其作用
  2. 添加到相关部分(验证套件、安装等)
  3. 提交:“docs(maintain-cross-platform): 记录 {script-name}”

发现新平台差异:

  1. 在所有3个平台上测试以确认
  2. 添加到“平台差异”矩阵
  3. 如果导致问题,添加到“常见陷阱”
  4. 如果需要,更新相关验证脚本

需要新验证模式:

  1. 考虑:可以扩展现有验证器吗?
  2. 如果需要新验证器,创建在 scripts/validate-{name}.js
  3. 添加到 package.json 验证脚本
  4. 在“验证套件”部分记录
  5. 如果相关,更新“预推送钩子”部分

识别自动化机会:

  1. 添加到“潜在改进”与描述
  2. 估计努力(简单/中等/复杂)
  3. 注意依赖(所需工具、测试要求)

快速参考:文件计数

插件: 9

  1. next-task
  2. enhance
  3. ship
  4. perf
  5. audit-project
  6. deslop
  7. drift-detect
  8. repo-map
  9. sync-docs

代理: 39总计 = 29基于文件 + 10基于角色

基于文件(29): 计算 plugins/*/agents/*.md 中的文件

  • next-task: 12
  • enhance: 9
  • perf: 6
  • drift-detect: 1
  • repo-map: 1

基于角色(10): 在 audit-project 命令中内联定义

  • code-quality-reviewer, security-expert, performance-engineer, test-quality-guardian
  • architecture-reviewer, database-specialist, api-designer
  • frontend-specialist, backend-specialist, devops-reviewer

技能: 23 - 计算 plugins/*/skills/*/SKILL.md 中的 SKILL.md

  • next-task: 4 (orchestrate-review, discover-tasks, validate-delivery, update-docs)
  • enhance: 10 (orchestrator, reporter, agent-prompts, claude-memory, docs, plugins, prompts, hooks, skills)
  • perf: 8 (analyzer, baseline, benchmark, code-paths, investigation-logger, profile, theory, theory-tester)
  • drift-detect: 1 (drift-analysis)
  • repo-map: 1 (repo-mapping)

版本字段: 11个文件

  • 1x package.json
  • 1x .claude-plugin/plugin.json
  • 9x plugins/*/.claude-plugin/plugin.json
  • 1x mcp-server/index.js (MCP_SERVER_VERSION 常量)

约束

  • 永不破坏现有功能 - 有真实用户的生产项目
  • 始终在所有3个平台上测试 - 至少烟雾测试
  • 始终更新此技能 - 如果您发现差距或改进
  • 始终运行验证 - 预推送钩子执行此
  • 文档必须保持准确 - 验证器执行此

输出格式

使用此技能时,输出:

## 跨平台兼容性检查

### 运行的验证
- [OK/ERROR] validate:plugins
- [OK/ERROR] validate:cross-platform
- [OK/ERROR] validate:consistency
- [OK/ERROR] validate:paths
- [OK/ERROR] validate:counts
- [OK/ERROR] validate:platform-docs

### 发现的问题
[列出任何带有文件:行引用的issue]

### 此技能中的不对齐
[列出在此技能中找到的任何过时信息]

### 自动化机会
[列出可以自动化的任何手动步骤]

### 采取的行动
[列出更新/创建的文件]

### 下一步
[列出剩余工作]

版本

技能版本: 1.0.0 最后更新: 2026-01-30 覆盖: AgentSys v5.0.0 架构

何时更新此技能:

  • 添加新平台
  • 创建新验证脚本
  • 安装过程变更
  • 实现新自动化
  • 发现平台差异