com um clique
harness-validate-output
输出校验技能,对照架构规则校验AI输出,确保符合分层架构、命名规范、文件结构约定
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
输出校验技能,对照架构规则校验AI输出,确保符合分层架构、命名规范、文件结构约定
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
EnjoyHarness 唯一强制入口,初始化全局状态、文件体系、技能注册表
配置文件读取和验证技能,确保用户配置正确且完整
全流程自动执行超级组合技能,编排所有16个基础技能,从用户需求到完整交付的全自动化流程
头脑风暴技能,在实现前探索用户意图、需求和设计,防止返工
实施计划执行技能,逐任务执行实施计划,支持检查点、错误恢复和进度跟踪
10倍产能提效超级组合技能,通过并行执行、智能调度、优化策略实现10倍开发效率提升
| name | harness-validate-output |
| description | 输出校验技能,对照架构规则校验AI输出,确保符合分层架构、命名规范、文件结构约定 |
| trigger_words | ["harness-validate-output","校验输出","validate","架构校验"] |
| priority | HIGH |
| dependencies | ["harness-enforce-architecture-guardrails"] |
| version | v3.0.0 |
使用 Read 工具读取:.EnjoyHarness/SKILL_REGISTRY.md
检查条件:
如果未完成:
❌ 错误: 架构护栏未执行
💡 请先运行: harness-enforce-architecture-guardrails
使用 Read 工具读取:.EnjoyHarness/ARCHITECTURE_GUARDRAILS.md
提取关键规则:
使用 Bash 工具查询:
# 获取最近修改的文件(最近5分钟内)
RECENT_FILES=$(find . -type f \( -name "*.go" -o -name "*.ts" -o -name "*.tsx" -o -name "*.py" \) -mmin -5 | grep -v ".git" | grep -v "node_modules")
echo "待校验文件列表:"
echo "$RECENT_FILES"
对每个待校验文件执行:
# 提取文件路径
FILE_PATH="{文件路径}"
# 判断文件所属层级
LAYER=$(echo "$FILE_PATH" | cut -d'/' -f2)
echo "文件: $FILE_PATH"
echo "层级: $LAYER"
使用 Grep 工具检查导入:
检查是否有违规跨层导入,确保符合架构规则。
FILE_NAME=$(basename "$FILE_PATH")
# Go文件: snake_case
if [[ "$FILE_NAME" =~ \.go$ ]]; then
if [[ ! "$FILE_NAME" =~ ^[a-z][a-z0-9_]*\.go$ ]]; then
echo "❌ Go文件命名违规: $FILE_NAME (应为 snake_case)"
fi
fi
使用 Grep 工具提取函数定义并检查命名规范。
使用 Bash 工具检查:
# 检查是否存在禁止的文件结构
FORBIDDEN_PATTERNS=("src/src/" "test/test/" "internal/internal/")
for pattern in "${FORBIDDEN_PATTERNS[@]}"; do
if find . -type d -path "*$pattern" | grep -q .; then
echo "❌ 禁止的文件结构: $pattern"
fi
done
使用 Write 工具创建文件:.EnjoyHarness/VALIDATION_REPORT.md
内容包括:
使用 Edit 工具追加内容到:.EnjoyHarness/EVENT_LOG.md
{当前时间} | OUTPUT_VALIDATION | harness-validate-output | 校验输出文件: {文件数量}个 | {SUCCESS/FAILURE}
使用 Edit 工具更新:.EnjoyHarness/GLOBAL_STATE.md
last_validation: {当前时间}
validation_status: {PASSED/FAILED}
validation_passed: {通过数量}
validation_failed: {失败数量}
使用 Edit 工具更新:.EnjoyHarness/EVENT_LOG.md
old_string: total_events: N
new_string: total_events: N+1
使用 Edit 工具更新:.EnjoyHarness/SKILL_REGISTRY.md
old_string: - [ ] harness-validate-output - 输出校验技能
new_string: - [x] harness-validate-output - 输出校验技能 ✅
使用 Bash 工具输出:
echo ""
echo "✅ harness-validate-output 完成!"
echo ""
echo "📋 校验结果:"
echo " - 校验文件数: {文件数量}"
echo " - 通过文件数: {通过数量}"
echo " - 失败文件数: {失败数量}"
echo ""
echo "🎯 下一步:"
if [ {失败数量} -gt 0 ]; then
echo " - 修复失败文件或触发 harness-handle-failure"
else
echo " - 继续执行后续技能"
fi
echo ""
本技能执行预计迭代次数: 约 10 次(Read 2次 + Write 1次 + Edit 3次 + Bash 4次)
输入: 在架构护栏未执行时运行 期望输出: 错误提示"架构护栏未执行" 验证方式: 删除 ARCHITECTURE_GUARDRAILS.md 后运行
输入: Service层文件导入UI层 期望输出: 违规导入警告 验证方式: 创建测试文件,在service层导入ui层
输入: Go文件使用kebab-case命名
期望输出: 文件命名违规警告
验证方式: 创建文件 my-test-file.go
输入: 嵌套的src目录结构
期望输出: 禁止的文件结构警告
验证方式: 创建目录 src/src/
输入: 执行校验
期望输出: 生成 VALIDATION_REPORT.md
验证方式: ls .EnjoyHarness/VALIDATION_REPORT.md
输入: 读取 GLOBAL_STATE.md
期望输出: validation_status 为 PASSED 或 FAILED
验证方式: grep "validation_status" .EnjoyHarness/GLOBAL_STATE.md
输入: 读取 EVENT_LOG.md
期望输出: 包含 OUTPUT_VALIDATION 事件
验证方式: grep "OUTPUT_VALIDATION" .EnjoyHarness/EVENT_LOG.md
输入: 所有文件符合规范 期望输出: 输出"所有文件校验通过" 验证方式: 确保所有文件符合架构规则
校验文件: 5个
- types/user.go → ✅ 层级: Types, 命名: snake_case
- config/settings.go → ✅ 层级: Config, 命名: snake_case
- repo/user_repo.go → ✅ 层级: Repo, 命名: snake_case
- service/user_service.go → ✅ 层级: Service, 命名: snake_case
- runtime/server.go → ✅ 层级: Runtime, 命名: snake_case
结果: 所有文件校验通过
输出: "✅ 所有文件校验通过"
校验文件: 2个
- service/auth_service.go → ❌ 导入 UI层 (login_form)
允许的导入: Types, Config, Repo
实际导入: UI (违规)
- ui/login_form.go → ✅ 正常
结果: 1个文件校验失败
输出: "❌ 校验失败"
建议: 修复service层导入UI层的问题