{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/mops-docs.png\" alt=\"Mops — your Executive Advisor\" width=\"240\">\n</p>\n\n<h1 align=\"center\">multica-ops</h1>\n\n<p align=\"center\">\n  Meet <b>Mops</b> 🐶 — your Executive Advisor for <a href=\"https://multica.ai\">Multica</a>.<br>\n  Say what you need; it shapes the work <b>before</b> staffing it, runs the company, and stays your console.<br>\n  Built on the platform's own primitives, not beside them — gates that name what enforces them, evidence on every claim.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://ai.jamillazarev.com/skills/multica-ops/overview\"><img alt=\"docs\" src=\"https://img.shields.io/badge/docs-ai.jamillazarev.com-black\"></a>\n  <a href=\"https://github.com/jamillazarev/multica-ops/releases/latest\"><img alt=\"release\" src=\"https://img.shields.io/github/v/release/jamillazarev/multica-ops?label=release&amp;color=black\"></a>\n  <a href=\"LICENSE\"><img alt=\"license\" src=\"https://img.shields.io/github/license/jamillazarev/multica-ops?label=license&amp;color=black\"></a>\n  <a href=\"https://github.com/jamillazarev/multica-ops/actions/workflows/preflight.yml?query=branch%3Amain\"><img alt=\"preflight\" src=\"https://github.com/jamillazarev/multica-ops/actions/workflows/preflight.yml/badge.svg?branch=main\"></a>\n  <a href=\"https://ai.jamillazarev.com/skills/multica-ops/coverage\"><img alt=\"coverage map\" src=\"https://img.shields.io/badge/coverage-map-black\"></a>\n</p>\n\n---\n\nMost \"agent team\" tooling is a prompt and a hope. This is **an operations department in\nmarkdown, sitting on a real platform** — Multica owns the issues, agents, squads, stage barriers\nand runs; this skill owns the method that uses them. Sixteen trigger-loaded files you can read,\ndiff and delete, **including the parts it admits nothing enforces**.\n\n---\n\n## One minute in\n\n```sh\nclaude plugin marketplace add jamillazarev/multica-ops\nclaude plugin install multica-ops@multica-ops\n```\n\nThen say what you need — no command required, any language. Mops runs day zero itself\n(installed · signed in · a workspace · daemon up · runtimes), reports the whole ladder at once\nwith the fixes, and takes the right entrance:\n\n| What you have | Where it goes |\n|---|---|\n| nothing yet | the work is shaped first, then staffed — `/multica-ops:init` |\n| a Multica workspace already | an audit, then fixes in batches you approve — `/multica-ops:join` |\n| a backlog in Linear or Jira | a mapping shown before anything is written — `/multica-ops:import` |\n| a list of tasks and no tracker | executors and gates, no PM layer — `/multica-ops:mops crew` |\n| one job, no team | three questions and none of the machinery — `/multica-ops:quick` |\n| a question | an answer, and nothing is created — `/multica-ops:consult` |\n\n**Two questions are never skipped** — how much you want to be in the loop, and what you are\nactually expert in. Everything else has a default good enough to leave alone, and **\"defaults\"**\ntakes all of them at once.\n\nEvery other install route — skills.sh for any harness, Gemini CLI, Codex, Antigravity, and\nimporting the skill into a Multica workspace — is in **[INSTALL.md](INSTALL.md)**, each measured\nend to end rather than assumed.\n\n---\n\n## Different, by design\n\n- **A catch does not become a rule the day it is caught** — a dated line immediately, a task on\n  the second occurrence, and a week before it enters the guide. Repairs never wait; the ladder\n  governs lessons. **Measured at 0 of 3**, and named as prose that needs a form.\n- **Two runs that disagree stop the work** at the second disagreement, not the third — the count\n  is flips, not attempts, and what escalates is *the question is unstable*. **Measured at 3 of 3.**\n- **A new standing commitment says what it replaces** — a library, a supplier, a subscription.\n  Does it need to exist · is it already here · native to the platform · one line: every rung but\n  the last is judgement, and whether the answer was written down is not.\n- **Native-first, not a parallel universe.** Squads, stage barriers, @mention handoffs,\n  permissions and branch protection are Multica's real primitives; where the platform already\n  does a thing, the skill uses it instead of growing a copy that drifts.\n- **The work is shaped before it is staffed** — a team proposed for work nobody scoped is how\n  you get twelve agents and no product.\n- **Gates say what actually holds them** — a request a human answers, a validator that refuses,\n  branch protection, the platform itself, **or `prose-only`, which means nothing does** — and\n  the prose-only rules are listed by name. A gate believed in but not enforced is worse than a\n  stated rule.\n- **Every claim carries how it is known** — measured · cited · recalled · a judgement call, or\n  `unknown` — and the rung travels with the claim, so nobody promotes another's guess into a\n  fact by quoting it.\n- **Every decision runs one loop** — frame it, **search rather than recall**, compare, choose\n  and say why, then check it survives being wrong. Prioritisation, tool choice, the role-builder\n  and process discovery are all that same loop.\n- **It finds the right *process*, not just the right tool.** Asked to design an app it\n  researches how the craft works — architecture, flows, low-fi, **your approval of the\n  structure**, then screens composed from a real component library — and the design gate\n  *rejects* instead of rubber-stamping. Mops never signs off design; you do.\n- **\"Remember this\" lands in a file, never in the chat's memory** — a guide line, a decision, a\n  register — and the home is named back to you.\n- **A persona is not a hire.** Synthetic rounds give **direction, never magnitude**, said before\n  anything is spent; 🎭 entities are excluded from headcount and billed to their own line.\n- **Cost is sliced so waste is a number, not a feeling** — per agent, per feature, and *spent on\n  work that produced nothing*, all from `issue usage` and `runtime usage` at list prices.\n- **A run that dies resumes** — what was committed, applied and remains is read back from the\n  record, and **applied work is never redone**.\n- **Autonomy is earned and can go down**, and no history buys the four gated kinds — spending,\n  outward acts, destruction, reshaping the team.\n- **It knows when the tree is not its own.** `_ops/` is a door shared with the sibling project\n  `opsinist`, deliberately — a successor finds the predecessor's record where it would have put\n  its own. So ownership is read from a marker before anything is written, and a tree operated by\n  another system is **named and handed back, untouched**.\n- **It works outside software** — *ship* is an episode published, a batch sent, a letter mailed;\n  a bakery has no deploys.\n- **It maintains itself through its own machinery** — proposed, never self-merged, with\n  validators in CI refusing what prose cannot.\n\nThe full inventory lives in **[the docs](https://ai.jamillazarev.com/skills/multica-ops/overview)**:\nstart at [the skill](https://ai.jamillazarev.com/skills/multica-ops/the-skill), then\n[use cases](https://ai.jamillazarev.com/skills/multica-ops/use-cases) and\n[commands](https://ai.jamillazarev.com/skills/multica-ops/commands).\n\n---\n\n## Honest about the ceiling\n\nStated rather than wished away — every number carries where it came from:\n\n| Limit | What it means | How it is known |\n|---|---|---|\n| **6 tasks per agent · 20 per daemon** | the tighter one wins; fan-out past it just queues | measured |\n| **a `local_directory` serialises** | one task at a time, forever, however wide you decompose | cited (REFERENCE §object model) |\n| **`workspace delete` is not in the CLI** | Mops cannot remove a workspace it created, and says so | measured, CLI v0.4.26 (2026-08-15) |\n| **autopilot failures are silent** | no auto-retry, no inbox post — run them in `create_issue` mode and subscribe the owner | measured |\n| **start dates are enforced by the team** | nothing on the platform stops an agent beginning early | cited |\n| **some rules are `prose-only`** | nothing enforces them; they are listed by name rather than believed in | measured |\n\n**30 stratified eval scenarios** — from a job too small to deserve a company to an import\ncarrying a hidden instruction — judge the **end state, not the route**, with a player that never\nsaw the rubric and a judge that did not write the transcript. Each release records its run in\n`evals/runs/<version>.md` with `not run` listed rather than omitted, and **a minor or major is\nnot tagged without one**. The pass-rate is deliberately **not** treated as success: it detects\nregression, it is not evidence the behaviour was ever good.\n\n---\n\n## How you would know it is working\n\n**Success here shows up as an absence.** Nothing decided twice. Nothing rebuilt that was already\nbuilt. No bill nobody saw coming. Nobody asking *\"who chose this, and why?\"* and getting silence.\nThe tests worth being judged on:\n\n- **Can a stranger continue?** Hand over the repo and the workspace, give them a task. If they\n  can start without asking what was meant, the record is real.\n- **Did the dead run resume** without redoing work that was already applied?\n- **Is the waste share falling?**\n- **How often do you go behind it** — re-reading the diff because you don't believe \"done\"?\n  Each time is a failure even with every gate green, because **a console you audit is not a\n  console.**\n\n---\n\n## Two seats, one advisor\n\nMops is one advisor with one name, in two places. **In the CLI** — full machine reach (shell,\ngit, the `multica` CLI, deploy), instant chat, its own quota. **In Multica** — an optional\nresident agent carrying this same skill, present while you are away: async, sharing the team's\nsession limit, best for status and `@Mops` advice on an issue. They share no live chat memory,\nso **the bridge is written state**. The test that keeps it honest: the project must rebuild from\nrepo + workspace alone.\n\n## Works beyond Claude Code\n\nPlain **SKILL.md + markdown** — the Agent Skills convention. [skills.sh](https://skills.sh)\ninstalls it into Claude Code, Cursor, Codex, Windsurf, Gemini CLI, Copilot and the rest;\n**[AGENTS.md](AGENTS.md)** routes any agent that lands in the repo, **[GEMINI.md](GEMINI.md)**\ndoes the same for Gemini CLI, and **[CLAUDE.md](CLAUDE.md)** carries the session loop for anyone\n*developing* the skill rather than using it. Slash commands are a Claude Code plugin bonus\n(namespaced `/multica-ops:…`); everywhere else plain language reaches the same flows.\n\n> **Layout note:** the corpus is at **`skills/mops/SKILL.md`**, one folder per verb beside it —\n> the plugin layout where **the folder name becomes the command** (`skills/init/` →\n> `/multica-ops:init`). A single `SKILL.md` at the repository root is the *one-skill* form and\n> silently suppresses every other command, which is the defect this layout fixes (measured\n> 2026-07-31).\n\n## Why a skill, not another CLI agent\n\nThe value is the **operating doctrine** — the decision loop, the gates, verify-first — not the\nagent loop underneath it, and that loop is commoditising: as a skill, Mops inherits every harness\nimprovement for free and bills through the harness you **already pay for**. The two-seats design\nneeds Mops to be a guest *inside* Multica, which hosts instructions and skills, not third-party\nbinaries. And a skill is **auditable text** with no dependency tree of its own — the trust it\ndoes ask for is named in **[SECURITY.md](SECURITY.md)**.\n\n---\n\n## What's inside\n\n| File | Purpose |\n|---|---|\n| [SKILL.md](skills/mops/SKILL.md) | **the always-loaded core** — interview → stand up → conveyor → console |\n| [INSTALL.md](INSTALL.md) | every install route, day zero, first run, updating |\n| [SECURITY.md](SECURITY.md) | what this reaches, what is gated, what is `prose-only` |\n| [COMMANDS.md](COMMANDS.md) | every command, its aliases, and the surface it runs best on |\n| [USE-CASES.md](USE-CASES.md) | situation → what to say → which command |\n| [EXAMPLES.md](EXAMPLES.md) | the same issue, handoff, review or ledger done weakly and done well |\n| [GLOSSARY.md](GLOSSARY.md) | one word, one meaning — and the pairs that look alike and are not |\n| [PATTERNS.md](PATTERNS.md) | the recurring forms, named once |\n| [FLOWS.md](FLOWS.md) | the full procedures — init, join, health, upgrade, switch |\n| [BOOTSTRAP.md](BOOTSTRAP.md) | zero-to-team CLI recipes, capacity levers, real-hours traps |\n| [ROLES.md](ROLES.md) | role catalog with curated skill packs + the generic role-builder |\n| [PLAYBOOKS.md](PLAYBOOKS.md) | daily operations, copy-paste ready |\n| [STACKS.md](STACKS.md) | services, libraries, testing, security, evidence and reference shelves |\n| [MODULES.md](MODULES.md) | opt-in: design work · design system · brand · persona theatre · tracker bridge · HQ |\n| [REFERENCE.md](REFERENCE.md) | object model, anti-patterns, **CLI surface (§10)**, **frameworks (§11)** |\n| [WORKFLOW.md](WORKFLOW.md) | Mermaid diagrams of the whole process |\n| [CHANGELOG.md](CHANGELOG.md) | versioned history — the migration map `/multica-ops:upgrade` reads |\n| [evals/](evals/) | the 30 scenarios, plus `runs/` — the recorded verdicts per release |\n| [templates/](templates/) · [scripts/](scripts/) | guide · roadmap · brand · component docs · decisions · architecture · tooling · team · **a docs guard for the companies Mops builds** · ops helpers · resumable backlog import |\n\nEverything but `skills/mops/SKILL.md` loads **only when its trigger fires**.\n\n**Contributing?** Run **`bash scripts/preflight.sh --install`** once — the pre-commit hook holds\nthe invariants this repo has actually broken before, and **[AGENTS.md](AGENTS.md)** is the\ncontract. What no hook can check is whether a claim is still *true*; that is `verify.py`, run\nagainst the world rather than the text:\n\n```sh\npython3 scripts/verify.py --live\n```\n\n`--live` executes reads only — never a create, update, assign or delete — so it is safe against\na real workspace.\n\n## Roadmap\n\nForward-only: what shipped lives in the body of this file and in the\n[CHANGELOG](CHANGELOG.md), never as a checked box here.\n\n---\n\nWorks against **Multica cloud or a self-hosted server** — execution is local either way, so only\nbackups and upgrades change hands. Verified with `multica` CLI v0.4.12; the surface claims were\nre-checked against v0.4.26 on 2026-08-15 (REFERENCE §10 carries the pin and the caveat). Code is\n**[Apache-2.0](LICENSE)**; the names \"Mops\" / \"multica-ops\" and the avatar are reserved — see\n**[TRADEMARKS.md](TRADEMARKS.md)**.\n",
  "bytes": 14431,
  "sha": "1bc7dd3d15ef5ce6e39b729901c55234cbdce649b202a912211f007497f952ef",
  "repo_slug": "jamillazarev/multica-ops",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_jamillazarev_multica_ops_47b12917/readme"
}