Skip to content

Repository files navigation

Meridian

Professional engineering discipline without taking ownership of your workflow.

Meridian gives coding agents one model-independent quality standard, lets projects supply their own customer and repository policy, and applies small model-specific corrections where a model has a repeatable failure mode. It does not route ordinary requests into mandatory planning, review, documentation, or commit pipelines.

How it works

Meridian has four layers:

  1. Professional engineering standard — shared expectations for correctness, evidence, security, maintainability, operability, delivery hygiene, user agency, proportionality, and stopping.
  2. Project policy — your CLAUDE.md, AGENTS.md, and repository instructions define customer, compliance, tooling, deployment, rollback, and artifact requirements.
  3. Model adapters — atomic corrections for observable quirks such as comment narration or recursive reviewing. They change steering, never the quality bar or authorization.
  4. Skills — formal flows are user-owned; narrow engineering disciplines can be selected by the model inside an ordinary task.

The result is deliberately asymmetric: different models may receive different corrective wording, but every model owes the same professional outcome.

Skills

User-invoked flows

These run only when you invoke them. One flow never silently enrolls you in another.

SkillPurpose
brainstormDevelop an idea into an approved implementation spec
sketchProduce a lightweight contract for a small change
executeImplement an approved spec or clear scope with proportionate verification
reviewPerform a focused, report-only code review
documentCapture requested durable engineering knowledge
autoGrant elevated autonomy for reversible, in-scope work

Invoking a flow authorizes its ordinary documented behavior. Separate approval is still required for destructive operations, unrequested external effects, material scope expansion, and unresolved high-cost choices.

Model-invoked disciplines

The model may reach these inside an ordinary task. They are not workflow gates:

SkillPurpose
commitCommit and pull request conventions, and the one-clean-commit flow
debugDiagnose failures from evidence before fixing them
researchVerify unstable external behavior against primary sources
triangulateEscalate contested or load-bearing claims beyond one source
delegateIsolate genuinely independent or context-heavy work
respondEvaluate review feedback while preserving user intent

commit is the exception in this table: it holds conventions and a flow that performs outward actions. The conventions are reachable whenever a commit message or pull request description is being written, including by other skills. Reaching them authorizes nothing: committing, pushing, and opening or editing a pull request sit behind a hard gate and each still require an explicit request.

Model profiles

At session start Meridian injects the professional standard followed by the adapters for the resolved profile. Resolution order is:

  1. MERIDIAN_MODEL_PROFILE
  2. exact model identifier
  3. registered model-family prefix
  4. host-local fallback
  5. baseline standard only

Initial profiles are:

ProfileAdaptersMapped by
claude-opuscomment narration, artifact overproductionclaude-opus- prefix
fablenoneclaude-fable- prefix
solreview recursion, depth escalation, workflow literalism, agreement seekingenvironment override or fallback

Profiles are named for model families rather than single releases, and families are matched by prefix so a later release in a known family keeps its corrections instead of silently dropping to the baseline.

Matching is a plain prefix over the identifier the host reports. A vendor- or region-qualified identifier, such as the us.anthropic. form used by Bedrock, does not match a bare family prefix; use the environment override or a host-local fallback there.

Only model identifiers observed from host payloads or documented by the host are mapped automatically. A model outside a mapped family receives the baseline rather than a guessed profile.

Set a host-local fallback in <state-base>/meridian/config.json:

{
"fallbackProfile": "sol"
}

The state base is host-specific, such as CODEX_HOME for Codex. GitHub Copilot does not currently expose a model identifier in its documented session-start payload, so use the environment override or fallback there.

Installation

Claude Code

/plugin marketplace add KodingDev/meridian
/plugin install meridian@meridian

Cursor

Install Meridian from the Cursor plugin marketplace, or enable third-party skills and install the Claude plugin bundle.

GitHub Copilot CLI and Codex

Install the same plugin bundle through the host's plugin support. Meridian ships host-specific hook manifests where their schemas differ. The session hook is read-only context composition; the existing pre-tool commit guard still blocks AI attribution and staging ignored .meridian/ working artifacts where supported.

Project policy

Use repository instructions for requirements that vary by customer or environment. The included templates/CLAUDE.md provides optional headings for security and compliance, required verification, deployment and rollback, repository artifacts, and allowed tools. Meridian intentionally ships no AWS-, employer-, customer-, or Stella-specific defaults.

Development

pnpm check
node --test test/meridian-hooks.test.mjs

The live evaluation harness is on-demand because it makes paid model calls:

pnpm eval
pnpm eval:view

Credit

Built on ideas from Superpowers by Jesse Vincent and informed by Matt Pocock's user-invoked/model-invoked skill split.

License

MIT

About

🤖 Silly little instructions for my silly little robot

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages