Mstar Use Cli logo

Mstar Use Cli

Community
btspoony
mstar-use-cli

Use when choosing, running or interpreting `mstar`/`mstar-harness` CLI commands: family selection, semantic preconditions (control root, cwd, identity, revision/token), exit codes and refusal codes.

Overview

Publisherbtspoony
Repositorymstar-harness
Skill namemstar-use-cli
Stars
67
Forks
4
Bundled files
4
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 4 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by btspoony on GitHub. Read the source before you install it.

Installation

Install the Mstar Use Cli AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/btspoony/mstar-harness/tree/main/skills/mstar-use-cli
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/btspoony/mstar-harness.git /tmp/mstar-harness
mkdir -p .claude/skills
cp -r /tmp/mstar-harness/skills/mstar-use-cli .claude/skills/mstar-use-cli
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Mstar Use Cli in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Mstar Use Cli on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Mstar Use Cli is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

CLI contract (mstar-use-cli)

The CLI is the harness's machine surface: gates, coordination writes and validators sit behind it. This skill is the index that says which family answers a task, what must be true before running it, in what order a sequence goes, and how to read the answer.

It is deliberately silent in one direction. Command help is generated from the same source that parses the arguments, so it is the only non-drifting owner of flags, option wording and argument shapes. Help cannot express cross-command choice, preconditions, sequence order or refusal meaning — those are what this skill owns.

Load Order

  1. mstar-harness-core — lifecycle, gates, authorization and conflict authority; first read whenever it is loaded.
  2. The owning topical skill for the family about to run (named in the task index below) — it holds the semantics, role boundaries and surrounding workflow.
  3. This skill — the CLI transport contract for that family.

Conditional scope: this applies when a CLI binary is on PATH. Where the CLI is absent, the engine-import / prose path declared by each topical skill stays authoritative; do not read the command text here as a load-order dependency, and never use this skill as a substitute for the owning skill's rules.

Add mstar-host when the host's tool shapes decide how a command is launched.

Scope

Load when:

  • a CLI command must be run, or output from one must be interpreted;
  • a topical skill's engine-check callout pointed here;
  • an exit 1 / 2 came back and its meaning is unclear, or a command refused for a reason that looks like a missing precondition;
  • a decision is needed between families (read a row, close a lifecycle, register a document, land a report, check a worktree);
  • a coordinated action must be written under its current actor/state and numeric revision or execution-token contract.

Do not load for:

  • installation, host bootstrap, per-host config — INSTALL.md plus mstar-host;
  • flags, option wording, per-command argument shapes — the CLI help owns them;
  • field schemas (mstar-artifacts), iteration phase semantics (mstar-iteration), checkout rules (mstar-branch-worktree), role preset decisions (mstar-roles);
  • slash commands (/codebase-audit, /iteration-drive, …). They ship with the host plugin, not the CLI binary; their owning skills (mstar-audit, mstar-iteration, …) hold their contracts.

Workflow

1. Task → command family

Start with the intended ordinary action, not a universal preflight chain. The acquired primary coordinator's own reference/current scope token/operation id may be derived where unambiguous; explicit constraints validate. Address row actions with --plan and select workflow when needed. Genuine missing configuration/source facts use revisable prepare; defaults do not require a ceremonial record. The CLI publishes each command's owning skill itself: a refusal envelope carries details.skill and mstar <family> <verb> --help ends with a Skill: line — read that skill for the semantics. This table owns task→family grouping only.

