Agent skill

Moai Ref Cross Model Audit

by modu-ai in modu-ai/moai-adk

Cross-model audit convergence reference for the plan-auditor and sync-auditor agents.

Apache-2.0Auto-check passedDevelopment

Install Moai Ref Cross Model Audit

skills CLI
$ npx skills add modu-ai/moai-adk --skill moai-ref-cross-model-audit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install modu-ai/moai-adk moai-ref-cross-model-audit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/modu-ai/moai-adk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/moai-ref-cross-model-audit .claude/skills/moai-ref-cross-model-audit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
moai-ref-cross-model-audit
GitHub stars
1.2k
Token cost
~4.8k tokens
SKILL.md length
2,288 words
Files
1
Skills in repo
48
Repo updated
First seen
Licence
Apache-2.0

At a glance

Cross-model audit convergence reference for the plan-auditor and sync-auditor agents.

  • Works in 3 steps: Write the digest of the result just… → Run moai verify audit-plan… → Read convergence_check: ok: false is an…
  • Tasks that involve MCP servers
  • SKILL.md covers When to use convergence vs…, The audit_multi MCP tool, Independence rule (load-bearing) and Convergence policy (how…, plus 4 more sections
  • Calls git

What it does

Moai Ref Cross Model Audit is an agent skill from modu-ai/moai-adk. Cross-model audit convergence reference for the plan-auditor and sync-auditor agents. Documents how to invoke the auditmulti MCP tool to fan a code review out across the Claude subscription, codex, and GLM (z.ai) backends, converge their independent verdicts, and fold the resulting per-backend verdicts + disagreement flag into the audit output. The single skill both audit entry points load — no duplication.

Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering MCP servers. It works with Zhipu GLM. The repository describes itself as: Agentic development harness for Claude Code — SPEC-driven plan/run/sync, TRUST 5 quality gates, model+effort routing, and Claude×GLM multi-LLM cost control. Single Go binary, 16… The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve MCP servers

Example prompts

  • “/moai-ref-cross-model-audit”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Write the digest of the result just obtained to
  2. Run moai verify audit-plan --project-root --result-file
  3. Read convergence_check: ok: false is an unmet gate named by backend, no PASS,

What it can do on your machine

Read from SKILL.md and the folder at commit 2aab5f7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Moai Ref Cross Model Audit loads about 4.8k tokens when it runs. Until then it costs about 110 tokens; SKILL.md has 2,288 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from modu-ai/moai-adk at commit 2aab5f7, republished under its Apache-2.0 licence (© modu-ai). 2,288 words, ~4,783 tokens.

Download SKILL.mdSave it as .claude/skills/moai-ref-cross-model-audit/SKILL.md (or your agent's skills folder).
name
moai-ref-cross-model-audit
description
Cross-model audit convergence reference for the plan-auditor and sync-auditor agents. Documents how to invoke the `audit_multi` MCP tool to fan a code review out across the Claude subscription, codex, and GLM (z.ai) backends, converge their independent verdicts, and fold the resulting per-backend verdicts + disagreement flag into the audit output. The single skill both audit entry points load — no duplication.
when_to_use
Use when the audit plan (`moai verify audit-plan`) reports a cross-model backend AND the auditor needs a cross-backend second opinion before reaching a…
user-invocable
false
metadata.version
1.1.0
metadata.category
domain
metadata.status
active

Cross-Model Audit Convergence

This skill is the single load-point both plan-auditor and sync-auditor use when the audit plan reports a cross-model backend. It documents the one MCP tool the auditor calls, the independence rule that tool enforces, how to check the result against the plan, and how to fold the returned convergence result into the auditor's verdict.

When to use convergence vs single-model

The auditor does not choose a backend by interpreting the audit_model value. It runs moai verify audit-plan --project-root <own toplevel> first (the full flow is in each agent's MCP Audit Tools section; pass the toplevel yourself, because CLAUDE_PROJECT_DIR names the primary checkout in a worktree session) and follows the plan:

Outcome of the verbPathThis skill
config_status ok or absent, cross_model_active: false (the distributed default, an explicit claude token)Claude main: in-session review; GPT/GLM main: claude_auditfor external-main sessions
cross_model_active: trueaudit_multi without a gates argument: the plan's backends, convergedthis skill
The output is the verify group's help text (it contains Shared diagnostic snapshot contract and neither config_status nor an audit-plan: line)The legacy path below, with "plan surface unreachable, legacy path used" named as a Gaponly as the legacy path says
config_status: unreadable, an audit-plan: error, or any other failure to run the verb (refused, crashed, timed out, malformed output)Not the legacy path: a PASS-blocking Gap; a configured required backend that does not answer stays fail-closedno PASS on this audit

Legacy path (a binary that predates the verb). Behave as before the plan verb existed: read the project's audit_model from workflow.yaml — multi converges Claude, codex and GLM via audit_multi, claude keeps the single-model path, glm and codex call that one backend directly. Wherever audit_multi is called, pass it without a gates argument, and call it whenever the tree's workflow.yaml sets an audit model other than claude or any audit.gates key, so a plan-aware server applies the configured plan.

Single-model paths do NOT load this skill. Convergence is only the cross-model concern.

The audit_multi MCP tool

The single tool surface is:

mcp__moai__audit_multi

It is exposed by the moai mcp-server stdio server (the self-hosted MCP server shipped with the binary). The tool is a thin wrapper over the convergence engine: it does NOT re-implement the codex or GLM backends — it fans out by calling the existing single-backend handlers in parallel and synthesizes their results.

Input parameters
ParameterTypeRequiredNotes
claude_verdictobjectconditionalClaude main sessions pass their in-session verdict. GPT/GLM/unknown-origin sessions may omit it; audit_multi ignores any supplied value and performs a fresh Claude subscription audit.
targetstringnoWhat the secondary backends review (uncommittedChanges, baseBranch). The string reaches both backends unchanged; for codex, baseBranch's branch name is then resolved server-side from the reviewed tree (remote default head, then main) — it cannot be supplied here.
focusstringnoOptional focus area forwarded to the secondary backends (e.g. concurrency, auth).
gatesobjectnoPer-auditor gate map (claude/codex/glm ∈ off/advisory/required). Auditors do not pass it: omitted, the tree's own plan applies (the configured audit model and gates); with no configuration the distributed defaults apply — claude required, codex required, glm advisory — and an unconfigured gate stays fail-open.
session_idstringnoWhen set, the result is persisted to .moai/state/audit-multi/<session>.json so the multi-review-gate Stop hook reads the most recent result rather than re-invoking convergence.
project_rootstringno (REQUIRED in a worktree)The tree the backends should read — this session's own git rev-parse --show-toplevel. Omitted from a worktree, the fan-out reads the PRIMARY checkout instead, so the backends review a diff that is not the one under audit and nothing in the result says so. Omit it only in the primary checkout. An unusable path is rejected with an error naming it, never silently replaced.
<!-- moai:closure-second-review:start -->

Contract-mode second review (card-bound). When the reviewed card runs under a contract-based autonomy workflow, invoke the tool with the card argument so this fan-out is recorded as the card's second review:

  • pass card_id set to the card identifier from the reviewed card's contract;
  • keep target: "baseBranch" — the review must cover the reviewed scope, never uncommitted changes;
  • run the review AFTER the last commit that changes the card's governed paths (the contract's ownership write globs, excluding the SPEC's own directory), so the recorded scope is current for the commit that will be judged; a review recorded before that commit is stale for the closure push.

The tool appends one second-review record into the card evidence directory. Without card_id no record is written and the tool behaves byte-identically to the pre-argument surface.

<!-- moai:closure-second-review:end -->
Output shape

The tool returns a ConvergenceResult:

json
{
  "per_backend_verdicts": [
    {"backend": "claude", "source": "mcp_claude_audit", "gate": "required", "verdict": "pass", "summary": "...", "findings": [], "next_steps": [], "provenance": {"transport": "claude-code-cli", "auth_mode": "subscription", "requested_model": "sonnet", "resolved_model": "claude-sonnet-...", "requested_effort": "high", "session_persisted": false}},
    {"backend": "codex",  "gate": "required", "verdict": "fail", "summary": "...", "findings": [...], "next_steps": []},
    {"backend": "glm",    "gate": "advisory", "verdict": "pass", "summary": "...", "findings": [], "next_steps": []}
  ],
  "overall_verdict": "fail",
  "disagreement_flag": true,
  "participant_count": 3,
  "residual_risk_note": "required-backend FAIL: codex; cross-model disagreement: pass=[claude(required), glm(advisory)] fail=[codex(required)]",
  "fail_open_backends": []
}
  • overall_verdict ∈ {pass, fail} — the existing review-output values. No new enum (disagreement is a flag, not a verdict value).
  • next_steps is populated ONLY where the backend itself produced it. A backend that returns a structured review carries its model's own list; a backend that answers in prose carries none, so its entry shows [] even on a fail with findings. An empty next_steps beside a non-empty findings is therefore the expected shape, not a truncated result — do not read the finding text as steps.
  • participant_count is how many backends contributed a comparable verdict: every entry whose gate is not off and whose verdict is pass or fail. inconclusive entries (missing, unauthenticated, erroring) are evidence-of-absence, not participants, and do not count. The field is always present, 0 included — it reports the count; no minimum-participant policy acts on it.
  • disagreement_flag is three-valued. true = a divergence was observed: a required split, an advisory-only conflict, or a single participant's intra-backend synthesis divergence (directly observed divergences are never discarded, even below 2 participants). false = 2+ participants were compared and none diverged. null = undetermined: fewer than 2 participants were compared and no divergence was observed, so neither "they agreed" nor "they disagreed" is a grounded claim. The null is explicit — the member is always present in the JSON, never an absent key.
  • residual_risk_note describes the convergence outcome in prose (which backend(s) failed, or the shape of the split). Surface this in the audit report's residual-risk section.
  • fail_open_backends lists the backends that returned inconclusive (missing, unauthenticated, or erroring) — surfaced so the report can name them.
  • plan_source is config when any backend's gate came from the tree's configuration, and absent otherwise. A result without it from a tree whose plan has configured gates comes from a server that predates the plan: the check below reports an unmet gate.
  • source distinguishes an in-session Claude anchor from a real mcp_claude_audit call. provenance identifies transport, subscription auth, requested/resolved model, effort, tool surface, persistence, usage source, and sanitized error code. Token counts are null when the CLI does not report them; they are never guessed.
How to invoke

In a Claude main session, call the tool with the in-session analysis folded into the claude_verdict object. Do NOT pass the full analysis text as prompt context for the other backends — see the Independence rule below.

result = mcp__moai__audit_multi({
  claude_verdict: { verdict: <your verdict>, summary: <one-line>, findings: [...], next_steps: [...] },
  target: "uncommittedChanges",
  focus: "concurrency",
  project_root: <git rev-parse --show-toplevel>,
  session_id: <current session id>
})

In a GPT or GLM main session, omit claude_verdict (or treat it as ignored):

result = mcp__moai__audit_multi({
  target: "uncommittedChanges",
  focus: "concurrency",
  project_root: <git rev-parse --show-toplevel>,
  session_id: <current session id>
})

The launch provider decides the path; prompt text cannot impersonate a Claude main session. Direct single-backend use is mcp__moai__claude_audit with the same target/focus/project-root scope and optional model/effort override.

The orchestrator-side question channel is preserved: the tool returns a structured result, never prompts the user. When a required backend is inconclusive, surface the structured overall_verdict: fail plus residual_risk_note in the audit report and let the orchestrator translate.

Independence rule (load-bearing)

Pass only the synthesized claude_verdict object to the MCP tool — NEVER the full Claude analysis text as prompt context for the secondary backends.

The external backends (Claude subscription, codex, GLM) are SUPER-REVIEWS: uncorrelated second opinions. Their value collapses to a re-sample of another model's reasoning the moment they see Claude's analysis. The convergence engine enforces this structurally — the claude_verdict is consumed ONLY as a Claude-main anchor. For GPT/GLM origins it is ignored, and the backends receive (target, focus, project_root) — a scope, an area name, and a directory, carrying no analysis between them. The auditor must not undermine the invariant by pasting another backend's reasoning into the focus field either.

Concretely:

  • focus carries a short AREA name (concurrency, auth, secret handling), not a paragraph of analysis.
  • claude_verdict.summary is a one-line verdict rationale, not the full review.
  • The findings you surface in the audit report come from per_backend_verdicts[].findings (each backend's own findings), NOT from echoing Claude's findings back.
Show full SKILL.md (921 more words)Show less

Convergence policy (how overall_verdict is derived)

The engine derives overall_verdict per a 4-case table:

CaseConditionoverall_verdictdisagreement_flag
1All required backends PASSpassfalse
2Any required FAIL (no required PASS to split against)failfalse
3Required split (≥1 required PASS + ≥1 required FAIL)fail (conservative)true
4Advisory-only conflict (all required PASS, ≥1 advisory FAIL)passtrue

Two invariants follow:

  • Disagreement is advisory, NOT a block. A disagreement_flag: true result is surfaced as residual-risk + advisory in the audit report; it never hard-blocks the flow on its own. The required-gate contract holds per backend, so the only block-shaped outcome is a required FAIL (cases 2/3 → overall_verdict: fail).
  • Advisory backends never flip overall to fail. Case 4 records the advisory conflict but keeps overall_verdict: pass. This is the fixed user-policy term: an advisory FAIL is reported, not enforced.
  • An explicitly configured required gate left unmet fails overall. A gate the project sets to required in workflow.audit.gates must actually hold: when that backend returns inconclusive (missing binary, auth failure, error), the engine fails overall_verdict and names the unmet backend in residual_risk_note. A gate the project never configured keeps the fail-open behavior — the distributed default is NOT an opt-in. In both cases the backend's own per_backend_verdicts entry stays inconclusive and its fail_open_backends listing stays, so the audit trail keeps saying the backend never ran.
  • Below 2 participants the flag is null, not false — unless a divergence was observed. The case table presumes a comparable field of 2+; when participant_count is 0 or 1 (for example the only required backend to produce a verdict is claude), "no disagreement detected" is not a grounded claim and the flag reports null. The carve-out: an intra-backend synthesis divergence observed by even a single participant keeps the flag true — observed information is never discarded.

Fail-open identity

Claude subscription, Codex, and GLM audit transports are fail-open. A missing, unauthenticated, erroring, or malformed backend yields verdict: inconclusive in its per_backend_verdicts slot and convergence continues over the remaining active backends. The autonomous flow is NEVER hard-blocked on a missing optional dependency — evidence-of-absence ≠ evidence-of-failure.

In a Claude main session, when all external backends are inconclusive, the overall verdict can fall back to the in-session Claude anchor — EXCEPT for a gate the project explicitly configured required in workflow.audit.gates: that gate left unmet fails overall_verdict instead (see the convergence policy above).

Checking the result against the plan

After an audit_multi call on a tree whose plan lists enforced_required backends, the result is checked before a verdict is reached:

  1. Write the digest of the result just obtained to <toplevel>/.moai/state/audit-plan-result.json with a Write tool — fresh, immediately before the check: overwrite any earlier file at that name and never reuse a file from an earlier audit. The digest holds overall_verdict, gate_unmet, plan_source and, per per_backend_verdicts entry, backend, gate and verdict — digest members only, never summary or finding text.
  2. Run moai verify audit-plan --project-root <toplevel> --result-file <that path> and pass only the path — never the JSON on the command line (the worktree guard refuses braces and quotes).
  3. Read convergence_check: ok: false is an unmet gate named by backend, no PASS, reported as an unmet gate and not as a reviewed defect.

plan-auditor carries Write and does steps 1-3 itself. In the sync phase the orchestrator does them: a cold sync-auditor is read-only, so it returns the digest members in its report, says its verdict is not final until the orchestrator's check passes, and the orchestrator writes the file and runs the check.

Folding the result into the audit verdict

The auditor's verdict and the convergence result relate as follows:

overall_verdictdisagreement_flagAuditor action
passfalseStandard PASS. No residual-risk row needed.
passnullStandard PASS. The flag is undetermined (participant_count below 2, no observed divergence) — not an agreement claim. No residual-risk row needed.
passtruePASS with a residual-risk row naming the advisory disagreement.
fail(any)FAIL. Name the failing required backend(s) from per_backend_verdicts. The block is conservative (cases 2/3).

In all cases, surface residual_risk_note verbatim in the audit report's residual-risk section so a human reader sees which backend disagreed with which.

Cross-references

  • mcp__moai__claude_audit, mcp__moai__codex_audit, mcp__moai__glm_audit — the single-backend tools. The convergence engine calls the same backends through its own fan-out and does NOT route through these handlers, so a behavior read from one surface must be confirmed on the other rather than assumed shared.

  • workflow.audit.gates.* — the per-auditor gate map (off/advisory/required). An explicit required is enforced on BOTH surfaces: on the convergence result an unmet required gate (its backend inconclusive) fails overall_verdict, and the single-backend codex_audit tool likewise returns verdict: fail with a non-empty gate_unmet and isError: false when an explicitly required codex gate is left without a verdict. Absent keys fall back to the distributed defaults WITHOUT that enforcement — write the key to opt in.

  • Audit receipts. Where the codex gate is explicitly required, the server records a receipt for every codex audit it performs and returns its id on the result as audit_receipt. Cite the ids you received in the verdict line that ends your report:

    AUDIT-VERDICT: <PASS|PASS-WITH-DEBT|FAIL> spec=<SPEC-ID> receipts=<receipt-id>[,<receipt-id>...]

    The line is the LAST non-empty line of the final message; receipts=none says no receipt was issued. A PASS the receipt store cannot corroborate is refused at subagent stop, and the phase-entry spawns stay denied until a PASS citing a valid receipt is recorded. The check reads the store, never the report text — quoting an id the store does not carry proves nothing.

  • workflow.multi.review_gate.enabled — opt-in toggle for the multi-review-gate Stop hook (the Path C fully-autonomous gate). Default OFF; opt in via local config.

© modu-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/moai-ref-cross-model-audit of modu-ai/moai-adk.

Open the folder on GitHubat commit 2aab5f7

Compare with similar skills

Moai Ref Cross Model Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Moai Ref Cross Model Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Moai Ref Cross Model Audit this skillmodu-ai/moai-adk1.2k—~4.8kAutomated safety check: PassApache-2.0
Z.AI CLInumman-ali/zai-cli110—~528Automated safety check: PassMIT
Auto Review Loop LLMAI4Scientist/nano-scientist1283 repos~1.8kAutomated safety check: WarnNone
Analyze Logsactivepieces/activepieces25k1 repos~1.6kAutomated safety check: PassMIT
ReleasePrefectHQ/fastmcp28k—~2.9kAutomated safety check: PassApache-2.0
WebMCP Tool Generatorvercel-labs/agent-browser44k1 repos~752Automated safety check: PassApache-2.0

Similar skills

  • Z.AI CLI

    numman-ali/zai-cli

    Command-line access to Z.AI vision analysis, web search, page reading and GitHub repo exploration through npx zai-cli, using an API key.

    110 GitHub stars~528 tokensUpdated 9 mo ago
    Productivity & AutomationAuto-check passed
  • Auto Review Loop LLM

    AI4Scientist/nano-scientist

    Autonomous research review loop using any OpenAI-compatible LLM API.

    128 GitHub starsUsed in 3 repos~1.8k tokens
    Agent WorkflowsAuto-check: warnings
  • Analyze Logs

    activepieces/activepieces

    Analyze application logs from the .evlog/logs/ directory. An agent skill from activepieces/activepieces.

    25k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Release

    PrefectHQ/fastmcp

    Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed
  • WebMCP Tool Generator

    vercel-labs/agent-browser

    Official

    Builds and validates experimental WebMCP tools that expose a web page's real workflows to agents, with a manifest, init script and evals compared against accessibility-tree automation.

    44k GitHub starsUsed in 1 repo~752 tokens
    DevelopmentAuto-check passed
  • Review PR

    PrefectHQ/fastmcp

    Assess a FastMCP pull request for justified behavior, compatibility, and correctness, then follow CI and review feedback to a revision-specific verdict.

    28k GitHub stars~3.1k tokensUpdated today
    DevelopmentAuto-check passed

More from modu-ai/moai-adk

All 48 skills in this repo
  • Builds hand-editable SVG diagrams from computed layout coordinates, lints the source and renders a 2x PNG, with rules for when mermaid is the better choice.

    1.2k GitHub stars~5.2k tokensUpdated today
    Auto-check: notes
  • MoAI Foundation Core

    modu-ai/moai-adk

    Reference for MoAI-ADK's core development principles: TRUST 5 quality gates, SPEC-first domain-driven workflow, agent delegation and token budgeting.

    1.2k GitHub stars~5k tokensUpdated today
    Auto-check passed
  • MoAI SPEC Workflow

    modu-ai/moai-adk

    Manages SPEC documents for MoAI-ADK development, with GEARS or EARS requirement notation, acceptance criteria and a link into the Plan-Run-Sync workflow.

    1.2k GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • MoAI TDD Workflow

    modu-ai/moai-adk

    Drives test-first development through the RED, GREEN, REFACTOR cycle, with a config switch that selects between TDD and a DDD workflow for existing code.

    1.2k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • MoAI Worktree Management

    modu-ai/moai-adk

    Gives each SPEC its own Git worktree with a registry of active workspaces, base-branch sync and cleanup of merged ones, inside the MoAI-ADK workflow.

    1.2k GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Watches a pull request's CI checks after creation, separates required from auxiliary failures, applies limited safe fixes and escalates anything semantic to you.

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check: notes

Works with

Questions about Moai Ref Cross Model Audit

What does Moai Ref Cross Model Audit do?

Cross-model audit convergence reference for the plan-auditor and sync-auditor agents. Moai Ref Cross Model Audit is an agent skill from modu-ai/moai-adk. Cross-model audit convergence reference for the plan-auditor and sync-auditor agents.

When should I use Moai Ref Cross Model Audit?

Moai Ref Cross Model Audit fits situations like: tasks that involve MCP servers.

How do I install Moai Ref Cross Model Audit in Claude Code?

Run `npx skills add modu-ai/moai-adk --skill moai-ref-cross-model-audit -a claude-code`. Or copy the skill folder (.claude/skills/moai-ref-cross-model-audit in modu-ai/moai-adk) into .claude/skills/moai-ref-cross-model-audit in your project. Claude Code loads it when a task matches its description.

How do I install Moai Ref Cross Model Audit in Codex?

Run `npx skills add modu-ai/moai-adk --skill moai-ref-cross-model-audit -a codex`. Or copy the skill folder (.claude/skills/moai-ref-cross-model-audit in modu-ai/moai-adk) into .agents/skills/moai-ref-cross-model-audit in your project. Codex loads it when a task matches its description.

Can I use Moai Ref Cross Model Audit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add modu-ai/moai-adk --skill moai-ref-cross-model-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/moai-ref-cross-model-audit, .gemini/skills/moai-ref-cross-model-audit, .github/skills/moai-ref-cross-model-audit and .opencode/skills/moai-ref-cross-model-audit in your project.

What does Moai Ref Cross Model Audit need to run?

Going by SKILL.md and its folder, Moai Ref Cross Model Audit needs the command-line tools its instructions call (git).

Does Moai Ref Cross Model Audit access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Moai Ref Cross Model Audit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Moai Ref Cross Model Audit use?

Moai Ref Cross Model Audit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Moai Ref Cross Model Audit use?

About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Moai Ref Cross Model Audit?

Skills that share tags, products or a category with Moai Ref Cross Model Audit: Z.AI CLI (numman-ali/zai-cli, 110 stars), Auto Review Loop LLM (AI4Scientist/nano-scientist, 128 stars), Analyze Logs (activepieces/activepieces, 25k stars) and Release (PrefectHQ/fastmcp, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Moai Ref Cross Model Audit?

modu-ai (a GitHub organization) maintains it in modu-ai/moai-adk, which has 1,232 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 9, 2026.

Source: modu-ai/moai-adk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.