Install
$ agentstack add skill-modu-ai-moai-adk-harness-moaiadk-patterns ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
moai-adk-go Domain Patterns
Architecture Quick Reference
moai-adk-go is a Go binary (moai) with four subsystems:
- CLI (
internal/cli/*.go,cmd/moai/) — Cobra commands:init,
update, hook, build, glm, cc, cg, version, doctor, spec. Subcommand handlers read stdin JSON for hooks, emit structured output for the orchestrator.
- Template system (
internal/template/) —go:embed-based scaffolding.
Source at internal/template/templates/, generated artifact at internal/template/embedded.go (DO NOT EDIT). make build regenerates. TemplateContext ({{.GoBinPath}} / {{.HomeDir}}) renders at moai init.
- Config (
internal/config/) —defaults.go(single source for
thresholds), envkeys.go (env-var constants), TemplateContext renderer.
- Hook + CI (
.claude/hooks/moai/*.sh,.github/workflows/) — bash
wrapper hooks calling moai hook ; CI guard enforces template neutrality.
Plus the SPEC lifecycle (.moai/specs/) governing the project's own development (plan→run→sync→Mx).
Key Source Paths
| Subsystem | Path | Notes | |-----------|------|-------| | Cobra commands | internal/cli/*.go | wired from cmd/moai/ | | Template source | internal/template/templates/** | edit HERE first | | Embedded assets | internal/template/embedded.go | generated, DO NOT EDIT | | Config defaults | internal/config/defaults.go | threshold SSOT | | Env constants | internal/config/envkeys.go | no hardcoded env names | | SPEC docs | .moai/specs/SPEC-*/ | spec/plan/acceptance/progress | | Era classifier | internal/spec/era.go | ClassifyEra() H-1..H-6 | | Hook scripts | .claude/hooks/moai/*.sh | bash only, no Python | | CI workflows | .github/workflows/*.yaml | neutrality guard active | | Harness agents | .claude/agents/harness/*.md | USER-OWNED (this skill) |
Pipeline Specialist Delegation Map
This harness is a 4-stage pipeline; each specialist delegates to retained agents (never archived, never replaces them):
CLI/Template ──→ quality ──→ workflow ──→ hook/CI
│ │ │ │
├─ manager-develop (tdd, backend)
├─ Explore (read-only)
├─ sync-auditor (4-dim scoring)
├─ sync-phase-quality-gate.sh (Stop hook)
├─ manager-spec (plan)
├─ manager-develop (run)
├─ manager-docs (sync)
├─ plan-auditor (audit)
├─ builder-harness (artifact_type=hook|command|plugin)
└─ Agent(general-purpose, model: opus, tools: ..., prompt: "...CI specialist...")
Template-First Build Cycle
When adding/editing anything that ships to user projects:
- Edit
internal/template/templates/FIRST. - Run
make build→ regeneratesinternal/template/embedded.go. - Sync to local:
moai update(or manual copy). - Verify the local
.claude//.moai/reflects the template. - Run
go test ./internal/template/...(neutrality audit included).
Never edit .claude/ or .moai/ directly without a template source. Never hand-edit embedded.go.
Namespace Separation Contract
Two namespaces, enforced by moai update:
| Namespace | Location | Owner | moai update behavior | |-----------|----------|-------|------------------------| | Template-managed | internal/template/templates/** → .claude/agents/{core,expert,meta}/, moai-* skills | MoAI-ADK distribution | Overwrites local on sync | | User-owned (this harness) | .claude/agents/harness/, harness-* skills, .moai/harness/ | Project developer | NEVER deleted/modified; backup before update |
The canonical user-owned skill prefix is harness-* (recognized by Go enforcement after the namespace catch-up, SPEC-V3R6-HARNESS-NAMESPACE-V2-001). The legacy my-harness-* form is retained during a backward-compat deprecation window; new skills MUST use the bare harness-* prefix.
Common Workflows
Add a template
- Create file at
internal/template/templates/. make build.moai update(or test via./moai init /tmp/test-project).go test ./internal/template/... -run TestTemplateNeutralityAudit.
Add a hook
- Write
.claude/hooks/moai/handle-.sh(bash, reads stdin JSON, calls
moai hook ).
- Wire in
.claude/settings.jsonwith"$CLAUDE_PROJECT_DIR/..."quoting +
timeout: 5.
- If the hook is template-distributable, add the wrapper template source AND
the settings.json entry to internal/template/templates/.
Add an agent (harness specialist)
- Create
.claude/agents/harness/-specialist.mdwithname,
trigger-shaped description, skills: array (companion skill), tools: (CSV string).
- Ensure the companion
harness-*skill exists (else self-activation
smoke gate FAILs).
Add a SPEC
/moai plan ""→manager-specauthors plan-phase artifacts.plan-auditorindependent audit gate.- Implementation Kickoff Approval human gate (orchestrator runs
AskUserQuestion).
/moai run SPEC-→manager-develop(cycle_type per quality.yaml)./moai sync SPEC-→manager-docs.sync-auditor4-dimension gate.- 3-phase close on the single sync commit (populate
sync_commit_shain §E.4; the sync commit carries theimplemented → completedtransition — per SPEC-V3R6-LIFECYCLE-REDESIGN-001, the former separatemx_commit_sha/ §E.5 Mx-phase step is retired; MX Tag validation is a sync sub-step).
Cross-References
- CLAUDE.local.md §2 (Template-First Rule), §7 (hooks), §21 (dev-only commands)
.claude/rules/moai/development/agent-authoring.md— agent frontmatter schema.claude/rules/moai/development/skill-authoring.md— skill frontmatter schema.claude/rules/moai/workflow/archived-agent-rejection.md§C — migration table.claude/skills/moai-meta-harness/SKILL.md§ Namespace Separation
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: modu-ai
- Source: modu-ai/moai-adk
- License: Apache-2.0
- Homepage: https://adk.mo.ai.kr
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.