TaskFamily
Read selected row state/configuration/evidence and tokenmstar plan show
Bootstrap/resume the workflow coordinator onlymstar plan bind
Revise row source metadata and QA/cleanup configuration (the Prepare view and its amendments)mstar plan prepare
Update progress; capture findings on this plan as linked issues; close one with its dispositionmstar plan progress, mstar plan issue-add, mstar plan issue-close
Record Done directly from QC/QA and declared-route proofmstar plan complete
Register a standalone plan workflow; record delivery evidencemstar workflow register, mstar workflow evidence
Register an iteration workflowmstar iteration register
Close one finished lifecycle (terminal workflow state + root unregister in the current authority)mstar status workflow-close
Return a failed/stopped lifecycle to running on the same id under explicit operator authorization (completed is never reopened)mstar workflow reopen
Validate a coordination document before trusting or replacing itmstar status validate
Read the open-issue rollup; enforce a plan's findings-cleanup mode over the issues linked to itmstar status tech-debt, mstar status findings-cleanup
Initialize a fresh issue/catalog store; upgrade/import recognizable execution state and activate authority; or run staged migration, backup, activation and retirementthe store group (init / upgrade / migrate / backup / activate / retire)
Preview/apply execution recovery from a store backup; export current execution statemstar store execution restore-preview, mstar store execution restore, mstar store execution export
Read/write/list/delete retained persisted documents (review / unrelated json); the residuals kind refuses and the root/snapshot kinds are outside this surfacemstar persist get, mstar persist write, mstar persist list, mstar persist delete
Launch argv under a fresh local execution identity; recover a stopped coordinator or explicitly named plan owner (never resume)mstar session run, mstar session recover
Land or check a QC seat reportmstar qc validate-report
Validate an Assignment before dispatchmstar dispatch validate
Map an execution mode to its QC seat count; assert tri identitymstar review seats
Check workflow-entry facts (branch anchors, main residency, integration checkout cleanliness, integration merge lease) or the L1 / L2 pre-dispatch worktree topologymstar worktree check (L1 per-plan gains the lease fact; --entry is the workflow-level form)
Assert QC / QA checkout alignment across seat filesmstar worktree qc-alignment
Post-merge worktree and branch cleanup (dry-run first)mstar worktree cleanup
SDD helpers: workspace, brief, branch diff package, bound launch, evidence capturemstar sdd workspace, mstar sdd task-brief, mstar sdd review-package, mstar sdd check-context, mstar sdd exec, mstar sdd evidence
Evaluate a phase-transition gate; probe push cadencemstar iteration gate, mstar iteration push-cadence
Resolve the harness / plan / SDD / workflow / project dirsmstar path resolve
Read/export or mutate issues in {HARNESS_DIR}/store.db (add / list / show / occurrence / triage / close / move / waive / duplicate / supersede / link / export)mstar issue …
Serve the read-only local dashboard (issues, execution/roadmap views, issue-flow chart) on 127.0.0.1mstar dashboard
Discover, import, register, update, link, list, show, export, reconcile or purge a verified producer registration in the harness catalogmstar catalog …
Read a project's roadmap authority, preview/apply reviewed Markdown import, revision-guarded content replacement, or export the composed milestone roadmap (reporting transport)mstar roadmap show, mstar roadmap import, mstar roadmap replace, mstar roadmap export
Create, update, or assign project milestones (structured roadmap goals); read milestone rollupsthe milestone group (add / update / assign / list / status)
Detect the active host; resolve a loaded skill rootmstar host detect, mstar host skill-root
Lint harness artifacts by content typemstar lint
Lint a skill's frontmatter and five-question bodymstar skill lint
Validate the role mapping and load-order corpusmstar roles validate
Validate a knowledge doc's frontmatter and scope; the knowledge index-row assert is retired (refuses compound.index.retired → catalog completeness)mstar compound validate
Validate DESIGN.md tokens and paritymstar design-md validate
Scaffold the audit review report; run static security checksmstar audit scaffold, mstar audit secret-scan, mstar audit supply-chain
PR-review arithmetic, report path (--reviews-dir, default the resolved {REVIEW_DIR}), saved-report validation, worktree setupmstar pr-review tally, mstar pr-review report-path, mstar pr-review validate-report, mstar pr-review worktree-setup
Bootstrap a harness directorymstar harness scaffold
Recover a workspace holding recognized v1/v2 execution sources; standalone file-staging migrate is retiredmstar store upgrade
Discover one command or payload contractmstar schema
Draft an offline redacted issue reportmstar report

