Skip to content

Plugin

marola-devkit@marola-devkit is the Claude Code plugin under plugins/marola-devkit/, listed by .claude-plugin/marketplace.json. A repo declares the marketplace with a ref pinned to the same tag as its flake input and enables the plugin in .claude/settings.json (the README has the snippet). Skills then load as /marola-devkit:<skill> and agents as marola-devkit:<agent>. OpenCode does not load Claude Code plugins, but each skill is a plain SKILL.md it can read.

human-only below means disable-model-invocation: true: a person types the command, and the model cannot start it on its own.

Skills

Skill Use when Notes
mip Any non-trivial change: a new data source or integration, a scoring change, user-visible output, autonomous behaviour The plan layer: writes docs/MIPs/MIP-NNNN-*.md with verified sources and open questions
mip-tasks An accepted MIP that is more than one PR The delivery layer: MIP-NNNN.tasks.md (ordered tasks, each with its test) and one stacked PR per task through stack. human-only
mip-solve-perpetual Working through a .tasks.md unattended One typed invocation, one Draft PR per task, a usage guard and a checkpoint contract; never merges. human-only. Mechanics on runners
triage A raw idea, voice-note fragment or bug report that should become one issue Picks the tier, drafts the body in the issue form's shape, proposes area/*/layer/*/size/*, checks the Definition of Ready, then stops: a person files it (MIP-0063 §5.6). human-only
voice-note-ingest Audio a MIP or task refers to needs a transcript Local Whisper only, pt-BR by default; writes <audio>.txt beside the file, never commits the audio, anonymizes names before a transcript reaches a tracked file. scripts/transcribe.py has a --self-test
voice-to-feature Demoing voice note to Draft PR in one pass Demo only, not the dev flow; gh pr merge/close are disallowed tools. human-only
humanizer Prose that reads as generated Vendored from blader/humanizer v3.0.0 (MIT, LICENSE beside it); changes wording, never a claim, number or reference
ponytail Writing code Vendored from DietrichGebert/ponytail (MIT): reuse the repo, then the stdlib, then the platform, before new code
ponytail-review Reviewing a diff for over-engineering Same source; lists findings only
ponytail-audit Auditing the whole tree for over-engineering Same source; a ranked list, no edits
sharingan A URL to a skill, workflow or pattern elsewhere that should exist here Runs on Opus 5.5. Fetches the unit at a pinned sha, lets the licence decide vendor, adapt or rewrite, and maps each upstream concept to what Claude Code or marola already has
skill-copy Same as sharingan An alias. human-only
obsidian-vault Saving or resuming a session handoff, or refreshing the marola note in the maintainer's vault Vault at MAROLA_OBSIDIAN_VAULT; usually invisible inside ai-jail. Has evals

Where a vendored skill disagrees with a repo's AGENTS.md, AGENTS.md wins.

Agents

Agent Model Does
mip-reviewer fable Reviews one PR of a MIP task stack against its .tasks.md row and the MIP's scoring and verification sections; reports only gaps that affect correctness or the stated requirement
mip-claims-auditor haiku Read-only: checks a MIP's §4 for unsourced external claims (a price, a count, a licence term, an endpoint) that drive a design decision. Runs only when §4 names such a claim

Hooks and status line

The plugin's three hooks (format.sh, stop-gate.sh, session-start.sh) are on hooks. The status line is not part of the plugin: the flake ships .claude/statusline.sh, which a repo wires as .devkit/.claude/statusline.sh.