[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71GKFKVS3MMPXMMPD0FGA5T":3,"skill-same:01M71GKFKVS3MMPXMMPD0FGA5T":356},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M71GKFKVS3MMPXMMPD0FGA5T","env-setup",null,"Claude Code 环境一键同步工具。从 GitHub 仓库同步所有配置到本地：output-styles 风格、CLAUDE.md 全局提示词、MCP 服务器配置、Agent 配置、Plugin 配置。适用于多设备统一环境、换电脑恢复、团队共享配置等场景。当用户需要从 GitHub 仓库同步 Claude Code\u002FOpenClaw 环境配置时使用此 skill。","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33],"env setup","setup","env","plugin","styles","github","MCP","工具","openclaw","code","output","2026-11-10 10:12:30",false,"---\nname: env-setup\ndescription: Claude Code 环境一键同步工具。从 GitHub 仓库同步所有配置到本地：output-styles 风格、CLAUDE.md 全局提示词、MCP 服务器配置、Agent 配置、Plugin 配置。适用于多设备统一环境、换电脑恢复、团队共享配置等场景。当用户需要从 GitHub 仓库同步 Claude Code\u002FOpenClaw 环境配置时使用此 skill。\n---\n\n# Claude Code & OpenClaw 环境一键同步工具\n\n从 GitHub 仓库一键同步所有配置到本地 Claude Code 和 OpenClaw 环境。\n\n## 功能概述\n\n本 skill 提供**一键同步**功能，将配置从 GitHub 仓库同步到本地：\n\n- **`sync_env.py`** - 同步所有配置到本地\n\n### 同步内容\n\n| 组件 | 来源 | 目标 | 说明 |\n|------|------|------|------|\n| Output Styles | `config\u002Foutput-styles\u002F` | `~\u002F.claude\u002Foutput-styles\u002F` | Claude Code 对话风格 |\n| CLAUDE.md | `config\u002FCLAUDE.md` | `~\u002F.claude\u002FCLAUDE.md` | 全局提示词 |\n| MCP Config | `config\u002Fmcp_config.json` | `~\u002F.claude.json` | MCP 服务器（合并） |\n| Agent Configs | `agents\u002F` | `~\u002F.openclaw\u002Fagents\u002F` | OpenClaw Agent 配置 |\n| MCP Servers | `mcp\u002F` | 集成到 `~\u002F.claude.json` | MCP 服务器独立配置 |\n| Plugins | `plugins\u002F` | `~\u002F.openclaw\u002Fplugins\u002F` | OpenClaw 插件配置 |\n\n## GitHub 仓库结构\n\n```\nyour-claude-env\u002F              (GitHub 仓库)\n├── env-setup.skill\u002F          (或任意名称，放在 skills\u002F 下)\n│   ├── SKILL.md\n│   ├── scripts\u002F\n│   │   ├── sync_env.py       (主同步脚本)\n│   │   ├── backup_env.py     (备份脚本，可选)\n│   │   └── restore_env.py    (恢复脚本，可选)\n│   └── config\u002F               (配置模板目录)\n│       ├── output-styles\u002F    (对话风格配置)\n│       ├── CLAUDE.md         (全局提示词)\n│       └── mcp_config.json   (MCP服务器配置)\n├── agents\u002F                   (Agent 配置目录)\n│   ├── multimodal-agent\u002F\n│   │   ├── AGENT.md\n│   │   └── system.md\n│   ├── healthcare-monitor\u002F\n│   └── ...\n├── mcp\u002F                      (MCP 服务器配置)\n│   ├── github\u002F\n│   │   ├── config.json\n│   │   └── README.md\n│   ├── lark-mcp\u002F\n│   └── ...\n└── plugins\u002F                  (插件配置)\n    ├── feishu\u002F\n    │   └── config.json\n    ├── telegram\u002F\n    └── ...\n```\n\n## 配置目录说明\n\n### agents\u002F - Agent 配置\n\n用于存放 OpenClaw Agent 的配置：\n\n```\nagents\u002F\n├── multimodal-agent\u002F\n│   ├── AGENT.md           (Agent 描述)\n│   └── system.md          (System prompt)\n├── healthcare-monitor\u002F\n│   ├── AGENT.md\n│   └── system.md\n└── ...\n```\n\n**同步目标：** `~\u002F.openclaw\u002Fagents\u002F`\n\n### mcp\u002F - MCP 服务器配置\n\n用于存放 MCP 服务器的独立配置：\n\n```\nmcp\u002F\n├── github\u002F\n│   ├── config.json         (MCP 服务器配置)\n│   └── README.md          (使用说明)\n├── lark-mcp\u002F\n│   └── ...\n└── ...\n```\n\n**同步目标：** 集成到 `~\u002F.claude.json` 的 mcpServers\n\n### plugins\u002F - 插件配置\n\n用于存放 OpenClaw 插件配置：\n\n```\nplugins\u002F\n├── feishu\u002F\n│   └── config.json\n├── telegram\u002F\n│   └── config.json\n└── ...\n```\n\n**同步目标：** `~\u002F.openclaw\u002Fplugins\u002F`\n\n## 使用方法\n\n### 一、初始化 GitHub 仓库\n\n在主设备上创建仓库：\n\n```bash\n# 1. 创建项目目录\nmkdir claude-env-sync\ncd claude-env-sync\n\n# 2. 复制 env-setup skill\ncp -r ~\u002F.claude\u002Fskills\u002Fenv-setup .\u002F\n\n# 3. 复制当前配置到 config\u002F\ncp -r ~\u002F.claude\u002Foutput-styles\u002F* env-setup\u002Fconfig\u002Foutput-styles\u002F\ncp ~\u002F.claude\u002FCLAUDE.md env-setup\u002Fconfig\u002F\n\n# 4. 复制 agents 配置（如果有）\ncp -r ~\u002F.openclaw\u002Fagents\u002F* env-setup\u002Fagents\u002F\n\n# 5. 提取 MCP 配置（如果有独立配置）\nmkdir -p env-setup\u002Fmcp\n# (手动复制 MCP 服务器配置)\n\n# 6. 提取插件配置（如果有）\nmkdir -p env-setup\u002Fplugins\n# (手动复制插件配置)\n\n# 7. 推送到 GitHub\ngit init\ngit add .\ngit commit -m \"Initial Claude env config\"\ngit remote add origin https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fclaude-env-sync.git\ngit push -u origin main\n```\n\n### 二、在新设备上同步\n\n```bash\n# 1. 克隆仓库到 skills 目录\ncd ~\u002F.claude\u002Fskills\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fclaude-env-sync.git\n\n# 2. 运行同步脚本\npython ~\u002F.claude\u002Fskills\u002Fclaude-env-sync\u002Fenv-setup\u002Fscripts\u002Fsync_env.py\n\n# 3. 重启 Claude Code \u002F OpenClaw Gateway\n```\n\n### 三、命令行选项\n\n```bash\n# 基本用法（同步所有配置）\npython scripts\u002Fsync_env.py\n\n# 强制覆盖已存在的文件\npython scripts\u002Fsync_env.py --force\n\n# 只同步特定组件\npython scripts\u002Fsync_env.py --components agents mcp plugins\n\n# 指定配置目录\npython scripts\u002Fsync_env.py --claude-dir \"\u002Fpath\u002Fto\u002F.claude\" --openclaw-dir \"\u002Fpath\u002Fto\u002F.openclaw\"\n```\n\n**同步选项：**\n- `output_styles` - 同步对话风格配置\n- `claude_md` - 同步全局 CLAUDE.md\n- `mcp_config` - 同步 MCP 服务器配置\n- `agents` - 同步 Agent 配置\n- `mcp` - 同步独立 MCP 服务器配置\n- `plugins` - 同步插件配置\n\n## 配置文件格式\n\n### mcp_config.json\n\n```json\n{\n  \"mcpServers\": {\n    \"chrome-devtools\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"chrome-devtools-mcp@latest\"]\n    },\n    \"github\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-github\"],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"your_token_here\"\n      }\n    }\n  }\n}\n```\n\n**⚠️ 安全提醒：**\n- **不要在仓库中提交真实的 API keys 或 tokens！**\n- 敏感信息应使用环境变量或本地配置文件（在 .gitignore 中排除）\n- 使用占位符标注需要填写的密钥位置，例如：`\"GITHUB_PERSONAL_ACCESS_TOKEN\": \"your_token_here\"`\n\n### Agent 配置\n\n每个 Agent 目录包含：\n- `AGENT.md` - Agent 描述和能力说明\n- `system.md` - System prompt\n\n### 插件配置\n\n每个插件目录包含：\n- `config.json` 或 `config.yaml` - 插件配置\n\n## 使用场景\n\n### 场景 1：多设备环境统一\n\n在多台电脑上保持一致的配置：\n\n```bash\n# 主设备：更新配置后\ngit add .\ngit commit -m \"Update config\"\ngit push\n\n# 其他设备：拉取并同步\ngit pull\npython scripts\u002Fsync_env.py\n```\n\n### 场景 2：团队共享配置\n\n团队成员共享统一的配置：\n\n1. 创建团队 GitHub 仓库\n2. 每个成员克隆到 `~\u002F.claude\u002Fskills\u002F`\n3. 定期运行 `sync_env.py` 同步更新\n\n### 场景 3：快速换电脑\n\n```bash\n# 新电脑上\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fclaude-env-sync.git ~\u002F.claude\u002Fskills\u002F\npython ~\u002F.claude\u002Fskills\u002Fclaude-env-sync\u002Fenv-setup\u002Fscripts\u002Fsync_env.py --force\n```\n\n### 场景 4：版本管理配置\n\n```bash\n# 回滚到之前的配置\ngit log --oneline\ngit checkout \u003Ccommit-hash>\npython scripts\u002Fsync_env.py --force\n```\n\n## 工作流程\n\n### 日常更新流程\n\n```\n1. 修改本地配置\n   ↓\n2. 更新相应目录 (config\u002F, agents\u002F, mcp\u002F, plugins\u002F)\n   ↓\n3. git add . && git commit -m \"Update xxx\"\n   ↓\n4. git push\n   ↓\n5. 其他设备: git pull && python scripts\u002Fsync_env.py\n```\n\n## 注意事项\n\n### 配置同步策略\n\n- **MCP 配置**：采用合并模式，不会覆盖现有的其他 MCP 服务器\n- **Agent 配置**：直接复制到目标目录，会覆盖同名 Agent\n- **插件配置**：直接复制到目标目录，会覆盖同名插件\n- **不使用 `--force`**：跳过已存在的文件（除了 MCP 配置，始终合并）\n- **使用 `--force`**：覆盖已存在的文件\n\n### 重启应用\n\n同步完成后需要**重启**才能生效：\n- **Claude Code** - Output styles 会重新加载\n- **OpenClaw Gateway** - Agents\u002FMCP\u002FPlugins 会重新加载\n\n### 敏感信息管理\n\n- **不要提交真实的 API keys 或 tokens**\n- 使用环境变量或本地配置文件\n- 在 .gitignore 中排除敏感文件\n\n```\n# .gitignore 示例\nconfig\u002Fmcp_config.json.local\nconfig\u002Fsecrets\u002F\n*.key\n*.token\n.env\n```\n\n### 跨平台兼容\n\n- 脚本自动处理 Windows\u002FmacOS\u002FLinux 路径差异\n- 配置文件使用 UTF-8 编码\n\n## 高级用法\n\n### 分支管理\n\n```bash\n# 创建设备特定配置分支\ngit checkout -b my-custom-config\n\n# 切换回主配置\ngit checkout main\n```\n\n### 部分同步\n\n```bash\n# 只同步 agents 和 plugins，不改变其他配置\npython scripts\u002Fsync_env.py --components agents plugins\n\n# 只同步 MCP，不改变其他配置\npython scripts\u002Fsync_env.py --components mcp\n```\n\n### 自动化同步（可选）\n\n创建定期同步脚本：\n\n```bash\n# sync.sh\n#!\u002Fbin\u002Fbash\ncd ~\u002F.claude\u002Fskills\u002Fclaude-env-sync\ngit pull\npython env-setup\u002Fscripts\u002Fsync_env.py\n```\n\n添加到 cron 或 Task Scheduler 定期执行。\n\n## 故障排查\n\n### 同步失败\n\n**问题：** \"config\u002Fagents not found\"\n- **解决：** 确认仓库结构正确\n\n**问题：** \".claude.json not found\"\n- **解决：** 确认 Claude Code\u002FOpenClaw 已安装并运行过一次\n\n**问题：** Agent 配置没有生效\n- **解决：** 检查配置格式是否正确，重启 OpenClaw Gateway\n\n### Git 相关\n\n**问题：** 推送失败\n- **解决：** 检查 GitHub 仓库权限、网络连接\n\n### 密钥安全问题\n\n**问题：** 意外提交了密钥\n- **解决：** 使用 git filter-branch 或 git filter-repo 从历史中删除\n\n```bash\n# 从历史中删除包含密钥的文件\ngit filter-branch --force --tree-filter 'git rm -f filename' -- --all\n\n# 强制推送\ngit push origin --force --all\n```\n","# Claude Code & OpenClaw 环境一键同步工具\n\n从 GitHub 仓库一键同步所有配置到本地 Claude Code 和 OpenClaw 环境。\n\n## 功能概述\n\n本 skill 提供**一键同步**功能，将配置从 GitHub 仓库同步到本地：\n\n- **`sync_env.py`** - 同步所有配置到本地\n\n### 同步内容\n\n| 组件 | 来源 | 目标 | 说明 |\n|------|------|------|------|\n| Output Styles | `config\u002Foutput-styles\u002F` | `~\u002F.claude\u002Foutput-styles\u002F` | Claude Code 对话风格 |\n| CLAUDE.md | `config\u002FCLAUDE.md` | `~\u002F.claude\u002FCLAUDE.md` | 全局提示词 |\n| MCP Config | `config\u002Fmcp_config.json` | `~\u002F.claude.json` | MCP 服务器（合并） |\n| Agent Configs | `agents\u002F` | `~\u002F.openclaw\u002Fagents\u002F` | OpenClaw Agent 配置 |\n| MCP Servers | `mcp\u002F` | 集成到 `~\u002F.claude.json` | MCP 服务器独立配置 |\n| Plugins | `plugins\u002F` | `~\u002F.openclaw\u002Fplugins\u002F` | OpenClaw 插件配置 |\n\n## GitHub 仓库结构\n\n```\nyour-claude-env\u002F              (GitHub 仓库)\n├── env-setup.skill\u002F          (或任意名称，放在 skills\u002F 下)\n│   ├── SKILL.md\n│   ├── scripts\u002F\n│   │   ├── sync_env.py       (主同步脚本)\n│   │   ├── backup_env.py     (备份脚本，可选)\n│   │   └── restore_env.py    (恢复脚本，可选)\n│   └── config\u002F               (配置模板目录)\n│       ├── output-styles\u002F    (对话风格配置)\n│       ├── CLAUDE.md         (全局提示词)\n│       └── mcp_config.json   (MCP服务器配置)\n├── agents\u002F                   (Agent 配置目录)\n│   ├── multimodal-agent\u002F\n│   │   ├── AGENT.md\n│   │   └── system.md\n│   ├── healthcare-monitor\u002F\n│   └── ...\n├── mcp\u002F                      (MCP 服务器配置)\n│   ├── github\u002F\n│   │   ├── config.json\n│   │   └── README.md\n│   ├── lark-mcp\u002F\n│   └── ...\n└── plugins\u002F                  (插件配置)\n    ├── feishu\u002F\n    │   └── config.json\n    ├── telegram\u002F\n    └── ...\n```\n\n## 配置目录说明\n\n### agents\u002F - Agent 配置\n\n用于存放 OpenClaw Agent 的配置：\n\n```\nagents\u002F\n├── multimodal-agent\u002F\n│   ├── AGENT.md           (Agent 描述)\n│   └── system.md          (System prompt)\n├── healthcare-monitor\u002F\n│   ├── AGENT.md\n│   └── system.md\n└── ...\n```\n\n**同步目标：** `~\u002F.openclaw\u002Fagents\u002F`\n\n### mcp\u002F - MCP 服务器配置\n\n用于存放 MCP 服务器的独立配置：\n\n```\nmcp\u002F\n├── github\u002F\n│   ├── config.json         (MCP 服务器配置)\n│   └── README.md          (使用说明)\n├── lark-mcp\u002F\n│   └── ...\n└── ...\n```\n\n**同步目标：** 集成到 `~\u002F.claude.json` 的 mcpServers\n\n### plugins\u002F - 插件配置\n\n用于存放 OpenClaw 插件配置：\n\n```\nplugins\u002F\n├── feishu\u002F\n│   └── config.json\n├── telegram\u002F\n│   └── config.json\n└── ...\n```\n\n**同步目标：** `~\u002F.openclaw\u002Fplugins\u002F`\n\n## 使用方法\n\n### 一、初始化 GitHub 仓库\n\n在主设备上创建仓库：\n\n```bash\n# 1. 创建项目目录\nmkdir claude-env-sync\ncd claude-env-sync\n\n# 2. 复制 env-setup skill\ncp -r ~\u002F.claude\u002Fskills\u002Fenv-setup .\u002F\n\n# 3. 复制当前配置到 config\u002F\ncp -r ~\u002F.claude\u002Foutput-styles\u002F* env-setup\u002Fconfig\u002Foutput-styles\u002F\ncp ~\u002F.claude\u002FCLAUDE.md env-setup\u002Fconfig\u002F\n\n# 4. 复制 agents 配置（如果有）\ncp -r ~\u002F.openclaw\u002Fagents\u002F* env-setup\u002Fagents\u002F\n\n# 5. 提取 MCP 配置（如果有独立配置）\nmkdir -p env-setup\u002Fmcp\n# (手动复制 MCP 服务器配置)\n\n# 6. 提取插件配置（如果有）\nmkdir -p env-setup\u002Fplugins\n# (手动复制插件配置)\n\n# 7. 推送到 GitHub\ngit init\ngit add .\ngit commit -m \"Initial Claude env config\"\ngit remote add origin https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fclaude-env-sync.git\ngit push -u origin main\n```\n\n### 二、在新设备上同步\n\n```bash\n# 1. 克隆仓库到 skills 目录\ncd ~\u002F.claude\u002Fskills\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fclaude-env-sync.git\n\n# 2. 运行同步脚本\npython ~\u002F.claude\u002Fskills\u002Fclaude-env-sync\u002Fenv-setup\u002Fscripts\u002Fsync_env.py\n\n# 3. 重启 Claude Code \u002F OpenClaw Gateway\n```\n\n### 三、命令行选项\n\n```bash\n# 基本用法（同步所有配置）\npython scripts\u002Fsync_env.py\n\n# 强制覆盖已存在的文件\npython scripts\u002Fsync_env.py --force\n\n# 只同步特定组件\npython scripts\u002Fsync_env.py --components agents mcp plugins\n\n# 指定配置目录\npython scripts\u002Fsync_env.py --claude-dir \"\u002Fpath\u002Fto\u002F.claude\" --openclaw-dir \"\u002Fpath\u002Fto\u002F.openclaw\"\n```\n\n**同步选项：**\n- `output_styles` - 同步对话风格配置\n- `claude_md` - 同步全局 CLAUDE.md\n- `mcp_config` - 同步 MCP 服务器配置\n- `agents` - 同步 Agent 配置\n- `mcp` - 同步独立 MCP 服务器配置\n- `plugins` - 同步插件配置\n\n## 配置文件格式\n\n### mcp_config.json\n\n```json\n{\n  \"mcpServers\": {\n    \"chrome-devtools\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"chrome-devtools-mcp@latest\"]\n    },\n    \"github\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-github\"],\n      \"env\": {\n        \"GITHUB_PERSONAL_ACCESS_TOKEN\": \"your_token_here\"\n      }\n    }\n  }\n}\n```\n\n**⚠️ 安全提醒：**\n- **不要在仓库中提交真实的 API keys 或 tokens！**\n- 敏感信息应使用环境变量或本地配置文件（在 .gitignore 中排除）\n- 使用占位符标注需要填写的密钥位置，例如：`\"GITHUB_PERSONAL_ACCESS_TOKEN\": \"your_token_here\"`\n\n### Agent 配置\n\n每个 Agent 目录包含：\n- `AGENT.md` - Agent 描述和能力说明\n- `system.md` - System prompt\n\n### 插件配置\n\n每个插件目录包含：\n- `config.json` 或 `config.yaml` - 插件配置\n\n## 使用场景\n\n### 场景 1：多设备环境统一\n\n在多台电脑上保持一致的配置：\n\n```bash\n# 主设备：更新配置后\ngit add .\ngit commit -m \"Update config\"\ngit push\n\n# 其他设备：拉取并同步\ngit pull\npython scripts\u002Fsync_env.py\n```\n\n### 场景 2：团队共享配置\n\n团队成员共享统一的配置：\n\n1. 创建团队 GitHub 仓库\n2. 每个成员克隆到 `~\u002F.claude\u002Fskills\u002F`\n3. 定期运行 `sync_env.py` 同步更新\n\n### 场景 3：快速换电脑\n\n```bash\n# 新电脑上\ngit clone https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fclaude-env-sync.git ~\u002F.claude\u002Fskills\u002F\npython ~\u002F.claude\u002Fskills\u002Fclaude-env-sync\u002Fenv-setup\u002Fscripts\u002Fsync_env.py --force\n```\n\n### 场景 4：版本管理配置\n\n```bash\n# 回滚到之前的配置\ngit log --oneline\ngit checkout \u003Ccommit-hash>\npython scripts\u002Fsync_env.py --force\n```\n\n## 工作流程\n\n### 日常更新流程\n\n```\n1. 修改本地配置\n   ↓\n2. 更新相应目录 (config\u002F, agents\u002F, mcp\u002F, plugins\u002F)\n   ↓\n3. git add . && git commit -m \"Update xxx\"\n   ↓\n4. git push\n   ↓\n5. 其他设备: git pull && python scripts\u002Fsync_env.py\n```\n\n## 注意事项\n\n### 配置同步策略\n\n- **MCP 配置**：采用合并模式，不会覆盖现有的其他 MCP 服务器\n- **Agent 配置**：直接复制到目标目录，会覆盖同名 Agent\n- **插件配置**：直接复制到目标目录，会覆盖同名插件\n- **不使用 `--force`**：跳过已存在的文件（除了 MCP 配置，始终合并）\n- **使用 `--force`**：覆盖已存在的文件\n\n### 重启应用\n\n同步完成后需要**重启**才能生效：\n- **Claude Code** - Output styles 会重新加载\n- **OpenClaw Gateway** - Agents\u002FMCP\u002FPlugins 会重新加载\n\n### 敏感信息管理\n\n- **不要提交真实的 API keys 或 tokens**\n- 使用环境变量或本地配置文件\n- 在 .gitignore 中排除敏感文件\n\n```\n# .gitignore 示例\nconfig\u002Fmcp_config.json.local\nconfig\u002Fsecrets\u002F\n*.key\n*.token\n.env\n```\n\n### 跨平台兼容\n\n- 脚本自动处理 Windows\u002FmacOS\u002FLinux 路径差异\n- 配置文件使用 UTF-8 编码\n\n## 高级用法\n\n### 分支管理\n\n```bash\n# 创建设备特定配置分支\ngit checkout -b my-custom-config\n\n# 切换回主配置\ngit checkout main\n```\n\n### 部分同步\n\n```bash\n# 只同步 agents 和 plugins，不改变其他配置\npython scripts\u002Fsync_env.py --components agents plugins\n\n# 只同步 MCP，不改变其他配置\npython scripts\u002Fsync_env.py --components mcp\n```\n\n### 自动化同步（可选）\n\n创建定期同步脚本：\n\n```bash\n# sync.sh\n#!\u002Fbin\u002Fbash\ncd ~\u002F.claude\u002Fskills\u002Fclaude-env-sync\ngit pull\npython env-setup\u002Fscripts\u002Fsync_env.py\n```\n\n添加到 cron 或 Task Scheduler 定期执行。\n\n## 故障排查\n\n### 同步失败\n\n**问题：** \"config\u002Fagents not found\"\n- **解决：** 确认仓库结构正确\n\n**问题：** \".claude.json not found\"\n- **解决：** 确认 Claude Code\u002FOpenClaw 已安装并运行过一次\n\n**问题：** Agent 配置没有生效\n- **解决：** 检查配置格式是否正确，重启 OpenClaw Gateway\n\n### Git 相关\n\n**问题：** 推送失败\n- **解决：** 检查 GitHub 仓库权限、网络连接\n\n### 密钥安全问题\n\n**问题：** 意外提交了密钥\n- **解决：** 使用 git filter-branch 或 git filter-repo 从历史中删除\n\n```bash\n# 从历史中删除包含密钥的文件\ngit filter-branch --force --tree-filter 'git rm -f filename' -- --all\n\n# 强制推送\ngit push origin --force --all\n```\n",{"name":5,"description":7},"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add JSGforever\u002Fskillguard --skill env-setup",{"tool":52,"command":53},"bunx","bunx skills add JSGforever\u002Fskillguard --skill env-setup",{"tool":55,"command":56},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill env-setup","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002FSKILL.md",true,[60,66,70,74,78,82,86,90,94,98,102,108,112,116,120,124,128,132,136,140,144,148,152,158,162,166,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316,320,324,328,332,336,340,344,348,352],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},"config\u002Fccline\u002Fmodels.toml","OTHER","其他",466,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fmodels.toml",{"path":67,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":68,"sourceHtmlUrl":69},"config\u002Fccline\u002Fthemes\u002Fcometix.toml",1896,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fcometix.toml",{"path":71,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":72,"sourceHtmlUrl":73},"config\u002Fccline\u002Fthemes\u002Fdefault.toml",1899,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fdefault.toml",{"path":75,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":76,"sourceHtmlUrl":77},"config\u002Fccline\u002Fthemes\u002Fgruvbox.toml",1924,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fgruvbox.toml",{"path":79,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":80,"sourceHtmlUrl":81},"config\u002Fccline\u002Fthemes\u002Fminimal.toml",1895,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fminimal.toml",{"path":83,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":84,"sourceHtmlUrl":85},"config\u002Fccline\u002Fthemes\u002Fnord.toml",2449,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fnord.toml",{"path":87,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":88,"sourceHtmlUrl":89},"config\u002Fccline\u002Fthemes\u002Fpowerline-dark.toml",2484,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fpowerline-dark.toml",{"path":91,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":92,"sourceHtmlUrl":93},"config\u002Fccline\u002Fthemes\u002Fpowerline-light.toml",2486,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fpowerline-light.toml",{"path":95,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":96,"sourceHtmlUrl":97},"config\u002Fccline\u002Fthemes\u002Fpowerline-rose-pine.toml",2487,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fpowerline-rose-pine.toml",{"path":99,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":100,"sourceHtmlUrl":101},"config\u002Fccline\u002Fthemes\u002Fpowerline-tokyo-night.toml",2494,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fccline\u002Fthemes\u002Fpowerline-tokyo-night.toml",{"path":103,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":106,"sourceHtmlUrl":107},"config\u002FCLAUDE.md","REFERENCE","参考文档",3234,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002FCLAUDE.md",{"path":109,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":110,"sourceHtmlUrl":111},"config\u002Fmcp_config.json",3720,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fmcp_config.json",{"path":113,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":114,"sourceHtmlUrl":115},"config\u002Foutput-styles\u002Fengineer-professional.md",2835,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Foutput-styles\u002Fengineer-professional.md",{"path":117,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":118,"sourceHtmlUrl":119},"config\u002Foutput-styles\u002Flaowang-engineer.md",6573,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Foutput-styles\u002Flaowang-engineer.md",{"path":121,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":122,"sourceHtmlUrl":123},"config\u002Foutput-styles\u002Fnekomata-engineer.md",5343,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Foutput-styles\u002Fnekomata-engineer.md",{"path":125,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":126,"sourceHtmlUrl":127},"config\u002Foutput-styles\u002Fojousama-engineer.md",6810,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Foutput-styles\u002Fojousama-engineer.md",{"path":129,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":130,"sourceHtmlUrl":131},"config\u002Fservers\u002FCHANGELOG.md",38137,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002FCHANGELOG.md",{"path":133,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":134,"sourceHtmlUrl":135},"config\u002Fservers\u002FCONTRIBUTING.md",2579,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002FCONTRIBUTING.md",{"path":137,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":138,"sourceHtmlUrl":139},"config\u002Fservers\u002Fdocs\u002Fdebugging-android.md",1318,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fdocs\u002Fdebugging-android.md",{"path":141,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":142,"sourceHtmlUrl":143},"config\u002Fservers\u002Fdocs\u002Fdesign-principles.md",686,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fdocs\u002Fdesign-principles.md",{"path":145,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":146,"sourceHtmlUrl":147},"config\u002Fservers\u002Fdocs\u002Ftool-reference.md",11611,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fdocs\u002Ftool-reference.md",{"path":149,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":150,"sourceHtmlUrl":151},"config\u002Fservers\u002Fdocs\u002Ftroubleshooting.md",2191,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fdocs\u002Ftroubleshooting.md",{"path":153,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":156,"sourceHtmlUrl":157},"config\u002Fservers\u002Feslint.config.mjs","SCRIPT","脚本",3378,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Feslint.config.mjs",{"path":159,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":160,"sourceHtmlUrl":161},"config\u002Fservers\u002Fgemini-extension.json",182,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fgemini-extension.json",{"path":163,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":164,"sourceHtmlUrl":165},"config\u002Fservers\u002Finstall_mcp.ps1",1928,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Finstall_mcp.ps1",{"path":167,"resourceType":168,"resourceTypeDesc":169,"sizeBytes":170,"sourceHtmlUrl":171},"config\u002Fservers\u002FLICENSE","LICENSE","许可证",11357,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002FLICENSE",{"path":173,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":174,"sourceHtmlUrl":175},"config\u002Fservers\u002Fpackage.json",3572,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fpackage.json",{"path":177,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":178,"sourceHtmlUrl":179},"config\u002Fservers\u002Fpuppeteer.config.cjs",309,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fpuppeteer.config.cjs",{"path":181,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":182,"sourceHtmlUrl":183},"config\u002Fservers\u002FREADME.md",23630,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002FREADME.md",{"path":185,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":186,"sourceHtmlUrl":187},"config\u002Fservers\u002Frelease-please-config.json",1037,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Frelease-please-config.json",{"path":189,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":190,"sourceHtmlUrl":191},"config\u002Fservers\u002Frollup.config.mjs",5743,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Frollup.config.mjs",{"path":193,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":194,"sourceHtmlUrl":195},"config\u002Fservers\u002Fscripts\u002Fgenerate-docs.ts",13495,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fscripts\u002Fgenerate-docs.ts",{"path":197,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":198,"sourceHtmlUrl":199},"config\u002Fservers\u002Fscripts\u002Fpost-build.ts",3097,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fscripts\u002Fpost-build.ts",{"path":201,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":202,"sourceHtmlUrl":203},"config\u002Fservers\u002Fscripts\u002Fprepare.ts",960,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fscripts\u002Fprepare.ts",{"path":205,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":206,"sourceHtmlUrl":207},"config\u002Fservers\u002Fscripts\u002Fsed.ts",653,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fscripts\u002Fsed.ts",{"path":209,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":210,"sourceHtmlUrl":211},"config\u002Fservers\u002Fscripts\u002Ftsconfig.json",608,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fscripts\u002Ftsconfig.json",{"path":213,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":214,"sourceHtmlUrl":215},"config\u002Fservers\u002Fscripts\u002Fverify-server-json-version.ts",914,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fscripts\u002Fverify-server-json-version.ts",{"path":217,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":218,"sourceHtmlUrl":219},"config\u002Fservers\u002FSECURITY.md",218,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002FSECURITY.md",{"path":221,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":222,"sourceHtmlUrl":223},"config\u002Fservers\u002Fserver.json",650,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fserver.json",{"path":225,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":226,"sourceHtmlUrl":227},"config\u002Fservers\u002Fsrc\u002Fbrowser.ts",6545,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Fbrowser.ts",{"path":229,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":230,"sourceHtmlUrl":231},"config\u002Fservers\u002Fsrc\u002Fcli.ts",8382,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Fcli.ts",{"path":233,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":234,"sourceHtmlUrl":235},"config\u002Fservers\u002Fsrc\u002Fdevtools.d.ts",214,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Fdevtools.d.ts",{"path":237,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":238,"sourceHtmlUrl":239},"config\u002Fservers\u002Fsrc\u002FDevToolsConnectionAdapter.ts",3425,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FDevToolsConnectionAdapter.ts",{"path":241,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":242,"sourceHtmlUrl":243},"config\u002Fservers\u002Fsrc\u002FDevtoolsUtils.ts",7610,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FDevtoolsUtils.ts",{"path":245,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":246,"sourceHtmlUrl":247},"config\u002Fservers\u002Fsrc\u002Findex.ts",856,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Findex.ts",{"path":249,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":250,"sourceHtmlUrl":251},"config\u002Fservers\u002Fsrc\u002Fissue-descriptions.ts",1295,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Fissue-descriptions.ts",{"path":253,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":254,"sourceHtmlUrl":255},"config\u002Fservers\u002Fsrc\u002Flogger.ts",877,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Flogger.ts",{"path":257,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":258,"sourceHtmlUrl":259},"config\u002Fservers\u002Fsrc\u002Fmain.ts",5185,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Fmain.ts",{"path":261,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":262,"sourceHtmlUrl":263},"config\u002Fservers\u002Fsrc\u002FMcpContext.ts",19485,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FMcpContext.ts",{"path":265,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":266,"sourceHtmlUrl":267},"config\u002Fservers\u002Fsrc\u002FMcpResponse.ts",16686,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FMcpResponse.ts",{"path":269,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":270,"sourceHtmlUrl":271},"config\u002Fservers\u002Fsrc\u002FMutex.ts",839,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FMutex.ts",{"path":273,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":274,"sourceHtmlUrl":275},"config\u002Fservers\u002Fsrc\u002FPageCollector.ts",10247,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FPageCollector.ts",{"path":277,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":278,"sourceHtmlUrl":279},"config\u002Fservers\u002Fsrc\u002Fpolyfill.ts",180,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002Fpolyfill.ts",{"path":281,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":282,"sourceHtmlUrl":283},"config\u002Fservers\u002Fsrc\u002FWaitForHelper.ts",4479,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Fsrc\u002FWaitForHelper.ts",{"path":285,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":286,"sourceHtmlUrl":287},"config\u002Fservers\u002Ftests\u002Fbrowser.test.ts",2769,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Fbrowser.test.ts",{"path":289,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":290,"sourceHtmlUrl":291},"config\u002Fservers\u002Ftests\u002Fcli.test.ts",5824,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Fcli.test.ts",{"path":293,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":294,"sourceHtmlUrl":295},"config\u002Fservers\u002Ftests\u002FDevtoolsUtils.test.ts",7892,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002FDevtoolsUtils.test.ts",{"path":297,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":298,"sourceHtmlUrl":299},"config\u002Fservers\u002Ftests\u002Findex.test.ts",2629,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Findex.test.ts",{"path":301,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":302,"sourceHtmlUrl":303},"config\u002Fservers\u002Ftests\u002FMcpContext.test.ts",3462,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002FMcpContext.test.ts",{"path":305,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":306,"sourceHtmlUrl":307},"config\u002Fservers\u002Ftests\u002FMcpResponse.test.js.snapshot",4696,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002FMcpResponse.test.js.snapshot",{"path":309,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":310,"sourceHtmlUrl":311},"config\u002Fservers\u002Ftests\u002FMcpResponse.test.ts",17485,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002FMcpResponse.test.ts",{"path":313,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":314,"sourceHtmlUrl":315},"config\u002Fservers\u002Ftests\u002FPageCollector.test.ts",11503,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002FPageCollector.test.ts",{"path":317,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":318,"sourceHtmlUrl":319},"config\u002Fservers\u002Ftests\u002Fserver.ts",2773,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Fserver.ts",{"path":321,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":322,"sourceHtmlUrl":323},"config\u002Fservers\u002Ftests\u002Fsetup.ts",943,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Fsetup.ts",{"path":325,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":326,"sourceHtmlUrl":327},"config\u002Fservers\u002Ftests\u002Fsnapshot.ts",443,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Fsnapshot.ts",{"path":329,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":330,"sourceHtmlUrl":331},"config\u002Fservers\u002Ftests\u002Futils.ts",6857,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftests\u002Futils.ts",{"path":333,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":334,"sourceHtmlUrl":335},"config\u002Fservers\u002Ftsconfig.json",3878,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fservers\u002Ftsconfig.json",{"path":337,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":338,"sourceHtmlUrl":339},"config\u002Fsettings.json",4263,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fsettings.json",{"path":341,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":342,"sourceHtmlUrl":343},"config\u002Fsettings.json.template",4266,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fconfig\u002Fsettings.json.template",{"path":345,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":346,"sourceHtmlUrl":347},"scripts\u002Fbackup_env.py",9449,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fscripts\u002Fbackup_env.py",{"path":349,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":350,"sourceHtmlUrl":351},"scripts\u002Frestore_env.py",10241,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fscripts\u002Frestore_env.py",{"path":353,"resourceType":154,"resourceTypeDesc":155,"sizeBytes":354,"sourceHtmlUrl":355},"scripts\u002Fsync_env.py",9288,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__aaaaqwq--env-setup\u002Fscripts\u002Fsync_env.py",[357,385,401,428,449,470],{"skillNo":358,"name":359,"nameZh":6,"description":360,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":361,"categories":362,"keywords":364,"publishedAt":34},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[363],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","when","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":386,"name":387,"nameZh":6,"description":388,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":389,"licenseFileUrl":6,"sourceHtmlUrl":390,"categories":391,"keywords":397,"publishedAt":34},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[392],{"categoryNo":393,"categoryName":394,"taxonomyType":395,"taxonomyTypeDesc":396},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[398,399,400],"data","data exfiltrator","files",{"skillNo":402,"name":403,"nameZh":6,"description":404,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":405,"categories":406,"keywords":407,"publishedAt":34},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","performance","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":429,"name":430,"nameZh":6,"description":431,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":432,"categories":433,"keywords":437,"publishedAt":34},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[434],{"categoryNo":435,"categoryName":436,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[417,438,425,426,439,440,441,442,443,444,408,445,446,421,423,32,424,427,447,448],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","router","strategies",{"skillNo":450,"name":451,"nameZh":6,"description":452,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":453,"categories":454,"keywords":456,"publishedAt":34},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[455],{"categoryNo":435,"categoryName":436,"taxonomyType":20,"taxonomyTypeDesc":21},[457,427,458,459,460,461,417,408,462,463,464,423,424,425,465,426,466,467,468,469],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","text","server","read",{"skillNo":471,"name":472,"nameZh":6,"description":473,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":474,"categories":475,"keywords":483,"publishedAt":34},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[476,479,482],{"categoryNo":477,"categoryName":478,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":480,"categoryName":481,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[484,485,486,487,28,488,489,415,443,490,491,492,424,448,493,469,494,495,496,497],"github actions pipeline builder","actions","github actions","pipeline builder","builder","pipeline","testing","ci","workflows","run","release","write","edit","git"]