Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Mova Spec Authoring

v1.0.1

Author a new MOVA-spec contract from a pre-contract — translate intent calibration output into a complete MOVA artifact (envelope, instruction profile, episo...

0· 114·0 current·0 all-time
bySergii Miasoiedov@mova-compact

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for mova-compact/mova-spec-authoring.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Mova Spec Authoring" (mova-compact/mova-spec-authoring) from ClawHub.
Skill page: https://clawhub.ai/mova-compact/mova-spec-authoring
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install mova-spec-authoring

ClawHub CLI

Package manager switcher

npx clawhub@latest install mova-spec-authoring
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
Name and description match the instructions' goal (translate a pre-contract into a MOVA JSON contract). However the SKILL.md explicitly requires the `openclaw-mova` plugin and a local MOVA spec path (/home/mova/.openclaw/workspace/mova-spec/) that are not declared in the registry metadata (no declared dependency or required config paths). That mismatch suggests the metadata understates what the skill needs.
!
Instruction Scope
The instructions ask the agent to validate against a local filesystem path and to consume a pre-contract produced by another MOVA skill. They instruct the user to paste the pre-contract (acceptable) but also expect access to /home/mova/.openclaw/workspace/mova-spec/ for schema validation and require the `openclaw-mova` plugin. The metadata did not declare file access or plugin dependency. There are no explicit instructions to transmit data externally, but the SKILL.md implies later submission to a MOVA runtime without specifying endpoints or network behaviors (truncated).
Install Mechanism
Instruction-only skill with no install spec and no code files; nothing will be written to disk by an installer. This is the lowest-risk install mechanism, but runtime file access still matters.
!
Credentials
The skill declares no required env vars or config paths in metadata, yet the SKILL.md depends on a specific local path for schema validation and on another plugin. That is disproportionate: either the metadata should declare the required config path and dependency, or the instructions should avoid implicit local access. There are no explicit secrets requested, but undeclared access to a home directory path could expose local schema files.
Persistence & Privilege
always is false and there is no install-time persistence or cross-skill config modification indicated. The skill does not request elevated/system-wide privileges in the metadata.
What to consider before installing
Before installing, ask the skill author to clarify and fix the metadata/instructions mismatch: 1) explicitly declare the dependency on the openclaw-mova plugin and any other required skills; 2) list any local filesystem paths the skill will read (the SKILL.md references /home/mova/.openclaw/workspace/mova-spec/); 3) explain whether the skill will transmit the generated contract to any external runtime (which endpoints and authentication are used). Do not paste sensitive pre-contract data until you verify where and how the skill reads or transmits files. If you proceed, run it in a restricted or sandboxed environment and review all generated artifacts and any network activity. If the author updates the manifest to declare the plugin and config path (or removes implicit filesystem access), this assessment could move to benign.

Like a lobster shell, security has layers — review code before you run it.

latestvk975cq8zgywfgp1nrf1b0mhejd842nv9
114downloads
0stars
2versions
Updated 3w ago
v1.0.1
MIT-0

Ecosystem Skill — Supports building and managing the MOVA ecosystem. Requires the openclaw-mova plugin.

MOVA Spec Authoring

Transform a fully calibrated pre-contract into a complete MOVA contract — structured JSON with envelope, instruction profile, and episode frame — ready for execution by any MOVA-compliant runtime.

What this skill does

  1. Parses the pre-contract — reads all sections produced by mova-intent-calibration
  2. Maps to MOVA constructs — translates each pre-contract section into the correct MOVA artifact
  3. Drafts each artifact — envelope (env.*), data schema references (ds.*), instruction profile, episode frame
  4. Human review gate — each artifact is shown to the user for approval before the final contract is assembled
  5. Outputs the complete MOVA contract — a single JSON document ready for submission to a MOVA runtime

Requirements

  • A completed pre-contract with Status: VALID from mova-intent-calibration
  • MOVA spec available at /home/mova/.openclaw/workspace/mova-spec/ for schema validation

Pre-contract → MOVA mapping

