本技能是 moai-adk-go 的最佳实践参考,供 4 个 harness 专家使用:cli-template-specialist、quality-specialist、workflow-specialist、hook-ci-specialist。
用途与主要能力:定义变更完成前必须通过的 TRUST 5 质量门禁——Tested(go test ./... 含覆盖率,未过则阻止合并并补测试)、Readable(golangci-lint run,警告并建议重构)、Unified(go fmt + goimports,自动格式化或警告)、Secured(对齐 OWASP 的审查,按 spawn 使用 opus 智能体,未过则阻止并要求审查)、Trackable(Conventional Commits 正则,建议格式)。覆盖率目标:包最低 85%,关键包(internal/cli、internal/template、internal/hook)90% 以上。
测试隔离:临时目录一律用 t.TempDir(),自动清理且位于 os.TempDir() 下。注意 macOS 路径陷阱:t.TempDir() 返回 /var/folders/...,filepath.Join(cwd, absPath) 不会去掉前导斜杠,CLI 命令解析用户路径时应使用 filepath.Abs()。并行测试中不得设置 OTEL 环境变量(t.Setenv("OTEL_EXPORTER_*", ...)),应改用假/空操作 exporter 或让父测试非并行;GLM 集成测试中不得 t.Setenv("HOME", tmpDir)。修复测试后运行完整套件 go test ./...,调试不稳定测试用 -count=1,并发安全检查用 -race。
防硬编码:URL、模型名、组织名、API 头提取为常量;环境变量名定义在 internal/config/envkeys.go;阈值统一放在 internal/config/defaults.go;跨平台路径优先用 $HOME、HOMEBREW_PREFIX 等,.sh.tmpl 回退路径用 $HOME 而非 .HomeDir。仅允许在 CLAUDE.local.md、settings.local.json 及 t.TempDir() 内的 _test.go 中硬编码。
AskUserQuestion 边界:它是唯一面向用户的提问通道,仅限 MoAI 编排器(主会话)使用;子智能体(含这些 harness 专家)不得调用,需要用户输入时向编排器返回结构化阻塞报告。AskUserQuestion、TaskCreate、TaskUpdate、TaskList、TaskGet 为延迟工具,编排器首次使用前须调用 ToolSearch(query: "select:AskUserQuestion,TaskCreate,...")。禁止在响应文本中写自由形式问题。
归档智能体拒绝契约:12 个智能体已归档,不得在生成的 harness 文件中以任何形式引用;完整名单见 .claude/rules/moai/workflow/archived-agent-rejection.md §B。仅 8 个保留智能体可作为委派目标:manager-spec、manager-develop、manager-docs、manager-git、plan-auditor、sync-auditor、builder-harness、Explore。原领域专家能力改用按 spawn 模式:Agent(subagent_type: "general-purpose", model: "opus", tools: "<whitelist>", prompt: "...")。
验证声明完整性:不得作未观察的声明,"测试通过""覆盖率 87%""lint 干净"仅在执行命令并观察到输出时有效;不得仅凭 frontmatter 或 grep 推断缺陷;每条声明须注明所运行命令与逐字输出,并对照本次运行的代码树;报告采用 5 段格式:Claim / Evidence / Baseline-attribution / Gaps / Residual-risk。
限制:资料未提供安装命令、收费与平台信息。