Per-family detail — refusal codes, JSON envelopes, sequence walkthroughs — is in the references listed at the end. Validator and lint families are indexed in references/checks-and-lints.md. Retired, never live alternatives: status archive-residuals / backlog-register / backlog-close → status.verb-retired; removed plan verbs (including plan residual-add / residual-close) → exit 2, command.invalid-input; persist … residuals → persist.kind-retired. Capture and disposition use issue verbs, not aliases.

2. Conflict diagnostics (not a preflight chain)

Use references/preconditions.md when the intended verb refuses for a required fact. The refusal's grouped facts identify the one genuinely missing or conflicting input — ambiguous root/target, foreign live holder, unavailable authorization; supply a real competing choice or the owner's authorization evidence only for those. On plan mutations the derived session binding and token need no separate read, while the caller's independently acquired identity and the caller-owned operation id stay required on every active write; workflow-level active writes and a fresh active bind state the scope's full execution token themselves. A stale explicit token requires a fresh read; recorded byte versions impose no replacement constraint. Do not make persist or rebind a routine prerequisite for an ordinary lifecycle action. A refusal's commit state is action-local: read the receipt to learn what committed — the engine's coordinated plan-route refusals are transactional (no row, receipt or counter change), and an action-local partial receipt records its applied components — then replay only the documented remaining action.

3. Lifecycle shape

The primary coordinator's ordinary prepare/progress/complete operations replace ownership-transfer completion. Iteration complete verifies the already-performed serial merge; standalone development verifies registered source without integration inputs; report-only consumes matching fulfilment recorded before Done without fabricated Git. All retain QC/QA and their distinct outer delivery/close obligations. No per-row execution lease or bind exists.

Complete writes Done/evidence/ownership atomically and releases applicable integration exclusion; exact replay preserves timestamps. Retry the same intended action with current facts rather than introducing another protocol. Parameters/recovery → references/plan-and-workflow.md.

Decision Rules

  • The command→skill pointer is published by the CLI. It is derived from the command definitions (details.skill on refusals, a Skill: line in CLI help); do not restate the mapping in this skill or any document.
  • Canonical binary is mstar-harness. mstar is a short alias that shares its bin namespace with an unrelated third-party npm package of the same name: outside an environment where the harness package is installed, invoking the short alias through a package runner resolves via the registry to that other tool, and co-installing both packages globally silently overwrites the mstar shim — last install wins. Prefer the canonical name in scripts, CI and anything a reader might copy out of context.
  • Exit codes: 0 ok, 1 engine refusal, 2 usage. 0 includes idempotent no-ops and read-only reads. 1 carries a stable machine code; a refused call's commit state is action-local and stated by its receipt. 2 is a usage error — unknown flag, missing required argument or option, malformed or relative path where an absolute one is required, unreadable payload.
  • Flags come from the CLI help, never from this skill. Run the group help, or the verb help, before guessing an option; the group help is also the authority for which verbs exist at all.
  • Refusal semantics are action-local. A refusal's commit state belongs to that one action: read the receipt instead of assuming. The engine's coordinated plan-route writes refuse transactionally — a refused operation there writes no row, receipt or counter change, so its recovery is a read of current state, never an undo. Where a verb documents action-local partial application, components already committed stay committed — the receipt names them, and the documented remaining action is replayed as its own operation, not the whole sequence. A stale explicit token is recovered by re-reading the addressed scope and retrying with the fresh token. There is no force, no replace and no takeover flag to escalate to.
  • Evidence digests record provenance, not immutable report bytes. Explanatory report edits need no hash repair or resealing; current semantic QC/QA, source proof and evidence-path requirements still apply. No ownership-transfer repair action remains.
  • Streams are per command and per mode — observe them, never infer from the family. A verb's machine surface (the --json form, or a verb whose output is a machine object such as persist get) writes that object to stdout, failure and refusal objects included, so neither the exit code nor the family tells you which stream carried the bytes. On the human surface a success is usually one short line on stdout (<path>: OK, host: <id>), though some verbs leave stdout empty and put the readable summary on stderr; usage errors and most refusal diagnostics go to stderr, and one command can split inside itself — machine rows on stdout, the human headline on stderr. No split holds for every command and no enumeration is reliable, so never assume a command's failure text is on stderr: where a pipe depends on it, read the actual output or that command's help. The exit code is the verdict; an empty stdout is not by itself a failure signal.
  • The CLI you run may not be the code you read. The globally installed binary runs the published engine build, and even a workspace entry point resolves the engine's built output, which can lag its source until that package is rebuilt — so a fix present in the engine source can be absent from the very command you are testing. Install health, and a healthy setup check, prove neither. When a result contradicts source you just read, rebuild or re-resolve before concluding the source is wrong, and follow the version-alignment path in mstar-harness-core. The same caution covers a repository's own generated bundles: a checkout can be mid-flight between source and artifact.
  • Never write a lifecycle state or a lease by editing a document. Done and lease release go through the completion verb; the protected coordination documents refuse direct writes by design.
  • Never hand coordinator context to a leaf: session references/envelopes, CAS tokens and operation IDs stay with the primary PM; leaf tasks carry only owned scope/paths/evidence.
  • Never substitute recovery for resume or resume for recovery. A resume is read-only; a stopped owner is replaced only by the recovery verb that owns the current authority.
  • A validator's OK is a statement about its own contract only. Exit 0 means no violations of that check — not that the content is correct, complete or current.

Evidence

A CLI claim is proven when:

  • the command was actually run, or the result is a machine object a command produced this round — not a recollection of documentation;
  • the exit code matches the family contract, and a 1 is reported with its stable code and message;
  • preconditions were explicit: absolute paths, an explicit root wherever discovery is ambiguous, the transport's authority stated (an independently acquired identity with a session reference on the active route — on plan mutations the engine derives the caller-owned binding and the current token, while workflow-level writes and a fresh active bind state the scope's full token), and any explicitly supplied token held only as a fresh constraint;
  • no refusal was retried with a stale token — a stale explicit token was refreshed by re-reading the addressed scope;
  • commands quoted in a plan, report or handoff are re-runnable as written, with real absolute paths or visibly-marked placeholders;
  • for a validator, the cited check is the one that covers the claim being made.

References

OpenWhen
references/plan-and-workflow.mdplan / workflow families: verb and role boundaries, refusal codes, JSON envelopes, the completion sequence, the CAS read-modify-write shape
references/status-and-registers.mdACTIVE store authority, lifecycle close, issue store and read-only historical status/snapshot inputs; authorization and native database recovery
references/checks-and-lints.mdmaintainer validators and lints that skill callouts cite: what each checks, its owning skill, its exit codes
references/preconditions.mdharness-root resolution, control root vs feature worktree, neutral cwd, session identity, tokens, and how each missing precondition presents itself

Command help is the flag reference. Installation and host setup live in INSTALL.md and mstar-host.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Mstar Use Cli AI skill do?

Use when choosing, running or interpreting `mstar`/`mstar-harness` CLI commands: family selection, semantic preconditions (control root, cwd, identity, revision/token), exit codes and refusal codes.

Why use Mstar Use Cli on TypingMind?

Because you install it once and use it with any model. Mstar Use Cli is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Mstar Use Cli in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/btspoony/mstar-harness/tree/main/skills/mstar-use-cli. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Mstar Use Cli?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Mstar Use Cli?

As many as you like. As long as a model supports skills, you can use Mstar Use Cli with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Mstar Use Cli AI skill free?

Yes. It is published on GitHub by btspoony under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