Pre-contract sectionMOVA artifactNotes
ACTOR (actor, owner, reason_now)env.*.roles[]actor = sender/initiator, owner = recipient/accountable
CHANGE DEFINITION (change_target, change_type, after_state)verb_id in envelopechange_type maps to verb: action→create/update, state→route/record, result→analyze/publish
OBJECT (object_description, selection_rule)ds.* schema reference + input_data_refs[]describes what is being acted on
GOAL (goal_statement, verification_method, confirmation_owner)Episode result contractdefines expected result_status and confirmation criteria
CONSTRAINTS (forbidden_action, invariant, unacceptable_consequence)ds.instruction_profile_core_v1 ruleseach constraint → a deny or transform rule in instruction profile
SUCCESS/FAILURE statesEpisode result_status allowed valuessuccess → completed; failure → failed/cancelled/partial
DECISION POINTS (deterministic)Inline in episode frame or envelope verbdeterministic rules go into policy; human decisions go to human gates
HUMAN GATESds.instruction_profile_core_v1 HITL rulestrigger_condition maps to policy rule; pause execution and wait for human input
INPUTS (name, available, source)input_data_refs[] + input_envelopes[] in episodeunavailable inputs → blocking dependency in instruction profile
DEPENDENCIES (name, type, blocking)Instruction profile: required_resources[] or blocking rulesblocking deps → must be resolved before execution starts
ASSUMPTIONSEpisode context notes + instruction profile on_violationblocking assumptions → deny rule; safe assumptions → warn rule
TIME LIMITS (deadline, max_attempts, stop_condition)Instruction profile limits or episode finished_at constraintencode as policy constraints
AMBIGUITIESAnnotation in meta.ext of the envelopedocumented but not executable until resolved
LINEARITY CHECKValidates that the episode frame has no hidden branchesnon-linear → decision points must appear as explicit HITL gates

Verb selection guide

Change type from pre-contractVerbUse when
Creating something newcreateafter_state is a new record or artifact
Modifying existing dataupdateafter_state is a changed version of an existing record
Making a routing/selection decisionroutethe task is choosing between options
Recording a fact or observationrecordthe task produces an audit entry or episode
Publishing to a registrypublishthe task distributes a catalog or configuration
Analyzing dataanalyzethe task produces findings, scores, or risk bands
Planning a sequence of stepsplanthe task produces a plan or strategy
Explaining a decisionexplainthe task produces a human-readable justification
Summarizing contentsummarizethe task condenses input into a shorter form

Step-by-step process

Step 1 — Receive and validate the pre-contract

Ask: "Paste the pre-contract document (output of mova-intent-calibration)."

Check:

  • Status must be VALID — if BLOCKED, stop here and tell the user to resolve the blocking items first
  • All required sections must be present
  • No unresolved blocking ambiguities

Step 2 — Identify the core MOVA constructs

From the pre-contract, determine:

  1. Verb — use the Verb selection guide above
  2. Envelope ID — format: env.[domain]_[operation]_v1 (e.g. env.procurement_po_review_v1)
  3. Primary data schema — format: ds.[domain]_[object]_v1 (e.g. ds.procurement_po_v1)
  4. Roles — map actor → initiator, owner → accountable, confirmation_owner → approver
  5. Instruction profile ID — format: [domain]_policy_v1 (e.g. procurement_po_policy_v1)

Show the user this mapping and ask for confirmation before continuing.

Step 3 — Draft the envelope

{
  "envelope_id": "env.[domain]_[operation]_v1",
  "verb": "[verb from step 2]",
  "roles": {
    "initiator": "[actor from pre-contract]",
    "accountable": "[owner from pre-contract]",
    "approver": "[confirmation_owner from pre-contract]"
  },
  "payload": {
    "object_ref": {
      "data_type": "ds.[domain]_[object]_v1",
      "description": "[object_description from pre-contract]"
    }
  },
  "policy_profile_id": "[instruction profile ID]",
  "meta": {
    "reason": "[reason_now from pre-contract]",
    "goal": "[goal_statement from pre-contract]"
  }
}

Show to user. Ask to approve or edit.

Step 4 — Draft the instruction profile

