mcpField
M
meta-audit

meta-audit

github.com/laurigatesAgent 工作流5961 次安装1 天前更新
代码仓库

关于 meta-audit

meta-audit 是用于只读审查 Claude Agent 定义和项目设置的 Skill,检查配置完整性、工具权限、安全边界、命名及模型分配。

主要功能

  1. 01验证 Agent frontmatter
  2. 02审查工具权限与特权边界
  3. 03检查命名和模型一致性
  4. 04检查 settings.local.json 限制
  5. 05生成发现项和行动建议

适用场景

  1. 01提交前审查 Agent 定义
  2. 02查找项目 Agent 的权限过宽问题
  3. 03检查多个 Agent 的配置一致性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill meta-audit

安装后在 Claude Code 中输入/meta-audit确认已加载。

详细介绍

meta-audit

何时使用此技能

在以下情况下使用此技能……在以下情况下改用 custom-agent-definitions……
审查现有的 .claude/agents/*.md 文件,检查是否缺少 frontmatter、工具权限过高或模型有误从头编写新的 Agent 定义文件
在提交前验证只读与可写 Agent 之间的权限边界配置单个 Agent 的 model、allowed-tools 或 context: fork
审计整个项目中的 Agent,检查命名和安全性是否一致复制或泛化其他项目的 Agent(使用 meta-assimilate)

上下文

  • Agent 定义:!find . -path '*/.claude/agents/*' -name "*.md" -not -name "settings*"
  • 设置文件:!find . -path '*/.claude/agents/*' -maxdepth 3 -name "settings.local.json" -type f

你的任务

1. 发现阶段
  • 使用 Glob 查找 .claude/agents/ 中的所有 Agent 定义文件
  • 阅读每个 Agent 文件,提取 frontmatter 和配置
  • 找出用于覆盖权限的 settings.local.json
2. Frontmatter 验证

对每个 Agent,确认是否包含必需字段:

  • ✅ name:Agent 标识符(必须与文件名一致)
  • ✅ model:别名(opus、fable、sonnet、haiku、inherit)或当前的完整 ID(例如 claude-fable-5-1);已被新一代取代的旧版带日期 ID(claude-opus-4-7、claude-sonnet-4-6)应作为问题指出——除非有意固定版本,否则建议使用别名
  • ℹ️ effort:可选值为 low…max(Agent 运行时会覆盖会话 effort;默认继承);若正文描述的是机械性工作,建议使用 low
  • ✅ color:用于 UI 的十六进制颜色代码(例如 "#E53E3E")
  • ✅ description:清晰的使用指引,并包含 "Use proactively when..."
  • ✅ tools:工具列表,或表示完全访问权限的 "All"

标记问题:

  • 缺少必需字段
  • name 与文件名不一致
  • 模型名称无效
  • 颜色代码格式错误
3. 工具分配分析

评估工具分配是否安全且恰当:

只读 Agent(不应具有写入权限):

  • research-documentation
  • code-analysis(只读)
  • code-review(读取 + 仅 LSP)
  • security-audit(读取 + LSP + 用于扫描的 Bash)

可写 Agent(可授予相应写入权限):

  • code-refactoring(Edit、MultiEdit)
  • documentation(Write、MultiEdit)
  • cicd-pipelines(Write、Edit、GitHub)

特殊权限(验证是否必要):

  • Bash 访问权限(security-audit、system-debugging、cicd-pipelines、test-architecture)
  • GitHub 访问权限(cicd-pipelines、commit-review)
  • Zen MCP 访问权限(仅限 system-debugging)
  • 所有工具访问权限(应少见,并验证其合理性)

LSP 工具分配(特定语言):

  • 验证 LSP 工具是否符合 Agent 的语言侧重
  • security-audit 应具有广泛的 LSP 覆盖范围(6+ 个服务器)
  • code-review 应支持多种语言的 LSP
  • code-analysis 应具有恰当的 LSP 访问权限
4. 安全评估

检查潜在的安全问题:

权限过高的 Agent:

  • 使用 "All" 工具但没有明确理由的 Agent
  • 具有写入或编辑能力的只读 Agent
  • 不必要的 Bash 或 GitHub 访问权限
  • 具有修改权限的研究 Agent

缺少限制:

  • settings.local.json 应包含针对破坏性操作的拒绝规则
  • 允许列表应尽可能精简且具体
  • 除非有合理理由,否则不得使用通配符工具访问权限

权限提升风险:

  • 能够修改其他 Agent 配置的 Agent
  • 同时具有读取和执行权限的 Agent
  • 跨 Agent 权限泄漏
5. 一致性检查

验证配置的一致性:

命名约定:

  • Agent 名称使用 kebab-case
  • 文件名与 Agent 名称一致
  • 描述遵循统一格式

模型分配:

  • 所有 Agent 均使用适当的 Claude 模型
  • 不引用已弃用的模型
  • 模型选择策略保持一致

工具分组:

  • 相似的 Agent 使用相似的工具集
  • 不重复或冗余分配工具
  • 职责划分清晰
6. 报告生成

创建全面的审计报告,包含:

执行摘要:

  • 审计的 Agent 总数
  • 发现的严重问题
  • 安全隐患
  • 整体健康评级

详细发现:

  • ❌ 严重:缺少必需字段、违反安全要求
  • ⚠️ 警告:Agent 权限过高、存在不一致
  • ℹ️ 信息:最佳实践建议、优化机会

逐个 Agent 分析: 针对每个 Agent,报告:

  • 配置完整性(每个必需字段标注 ✅/❌)
  • 工具分配是否恰当(✅/⚠️/❌)
  • 安全评估(安全/需审查/有风险)
  • 改进建议

待办事项:

  • 需要立即修复的问题(附文件路径和行号)
  • 可选改进
  • 配置验证通过/未通过
7. 输出格式

按以下结构组织报告:

# Claude Agent Configuration Audit

## Executive Summary

- **Total Agents**: X
- **Configuration Issues**: Y
- **Security Concerns**: Z
- **Health Rating**: [EXCELLENT|GOOD|NEEDS_WORK|CRITICAL]

## Critical Issues

[List any critical problems requiring immediate fix]

## Agent Analysis Table

| Agent      | Model | Tools    | Color | Status    | Notes  |
| ---------- | ----- | -------- | ----- | --------- | ------ |
| agent-name | ✅/❌ | ✅/⚠️/❌ | ✅/❌ | PASS/FAIL | Issues |

## Security Assessment

[Tool privilege analysis and security concerns]

## Recommendations

[Prioritized action items with file paths]

## Detailed Findings

[Per-agent breakdown with specific issues]
8. 最佳实践参考

工具访问原则:

  • 工具访问遵循最小权限原则
  • 明确区分只读 Agent 和可写入 Agent
  • 为特定语言的工作提供适当的 LSP 工具覆盖
  • 尽量减少 Bash 访问(仅在必需时使用)
  • 限制 GitHub 访问(仅用于 git-ops 和 CI/CD)

配置标准:

  • 包含所有必需的 frontmatter 字段
  • 各 Agent 的模型选择保持一致
  • 根据 Agent 职责配置适当的工具权限
  • 描述清晰,并提供主动的使用指导
9. 可选:详细模式

如果提供 --verbose 标志:

  • 显示每个 Agent 的完整 frontmatter
  • 显示完整的工具列表
  • 包含 settings.local.json 的内容
  • 为每个问题提供详细的修复命令

说明

  • 这是一次只读审计——修改需要用户明确请求
  • 重点关注配置正确性和安全影响
  • 提供可执行的建议,并注明具体文件位置
  • 检查多个 Agent 时,将逐个 Agent 状态表(§7)作为持续记录;在 Opus 4.8+/Sonnet 5/Fable 中,除非选择启用,否则无法使用任务/待办工具(TodoWrite、TaskCreate…)——参见 .claude/rules/agentic-permissions.md §“任务工具可用性”

评论

支持 Markdown