{
  "schema_id": "ds.instruction_profile_core_v1",
  "profile_id": "[instruction profile ID]",
  "security_model_version": "mova_security_default_v1",
  "rules": [
    // One rule per CONSTRAINT from pre-contract
    {
      "rule_id": "constraint_[n]",
      "description": "[constraint statement]",
      "target": {
        "kind": "action",
        "verb_id": "[verb]"
      },
      "effect": "deny",   // deny for forbidden_action/unacceptable_consequence; warn for safe assumptions
      "condition": "[when this rule fires]",
      "rationale": "[why this constraint exists]"
    }
  ],
  "hitl_gates": [
    // One entry per HUMAN GATE from pre-contract
    {
      "gate_id": "gate_[n]",
      "trigger_condition": "[trigger_condition from pre-contract]",
      "question_for_human": "[question_for_human from pre-contract]",
      "valid_resolution_criteria": "[valid_resolution_criteria from pre-contract]",
      "on_no_response": "block"
    }
  ],
  "on_violation": "block"
}

Show to user. Ask to approve or edit.

Step 5 — Draft the episode frame

{
  "schema_id": "ds.mova_episode_core_v1",
  "episode_type": "execution/[domain]_[operation]",
  "mova_version": "6.0.0",
  "verb_id": "[verb from step 2]",
  "tool_id": 0,
  "executor": {
    "role": "ai_agent",
    "skill_id": "mova-spec-authoring"
  },
  "input_envelopes": [
    { "envelope_type": "env.[domain]_[operation]_v1" }
  ],
  "input_data_refs": [
    // One entry per INPUTS REQUIRED that is available
    { "data_type": "ds.[domain]_[object]_v1", "data_id": "[from pre-contract inputs]" }
  ],
  "result_contract": {
    "success_statuses": ["completed"],
    "failure_statuses": ["failed", "cancelled"],
    "partial_allowed": [true/false from pre-contract partial_success_allowed],
    "verification_method": "[verification_method from pre-contract]",
    "confirmed_by": "[confirmation_owner from pre-contract]"
  },
  "context": {
    "assumptions": "[assumptions from pre-contract]",
    "ambiguities": "[any remaining ambiguities from pre-contract]"
  }
}

Show to user. Ask to approve or edit.

Step 6 — Assemble and output the complete MOVA contract

When all three artifacts are approved, output the final contract:

MOVA CONTRACT  —  [task title from pre-contract]
Generated: [date]
Spec version: MOVA 6.0.0
Pre-contract: VALID

━━━ ENVELOPE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[envelope JSON]

━━━ INSTRUCTION PROFILE ━━━━━━━━━━━━━━━━━━━━━━
[instruction profile JSON]

━━━ EPISODE FRAME ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[episode frame JSON]

━━━ CONTRACT SUMMARY ━━━━━━━━━━━━━━━━━━━━━━━━━
Verb:             [verb]
Envelope:         [envelope_id]
Policy profile:   [profile_id]
HITL gates:       [count]
Constraint rules: [count]
Open ambiguities: [count from pre-contract]
Status:           READY FOR EXECUTION / PENDING AMBIGUITY RESOLUTION

Spec reference

All schema structures are validated against:

  • /home/mova/.openclaw/workspace/mova-spec/schemas/ds.mova_episode_core_v1.schema.json
  • /home/mova/.openclaw/workspace/mova-spec/schemas/ds.instruction_profile_core_v1.schema.json
  • /home/mova/.openclaw/workspace/mova-spec/docs/mova_core.md
  • /home/mova/.openclaw/workspace/mova-spec/docs/mova_security_layer.md

Use mova-spec-guide skill to look up any concept while drafting.

Rules

  • NEVER accept a pre-contract with status BLOCKED — stop and tell the user what to resolve first
  • NEVER invent verb IDs, schema IDs, or policy values outside the MOVA verb catalog — read from spec
  • NEVER skip the human review step for each artifact — the user must approve envelope, profile, and episode frame individually
  • NEVER produce a contract with unresolved blocking ambiguities — mark it PENDING AMBIGUITY RESOLUTION
  • If the pre-contract has optional sections marked not_required — omit the corresponding MOVA fields
  • Generated IDs (envelope_id, profile_id, episode_type) follow MOVA naming conventions: lowercase, underscores, versioned with _v1
  • tool_id = 0 unless the pre-contract specifies an external tool channel

Comments

Loading comments...