Changelog
Upgrade
npx mewkit upgradeFresh install: npx mewkit init. See Releasing for the full release process. Section schema: each version uses only the relevant sections from Highlights, New Skills, New Agents, New Commands, CLI, Features, Improvements, Removals, Bug Fixes, Beta.
2.10.2 (2026-06-02) — PR Review + Response Skills
Highlights
Two single-purpose PR-collaboration skills join the reviewer's toolkit. mk:review-pr gives a fast shallow verdict on someone else's PR, and mk:respond-pr triages the comments you receive with verify-before-agree discipline. Both are read-only on code and only write to GitHub when you opt in with --reply.
New Skills
| Skill | Purpose |
|---|---|
mk:review-pr | Reviews a GitHub PR with a single shallow correctness/security/breaking/AI-slop checklist and emits a verdict; optionally posts it via gh pr review. |
mk:respond-pr | Triages reviewer comments on a PR with receiving-review discipline — verify each against the codebase, then accept/push-back/clarify, and optionally reply in-thread. |
Migration Notes
- Run
npx mewkit upgradeto pick up the two new skills. - No CLI package version bump is required for this release because the changed commits do not modify
packages/mewkit/src.
2.10.1 (2026-06-02) — Brainstorming Rigor + Prompt Recipes
Highlights
Two planning-adjacent skills get tighter boundaries. mk:brainstorming now challenges its own idea set before recommending, while mk:prompt-enhancer gains recipe-mode routing for architecture-review and research-style prompts without turning into a reviewer or researcher.
Features
mk:prompt-enhancerarchitecture-review recipe —--analyze --deepcan rewrite a draft prompt so it asks for architecture findings with severity, evidence, and decisions-needed while the enhancer itself emits no findings.mk:prompt-enhancerresearch recipe — discovery prompts now get grounding, attention-anchored ordering, and explicit acceptance criteria while leaving actual research tomk:scoutor the downstream agent.mk:prompt-enhancerrecipe canaries — architecture-review and research prompt canaries guard against role confusion, alongside updated eval-suite guidance for manual LLM-judged checks.
Improvements
mk:brainstormingnow runs a challenge pass before recommendation, checking duplicate architectures, hard-constraint violations, category diversity, conservative drift, and missing stakeholder failure modes.mk:brainstormingnow tracks context budget explicitly, keeping scout bridge summaries, rejected alternatives, and handoff packets compact instead of passing full transcripts downstream.mk:brainstormingreports now self-check for problem, binding constraint, success criterion, excluded scope, technique choice, challenge result, recommendation evidence, and handoff completeness.mk:prompt-enhancermode routing is now centralized, with default, analyze, score, deep, architecture-review, and research behavior documented in one reference.mk:prompt-enhancer --deepclarifies that the local scanner is a bounded hint source and broad repository mapping remainsmk:scout.
Migration Notes
- Run
npx mewkit upgradeto pick up the updated skill contracts, reference docs, and canaries. - No CLI package version bump is required for this release because the changed commits do not modify
packages/mewkit/src.
2.9.14 (2026-05-30) — Autobuild Rename + mk:loop
Highlights
The autonomous green-field build pipeline is now mk:autobuild — a name that says what it does — and a new mk:loop skill drives one measurable metric (coverage, bundle size, lint count, latency) toward a target through bounded, git-tracked iterations that keep wins and revert regressions.
New Skills
| Skill | Purpose |
|---|---|
mk:loop | Improve one scalar metric through bounded, boundary-gated iterations — modify one scoped change, verify, keep or git revert. One human approval before the loop, then autonomous up to a hard cap. |
Removals
mk:harnessis renamed tomk:autobuild— the same planner → contract → generator ⇄ evaluator pipeline, clearer name. Invoke it as/mk:autobuild;/mk:harnessno longer resolves.MEOWKIT_HARNESS_MODEis renamed toMEOWKIT_AUTOBUILD_MODE— valuesMINIMAL|FULL|LEANare unchanged.
Migration Notes
- Run
npx mewkit upgradeto pick up the renamed skill, command, and rules. - Replace any
/mk:harnessinvocation with/mk:autobuild. - Replace
MEOWKIT_HARNESS_MODEwithMEOWKIT_AUTOBUILD_MODEin your shell config or CI.MEOWKIT_BUDGET_CAPand--budgetare unchanged.
2.9.13 (2026-05-30) — Fix Gate Parity & Workflow Evidence Index
Highlights
mk:fix now follows the same no-self-approval discipline as the rest of the workflow, and a new MeowKit-native workflow evidence index gives mk:fix, mk:cook, mk:review, and mk:ship a single traceable record of what ran — without ever approving anything itself. Gate 1 and Gate 2 remain human authority.
Features
- Workflow evidence index —
mk:fixandmk:cookpopulate oneworkflow-evidence.jsonper run indexing task, risk flags, diagnosis or contract, verification, verdict path, and approvals; it is traceability only, carries no score, and mirrorsvalidate-gate-1.sh/validate-gate-2.shrather than replacing them. - A zero-dependency validator (
.claude/scripts/validate-workflow-evidence.cjs) checks evidence completeness before approval prompts; the contract lives in.claude/rules-conditional/workflow-evidence-rules.mdand loads on demand, adding no always-on context. mk:shippre-flight reads the evidence index when present — aftermk:verify, which keeps abort authority — and surfaces approvals, verdict, and verification as proof; absent evidence ships exactly as before.
Improvements
mk:fix --autono longer self-approves from a review score — it auto-fixes blocking issues up to the cycle limit, then stops at ready for user approval, and crossing Gate 2 or a ship boundary always requires explicit human approval.mk:fixadds a six-field root-cause proof checkpoint (HARD GATE) before implementation — exact symptom, deterministic reproduction, expected vs actual, root cause withfile:line, why now, blast radius — with a compact one-phrase form for--quick.mk:cookrecords evidence across Phase 0-6 from outputs that already exist with no new phase or gate, and--autowording is clarified — automatic execution between gates, never automatic Gate 2 approval.mk:reviewrecords the verdict path in the evidence index; the verdict and side-effect behavior are unchanged.
Migration Notes
- If you relied on
mk:fix --autoproceeding past review automatically on a high score, you now confirm at the ready for user approval checkpoint — no flag change is required, only the approval step is now explicit. - Standalone standard/complex
mk:fixruns now require the six root-cause fields before a fix is applied; simple and--quickfixes use the compact form and are otherwise unaffected.
2.9.12 (2026-05-30) — JSON-first memory + observability cleanup
Highlights
Curated project memory is now JSON-first — the .json stores are the canonical, schema-validated source and human-readable Markdown is generated from them. The conversation-summary subsystem is retired, so long-session continuity relies on the host runtime's native compaction, and observability consolidates on a single canonical trace stream.
CLI
mewkit memory validate— schema-validate the curated memory stores;--strictexits non-zero on errors.mewkit memory seed-from-md— populate the JSON stores from existing Markdown topic files, run once after upgrading.mewkit memory render-views— regenerate the human-readableviews/*.mdfrom the canonical JSON.mewkit verdict-gate <slug>— validate a review verdict's machine-readable proof bundle; blocks on a blocked, invalid, or missing verdict.mewkit doctor --statenow reports curated-memory health alongside the runtime-state checks.
Features
- Memory consumers read the
.jsonstore first and fall back to Markdown only when it is absent, warning when the two diverge. - Security findings are now a curated JSON store —
security-findings.json. mk:reviewemits a schema-validatedtasks/reviews/<slug>-verdict.jsonproof bundle alongside the human verdict.
Improvements
trace-log.jsonlis documented as the single canonical event stream — reader-less debug telemetry is gated behindMEOWKIT_HOOK_DEBUG.- Generated Markdown views carry a "generated — do not edit" banner so the JSON stays the source of truth.
Removals
- Removed the conversation-summary subsystem — the
/mk:summarycommand, the summary cache hook, and theMEOWKIT_SUMMARY_*environment variables are gone, and long-session continuity is now handled automatically by the host runtime's native compaction. - Removed the inert
cost-meter.shhook — per-call cost tracking is handled by the budget tracker. - Removed the archived
lessons.mdand deprecatedpatterns.jsonstubs.
Migration Notes
npx mewkit upgradeto pick up the new memory layout.- Run
mewkit memory seed-from-mdonce to migrate existing Markdown memory into the JSON stores. - If you relied on
/mk:summaryor anyMEOWKIT_SUMMARY_*variable, remove them — continuity is now automatic.
2.9.11 (2026-05-24) — Plan-creator mode clarity
Highlights
Plan creation now has clearer mode and flag boundaries. --deep is documented and wired as bounded phase-scoped planning, while --tdd remains an independent opt-in flag for regression-first execution handoff.
Improvements
mk:plan-creator --deepnow documents bounded scope maps and per-phase Deep Phase Maps instead of implying unrestricted repository scanning.mk:plan-creator --tddnow documentstdd: true,regression_gate,Tests Before,Protected Change,Tests After, andRegression Gateas the regression-first phase contract.- TDD handoff now keeps strict execution explicit by printing cook commands with
--tddwhen the plan was created with TDD enabled. - Cook now warns when a plan contains TDD markers but execution starts without
--tddorMEOWKIT_TDD=1. - Scout, brainstorming, and planning boundaries are clearer: scout finds context, brainstorming chooses an approach, and plan-creator turns a concrete approach into executable phases.
- New Core Concepts page "Plan Creator Modes and Flags" explains planning cost, context impact, mode selection, composable flags, lifecycle boundaries, examples, migration notes, and anti-patterns.
- Plan-creator reference docs now describe
--deepand--tddusing the same bounded, runtime-neutral terms as the skill implementation.
Migration Notes
- Use
npx mewkit upgradeto pick up the updated skill contracts and docs. - Keep using
/mk:plan --deep --tddonly when both risks apply: broad scope and existing behavior that must be preserved. - If a TDD plan prints a cook command with
--tdd, run that exact command so RED-first execution is enforced.
2.9.10 (2026-05-23) — Skill portability + cook context-engineering + provider diagnostics
Highlights
Three workstreams ship together. First, four skills (mk:docs-finder, mk:autobuild, mk:plan-creator, mk:scout) gain a meowkit: frontmatter block declaring portability policy (portability, providers, requires.{surfaces,commands,env}, context_cost) — the first-pass schema that lets the migrate subsystem decide whether each skill can install onto a non-Claude provider. Second, the migrate CLI grows provider-contract diagnostics — a new provider-contract-diagnostics module surfaces support gaps per provider, wired into npx mewkit doctor --providers, npx mewkit doctor --state, and npx mewkit validate --portable; first-pass skill providers expand to Codex, Gemini CLI, Antigravity, and OpenCode in addition to Claude Code. Third, mk:cook gains three new context-engineering contracts — a scout-first contract at Phase 0 (3–6 bullet codebase summary surfaced before any clarifying question), an exact-requirements contract at Phase 1 (5 dimensions must be answered before plan-creator returns), and a no-side-effects regression-recovery pattern at Gate 2 (2–4 typed options presented to the user when a regression is surfaced instead of silently patching). All changes are additive — pre-upgrade plans, verdicts, sessions, and skills without the meowkit: block continue to work unchanged.
Features
meowkit:frontmatter block on skill SKILL.md — first-pass portability schema with fieldsportability(generic/provider-adapted/provider-only),providers.{include,exclude},requires.{surfaces,commands,env}, andcontext_cost(low/medium/high). Parsed byparsePortabilityPolicy()inskills-discovery.tsand consumed byportability-policy.tsto decide install eligibility per provider. Skills without the block continue to migrate under the existing pre-policy heuristics.- First-pass skill providers —
portability-policy.tsenables skill installation for Codex, Gemini CLI, Antigravity, and OpenCode in addition to Claude Code. Skills withproviders.include: [claude-code]only continue to install for Claude Code; other providers receive aPortabilitySkipwith reason "needs review before non-Claude install". - 4 first-pass skills carry the new metadata —
mk:docs-finder(provider-only, claude-code, surfaces: [skills], commands: [Bash], context_cost: medium),mk:scout(provider-only, claude-code, commands: [Agent, Grep, Glob], context_cost: medium),mk:plan-creator(provider-only, claude-code, commands: [Agent, AskUserQuestion, Bash], context_cost: high),mk:autobuild(provider-only, claude-code, commands: [Agent, AskUserQuestion, Bash], env: [CLAUDE_PROJECT_DIR], context_cost: high). - New module
migrate/provider-contract-diagnostics.ts— collects provider-support diagnostics withpass/warn/failseverities, exposescollectProviderContractDiagnostics()+summarizeProviderContractDiagnostics(). - New cook contracts — Scout-First Contract (Phase 0 codebase-summary presentation) and Exact-Requirements Contract (Phase 1 plan-creator must answer expected output / acceptance criteria / scope boundary / non-negotiable constraints / touchpoints), with skip-on-plan-path notes. Plan-creator SKILL.md gained a matching Requirements Capture Contract section enumerating the 5 dimensions and the scout-grounded-options rule.
- New cook regression-recovery contract —
Side Effects Detected: Yesreviewer signal recognized byvalidate-gate-2.sh. Blocks Gate 2 until a## User Decision Addendumblock (User selected:+Resumption point:) is appended. Positive-presence-only — absence of the field is never a block signal, so pre-upgrade verdicts validate unchanged. - New "Regression Recovery Options" subsection in
mk:cook/references/review-cycle.md— 5-step procedure with 4 standard options (revert + re-plan / keep + update dependents / compatibility shim / accept the regression). - New top-level shared rule
.claude/rules/anti-rationalization.md— generic implementation-phase rationalizations migrated frommk:cook/SKILL.md, which retains a 1-row TDD-specific extension.
CLI
npx mewkit doctor --providers— runs provider-contract diagnostics alongside the standard doctor checks. Wraps the newcollectProviderContractDiagnostics()output into the doctor report.npx mewkit doctor --state— emits state-taxonomy diagnostics.npx mewkit validate --portable— adds portable-provider contract checks to the validate pipeline.- Top-level CLI help (
mewkit --help) now lists the three new flags above.
Improvements
mk:cook/SKILL.mdWorkflow Modes table demoted from 5 columns to 3 (Mode / Research / TDD) — canonical 6-column mode-behaviors matrix lives inmk:cook/references/intent-detection.md. Gate 2 absolutism statement collapsed to a 1-line callback to.claude/rules/gate-rules.mdacross SKILL.md, intent-detection.md, workflow-steps.md (review-cycle.md preserved inline for iteration-loop context).- TDD column labels unified to
RED-strict/Plan-level/Skipacross cook SKILL.md, intent-detection.md, workflow-steps.md. - Phase 5 ship subagent renamed in cook SKILL.md, workflow-steps.md, and subagent-patterns.md from
git-manager via mk:shiptoshipper via mk:ship— shipper orchestrates the full pre-ship pipeline and invokes git-manager internally. mk:cook/references/subagent-patterns.mdgained a Standard Delegation Skeleton (9-field block perorchestration-rules.md) at the top and aScope: pass X / do NOT pass Yannotation on each of the 13 template sections (isolation-boundary contract perorchestration-rules.mdIsolation Boundaries).validate-gate-1.shruns as an advisory preflight in non-auto cook modes (surfaces structural-check failures to the user before Gate 1 prompt; user retains override) and remains a blocking gate in--automode.- Cook SKILL.md Mermaid diagram edge labels quoted (
|"--verify"|,|"--strict"|) for renderer compatibility. mk:cook/references/failure-catalog.mdgained 4 new failure modes — skipped scout summary, vague clarifying questions, scout-first gate fired on plan-path input, silent patch on review-detected regression.migrate/portability-policy.tswidens skill-skip signal detection —.claudepaths,CLAUDE.mdreferences,mk/meowslash commands, Claude env vars, Anthropic env vars, and orchestrator-semantics references all trigger skip-with-reason when migrating to non-Claude providers.core/smart-update.tsandcore/compute-checksums.tsrefined for the new portability flow.migrate/migrate-orchestrator.tsintegrates the new portability policy + diagnostics path.
Bug Fixes
- USD pricing on cook
--verify/--strictflags removed from cook SKILL.md, intent-detection.md, workflow-steps.md — replaced with[LIGHT]/[HEAVY]relative-cost labels and a one-line variability note (concrete cost depends on inner harness, model tier, and target surface). - Inner-harness Mermaid rendering preamble removed from cook SKILL.md (diagram authority is independent of rendering fidelity).
- Phase 4.5 subagent column reframed from
agent-browser or curltobrowser-automation subagent or HTTP verification tool— concrete subagent name depends on installed skill set. - ToC anchors in
mk:cook/references/workflow-steps.mdandsubagent-patterns.mdupdated to match renamed Gate 2 / Phase 4.5 / Ship section headers.
Migration Notes
npx mewkit upgradeto pick up the new gates and CLI flags.- Skills WITHOUT a
meowkit:frontmatter block continue to migrate under existing pre-policy heuristics — no immediate action required. To opt-in to first-pass portability, add ameowkit:block declaringportability,providers,requires, andcontext_cost; see the 4 first-pass skills for examples. - New cook gates (scout-first, exact-requirements) apply only when starting from a fresh task description. Plan-path invocations (
/mk:cook tasks/plans/.../plan.md) skip both gates explicitly. - The new validate-gate-2.sh side-effect signal is positive-presence-only — existing verdicts without
Side Effects Detected: Yescontinue to pass unchanged.
2.9.9 (2026-05-23) — Plan-creator determinism + handoff
Highlights
mk:plan-creator gains a deterministic post-approval handoff and two consistency-sweep gates so red-team and validation-interview edits cannot leave the rest of the plan inconsistent. After Gate 1 + task hydration, the skill fires an AskUserQuestion whose options are pruned to the gates not already auto-run in the active mode (cook / validate / red-team / harness / end), writes the choice to plan.md frontmatter as a typed enum, and STOPs without auto-invoking. The validator now rejects unknown handoff.next values. Static AskUserQuestion JSON in seven step / reference files becomes a "Recommend When" decision table; runtime-templated payloads stay as JSON because they carry substitution variables a table cannot express.
Features
- New step file
step-09-post-plan-handoff.md— runs after task hydration. Mode-pruned options (≤4), live risk re-scan over plan content forrisk-checklist.mdtrigger keywords, defensive fallback advisory whenmatched_flagsis unset, writeshandoff: { next, decided_at }toplan.mdfrontmatter. - New gates Whole-Plan Consistency Sweep — Gate W1 at the end of
step-05-red-team.md, Gate W2 at the end ofstep-06-validation-interview.md. Stage-then-apply algorithm: read-only Pass 1 stages### Pending Sweep Editsblock; decision check blocks on unresolved contradictions viaAskUserQuestion; write Pass 2 applies edits, writes summary, updatesconsistency_sweeps.{red_team|validation}frontmatter. Recursion bound: 2 resolve attempts per gate. Seereferences/whole-plan-sweep.md. - New step-04 sub-step Verification Roles — Fact Checker / Flow Tracer / Scope Auditor / Contract Verifier dispatched as READ-ONLY parallel
Exploresubagents, tier auto-selected by phase count (Light 1–2 / Standard 3–4 / Full 5+). Orchestrator aggregates verdicts and writes ONE## Verification LogEdit per phase file. Skipped in fast / product-level modes. FAILED claims surface as targeted step-06 interview questions. Seereferences/verification-roles.md. validate-plan.pyenforceshandoff.nextenum when thehandoff:frontmatter block is present. Plans withouthandoff:continue to validate..plan-state.jsonv1.2 — additive schema bump adding optionalverification_tierandconsistency_sweeps_passed. v1.1 readers ignore unknown keys; v1.2 readers default missing keys.
Improvements
- Seven static
AskUserQuestionJSON blocks acrossstep-00-scope-challenge.md,step-07-gate.md,references/gate-1-approval.md, andreferences/archive-workflow.mdconverted to "Option / Recommend When / Why" decision tables matching theck-planPost-Plan Handoff pattern. Runtime-templated and looped payloads (per-finding loop, file-content embedding, fully generated question text) stay as JSON. references/phase-template.mddocuments## Verification Logand## Validation Logas machine-written, optional sections; hand-edit anti-pattern added.references/gate-1-approval.mdContext Reminder block moved from step-07 to step-09 (fires AFTER the user picks a next-step option, not on Gate 1 approval); contradictory step-07 instruction reconciled.
Migration Notes
- Legacy plans without
handoff,consistency_sweeps,## Validation Log, or## Verification Logcontinue to validate asPLAN_COMPLETE. No migration tool required. - Fixtures live at
tests/fixtures/plan-creator/covering legacy / modernized / partial / interrupted-sweep / handoff-invalid-enum states; runnable viabash tests/fixtures/plan-creator/validate-fixtures.sh.
2.9.8 (2026-05-23) — Memory system deep fix
Highlights
Four verified failures in the memory pipeline removed: last-model-id.txt now persists the real model id, /mk:fix reliably writes its Step 6 entry, the ##pattern: / ##decision: / ##note: capture surface is finally documented as a user-typed keyboard shortcut (the handler never fired on agent output), and analyst.md writes to the v2.4.1 split topic files instead of the deprecated patterns.json / lessons.md stubs.
Bug Fixes
last-model-id.txtalways wroteunknown—post-session.shwas reading env vars (CLAUDE_MODEL,MEOWKIT_MODEL_HINT,ANTHROPIC_MODEL) that Claude Code never exports to Stop-hook subprocesses. Newhooks/lib/resolve-model.shresolves the model id fromsession-state/detected-model.json(the canonical source) with env-var fallback.cost-log.jsonentries andtrace-log.jsonlsession-end events now carry the real model id./mk:fixStep 6 memory write path is now enforced — the command spec previously had no memory write instructions andPhase 6 / Reflectonly ran in/mk:cook. New entries land in bothfixes.mdandfixes.json(withfrequency: 1and today'slastSeen).- Agent files instructing
##pattern:/##decision:/##note:capture were architecturally broken — the handler is bound toUserPromptSubmitand never fires on agent output. 41 files patched (23 agents + 16 skills + 1 command +docs/memory-system.md) to use directEditcalls instead. Existing user-typed##prefix:flow is unchanged. analyst.mdagent wrote topatterns.json(deprecated stub) andlessons.md(archived stub) — Phase 6 entries were functionally lost. Now targetsfixes.{json,md},review-patterns.{json,md},architecture-decisions.{json,md}per the v2.4.1 schema.
Improvements
- New reference doc
.claude/skills/memory/references/capture-architecture.md— the canonical 2-path contract describing user-typed##prefix:vs agent-authored directEdit. Referenced from every patched agent and skill. docs/memory-system.md§3a clarified that the##prefix:handler does NOT fire on agent output; new §3d added describing the agent-direct write path; §8 tombstone gains rows for "Agent-output##prefix:as API" and "patterns.json/lessons.mdas active write targets".mk:memorySKILL.md gains a "How session-capture is invoked" section clarifying the routine is prose-driven (the agent readsreferences/session-capture.mdand follows its steps viaEdit) — there is nomewkit memory session-captureCLI subcommand.- New
tests/resolve-model.test.sh— 7 cases covering happy path, missing file, malformed JSON, literal "unknown" fall-through, env-hint override, file-wins-over-env precedence, and shell-metachar sanitization. - New
tests/spec-drift.test.sh— regression gate ensuring no agent/skill/command file re-introduces##prefix:as an agent-output instruction or writes to the deprecatedpatterns.json/lessons.mdstubs.
Removals
patterns.jsonandlessons.mdremain on disk as gravestone stubs; their write-target status was already removed in v2.4.1 and is now also enforced viaspec-drift.test.sh. Scheduled for deletion in v2.12.0 — external skills writing to either should migrate to the split topic files before then.
2.9.7 (2026-05-16) — Docs reference contract + validator
Highlights
.claude/ shipped into downstream projects used to leak path references into the kit's own internal docs (docs/dead-weight-audit.md, docs/red-team-overview.md, docs/memory-system.md, etc.) that do not ship via the release zip. This release formalizes the two-tier docs-reference contract, patches every leaked path, and adds a validator that prevents future regressions. Downstream projects no longer carry broken cross-references inside their installed .claude/.
CLI
npx mewkit validate— new check: "Docs references on Type-1 allowlist". Walks every shipped.claude/subdir, extractsdocs/<path>references, and verifies each against the Type-1 allowlist in.claude/rules/docs-reference-contract.md. Exit code 1 on any error.
Features
- New rule
.claude/rules/docs-reference-contract.md— codifies the two-tier resolution model (target-project docs vs kit-internal docs), the Type-1 allowlist (parsed from a fenced<!-- ALLOWLIST-START -->block as the single source of truth), and the skill-author checklist. - New rule
.claude/rules/dead-weight-audit-rules.md— 8 numbered rules covering audit cadence, the benchmark-driven measurement process, decision thresholds (PRUNE / WATCH / KEEP), components that never prune, anti-patterns, and the circular-dependency workaround when the harness itself is under test. - New rule in
skill-authoring-rules.mdRule 5 — Docs References Follow the Two-Tier Contract; enforced mechanically by the validator. - New CI step
Validate docs references on Type-1 allowlist— runspython3 .claude/scripts/check-docs-references.py .claudeon every PR. - New CI step
Unit-test docs-references validator— runs the 15-case parser/matcher test suite.
Improvements
- 14 path references inside
.claude/were re-pointed at in-kit rule files or inlined directly into the consuming context — coversbenchmark/SKILL.md,harness/references/adaptive-density-matrix.md,harness-rules.md,agents/reviewer.md,commands/mk/summary.md,memory/architecture-decisions.md,hooks/HOOKS_INDEX.md,scripts/lint-brand-prose.sh,benchmarks/README.md, three attribution citations (prompt-enhancer, elicit, jira), and one template placeholder (plan-creator/references/phase-template.md). - Five false-positive source rewrites cleaned up: slash-separated category list in
scale-routing/SKILL.md, CSV example inlazy-agent-loader/SKILL.md, example filename inagent-browser/references/video-recording.md, attribution prose injira-issue/references/issue-templates.md, heading text inplan-ceo-review/references/post-review.md, plus two scheme-prefixed URL fixes inhooks/HOOKS_INDEX.mdandhooks/lib/read-hook-input.sh. - Phase-template placeholder
../../../docs/relevant-doc.mdbecomes<path-to-related-doc-in-your-project>so new phase files emit a clean placeholder by default.
Removals
- Bare
docs/relevant-doc.mdfrom the Type-1 allowlist — the phase-template now uses an angle-bracket placeholder, so the literal allowlist entry is no longer needed. No migration action required.
2.9.6 (2026-05-16) — Context isolation: SessionStart budgeting, agent-detector sentinel, memory auto-prune
Highlights
SessionStart and per-message context costs cut without changing the safety contract. docs/project-context.md gains a byte cap before injection; the agent-detector skips its 10-file rule re-read on turns 2..N via a session-scoped sentinel; memory .md topic files auto-prune entries older than 90 days on Stop. Combined: ~9,700 tokens saved per turn after turn 1 on a typical session, plus a hard cap at SessionStart on repos with oversized project-context.md.
New Commands
/mk:delegate— assembles a context-isolated subagent prompt from theorchestration-rules.mdtemplate. Wizards through 7 required fields, runs an injection-pattern guard on each user-provided field, and emits a ≤200-token prompt block for review before the Task tool is invoked.--silentmode skips the interactive wizard for inner harnesses that do not supportAskUserQuestion. Distinct frommk:spawn(which launches parallel agents in isolated worktrees).
Features
- Env var
MEOWKIT_MAX_PROJECT_CONTEXT_BYTES— pre-injection byte cap ondocs/project-context.mdat SessionStart. Default12288(~12 KB ≈ ~3K tokens). Files over the cap are truncated with a visible warning beforecat; files over 2× the cap emit a stronger warning.0disables the cap entirely. - Env var
MEOWKIT_SKIP_SAFETY_SENTINEL— controls the agent-detector cached-marker optimization. Defaultonskips the 10-file safety + phase-zero rule Read on turns 2..N of a session.offforces the full check every turn. - Env var
MEOWKIT_MEMORY_PRUNE— auto-prune of stale.mdtopic-file entries on Stop. Defaulton. Entries older than 90 days with a parseableYYYY-MM-DDheader date are removed; entries withseverity: criticalorseverity: securityare NEVER pruned; entries without a parseable date are NEVER pruned (protects manual notes). - Env var
MEOWKIT_MEMORY_PRUNE_AGE_DAYS— overrides the 90-day cutoff for memory auto-prune. - Memory directory size audit —
project-context-loader.shnow reports any.claude/memory/*.mdfile exceeding 500 lines in the agent-readiness banner.
Improvements
orchestration-rules.mdgains three new sections — Isolation Boundaries (5-row table of what crosses each layer and what does NOT), Inner Harness Compatibility (capability matrix: Task tool surface, context auto-injection root, SubagentStart hook availability), and Rejected Patterns (deliberate non-implementations with reasoning).mk:agent-detectorstep-0 and step-0b first scan the context window for a cached-sentinel marker before invoking the 10-file Read loop. The marker is emitted by a newUserPromptSubmithandler when a session-scoped JSONL log records both flagssafetyandphase_zeroas true. The skill remainsallowed-tools: [Read]— all filesystem ops live in hook context.post-session.shmodel-change detection now writes## YYYY-MM-DD — dead-weight-audit-needed (auto-flagged)headers so the auto-prune script can parse and eventually rotate them.- Single state file
session-state/session-sentinels.jsonlreplaces per-session-ID sentinel files. Truncated on session change. session-state/prune-log.mdrecords pruned counts as{file} | {date} | {N} entries pruned— no entry content, breaking theinjection-rules.mdRule 11 carrier chain for memory data.
2.9.5 (2026-05-14) — mk:worktree script backing and new commands
Improvements
mk:worktreeis now backed by a Node.js CLI (scripts/worktree.cjs+scripts/lib/worktree-git-helpers.cjs). All 6 commands emit structured JSON (--json) and support--dry-runfor safe previewing.- New
statuscommand: health audit of all active worktrees showing ahead/behind divergence and dirty state for each. - New
prunecommand: removes stale.git/worktrees/metadata left by manually-deleted worktrees; always dry-run first. - New
--orchestratedflag oncreate: places the worktree at.worktrees/{agent-name}on aparallel/{agent-name}-{timestamp}branch perparallel-execution-rules.mdRule 3. - New
references/commands.md: full option tables, JSON field docs, and error code reference for all 6 commands. - SKILL.md updated to document all 6 actions with script invocations, a
## Gotchassection, and compliance withskill-authoring-rules.md.
2.9.4 (2026-05-11) — Agent rules and TOON agent docs
Improvements
- Added a docs reference for MeowKit agent rules covering status handoffs, context loading, agent naming, search-before-building, and file ownership.
- Converted uniform
.claude/agentsmatrices to TOON blocks so agent registries, operations tables, safety tiers, and review checklists stay compact without changing their stated values. - Updated release documentation to include the 2.9.4 release entry.
2.9.3 (2026-05-11) — Optimize rules
Apply Token-Oriented Object Notation (TOON) to rules. Dropped ~26,288 → ~23,234 tokens (~3,054 saved, 11.6%)
2.9.2 (2026-05-11) — Spec-to-tech-breakdown orchestrator
Highlights
/mk:breakdown ships as a thin skill-composing command that takes any spec source — Confluence URL, Jira KEY, GitHub issue, Linear ticket, file, or paste — and produces refined user stories, optional per-story Jira tickets, and a codebase-aware tech breakdown report. Stops cleanly before plan creation so the user runs /mk:plan later with the report as context. Closes the manual 4-skill chaining gap between spec analysis and planning.
New Commands
/mk:breakdown <source> [--source <type>] [--project <KEY>]— orchestratesmk:confluence-spec-analyst(ormk:intakefor non-Confluence sources) → story decomposition → per-storyAskUserQuestiongate →mk:jira-issue createper acceptance →mk:planning-engine plan --tickets→ consolidatedtasks/reports/breakdown-{YYMMDD}-{slug}.md. Per-story options: Create / Edit-then-create / Skip / Skip-all-remaining. HonorsEXT_SYSTEMgate — human confirmation precedes every Jira write.
Improvements
/mk:meowStep 2 heuristics table routes "break down spec", "decompose spec", "spec to stories", andbreakdown <source>phrasing to the new command.- Footer logic emits one of five state-specific next-action messages — covers Jira-not-configured,
--projectmissing, partial spec (Confluence child-page failures), tech breakdown skipped, and the happy path with cross-link to the planning report.
2.9.1 (2026-05-11) — Brand-prose neutralization for migrate targets
Highlights
mewkit migrate codex|kiro|cursor now strips narrative "MeowKit" / "Claude Code" / non-citation "Anthropic" prose at converter time and substitutes the target name. The merged Codex/Kiro AGENTS.md header no longer leaks "MeowKit" branding. Toolkit identifiers (mk:, MEOW_*, npx mewkit, hook event names) stay verbatim. A markdown-only lint guard prevents source regressions, gated in CI on every PR.
CLI
md-stripconverter accepts a newtargetNameoption and substitutes "Claude Code" → target display name when set (e.g. "Codex", "Kiro IDE", "Cursor"); falls back to "the host runtime" otherwise.fm-stripmerged-agents header rewritten —> Ported from the toolkit via mewkit migratereplaces the hardcoded "MeowKit agents" string.- Citation-aware skip preserves
<!-- research-citation -->marker,research/thesiskeyword windows, and blockquote-style citations. - All
stripClaudeRefscallers (md-to-mdc,md-to-kiro-steering,fm-strip) now pass the provider display name through.
Features
- New lint guard
.claude/scripts/lint-brand-prose.sh(orchestrator) +.claude/scripts/check-anthropic-context.py(single source-of-truth check) — runs in under 1 second on the full tree. - CI step
Lint brand prose in .claude markdownblocks PRs that reintroduce banned narrative prose. - New
.claude/.brand-allowlist.txtfor toolkit-internal index/log headers, with a 30-entry ceiling. - New
docs/branding-style-guide.md— single-page reference with before/after examples and the documentedOn Claude Code, …factual-prefix form.
Improvements
- Source cleanup across
.claude/markdown — narrative "MeowKit" / "Claude Code" prose neutralized in rules, skills, commands, hook references, and benchmark canaries. ~47 hits rewritten. - Code emitters
statusline.cjs,scripts/memory-migrator.cjs, andhooks/project-context-loader.shuse neutral strings instead of "MeowKit" in user-visible output. - One non-citation "per Anthropic's documented behavior" phrase in
rules/skill-authoring-rules.mdrewritten to "per the runtime's plugin contract".
2.9.0 (2026-05-11) — Pre-ticket story sizing
Highlights
mk:story-sizer ships as MeowKit's first pre-ticket sizing skill — accepts a paste-mode markdown block of stories, produces per-story Fibonacci complexity + rough sizing, and optionally batch-creates tickets via mk:jira-issue and mk:jira-collaborate (--internal audit comments) with mandatory dry-run + single confirmation gate. Closes the spec → ticket-creation gap without violating the "AI provides signals, humans decide" design. v1 ships paste-only; spec/intake adapters are deferred.
New Skills
| Skill | Purpose |
|---|---|
mk:story-sizer | Pre-ticket per-story Fibonacci sizing from paste-mode input. Default read-only; opt-in --auto-create with mandatory batch dry-run + single confirmation. |
New Agents
story-sizer— Heuristic complexity + Fibonacci scoring agent. Read-only at the Jira side — delegates create/comment tomk:jira-issueandmk:jira-collaborate.
Features
--pasteinput adapter with strict markdown template and per-story AC validation.- Optional
--scoutextracts codebase context from session (matchesmk:planning-engineextract-or-prompt pattern; never auto-invokes). - Advisory split detection for stories sized 13+ points.
- Audit comments use
--internalflag onmk:jira-collaborate add-comment(team-only, not customer-facing). - Audit comment template customizable via
MEOWKIT_STORY_SIZER_COMMENT_TEMPLATEenv var. - Workflow page updated —
spec-to-pr-walkthroughgains Step 3.5.
Improvements
- The 10-step Spec → PR walkthrough now has a concrete pre-ticket sizing step, not just a feasibility-scan handwave.
2.8.7 (2026-05-11) — Agile/Scrum Rule Layer
Highlights
Adds a thin, conditionally-loaded Agile/Scrum governance layer covering Definition of Ready, Definition of Done with Jira sync, sprint-goal persistence, mid-sprint amendment ceremony, sprint-close hygiene, retro→action loop, and time-boxed spike governance. Three rules in .claude/rules-conditional/agile-*.md load via mk:agent-detector Step 0b ONLY when an Agile context is detected. Non-Agile sessions pay zero context cost — no new agents, no new hooks, no new gates.
New Conditional Rules
| Rule | Purpose |
|---|---|
agile-story-gates.md | DoR (Phase 1 entry) + DoD (Gate 2 PASS) + traceability frontmatter contract |
agile-sprint-commitment.md | Sprint goal persistence, mid-sprint amendment ceremony, sprint close hygiene |
agile-feedback-cycle.md | Retro action-item ceremony, spike governance (timebox + findings doc) |
Skill Integrations
mk:plan-creator— DoR advisory at Phase 1 entry; new--spike --timebox <duration>flag with two-phase spike template (assets/spike-plan-template.md); rejects--spike --product-leveland--spike+mk:autobuildFULLmk:sprint-contract— newsprint-goalsubcommand (set/show/align) writing totasks/contracts/sprint-state-{date}-sprint-{N}.mdwithflockdiscipline; newassets/sprint-state-template.mdmk:retro— post-narrative action-item ceremony parsing## 3 Things to Improveand## 3 Habits for Next Week; per-item AskUserQuestion (Create Jira story / Add to plan TODO / Document as no-action / Defer)mk:jira-agile—sprint add/removepost-start:flock+ amendment append + reason prompt;sprint close: per-ticket disposition prompt + closure summarymk:ship— Gate 2 PASS path early-return guard (preserves zero-cost for non-Agile) + 3 opt-in DoD prompts (verdict→Jira comment, status transition, business AC checkbox); covers themk:cook→mk:shipchain in one insertionproject-manageragent — Jira-aware status enrichment via singlemk:jira-searchJQL aggregation when Agile context active
Agile Context Detection (OR-logic)
Any one match triggers load of all 3 rules at mk:agent-detector Step 0b:
- Glob
tasks/contracts/sprint-state-*-sprint-*.mdreturns ≥1 result - Active plan frontmatter has non-empty
jira_tickets: MEOW_JIRA_BASE_URLenv var set- Last user message matches
[A-Z]{2,10}-\d+
Pre-flight check defends against drift: if .claude/rules-conditional/ directory is absent, the load is skipped silently.
Architecture Notes
- Plan-as-source-of-truth retained; Jira receives projections only (verdict comment, status transition) — never authoritative
- Sprint-state contract path uses leading
sprint-state-prefix to prevent glob collision with the existingcheck-contract-signed.shglob - Spike plans are INCOMPATIBLE with
mk:autobuildFULL density (harness gate breaks); usemk:cookormk:plan-creator --fast - Concurrent-write safety:
mk:jira-agileandmk:sprint-contract sprint-goal setMUST acquireflockbefore any read-modify-write on sprint-state files
ADR: docs/architecture/adr/260511-agile-scrum-conditional-rule-layer.md. Plan: plans/260510-2333-agile-scrum-rule-layer-design/.
2.8.6 (2026-05-10) — Align rules
Improvements
- Generalized generated runtime assets and aligned rule prose across
.claude/rules/,.claude/agents/, and.claude/commands/mk/so wording, role labels, and cross-references match the post-2.8.5 namespace and folder layout.
2.8.5 (2026-05-10) — Rules Folder Reconsolidation + mk:preview
Highlights
Two threads land together. The five Phase-Zero conditional rule files move back into .claude/rules/, simplifying the rule-availability validator and the upgrade orphan-cleanup pass. Alongside that, mk:preview ships as a native MeowKit visual generator — markdown and self-contained HTML for explanations, diagrams, slide decks, git diffs, and plan rendering — with a mandatory theme toggle, anti-slop guarantees, and zero new package dependencies.
New Skills
| Skill | Purpose |
|---|---|
mk:preview | Generate visual artifacts — markdown or self-contained HTML — for explanations, diagrams, slide decks, git diffs, and plan rendering. Display only; not for plan critique. |
Features
- 9 modes total — 4 markdown (
--explain,--diagram,--slides,--ascii) + 5 HTML (--html --explain,--html --diagram,--html --slides,--html --diff,--html --plan-review). - Mandatory theme toggle on every HTML artifact, persisted via localStorage with OS-preference fallback on first load.
- Zoom and pan engine for diagram pages — mouse wheel cursor-anchored zoom, drag pan, keyboard
+ − 0. - Slide engine for
--html --slides— scroll-snap + IntersectionObserver + arrow-key nav + bottom progress dots. - Plan-aware output paths —
tasks/plans/{slug}/visuals/when an active plan exists,tasks/visuals/fallback. Readssession-state/active-plan; handles both absolute-path and slug formats; falls back loudly with stderrwarn:. - Style rotation — palette and typography vary per run via
${CLAUDE_PLUGIN_DATA}/preview/style-rotation.json; deterministic-hash fallback when env var is unset. - 4 clean-room HTML templates in
assets/— architecture, mermaid-flowchart, slide-deck, data-table — each carrying a clean-room provenance comment. - New embedded reference
references/mermaid-essentials.md(≤ 120 lines) — pinned Mermaid v11.4.1, init pattern,.nodeclass trap, layout-direction guidance, color rules. Loaded by 4 other Mermaid-emitting skills via a one-line directive (mk:cook,mk:plan-ceo-review,mk:problem-solving,mk:jira-relationships). --html --diffPR mode pipesgh pr diffthrough.claude/hooks/lib/secret-scrub.shbefore HTML interpolation; topic strings are HTML-encoded per element / attribute / CSS / JS context.
Improvements
- The five Phase-Zero conditional rule files (
agent-routing.md,model-selection-rules.md,phase-contracts.md,risk-checklist.md,scale-adaptive-rules.md) move from.claude/rules-conditional/back to.claude/rules/. They keep the same Phase-0 conditional load semantics (read explicitly bymk:agent-detectorStep 0b — NOT auto-loaded by Claude Code's directory mechanism), but live alongside the always-on rules so the orphan-cleanup pass and the rule-availability validator see them as a single tree. scripts/validate-rule-availability.shregex simplified — drops the(-conditional)?group now that the legacy path is gone.mk:cook,mk:plan-ceo-review,mk:problem-solving,mk:jira-relationshipseach gain a one-line directive pointing atmk:preview/references/mermaid-essentials.mdbefore any Mermaid emission.SKILLS_INDEX.mdregistersmk:previewunder "Cross-Cutting (Any Phase)".
Bug Fixes
mewkit upgradeorphan-cleanup pass was blind to.claude/rules-conditional/—DEFAULT_ORPHAN_SCOPESonly listedrules,skills,agents,hooks. After this release, the scope list also coversrules-conditionalas a one-time migration sunset, so users upgrading from v2.8.3 / v2.8.4 get the legacy directory flagged and removed on the next upgrade. New regression test intests/find-orphans.test.tslocks the behaviour.
Migration Notes
- Run
npx mewkit upgradeto pick up the merged layout. The orphan-cleanup pass will detect leftover files under.claude/rules-conditional/and prompt to delete (skip with--no-cleanup).
2.8.4 (2026-05-10) — Confluence Ecosystem + Macro-Aware Spec Analysis
Highlights
mk:confluence returns as a 6-skill ecosystem (1 hub + 5 leaves) backed by the confluence-as CLI. The differentiator is mk:confluence-spec-analyst — it fetches pages as ADF (atlas_doc_format) and pipes the body through a new macro-aware walker so panels, decisions, task lists, mentions, expand sections, and Smart Link / Figma embeds survive as explicit markdown labels (> [INFO], > [DECISION], - [ ], <details>, @name, ). Macro labels become first-class signals for downstream gap detection. The 2.8.3 removal is reversed: there is now a first-party Confluence read path, with mk:planning-engine --spec consuming the resulting Spec Research Report.
New Skills
| Skill | Purpose |
|---|---|
mk:confluence | Pure routing hub — recommends the right mk:confluence-* leaf; never executes. |
mk:confluence-page | Single-page CRUD via confluence-as plus hierarchy traversal, version restore, and copy / move. |
mk:confluence-search | CQL queries, validation, space listing, saved-filter management, and export — with mandatory user-input sanitization. |
mk:confluence-spec-analyst | Read-only deep spec analysis — produces a structured Spec Research Report consumed by mk:planning-engine. |
mk:confluence-bulk | Bulk-label / bulk-move / bulk-delete on 10+ pages with mandatory 3-step dry-run ceremony. |
mk:confluence-collaborate | Comments, attachments, labels, watchers — folds 4 upstream skill domains into one footer-default agent. |
New Agents
confluence-page— Page CRUD + hierarchy + version + copy/move agent.confluence-search— CQL search + saved-filter agent with unconditional sanitization.confluence-spec-analyst— Read-only spec analyst with macro-aware ADF fetch path and persisted reports.confluence-bulk— Bulk operations agent with mandatory dry-run + typed-token confirmation.confluence-collaborate— Per-page collaboration agent (comments, attachments, labels, watchers) with footer-default discipline.
Features
- New macro-aware walker
confluence/scripts/adf-to-md.sh+adf_to_md.py— preserves panel / decisionList / decisionItem / taskList / taskItem / expand / mention / media / inlineCard / blockCard nodes with explicit ASCII labels. Two modes: stdin (pipe an ADF body) or--page-id <N>(single-call fetch via the wrapper). - Single-call fetch pattern in
mk:confluence-spec-analyst— extracts metadata + body from one ADF response, halving per-page API request count and staying inside the Cloud rate limit (10 req/s). - Per-child failure handling — root-page fetch failure aborts the run; child fetch failure appends
[INCOMPLETE: child <id>]and continues with the partial corpus. - Unknown ADF nodes emit
[UNHANDLED_NODE: <type>]with keys-only metadata — type name + sorted attribute keys, never raw text or attribute values. Closes the prompt-injection vector through custom macros. - Mention display names are escaped + scanned against the prompt-injection pattern list before emission; matched names are redacted to
[REDACTED_DISPLAY_NAME]. - New env vars
MEOW_CONFLUENCE_API_TOKEN,MEOW_CONFLUENCE_EMAIL,MEOW_CONFLUENCE_SITE_URLin.claude/.env. The wrapperscripts/confluence-as.shtranslates them toconfluence-as's nativeCONFLUENCE_*names per call and refuses any plaintext-credential fallback in.claude/settings.local.json. - Cloud-only gate — wrapper exits 3 on non-
*.atlassian.netURLs and points at the Atlassian MCP escape hatch. mk:planning-engineaccepts--spec <report-path>pointing at amk:confluence-spec-analystreport; the Planning Report gains a## Spec Contextsection.mk:intakerecognizes Confluence URLs (*.atlassian.net/wiki/spaces/...) and raw page IDs as a 5th source.- Walker fixture
meowkit/.claude/skills/confluence/scripts/tests/fixtures/adf-macros.json+adf-macros.expected.mdfor deterministic regression checks. - 11 new VitePress reference pages (5 agents + 6 skills) grouped under "Confluence Agents" and "Confluence (Router + Family)" in the sidebar.
Improvements
- Children traversal cap lowered from 10 to 5 in
mk:confluence-spec-analystto stay inside the Confluence Cloud per-user rate limit under the single-call-per-child pattern. - ADR
260510-mk-confluence-ecosystem-path-b.mdextended with an addendum documenting the macro-aware fetch path, the ADF coupling rationale, and why a 7thmk:confluence-convertskill was rejected (wrapping a lossy upstream function inherits the loss). confluence/references/cli-idioms.mdgains a "Local conversion helpers" section + macro label convention table.confluence/references/safety-framework.mdadds new failure-mode rows for the walker's exit codes and a sanitization-addendum note.confluence-spec-analyst/references/spec-analysis-patterns.mdgains 6 macro-label heuristics (decisions without rationale → INFO; task items without owner → GAP; panels with weasel words → AMB; mentions without context → INFO; media without alt → GAP;[UNHANDLED_NODE]→ Open Question).
Migration Notes
- Run
npx mewkit upgradeto pick up the new defaults — this auto-installsconfluence-assistant-skills(CLI distribution) into.claude/skills/.venvvia the existingrequirements.txt. - Populate
.claude/.envfrom.claude/.env.examplewith the threeMEOW_CONFLUENCE_*vars. - Reverse direction (md → adf) is deferred — no consumer in MeowKit currently calls
page update --representation atlas_doc_format --content-file <json>. Re-add when a real consumer surfaces. - The 2.8.3 removal advice ("use Atlassian MCP directly") is superseded —
mk:confluenceis the first-party path again.
2.8.3 (2026-05-10) — Jira Family + Workflow Discovery
Highlights
mk:jira becomes a pure router. Jira execution moves into 16 thin leaf skills — 13 domain plus 3 intelligence — each forking a dedicated agent in .claude/agents/. The Atlassian-MCP coupling is replaced with the jira-as CLI (auto-installed via npx mewkit setup). Workflow templates are no longer assumed: a new fetch-workflow.sh discovers each instance's actual statuses + transitions and caches them under tasks/jira-workflows/ for mk:jira-lifecycle, mk:jira-bulk, mk:planning-engine, and mk:jira-evaluator to consume.
New Skills
| Skill | Purpose |
|---|---|
mk:jira-issue | Single-issue CRUD via jira-as (create / get / update / delete). |
mk:jira-search | JQL queries + saved-filter management with mandatory user-input sanitization. |
mk:jira-lifecycle | Workflow transitions, assignment, resolution, version + component management. Cache-first. |
mk:jira-collaborate | Comments, attachments, watchers, notifications. Internal-vs-public confirm enforced. |
mk:jira-relationships | Issue links, blockers, dependencies, clone, bulk-link. |
mk:jira-time | Worklogs, estimates, time reports, bulk-log. |
mk:jira-agile | Epics, sprints, backlog, ranking, story points, subtasks, velocity. |
mk:jira-fields | Custom field discovery + agile field configuration. |
mk:jira-bulk | Bulk ops on 10+ issues with mandatory dry-run + workflow-cache validation. |
mk:jira-jsm | Service Management: 8 sub-domains (~45 verbs). Requires JSM license. |
mk:jira-admin | Project / user / group / scheme / automation administration. 11 sub-domains. |
mk:jira-dev | Developer artifact generation: branch-name, PR-description, smart-commits. |
mk:jira-ops | Diagnostic surface: cache-status / cache-clear / discover-project. |
mk:jira-evaluator | Read-only ticket complexity + inconsistency analysis. Persists report. |
mk:jira-estimator | Read-only heuristic story-point estimation. Auto-consumes evaluator output. |
mk:jira-analyst | Read-only full ticket context analysis incl. media. Persists structured RCA. |
New Agents
jira-issue— JIRA issue CRUD via thejira-aswrapper.jira-search— JIRA search + saved-filter management.jira-lifecycle— Workflow lifecycle with cache-first transition discovery.jira-collaborate— Comments, attachments, watchers, notifications.jira-relationships— Issue link / unlink / blocker / dependency / clone.jira-time— Time tracking + worklog management.jira-agile— Sprint / epic / backlog / story-point management.jira-fields— Custom field discovery + admin configuration.jira-bulk— Bulk operations with mandatory dry-run discipline.jira-jsm— JIRA Service Management across 8 sub-domains.jira-admin— Highest-blast-radius admin agent with 2-step token confirmation on destructive ops.jira-dev— Developer artifact generator (branch / PR / commit linking).jira-ops—jira-ascache + project-context diagnostics.jira-evaluator— Read-only complexity + inconsistency analysis (persists report).jira-estimator— Read-only heuristic story-point estimation (persists report).jira-analyst— Read-only ticket + media analysis (persists report).
Features
- New script
scripts/fetch-workflow.sh— discovers a project's actual workflow viaadmin workflow for-issue <KEY>(admin path) with non-admin fallback tolifecycle transitions <KEY>. Cache layout:tasks/jira-workflows/_schemes/<PROJECT>.md(project → workflow mapping) +tasks/jira-workflows/<workflow-slug>.md(full statuses + transitions). - New env vars
MEOW_JIRA_API_TOKEN,MEOW_JIRA_EMAIL,MEOW_JIRA_SITE_URLin.claude/.env. The wrapperscripts/jira-as.shtranslates them tojira-as's nativeJIRA_*names per call and setsJIRA_OUTPUT=jsonas default. - New SessionStart hook
jira-env-loader.sh— validates.claude/.envpresence + the 3 required keys; emits[mk:jira] env OK/[mk:jira] <KEY> missingto the status line. - New env var
CLAUDE_CODE_FORK_SUBAGENT=1set insettings.jsonenvblock by default — enablescontext: forksemantics for the 16 thin leaves. - New pip dependency manifest
meowkit/.claude/skills/jira/scripts/requirements.txt—npx mewkit setupauto-installsjira-as(and thejira-as[keyring]extra) into.claude/skills/.venv. - 32 new VitePress reference pages — one per leaf skill + one per agent — grouped under "Jira (Router + Family)" and "Jira Agents" in the sidebar.
- 30 high-signal references adopted from upstream
JIRA-Assistant-Skills(issue templates, JQL patterns, workflow patterns, comment templates, field-types reference, voodoo-constants, ITIL workflows, branch-naming + smart-commits guides) — all rewritten to use thejira-aswrapper instead of upstream Python scripts.
Improvements
mk:planning-engineandmk:intakeno longer reference Atlassian MCP — both now route through themk:jira-*family.mk:planning-enginegotchas +mk:intake/references/jira-{awareness,handoff-protocol}.mdupdated accordingly.- All 16
jira-*agents conform to MeowKit conventions:Required Context (MeowKit)block (loadsdocs/project-context.md),Skill Rule of Twoself-classification,Memory (MeowKit convention)block using##pattern:/##note:/##decision:prefixes against typed memory files. The 3 intelligence agents persist their reports totasks/reports/jira-{evaluate,estimate,analyze}-*.mdfor cross-session continuity. - The
jira-estimatoragent verifies the per-instance Story Points field ID at runtime (fields list --search "Story Points") instead of guessing —customfield_10016is the documented default but the agent always confirms. - Pattern files at
mk:jira-lifecycle/references/patterns/{standard,software-dev,jsm-request,incident}-workflow.mdare now labeled "CONCEPT REFERENCE — NOT AUTHORITATIVE" and point at the discovered workflow cache as the source of truth.
Removals
mk:confluenceskill removed — 9 files deleted, 3 cross-references updated. Migration: confluence reads no longer have a first-party path; if needed, invoke Atlassian MCP directly permk:jira/references/install-and-auth.md.- Documentation cleanup follow-up: deleted orphaned
website/reference/skills/confluence.mdreference page and pruned lingering cross-references fromdocs/project-context.md,docs/meowkit-architecture.md, andwebsite/reference/skills.mdindex. - The legacy
mk:jiraAtlassian-MCP execute path is gone. The router contains zeroAgent(...)calls and zerojira-asinvocations. - The 3 intelligence agents previously at skill-scoped
meowkit/.claude/skills/jira/agents/move to project-scopedmeowkit/.claude/agents/jira-{evaluator,estimator,analyst}.md. The old directory is deleted.
Migration Notes
- Run
npx mewkit upgradeto pick up the new defaults — this auto-installsjira-asinto.claude/skills/.venvvia the newrequirements.txt. - Populate
.claude/.envfrom.claude/.env.examplewith the threeMEOW_JIRA_*vars. - Pre-existing scripts that called
/mk:jira evaluate KEYshould switch to/mk:jira-evaluator KEY(and similarly forestimate/analyze). mk:confluenceusers: there is no drop-in replacement. Use Atlassian MCP directly, or read pages manually before invokingmk:jira-issuefor ticket creation.
Breaking Changes
mk:jirais no longer an executor — it only routes. All previous/mk:jira <verb>invocations route to the appropriatemk:jira-*leaf instead of executing inline.mk:confluenceremoved entirely.- Required env vars:
MEOW_JIRA_API_TOKEN,MEOW_JIRA_EMAIL,MEOW_JIRA_SITE_URLin.claude/.env. Without them, the SessionStart hook surfaces[mk:jira] <KEY> missingand wrapper invocations error out.
2.8.2 (2026-05-09) — Prompt Enhancer Output Modes
Highlights
mk:prompt-enhancer default output is now the rewritten prompt only — no analysis, no preamble, paste-ready into any coding agent. The new --analyze flag opts back into the four-section diagnostic surface (decomposition, detected issues, source-grounded suggestions), and --score adds a deterministic 1–10 quality rating on the original prompt with a transparent rubric breakdown.
Improvements
mk:prompt-enhancerdefault mode emits only the rewritten prompt code block — decomposition and weakness detection still run internally to feed the rewrite, but are no longer displayed unless requested.- New
--analyzeflag — surfaces the original-prompt analysis (5-component decomposition, FOUND-only issues, one-fix-per-finding suggestions) alongside the rewrite. - New
--scoreflag — adds a deterministic 1–10 quality score on the original prompt using a fixed rubric (5 components × {0,1,2} − issues × 0.5, clamped to 1–10, banker's rounding). Auto-promotes to--analyze --scorewhen used alone since a bare integer hides the rubric. mk:prompt-enhancerfrontmatter gains anargument-hintfield for slash-command argument completion in supporting clients.- Skill docs and references cleaned up — removed source-citation
§symbols and academic section IDs (§5.2,§4.1, etc.) that added noise without aiding the user. Quoted source-name citations preserved.
2.8.1 (2026-05-09) — The Prompt Enhancer Release
Highlights
mk:prompt-enhancer ships as a model-agnostic prompting framework synthesized from seven prompting and context-engineering source documents. It decomposes a draft user prompt into goal / context / constraints / acceptance / output-format, detects ten weakness patterns, and emits a rewritten prompt using a universal markdown kernel that works across coding agents without model dispatch. An opt-in --deep mode surfaces codebase suggestions from allow-listed sources only.
New Skills
| Skill | Purpose |
|---|---|
mk:prompt-enhancer | Refine a draft user prompt — decompose, detect weaknesses against a 10-item checklist, emit a model-agnostic rewrite using the universal kernel (plain markdown, no XML, no vendor tokens). Auto-suggests freedom level and verbosity. Optional --deep flag scouts allow-listed sources for [FILL-IN] placeholder candidates. |
New Commands
/mk:prompt-enhancer— runs the 5-step framework on a draft prompt and writes the analysis + rewrite to the active plan dir or${CLAUDE_PLUGIN_DATA}.
Features
- Auto-suggested freedom level (
LOW/MEDIUM/HIGH) based on task shape — destructive ops route toLOW, standard feature work toMEDIUM, open-ended exploration toHIGH. Surfaced in theOUTPUT FORMATsection so the user can flip without re-running. - Auto-suggested verbosity (
terse/structured/confirmation) by task type — terse for implementation, structured for review/analysis, confirmation for Q&A. - Bounded
--deepscout — ≤8 files, ≤100 lines/file, ≤30s wall clock, default-deny against.claude/memory/*,.env*,tasks/, secrets. Aborts gracefully withSCOUT_BUDGET_EXCEEDED,NO_GIT_REPO,MINIMAL_DENSITY, orNO_MATCHES. Suggestions live in[FILL-IN: <desc> (suggested: <path>)]brackets — never auto-substituted. - 10-canary eval suite (six default-mode + four deep-mode) with hard-fail boundary canary that grep-audits saved output and transcript for forbid-list paths.
Improvements
mk:prompt-enhancerrewrites strip model-coupled framing — XML tags (<context>,<task>), vendor tokens ("think step by step",apply_patch, "Reasoning: high"), and role-as-XML wrapping. Detection item#10flags the input; the rewrite emits plain markdown headings.- Added
references/context-safeguards.md— six model-agnostic safeguards (right-altitude tone, identifier-based context, long-horizon defenses, tool-result clearing, bloat avoidance, eval discipline) loaded just-in-time on long-horizon signals.
2.8.0 (2026-05-09) — The Cleanup & Audit Release
Highlights
mewkit upgrade now cleans up files the new release no longer ships, so old kit files do not pile up in agent context across versions. A new mk:context-audit skill reports how much of the model context window your .claude/ setup is using and recommends the highest-value trims. Red-team and party deliberation gain cross-persona blind-spot detection — every reviewer is asked to name one dimension outside their specialty that the team may also miss. Four small behavioral rule files were merged into one agent-conduct.md, and conditional rules moved out of the always-loaded folder so the safety bundle stays lean.
New Skills
| Skill | Purpose |
|---|---|
mk:context-audit | Read-only audit of .claude/ structural overhead. Reports prioritized "remove X save Y tokens" recommendations against the model context window. |
New Commands
/mk:context-audit— runs the audit pipeline and prints a markdown report. Read-only; no files are modified.
CLI
mewkit upgradegains--no-cleanup(skip orphan deletion) and--yes(auto-confirm). Default behavior is on: orphans are listed and a confirmation prompt is shown before deletion. Non-TTY environments skip deletion automatically (cron-safe).
Features
- Manifest-driven orphan detection in
mewkit upgrade. Compares files on disk under.claude/{rules,skills,agents,hooks}/againstrelease-manifest.json. Anything on disk + not in the manifest + not allowlisted is treated as an orphan. - Conservative default allowlist exempts user customizations:
custom-*,user-*,*.local.md, scope-internalREADME.md. - Scope is intentionally limited to kit-owned directories. User-private state —
.claude/memory/,.claude/logs/,.claude/.env,.claude/secrets/— is never inspected. - New CI step
Validate rule availabilityfails the build if any rule path referenced in.md/.sh/.cjs/.js/.ts/.json/.py/.yaml/.yml/.tomlfiles does not resolve on disk. Catches dead references before they ship. - New skill-body precheck in
mk:agent-detectorHARD-GATEs Phase 0 routing on the existence of all 5 always-on safety rules (security-rules.md,injection-rules.md,gate-rules.md,core-behaviors.md,development-rules.md). Aborts withSAFETY BASELINE INCOMPLETEif any are missing. - New
## Compaction Policysection inCLAUDE.mdinstructs Claude Code to preserve numberedinjection-rules.mdrules, the Subagent Status Protocol, and the safety-rule names verbatim across auto-compaction. - Cross-persona blind-spot detection in
mk:plan-creatoradversarial review. Each persona names ONE dimension outside their specialty that the team may also miss; aggregated as a separate "Cross-Persona Blind Spots" section in the red-team report. mk:partyRound 2 gains the same blind-spot probe — each agent calls out a dimension the room may have under-weighted.mk:partydecision record adds a## Next Actionfield — the single concrete next step coming out of the discussion.- New conditional rule file
risk-checklist.md— Phase 0 horizontal-risk flags (auth, authorization, data-model change, audit/security event, external systems, public contracts, cross-platform, existing-behavior touch) that complement the vertical domain match inmk:scale-routing. - New helper script
.claude/scripts/rules-audit.shfor contributors to check rule-file health locally.
Improvements
smartUpdatenow returnsorphansDeletedandorphansSkippedarrays inUpdateStats; surfaced in themewkit upgradesummary output.- New
find-orphans.tsmodule exported fromcore/index.ts— reusable for downstream tooling that needs orphan detection independent of the update pipeline. - Four behavioral rule files (
naming-rules.md,output-format-rules.md,context-ordering-rules.md,search-before-building-rules.md) merged into a singleagent-conduct.md. Tier A preserves orchestrator-consumed schemas (Subagent Status Protocol, Project Context First, Eureka logging) verbatim; Tier B compresses model-default rules. Net: one file instead of four with no behavior change. - Conditional rule files moved from
.claude/rules/to.claude/rules-conditional/so the always-loaded bundle stays small.mk:agent-detectorloads them on demand at Phase 0. Affected files:agent-routing.md,model-selection-rules.md,phase-contracts.md,risk-checklist.md,scale-adaptive-rules.md.
Removals
.claude/rules/naming-rules.md,.claude/rules/output-format-rules.md,.claude/rules/context-ordering-rules.md,.claude/rules/search-before-building-rules.md— content lives inagent-conduct.md. The orphan-cleanup pass inmewkit upgraderemoves the old files automatically on next upgrade.
Bug Fixes
docs/research/claude-memory.mdfixed an illustrativeln -sexample that referenced a non-existent.claude/rules/security.mdpath. Replaced with a placeholder name (your-org-security.example.md) that does not collide with the rule-availability validator's regex.
Migration Notes
npx mewkit upgradeThe first mewkit upgrade after this release lists the four removed rule files as orphans and prompts before deleting them. Pass --yes to auto-confirm in scripted environments, --no-cleanup to keep the old files on disk.
2.7.6 (2026-05-09) — Phase 0 risk checklist
Improvements
- New rule file
.claude/rules/risk-checklist.md— 9 horizontal-risk flags (auth, authorization, data-model change, audit/security event, external systems, public contracts, cross-platform, existing-behavior touch, performance-critical path) that complement vertical domain matching inmk:scale-routing. Loaded bymk:agent-detectorat Phase 0. Together they raise the floor on routing accuracy without adding new tiers or new lanes. mk:agent-detectorStep 0b now loads the risk checklist alongsidephase-contracts.mdandagent-routing.md.
Note: The risk-checklist file moved to
.claude/rules-conditional/risk-checklist.mdin v2.8.0 as part of the rules-folder split.
2.7.5 (2026-05-09) — CLAUDE.md trim + reference cleanup
Highlights
CLAUDE.md is trimmed from 209 to 112 lines to honor Anthropic's memory guidance — files over 200 lines reduce instruction adherence. Phase Composition Contracts, the Agents table, Adaptive Density, the Orchestrator Entry Point Rule, Commands-vs-Skills, advisory skill frontmatter fields, and the Skill Rule of Two now live in .claude/rules/ where they load alongside the other rule files. Cross-references in skills, docs, and scripts that pointed at the old CLAUDE.md sections were updated to the new locations. Broken *_INDEX.md pointers in shipped skill markdown were repaired so they resolve in fresh mewkit init installs.
Improvements
CLAUDE.mdtrimmed from 209 → 112 lines; pointers replace inline tables. The slim file fits Anthropic's ≤200 line ceiling with a 150-line internal target.- New rule file
.claude/rules/phase-contracts.md— phase I/O contracts (what each phase expects/produces); loads unconditionally. - New rule file
.claude/rules/agent-routing.md— 17-row agent → role → phase routing table plus theMEOWKIT_PM_AUTO=offopt-out; loads unconditionally. .claude/rules/orchestration-rules.mdgains "Orchestrator Entry Point Rule" — themk:cook↔mk:workflow-orchestratormutual-exclusion contract..claude/rules/skill-authoring-rules.mdgains "Advisory Frontmatter Fields" (preamble-tier,phase,trust_level,injection_risk) and "Commands vs Skills" (the three valid command patterns)..claude/rules/injection-rules.mdRule 11 — Skill Rule of Two as an always-loaded numbered rule..claude/rules/post-phase-delegation.mdRule 4 body compressed to a pointer; eliminates duplicate restatement of the Orchestrator Entry Point Rule.CLAUDE.mdPlanning section now points totasks/plans/YYMMDD-name/so Claude knows wheremk:plan-creatorwrites plans.validate-docs.pynow emitsERRORand exits non-zero whenCLAUDE.mdexceeds 150 lines — prevents regression of the trim.
Bug Fixes
mk:agent-detectorreferences —after-detection.mdcited.claude/agents/AGENTS_INDEX.mdtwice; that file is contributor-facing and does not ship viamewkit init. Both pointers now resolve to.claude/rules/agent-routing.md.mk:rubricSKILL.mdreferences table — dropped the row pointing atRUBRICS_INDEX.md. The skill's--listflag generates the catalog dynamically, which is the actual interactive entry point.mk:rubriccalibration checklist — removed the "Add toRUBRICS_INDEX.md" item. Custom user rubrics live in user projects where the index does not ship;--listdiscovers them at runtime.
2.7.4 (2026-05-02) — Browser skill consolidation
Highlights
mk:browse is retired. All browser automation now goes through mk:agent-browser, eliminating the routing decision between two overlapping skills. A new migration reference ships inside mk:agent-browser with verb-to-verb mapping, copy-paste recipes for capabilities agent-browser doesn't expose natively (responsive screenshots, link/form enumeration, performance timing, eval-based state checks), and a developer-machine handoff runbook for CAPTCHA/MFA flows.
Improvements
mk:agent-browserSKILL.md gains a data-boundary callout — page content, snapshot text, andevalreturn values are DATA perinjection-rules.md. RecommendsAGENT_BROWSER_CONTENT_BOUNDARIES=1so page-derived strings arrive wrapped in nonce markers.- Sessions and credentials note added — any caller using
--session-nameshould setAGENT_BROWSER_ENCRYPTION_KEYfirst, otherwise session state under~/.agent-browser/sessions/is plaintext. - New reference
agent-browser/references/migrating-from-browse.mdcovers verb mapping, recipes (responsive,links,forms,perf,is-statefallback), and the--headed+wait --urlrunbook for interactive auth. mk:qasetup andmk:office-hourspreamble now use acommand -v agent-browserreadiness check instead of looking for the gstack binary, with an actionableNEEDS_SETUPmessage pointing atnpm i -g agent-browser.- Cross-skill routing tables in
mk:agent-detector,mk:evaluate,mk:chom,mk:fix, andmk:qa-manualupdated to namemk:agent-browseronly — the oldmk:browse-or-mk:agent-browserpick-by-complexity guidance is gone.
Removals
mk:browseskill — directory deleted, manifest entries removed, catalog row dropped fromSKILLS_INDEX.md. Historical attribution preserved inSKILLS_ATTRIBUTION.mdunder## Removed. Existing bookmarks to/reference/skills/browseredirect to a deprecation stub linking tomk:agent-browser.$Bshell-alias workflow patterns frommk:qareferences andmk:office-hours/phase4-alternatives-and-sketch.md— replaced withagent-browserinvocations or with the eval recipes from the migration guide.
Migration Notes
- Install the CLI:
npm i -g agent-browser(orbrew install agent-browser, orcargo install agent-browser), then runagent-browser installonce to download Chrome. - Set
AGENT_BROWSER_ENCRYPTION_KEYin your shell and CI secret store before invoking any session-using recipe — required for cookies/localStorage to persist encrypted at rest. - Existing gstack
auth-state.jsonfiles (cookie-import format) are not portable. Re-runagent-browser auth saveor capture fresh state withagent-browser state save. - Personal scripts using
$B <verb>should consultagent-browser/references/migrating-from-browse.mdfor the verb mapping.
2.7.3 (2026-05-01) — npx mewkit resolution fix
Bug Fixes
npx mewkit CMDfailed on some machines withsh: meowkit: command not found(macOS) or'meowkit' is not recognized as an internal or external command(Windows) — the npm package was namedmewkitbut exposed a bin calledmeowkit, so resolvers (older npm, pnpm dlx, yarn dlx, certain Windows shells) spawned the bin by name throughPATHinstead of the symlinked.bin/path. Bin renamed tomewkitso package name and bin agree across all package managers.pre-completion-check.shcounter never reaching its 3-attempt soft-nudge cap — Claude Code assigns a new session ID for every blocked-Stop cycle, andproject-context-loader.shwas resettingsession-state/precompletion-attempts.jsonon every SessionStart, wiping the counter mid-loop. The pre-completion check now owns its own counter lifecycle (clears on verification success or cap-hit); the SessionStart reset is removed.
CLI
- Help banner and
mewkit statusnow printmewkitinstead ofmeowkitto match the published bin name. mewkit doctorvenv-missing hint updated to suggestmewkit setup --only=venv.
2.7.2 (2026-05-01) — Checkpoint subsystem cleanup
Highlights
The session-state checkpoint subsystem stops accumulating files unboundedly. session-state/checkpoints/ is now a single overwriting checkpoint-latest.json written atomically via POSIX .tmp + rename — replacing the prior pointer-and-numbered-file scheme that had no rotation logic. Resume context, git-drift detection, and budget tracking work the same; the file count just stays at 1.
Improvements
- Checkpoint dir collapsed to a single file —
checkpoint-utils.cjsrewritten withoutnextSequence(), theO_EXCLlock, the.next-seqcounter, or the filename validator. Two writers (Stop hook + phase-transition trigger) race to last-writer-wins; sequence is display-only. auto-checkpoint.cjsfires on phase-transition writes only — the modulo-20 mid-session trigger andauto-checkpoint-counter.jsonare removed. The Stop hook still captures end-of-turn state.orientation-ritual.cjsreads the checkpoint file directly with onereadFileSyncand atry/catch— no more pointer indirection, no more two-hop read.- New
safePlanPathguard inorientation-ritual.cjsrejects..traversal and control-character injection (e.g. embedded\n"ignore previous instructions" payloads) in theplan_pathfield before stdout emission. Replaces the deletedisValidCheckpointFilefilename guard with content-level validation. - Two superseded shell hook writers removed —
.claude/hooks/post-write-build-verify.shandpost-write-loop-detection.shwere marked "Not registered. Do not re-register." Their.cjsports (build-verify.cjs,loop-detection.cjs) keep working unchanged; env-var bypasses (MEOWKIT_BUILD_VERIFY=off,MEOWKIT_LOOP_DETECT=off) still honored by the active handlers. HOOKS_INDEX.mdreconciled with disk — stale rows for the v2.4.0-deletedmemory-loader.cjs,memory-parser.cjs,memory-injector.cjs,memory-filter.cjsremoved, replaced with a single tombstone callout. State-file table updated to referencecheckpoint-latest.jsoninstead ofauto-checkpoint-counter.json.AGENTS_INDEX.md,build-verify-commands.md, andtrace-schema.mdreconciled — stale "13 agents" phrasing corrected to "17 agents",.shreferences updated to.cjs, and thebuild_verify_result/loop_warningtrace events deprecated (their emitters were removed in v2.4.0; the events have not fired since).
Bug Fixes
- Pre-existing silent-failure path closed — under
nextSequence()lock contention the function returnednull, both writers passednulltowriteCheckpoint, producingcheckpoint-null.jsonwhichisValidCheckpointFilerejected;orientation-ritualthen returned empty silently and the user got a cold-start resume with no error visible. The new design has no lock and no null-seq path; resume cannot fail this way. - Resume injection no longer susceptible to prompt-injection via the
plan_pathfield —safePlanPathfilters..traversal and control-character payloads (newline, escape sequences) before they reach Claude's system context.
Removals
meowkit/.claude/hooks/handlers/checkpoint-utils.cjsexportsnextSequenceandisValidCheckpointFileare gone — they were only used inside the checkpoint subsystem and have been replaced by the single-file overwrite pattern.meowkit/session-state/checkpoints/.next-seq,.seq.lock, andauto-checkpoint-counter.jsonare no longer produced. Existing files are stale and safe to delete;orientation-ritual.cjsignores them.- Two shell writers removed (see Improvements). Their functionality was already migrated to
.cjshandlers in v2.4.0; the.shfiles were dead code.
2.7.1 (2026-04-30) — Phase Frontmatter Contract
Highlights
mk:plan-creator now ships a strict YAML frontmatter contract for phase files — frontmatter is the machine-readable source of truth, the Overview block is a human-readable mirror that sync-back regenerates from it. Aligns plan-creator output with the orchviz parser cascade, hardens the validator against drift, and formalizes the cook finalize-step sync-back algorithm.
Improvements
- Phase files (
phase-XX-*.md) MUST begin with a YAML frontmatter block — schema:phase,title,status,priority,effort,dependencies.status: pendingis the only legal value at creation;failedandabandonedare terminal. Documented inreferences/phase-template.mdandreferences/output-standards.md. - Cook's finalize-step sync-back is now a formal algorithm — counts
[x]checkboxes in## Todo Listto derivepending/in_progress/completed, regenerates the Overview mirror from frontmatter, never overwrites terminal states, idempotent on re-run. Documented inreferences/task-management.md. - Step-08 hydration adds a "Status Read Order" block that mirrors
packages/mewkit/src/orchviz/plan/parse-phase-file.tsso plan state stays consistent across the planner, the validator, the harness, and orchviz. --twomode approach files (plan-approach-a.md,plan-approach-b.md) get frontmatter at creation withstatus: pending—draftis no longer used because it is not in the parser union.--parallelmode mergesownershipandparallel_groupinto the same frontmatter block instead of a separate one.mk:reviewstep-03b whole-plan-sweep gains a drift surface — flags staledependencies: [N]references when phases are renumbered or removed (informational, non-blocking).
Bug Fixes
scripts/validate-plan.pynow hard-fails onstatus: completedwritten at creation time and onunknown/draft/donewritten from frontmatter — the validator catches the "stamp at creation" anti-pattern before Gate 1.scripts/validate-plan.pydocuments its PyYAML dependency — install vianpx mewkit setup(creates.claude/skills/.venv/); run via.claude/skills/.venv/bin/python3 scripts/validate-plan.py <plan.md>.
2.7.0 (2026-04-30) — The Namespace Rename Release
Highlights
Skill folders renamed from .claude/skills/meow:X/ to .claude/skills/X/ and the skill identity prefix moved from meow: to mk:. Cross-platform safe — eliminates the colon that broke Windows NTFS checkouts. Slash commands move from /meow:X to /mk:X. Backward-compat alias keeps in-prompt meow: text working with a stderr warning during the v2.7.x window; hard-cut in v2.8.0.
Features
- New helper
packages/mewkit/src/migrate/discovery/skill-id-utils.ts— single source for skill-id parsing, validation, and legacy-prefix resolution. ExportsparseSkillId,resolveLegacy,_resetWarnState. Path-traversal guard rejects basenames not matching^[a-z][a-z0-9-]{0,62}$. - New CI step
Reject residual meow: namespacein.github/workflows/ci.yml— fails the build if any^name: meow:SKILL.md frontmatter or/meow:[a-z]slash reference exists in.claude/commands/,.claude/rules/, orCLAUDE.md. SkillInfo.idis now a required field on the discovery type, derived from frontmattername:and normalized throughresolveLegacy. Forces compile-time handling at every consumer.
Improvements
discoverSkills()is fully content-based — any directory under.claude/skills/containing a SKILL.md is a skill, regardless of folder prefix.setup.ts:54collectSkillDeclaredDepsfilter changed from name-based (startsWith("meow:")) to content-based (existsSync(SKILL.md)).- Schema regex at
.claude/schemas/skill-schema.jsonwidened from^meow:[a-z][a-z0-9-]*$to^(mk|meow):[a-z][a-z0-9-]*$for the deprecation window. Narrows to^mk:in v2.8.0. scripts/validate-skill-frontmatter.pyglob fixed frommeow:*/SKILL.mdto*/SKILL.mdplus a zero-match guard — empty scans now exit with code 2 instead of phantom-passing.scripts/check-skill-cross-refs.shrewritten — inventory built from bare-name folders, scans formk:[a-z][a-z0-9-]*references, fails on empty inventory.- All hook scripts refreshed —
gate-enforcement.sh,privacy-block.sh,post-session.sh,project-context-loader.sh,pre-completion-check.sh,memory-topic-file-migrator.cjs. Privacy-block SSRF glob updated to match*web-to-markdown*and*mk:web-to-markdown*so the guard survives the folder rename. skill-creatoris now self-consistent —init-skill.pyandvalidate-skill.pyenforce themk:prefix; SKILL.md template emits/mk:{slug}invocation syntax andmk:{name}frontmatter.
Removals
.claude/skills/meow:*/folder layout removed. Skills now live at.claude/skills/X/. Migration:npx mewkit upgraderuns the legacy-namespace migrator with confirmation prompt..claude/commands/meow/folder removed. Slash commands now live at.claude/commands/mk/. The 21 existing commands moved as-is; the 56 phantom skill-only aliases were intentionally not generated.
Migration Notes
npx mewkit upgradeThe upgrade pipeline detects existing meow:* folders, prompts the user, and then:
- Renames folders via
git mv(preserves history); falls back tofs.renameon non-git repos. - Rewrites SKILL.md frontmatter
name:frommeow:Xtomk:X. - Reconciles
~/.mewkit/portable-registry.json— stripsmeow-prefix from sanitizeditemkeys. - Aborts if the git tree is dirty, or if any folder basename fails the path-safety regex.
If you have custom scripts or aliases that invoke /meow:cook, retype them as /mk:cook. In-prompt text references like meow:scout continue to work via the resolver during v2.7.x — they emit a one-time stderr deprecation warning per id, and they hard-fail in v2.8.0.
Breaking Changes
- Skill folder paths:
.claude/skills/meow:X/→.claude/skills/X/. - Skill identity prefix:
meow:X→mk:Xin SKILL.md frontmatter and all cross-references. - Slash command paths:
.claude/commands/meow/X.md→.claude/commands/mk/X.md. Type/mk:cookinstead of/meow:cook. SkillInfo.idfield is now required (was previously absent). Downstream consumers reading the discovery output now see a guaranteed canonical id.
2.6.2 (2026-04-29) — The Telemetry & Validator Release
Highlights
Hook telemetry, schema-validated skill frontmatter, cross-reference CI, and a re-baselined critical-findings audit. Every probe is data-driven — Phase 3 advanced enhancements stay deferred until the new hook-log.jsonl shows real demand. CI now blocks merges that introduce phantom mk:* references or unregistered hooks.
CLI
mewkit setupgains aproject-contextstep that warns whendocs/project-context.mdis absent and tells the user which/mk:project-contextaction to run.
Features
- New scripts under
scripts/—check-skill-cross-refs.sh,check-hook-registration.sh,validate-skill-frontmatter.py, andtelemetry-decisions.py. All four wire into CI; the telemetry tool runs on demand and emits per-item ship/reject verdicts from log data. - New JSON Schema at
.claude/schemas/skill-schema.json— permissive baseline calibrated against all 77 current skills. Validates frontmatter on every PR. - New hook helper
lib/hook-logger.sh— append-only JSONL telemetry at.claude/hooks/.logs/hook-log.jsonlwith 50MB rotation (rotated logs stay plain text, no gzip, so telemetry analysis stays cheap). - Probe hooks for
PreCompactandPostToolUseFailure, plus aStop-event control probe that disambiguates "event unsupported" from "logger broken." Activated immediately; data accumulates in the background. - New canonical hook regression test at
.claude/hooks/__tests__/advisory-boundary.test.cjsruns vianode --testand locks@@GATE_BLOCK@@and@@PRIVACY_BLOCK@@sentinel output. mk:reviewworkflow gains stepstep-03b-whole-plan-sweep.mdbetween triage and verdict — re-readsplan.mdplus phase files, surfaces cross-file drift, never auto-FAILs.mk:validate-plangains a Whole-Plan Consistency Sweep section that emits asweep_failuresblock alongside the 8-dimension verdict.
Improvements
.github/workflows/ci.ymlnow runs all four validators and the hook regression test on every PR, in the existingvalidatejob. No new workflow file.meowkit-architecture.md10 critical-findings table re-baselined — four of six findings the prior audit listed as OPEN were already CLOSED in the current tree. Component inventory updated to reflect the 8 actual handlers (prior table claimed 12).- Probe hooks ship behind the existing telemetry path so future advanced-feature decisions consult
hook-log.jsonlevidence instead of speculation.
Bug Fixes
- Audit doc claimed
mk:cook/SKILL.md:159had a barememory/path — verified-incorrect. Line 170 already used the correct.claude/memory/prefix. Stale finding closed. - Audit doc claimed
mk:lazy-agent-loader/SKILL.md:13hardcoded an agent count of 15 — no hardcoded count exists in the current tree. Stale finding closed. - Audit doc claimed seven
mk:*command refs incommands/meow/were phantom — all seven resolve to a real command file under the post-audit "Commands vs Skills" rule. Stale finding closed.
Migration Notes
- After
npx mewkit upgrade, run the new validators locally to catch any drift introduced before the upgrade —bash scripts/check-skill-cross-refs.sh && .claude/skills/.venv/bin/python3 scripts/validate-skill-frontmatter.py.
2.6.1 (2026-04-22) — The project-manager Release
Highlights
New 17th core agent project-manager — a cross-workflow delivery tracker that aggregates plan, test, review, contract, and cost state into an evidence-based status report classified as done / in progress / blocked / not started. Ships the new /mk:status slash command, a new post-phase-delegation.md rule, and a new pm-status-template.md report schema. Five orchestration skills (mk:cook, mk:autobuild, mk:workflow-orchestrator, mk:fix complex path, mk:worktree) now cite the rule to delegate post-phase. Opt-out via MEOWKIT_PM_AUTO=off.
New Agents
project-manager— cross-workflow delivery tracker (haiku tier). Reads plan + verdicts + contracts + cost-log + git log; writes status reports co-located inside each plan dir at{plan-dir}/status-reports/{YYMMDD}-status.md. Backward-looking ("what's done, what's blocked") — complement, not replacement, formk:helpwhich remains forward-looking ("what's next").
New Commands
/mk:status— foreground entry point forproject-manager. Resolves the active plan (prompts if multiple), delegates to the agent, prints the report path.
Features
- New rule
post-phase-delegation.md— 7-rule charter defining PM fire points, invocation form, skip conditions, orchestrator disambiguation, and the no-hook-dispatch safety property. - New report template
tasks/templates/pm-status-template.md— follows planner's template convention; schema edits happen in one file, not inside the agent body. - New env var
MEOWKIT_PM_AUTO=off— disables all silent PM fires from orchestration skills./mk:statusstill works regardless. mk:agent-detectorgains aDelivery Statusintent (keywords: status / progress / what's done / what's blocked / delivery tracking) routing toproject-manager, explicitly distinct frommk:help's forward-looking navigation intent.
Improvements
- Status reports are co-located with the plan they describe. Archive moves them together. No central
tasks/status-reports/dir; each plan lazily creates its own subdir on first write. - Harness iteration cap escalation (
step-05) now surfaces current delivery state BEFORE theAskUserQuestionescalation — user sees what's done and what's blocked before deciding ship / abort. - Parallel-execution Rule 5 appends: after the integration test passes, PM emits a merge report summarizing what each parallel branch contributed.
- Agent count: 16 → 17. Architecture
2counts,6roster, AGENTS_INDEX, CLAUDE.md, and agent-detector routing data all synchronized.
Bug Fixes
docs/meowkit-architecture.mdmermaid subgraph caption "Key Agents (16)" updated to (17); slash-commands count bumped 20 → 21.
2.6.0 (2026-04-22) — The Skills Compliance Release
Highlights
A 7-agent audit of all 77 mk:* skills against Anthropic's Skill-authoring best practices, Lessons-from-building-Claude-Code, and MeowKit's own skill-authoring-rules.md. Ships ~220 edits across description fields, frontmatter, reference integrity, scripts, and grounding. Zero new skills, zero breaking changes, measurably cleaner routing.
Improvements
- All skill descriptions normalized to Anthropic third-person format —
mk:cook,mk:fix,mk:agent-detector,mk:session-continuationrewritten out of imperative/greedy mood that cannibalized sibling routing. - Five overlap clusters disambiguated with explicit
NOT for X (see mk:Y)clauses — bug-fix (fix / investigate / build-fix), pipeline (cook / workflow-orchestrator / harness), browser (browse / playwright-cli / agent-browser / qa-manual), code-quality (review / clean-code / simplify / evaluate), planning (plan-creator / planning-engine). Twenty additional skills got focused exclusion clauses where latent overlap existed. mk:agent-browser8 inter-ref cross-links flattened andauthentication.md ↔ session-management.mdcircular reference broken — all 9 reference files remain directly linked one level deep fromSKILL.md.- New
step-file-rules.mdRule 6 — step-file skills (mk:review,mk:trace-analyze,mk:plan-creator,mk:autobuild,mk:evaluate) formally allowed to chainSKILL.md → step-NN.md → references/X.mdprovided each step file opens with a Contents TOC. - Seven skills that reference
.claude/skills/...paths directly gained a> Path convention:note declaring$CLAUDE_PROJECT_DIRas the assumed cwd —mk:rubric,mk:multimodal,mk:skill-creator,mk:intake,mk:llms,mk:investigate,mk:jira. - MCP prerequisite hardening for
mk:jira,mk:confluence,mk:planning-engine— server-key assumption (.mcp.jsonkeyatlassian) documented via Gotchas without hardcoding prefixes, preserving install portability. - Twenty-two skills renamed their trigger section to canonical
## When to Use— previously fragmented across "When to Invoke", "When to Activate", "Trigger Conditions". - 115 reference files over 100 lines auto-gained a
## ContentsTable of Contents via idempotent generator, safe to re-run on future drift. Original audit counted 25; actual was 116 (4.6× under-count, largely frommk:angular). - Frontmatter normalization —
preamble-tier: 4→3onmk:qa/mk:review/mk:ship(valid range is 1-3). DeadautoInvokeandpriorityfields deleted from four skills after grep-confirming zero readers in hooks, scripts, or CLI.sources→sourcesingular unified across seven skills.mk:chominjection_riskbumpedlow → mediumsince it replicates external code into the project. mk:skill-creatorcompliance — now has its own## Gotchassection, 500-line cap matches authoritative Rule 3 (was 150), emitted template includes mandatory## Gotchasheader so every future scaffold inherits Rule 1 compliance.scripts/validate-skill.pygained check 8/8 for Gotchas header presence and auto-passes step-file skills.
Bug Fixes
mk:lint-and-validatewas undiscoverable — malformed YAML frontmatter had an unquoted colon inTriggers onKeywords:which corrupted parsing. Description now wraps cleanly in double quotes.- Empty Python venv —
.claude/skills/.venv/existed butpipwas half-installed with no RECORD file and nobin/pipsymlink, so all seven Python-backed skills crashed on first import. Bootstrapped viaget-pip.py --ignore-installed --no-deps, thennpx mewkit setup --only=depsinstalled the nine required packages.npx mewkit doctornow reports 13 PASS / 1 WARN (optional Playwright only). mk:rubric/scripts/validate-rubric.sh --helpno longer crashes on macOS — added-h/--helpcase before arg dispatcher, which previously fell through tobasename "--help"triggering a BSDillegal optionerror.- Replaced non-existent
debuggeragent reference inmk:cook's Phase-3 dispatch table withdeveloperviamk:investigate—.claude/agents/never had adebugger.md. HARD-GATEdecorative tags inmk:cookandmk:fixbodies replaced with**HARD GATE**bold markdown — grep againsthooks/,scripts/, and the CLI confirmed zero consumers of the tag format.- Phantom
research-01citations removed frommk:evaluate(4 locations) — no such research file exists; constraints now cite Anthropic harness research honestly or declare themselves as heuristics. - Phantom
research-02citations removed frommk:rubric/references/calibration-guide.md(2),mk:sprint-contract/SKILL.md,mk:sprint-contract/references/bdd-to-ac-mapping.md(2), and.claude/rubrics/schema.md— same non-existence. mk:multimodal"332 system voices" unsourced count corrected to "300+ (see provider catalog)" with the MiniMax URL attached.mk:react-patternsunverifiable "45+ rules across 8 priority categories from Vercel Engineering" attribution rephrased to "curated rules drawn from framework docs and production practice".mk:ui-design-systemCSV counts corrected —colors.csv161 → 160,ux-guidelines.csv99 → 98 (matches actual row counts).mk:vulnerability-scannerdropped time-anchored "2025 threat landscape" tagline.mk:multimodal/scripts/minimax_api_client.pymagic numberspoll_interval=10andmax_wait=600now carry derivation comments.media_optimizer.pytokens_per_sec = 100 / 263constants sourced toai.google.dev/pricing.mk:multimodal/SKILL.md—check_setup.pygained the bash invocation block every other script in the file already had.mk:scout6-agent cap now documented as an intentional exception toparallel-execution-rules.mdRule 2 (read-only Explore agents produce no merge-conflict risk).mk:browsegained a Gotcha for the session-scoped$Balias silent-fail mode.mk:problem-solvingunclosed backtick at line 148 fixed.
Migration Notes
npx mewkit upgradepicks up all description changes. No user action required.- If any custom hook was reading
autoInvoke/priorityfrontmatter fields: they were grep-confirmed unread before deletion. If a hook outside the repo tree was silently depending on them, restore them explicitly in the affected skills. preamble-tier: 4→3onmk:qa/mk:review/mk:shipmay cause tiny context-ordering shifts. Functionally identical outputs.
2.5.1 (2026-04-20) — mk:henshin
Highlights
New cross-cutting skill mk:henshin — planning front door for transforming existing code into agent-consumable surfaces (CLI + MCP server + companion skill). Adapted from claudekit-engineer/agentize (tier 2). Produces a Transformation Spec and hands off to /mk:plan-creator → /mk:cook for the build. Not a builder on its own.
New Skills
mk:henshin— 6-phase planning workflow: Discover → Inventory → Capability Map → HARD GATE → Spec Write → Handoff. Non-bypassable human approval for package name, license, and ownership (business decisions);--autoand--leannever skip these. Writes an architectural decision record to.claude/memory/architecture-decisions.mdwith##decision:prefix. Ships 5 progressive-disclosure references under 200 lines each (agent-centric-design,auth-resolution-chain,mcp-transports,monorepo-layout,challenge-framework).- Boundary vs
mk:chom— henshin is outbound (local code → agent surfaces); chom is inbound (external repo → local project). No semantic overlap. Paste a GitHub URL into henshin and the Error Recovery section redirects to chom. - Triggers on
agentize,henshin,expose as MCP,wrap as CLI,publish to npm,make LLM-accessible,turn into agent tool.
Bug Fixes
mk:henshin/references/mcp-transports.md— SSE code snippet rewrote to use Express + a per-session transport map. Previous snippet mixed Hono-stylec.reswith a Node.jsServerResponseconstructor, producing a copy-paste type error in Hono environments, plus a scope leak where a singletserved multiple clients.mk:henshin/references/monorepo-layout.md—commanderdependency bumped from^12.0.0to^14.0.0(current major).
Documentation
- New per-skill reference page: /reference/skills/henshin.
- /guide/agent-skill-architecture — henshin added to the Cross-Cutting Skills and Quick-Start tables.
/mk:henshin— new skill for agentizing code into CLI, MCP, and companion skill surfaces. v2.5.1 entry with workflow summary and boundary rationale.
2.5.0 (2026-04-19) — The Native Fit Release
Highlights
Skills stop branding themselves and start reading like the project's own workflow. Roughly 70 user-facing phrases were rewritten across 50+ files so installed kits refer to "the project" / "this workflow" / "the kit" instead of "MeowKit's X", while real infrastructure names (binaries, env vars, CLI commands, frontmatter source: fields) stay intact. Ships the full 64-skill audit: mechanical cleanup, reference fixes, boundary disambiguation for seven collision clusters, and architecture wiring for memory persistence and dual-orchestrator arbitration.
Features
mk:evaluate,mk:benchmark, andmk:partynow persist their outputs across sessions — verdicts to.claude/memory/review-patterns.md, baselines tocost-log.json, architectural decisions todecisions.md. Each writer runsmkdir -p .claude/memoryfirst so the append never fails silently.CLAUDE.mdgains an Orchestrator Entry Point Rule — explicit/mk:cookwins;mk:workflow-orchestratordefers for the rest of the session. Ends duplicate Gate 1 enforcement.CLAUDE.mdgains a Skill Frontmatter Schema section definingpreamble-tier(1 | 2 | 3),user-invocable(true | false),phase(0-6 | on-demand),trust_level(kit-authored | third-party), andinjection_risk(low | medium | high). Twenty-one skills were already usingpreamble-tier: 3without a documented schema.mk:carefulemits an audit-trail log entry to.claude/memory/security-log.mdon every warn/override event (timestamp, pattern, severity, command). Log file is auto-initialized with a markdown-table header.
Improvements
- Installed skills read as the project's own workflow —
MeowKit follows the Boil the Lake principle→This workflow follows the Boil the Lake principle;Help MeowKit get better!→Help improve this workflow!; table columnMeowKit→AI-assisted; dozens of similar edits. - Seven collision clusters disambiguated — each pair now declares
use when+use OTHER instead whenat the top of both skills; no more buried routing rules. NOT this skill if:differentiators added to the reasoning cluster (mk:elicit,mk:brainstorming,mk:problem-solving).mk:workflow-orchestratorbare"implement"trigger replaced with"implement feature"— no longer firesautoInvoke:trueon trivial requests.mk:ship/references/preamble.mddeclares a memory-read of.claude/memory/architecture-decisions.mdat task start. Previously the memory reference existed in frontmatter without a body instruction.mk:reviewandmk:shiplook up plans from.claude/plans/andtasks/plans/first;~/.claude/plans/is retained only as a legacy fallback with an explanatory comment.mk:cookintent-detection table carries a green-field escalation callout pointing atmk:autobuild.mk:helpdocuments the/mk:planalias — confirmed via the slash-command router at.claude/commands/meow/plan.md.mk:docs-finderdocuments Node.js 18+ as a prerequisite for its.jsscripts and flags unbounded.claude/memory/docs-cache/growth in Gotchas.mk:investigateProcess step 4 clarifies the freeze hook is a no-op without an explicitmk:freeze TARGET-DIRinvocation.mk:benchmark/SKILL.mdaccurately describesrun-canary.shas a step-1-of-2 manifest emitter (not a suite runner);compare-runs.shdistinguishesnullscores (PENDING, excluded from averages) from valid0scores.mk:jiradescription narrowed from CRUD + evaluation to CRUD only — ticket analysis now routes tomk:intake.mk:scale-routingmarkeduser-invocable: false— it's a Phase 0 sub-skill, not a user-facing entry point.mk:partyremovesretrofrom its triggers with a pointer tomk:retrofor dedicated retrospectives.- Six skills gained
phase: on-demandfrontmatter (chom,clean-code,docs-finder,docs-init,lint-and-validate,multimodal);mk:jiracorrected fromphase: 3→phase: on-demand. - Antigravity-kit-sourced skills (
clean-code,lint-and-validate) gainedtrust_level: third-party+injection_risk: lowprovenance markers. - 34 hardcoded
/Users/sangnguyen/Desktop/compare-kit/...lines stripped from 10mk:angular/references/*.mdfiles — source-import metadata with zero runtime value.
Removals
- Dead
Codex Review | /codex reviewtable row removed from 6 shared-protocol tables (mk:browse,mk:document-release,mk:investigate,mk:office-hours,mk:plan-ceo-review,mk:retro) —/codex reviewreferenced the OpenAI Codex CLI, not a meowkit skill. claudekit-engineerprovenance prose genericized in body HTML comments, script file headers, and reference attributions. Frontmattersource: claudekit-engineerfields are policy-preserved.
Bug Fixes
mk:carefulFLUSHDB severity aligned —destructive-patterns.mdsaid HIGH,check-careful.shenforced CRITICAL. Both now say CRITICAL.mk:ui-design-system—57 font pairingscount fixed to73(CSV has 73 data rows; documented count had drifted 28%).mk:brainstorming— inventedBMAD's ~10% pivot frequencystatistic removed (no source document existed).mk:vulnerability-scanner— fabricatedOWASP Top 10:2025version label relabeled toOWASP Top 10 (2021 ranking, 2025 threat context)with a disclaimer. No official 2025 release exists as of April 2026.mk:multimodal—gemini-3.1-*andveo-3.1-*preview model IDs now carry a verify-before-deploy warning pointing at the Gemini model docs.mk:scoutandmk:docs-finder—P1-P8/P1-P14citations removed from Anthropic context-engineering-research attributions (neither research doc uses those labels).
Migration Notes
mk:workflow-orchestratorno longer fires on bare"implement"— use compound triggers ("implement feature","build feature","create feature","complex task") or invoke/mk:cookexplicitly.mk:partymemory write is now mandatory, not optional. Decision records land in.claude/memory/decisions.md. If a shell blocks writes to.claude/memory/, whitelist the directory before invoking party.- Upgrade:
npx mewkit upgrade. Fresh install:npx mewkit init. Existing.claude/memory/topic files are preserved; new writersmkdir -psafely if a parent directory is missing.
2.4.6 (2026-04-19) — mk:ship Cleanup + Design Review Checklist
Highlights
mk:ship drops its unused Codex (OpenAI CLI) integration, fixes broken bash in the preamble, and removes phantom slash-command references. mk:review gains a lite design-review checklist — source-level pattern detection for frontend diffs, adapted from gstack with additions from claudekit-engineer (Strategic Omissions, Fix Priority Order) and everything-claude-code (anti-template patterns).
Improvements
mk:review/design-checklist.md— new lite design-review reference with six categories (AI Slop Detection, Typography, Spacing & Layout, Interaction States, DESIGN.md Violations, Strategic Omissions) and a three-tier confidence system ([HIGH]/[MEDIUM]/[LOW]) for grep-actionable pattern detection.mk:shiplarge-diff adversarial review is now Claude-only — two passes (Claude structured + Claude adversarial subagent) replace the prior four-pass cross-model scheme that depended on an uninstalled external CLI.mk:shipandmk:reviewGotchas sections document the scope-gated frontend trigger on the design check and the source-pattern-only limitation (no visual rendering).
Removals
- Codex (OpenAI CLI) integration removed from
mk:ship—codex exec,codex review, andwhich codexguards dropped across five reference files. Claude adversarial subagent was already the runtime fallback. - Phantom slash-command references removed from
mk:ship—/qa-only,/plan-design-review, and/design-review(none exist as meowkit skills). The plan-verification step now emits a post-ship reminder to run/mk:qaagainst the deployed build instead of attempting to invoke a missing skill. design-review-liteas a fake skill-name in the review-log schema — renamed to"source":"ship-design-check"so the readiness dashboard no longer pretends a non-existent skill produced the entry.
Bug Fixes
mk:ship/references/preamble.md— two bash syntax errors fixed (unterminated$(# comment)upgrade-check and orphanfor...donewith a comment-eatendone).bash -nnow passes on every code block; prior runs silently failed before any shipping work started.mk:ship/references/plan-completion-audit.md— the dead/qa-onlyinvocation that silently failed every run is replaced with a one-line reminder to run/mk:qaagainst the deployed build.
2.4.5 (2026-04-19) — The Thinking Skills Release
Highlights
A new strategic-unsticking skill and three diagnostic frameworks for evidence-based debugging. mk:problem-solving ships seven non-default techniques for approach-level stuck-moments — distinct from mk:sequential-thinking, which gains five-whys-plus, scientific-method, and kepner-tregoe references for methodology-aware root-cause work.
New Skills
| Skill | Purpose |
|---|---|
mk:problem-solving | Seven non-default techniques for "stuck on approach" — simplification cascades, collision-zone thinking, meta-pattern recognition, inversion, scale game, first principles, via negativa. Explicit boundary reroutes debugging to mk:sequential-thinking. |
Improvements
mk:sequential-thinkinggains three diagnostic-framework references —five-whys-plus.md(bias guards + stopping criteria),scientific-method.md(falsifiable prediction discipline),kepner-tregoe.md(IS/IS-NOT matrix for multi-system bugs). Core workflow unchanged; load when a specific methodology fits.SKILLS_INDEX.mdand website skill indexes register the new skill and clarify cross-cutting placement for both thinking skills.
2.4.4 (2026-04-19) — Deprecated Skill Cleanup + Brand Refresh
Highlights
Three deprecated skills removed permanently. Brand assets (animated logo, SVG favicon, OG image) wired into VitePress. Vercel routing fix for direct URL access.
Removals
mk:debug— deprecated since v2.0.0, superseded bymk:investigate. Directory removed from.claude/skills/.mk:documentation— deprecated since v2.0.0, superseded bymk:document-release. Directory removed.mk:shipping— deprecated since v2.0.0, superseded bymk:ship. Directory removed.- Dead references in
SKILLS_INDEX.md,website/reference/skills/index.md,website/reference/skills-index.md,website/reference/skills/docs-init.md,docs/project-context.md, anddocs/meowkit-architecture.mdcleaned up.
Improvements
- Brand assets wired into VitePress — animated SVG logo (
meow-logo-animated.svg) replaces rasterlogo.png/logo.webpin navbar and homepage hero. - Favicon refreshed — SVG primary (
favicon.svg) + regenerated multi-resolution.ico+16/32PNGs +apple-touch-iconfrom the new brand source via ImageMagick. - OG image swapped to the
/meow|brand social card (1200×630). - Site title hidden in navbar (
siteTitle: false) — the logo carries the brand; no duplicate text. - Color token system synced with brand source-of-truth (
assets/css/colors_and_type.css): added--mk-neutral-200/800/950,--mk-accent-soft, full radius scale (xs/xl), full shadow set (card/lift/glow-strong/inset-glow), and motion easings (--mk-ease-out/--mk-ease-in-out+--mk-dur-fast/normal/slow). - Changelog reorganized to a strict section schema (
Highlights/New Skills/Improvements/Removals/Bug Fixes/CLI/ etc.) — removed internal IDs, test counts, audit metadata. Addednpx mewkit upgradepreamble. - What's-new index compressed to 1-line headlines + ≤3 bullets per release.
- RELEASING.md step 2 rewritten with the new changelog schema, style rules (DRY), and a patch-vs-minor-vs-major required-section matrix.
Bug Fixes
- Direct URL access on Vercel (
/changelog,/guide/whats-new) returned 404 — addedcleanUrls: trueandtrailingSlash: falsetovercel.json. SPA-navigation from/worked; direct requests did not because Vercel served only/changelog.htmlwithout the rewrite. - Homepage hero image was hardcoded to
/logo.pnginindex.mdfrontmatter, separate fromthemeConfig.logo— the navbar swap didn't propagate. Now/logo.svg. - README hero image pointed at
assets/branding/meowkit-logo-black.pngwhich never existed — swapped toassets/branding/meow-logo-dark.svg. - Stale favicon issue — browsers auto-request
/favicon.icofrom root regardless of<link>order, picking the old raster. Regenerated all raster variants from the new SVG.
2.4.3 (2026-04-18) — Brainstorming v2: Discovery, Scope, Anti-Bias Pivot
Highlights
mk:brainstorming rewritten with patterns extracted from BMAD-METHOD, ClaudeKit, and the everything-claude-code structural template. Adds discovery protocol, scope assessment, single mid-session anti-bias pivot, and 3 new techniques.
Features
- Discovery protocol —
AskUserQuestioncapped at 3 questions per batch, targeting binding constraint, success criteria, and ruled-out options. - Scope assessment — 3+ independently-shippable concerns (heuristic: would each be its own GitHub issue?) → user decomposes before brainstorming proceeds.
- Anti-bias pivot — one mandatory orthogonal-category pivot at idea #4 (midpoint).
- Idea Format Template — every idea carries a mandatory
Noveltyline; idea is dropped as a duplicate if you can't write one. - Technique selection tiebreaker — explicit order when multiple techniques match.
- Output templates upgraded with audit-trail fields (Discovery Trace, Scope Decision, Technique Selection rationale, pivot record, Category Distribution, scoring risk callouts).
New References
references/techniques/analogical-thinking.md— cross-domain transfer (forces non-software analogues).references/techniques/scamper.md— 7-lens checklist for iterating an existing thing.references/techniques/perspective-shift.md— Six Hats narrowed to dev contexts (on-call SRE, security, future-you, end user).references/anti-rationalization.md— 4 categories of skip-the-process excuses with counter-arguments.references/edge-cases.md— 8 documented cases where the obvious brainstorming approach is wrong.
Improvements
- Process steps reframed from prescriptive script to outcome-oriented list.
- "Hard gate" wording → "Behavioral hard rule" with explicit note that it is not hook-enforced (see
gate-rules.mdfor actual gates). references/gotchas.mdexpanded from 6 → 12 entries (scope-explosion, question-fatigue, technique-mismatch, semantic-clustering, user-pre-decided, empty-intersection).
2.4.2 (2026-04-18) — Memory Fix
Highlights
Closes the second red-team round on the memory subsystem and corrects three published-doc inaccuracies introduced during the v2.4.1 rewrite.
Bug Fixes
acquireLocknow uses exponential backoff + jitter (10ms → 400ms cap, 8 retries). Eliminates the 20–40% concurrent-write drop rate.secret-scrub.shDB-URL expression split per-scheme. BSD sed on macOS was rejecting the alternation, aborting the pipeline and discarding any content containing a DB URL.- Stripe
sk_live_/sk_test_/rk_/pk_patterns added tosecret-scrub.shto match the JS path. Shell paths previously leaked Stripe keys while the capture path redacted them. findMemoryDirsentinel check now fires at depth=0. Previously the walk could continue into a parent project, causing data loss onmewkit memory --clearfrom a nested dir.appendToQuickNotesnow uses the same per-file lock as the other capture paths. Previously concurrent##note:captures could interleave.
Improvements
- Auto-memory documentation corrected:
memory/directory (notMEMORY.mdfile), 200-line / 25 KB cap stated explicitly, subagent memory isolation documented,/memory(Claude Code) distinguished from##prefix:(MeowKit),.claude/memory/clarified as machine-local (gitignored — not team-shared). - Removed contradictory "commit them via git" instruction in memory-system guide.
2.4.1 (2026-04-18) — Memory Simplification + Red-Team Hardening
Highlights
Deletes the auto-inject memory pipeline (memory-loader + parser + filter + injector) and replaces it with on-demand topic-file reads per consumer skill. Closes all 15 red-team findings (3 critical, 3 high, 9 medium) from the memory audit; most close by deletion.
Removals
- Auto-inject memory pipeline (
memory-loader.cjs,memory-parser.cjs,memory-filter.cjs,memory-injector.cjs).UserPromptSubmitno longer runs a global memory-injection step. - Lexical keyword-to-domain match retired with the filter; topic-file retrieval is now an explicit
Read. - Commit-message privilege escalation in
post-session.sh(auto-taggedNEEDS_CAPTURE CRITICALfrom commit message keywords, bypassing filter budgets).
Improvements
- Topic-file layout:
fixes.md/json,review-patterns.md/json,architecture-decisions.md/json,security-notes.mdreplace thelessons.md+patterns.jsonmonolith. Each file has a single consumer skill. - On-demand retrieval:
mk:fix,mk:cook,mk:plan-creator,mk:reviewread the relevant topic file via their SKILL.mdReadstep. - Atomic capture writes:
immediate-capture-handler.cjsuses temp-rename for all JSON writes; crash mid-write no longer corrupts split files. Dual-lock race onarchitecture-decisions.jsoneliminated. - Memory is machine-local by default —
.claude/memory/*is gitignored;mewkit setupscaffolds a blank directory. Downstream installs no longer inherit the MeowKit dev team's learnings.
Features
- New
lib/secret-scrub.cjswith 16 regex patterns (Anthropic, OpenAI, Stripe, AWS, GitHub, JWT, DB URL, Bearer tokens, etc.). Wired into the capture path so leaked secrets no longer re-enter future session context. - Fresh-install guard: handler auto-creates
MEMORY_DIRon first run. Captures on blank projects no longer silently fail.
CLI
packages/mewkit/src/commands/memory.ts—findMemoryDirexported with project-root sentinel and 5-level depth cap;clearMemorywrites valid v2.0.0 skeletons;showStats/showSummaryread the three split files.
Bug Fixes
post-session.shlock-failure fallthrough — theacquire_lock ||branch could still execute the heredoc write. Block removed.- Stale-lock false-eviction — dual
statfailure fell back to always-stale. Safe mtime retry pattern replaces it. clearMemorywrote bare"[]"destroying the schema. Now writes proper skeletons per file scope.cost-log.jsonwriter/spec schema drift fixed;session_id,model,cache_write_tokens,cache_read_tokensfields added.cost-log.jsonwrite now uses temp-file +os.replacerename for atomicity.SESSION_IDpiped unvalidated intosedinconversation-summary-cache.sh— format validated against^[a-f0-9-]{8,36}$before use.
2.4.0 (2026-04-18) — The Agent Constitution Release
Highlights
docs/project-context.md becomes the single source of truth for every agent — a 286-line, 11-section "agent constitution" loaded at SessionStart by every agent. Resolves the agent-context-drift issue open since the 260411 audit. Full skill audit cycle: 64 findings, 61 resolved, 0 regressions.
Features
docs/project-context.mdagent constitution (tech stack, conventions, anti-patterns, testing, deployment, memory layout, hook chain). All 16 agents wired identically via## Required Context.- New SessionStart hook
ensure-skills-venv.sh— idempotent bootstrap that creates.claude/skills/.venvif absent. Composes withnpx mewkit setup. CLAUDE.md"Commands vs Skills" section documents the 3 valid command patterns (skill-composing, agent-invoking, standalone), preventing false-positive phantom flagging.
New Commands
mk:project-context init— writes a TODO-filleddocs/project-context.mdskeleton for users starting from scratch. Refuses to overwrite an existing file.
Improvements
- 12 SKILL.md files got real domain-specific Gotchas sections (5–6 entries each, no generic filler):
vue,typescript,database,build-fix,lint-and-validate,frontend-design,project-organization,jira,intake,figma,docs-finder,elicit. - 7 gate-owning skills gained
gate-rules.mdreferences:mk:plan-creator,mk:workflow-orchestrator,mk:sprint-contract,mk:cook,mk:ship,mk:review.mk:csogainedsecurity-rules.md. - README + CLAUDE.md + project-context.md surface
npx mewkit setupas the required post-install step.
Bug Fixes
- Deprecated skills (
mk:debug,mk:documentation,mk:shipping) gaineddeprecated: true+superseded_by:YAML keys (previously only described in prose, invisible to parsers). - Phantom skill refs in dispatcher fixed:
mk:plan→mk:plan-creator,mk:test→mk:testing. - Silent
python3-absent skip inpost-session.sh:27upgraded to a warning. - Silent-fail on missing
docs/project-context.mdinmk:plan-creator/step-02upgraded to explicit warning with graceful fallback.
2.3.12 (2026-04-17) — External Codebase Packing + chom v2 Rigor
New Skills
| Skill | Purpose |
|---|---|
mk:pack | Wraps repomix to export an external repo as a single AI-friendly file (markdown/xml/json/plain). Output at .claude/packs/{timestamp}-{slug}.{ext} (gitignored). |
Features
mk:pack --compress— Tree-sitter signature extraction for API-surface queries (bodies omitted).self-pack-guard.shblocks packing the current git root unless--selfis passed.mk:chomv2 — 4 user-explicit modes (--compare/--copy/--improve/--port) replacing v1's 2-mode scheme.mk:chomspeed flags:--lean(skip Phase 1 researcher for freeform inputs) and--auto(auto-approve non-HARD-GATE steps).mk:chomintent detection — keyword hints map to suggested mode flags.mk:chomexplicit Boundary Rules — emits handoff text only, does NOT invokeplan-creator/brainstorming/cook/sequential-thinkingmid-flow.
Improvements
mk:chomPhase 4 HARD GATE language hardened — explicitly non-bypassable in all modes including--lean/--auto.- chom handoff text enriched with challenge-reds summary + risk score. plan-creator owns adaptation-depth decisions downstream.
Bug Fixes
- Removed fabricated "Skills cannot call skills" claim from chom SKILL.md (contradicted by
lessons-build-skill.mdComposing Skills). - Removed fabricated "40–70% context burn" claim from pack SKILL.md (replaced with honest context-isolation framing).
- Added Error Recovery for empty / unreachable / invalid sources (chom).
2.3.11 (2026-04-14) — Env Var Handling Hardening
Highlights
.claude/settings.json adopts Claude Code's native env field for team-shared defaults. Three-layer precedence: shell export > .claude/.env > settings.json env.
Features
- Native
envfield in.claude/settings.jsonfor 9 control flags (MEOWKIT_TDD,MEOWKIT_BUILD_VERIFY,MEOWKIT_LOOP_DETECT, etc.).load-dotenv.sh/dispatch.cjsparsers now fallback-only for secrets and per-project overrides. project-context-loader.shemits## MeowKit Configblock at SessionStart so the agent sees active control vars. Gated on new sessions only (not resume/clear/compact).MEOWKIT_HOOK_PROFILEalias introduced (legacyMEOW_HOOK_PROFILEstill accepted).
Bug Fixes
- Quoted values with
#preserved literally —MEOWKIT_API_KEY="abc#123"no longer truncated. - Inline comments stripped from unquoted values only (
VAR=on # comment→on). - Indented keys trimmed (
MEOWKIT_TDD=1now loads correctly). - Dangerous keys blocked (
PATH,LD_PRELOAD,LD_LIBRARY_PATH,DYLD_INSERT_LIBRARIES,IFS,BASH_ENV,ENV) — prevents env injection via rogue.env. - Key validation against POSIX var name pattern.
pre-implement.shnow loads.envvia script-relative path fallback whenCLAUDE_PROJECT_DIRis unset.- Symlink-safe guard prevents walking into install source when
.claude/is symlinked. - CWD mismatch guard added — warns if MeowKit hooks not detected at project root.
2.3.10 (2026-04-13) — Jira Ticket Intelligence + Confluence & Sprint Planning
New Skills
| Skill | Purpose |
|---|---|
mk:confluence | Fetch Confluence pages as markdown + deep requirement analysis (Spec Research Report, gap detection with [MISSING] / [VAGUE] / [AMBIGUOUS] tags, multi-page assembly). |
mk:planning-engine | Codebase-aware tech review + sprint planning with deterministic scripts (dep-graph.py cycle detection, capacity-bin.py bin-packing). Research-only — no ticket creation. |
Features
mk:jira evaluate— qualitative complexity assessment (Simple/Medium/Complex with Fibonacci range).mk:jira estimate— heuristic story point estimation with escalation triggers.mk:jira analyze— full ticket context analysis with structured RCA output.- Inconsistency detection — missing AC, vague language, unlinked dependencies, contradictions.
- Injection defense — ticket content wrapped in DATA boundary markers.
- Goal-oriented decision tree replaces operations-centric SKILL.md.
- Add comment / add attachment as inline Tier 2 operations.
Improvements
mk:jiraSKILL.md restructured as thin routing layer (~150 lines).jql-patterns.mdpruned from 50+ to 15 core patterns.sprint-operations.mdandworkflow-transitions.mdpruned (REST details removed).- Tier 2 batch creates (3+) now require preview + confirmation.
- Partial failure behavior defined for sequential operations.
2.3.9 (2026-04-12) — Memory System Hardening
Highlights
Memory loader split into 3 focused modules. 4 critical security/correctness fixes (tag escape, budget split, YAML validation, per-entry caps). Adds ##prefix: immediate capture, opt-in anchored summarization, and project preferences.
Features
##decision:,##pattern:,##note:message prefixes auto-route to typed memory files. Content validated against injection patterns before writing.quick-notes.mdstaging area for##note:captures.MEOWKIT_SUMMARY_MODE=mergeenables merge-based summarization (preserves earlier context across compressions). Default remainsfull-regen..claude/memory/preferences.md— team-shared preferences loaded at SessionStart.- Agent readiness banner — 5-point score (CLAUDE.md, project-context, test, lint, typecheck) shown at session start. Detects Node.js, Python, Rust, Makefile projects.
CLI
mk:memory --prune— archives old standard-severity entries tolessons-archive.md, recovering injection budget. Critical entries exempt.
Bug Fixes
- Tag escape —
MEMORY-DATAwrapper tags in content are escaped before injection, preventing DATA boundary escape. - Budget split — 60% for critical entries, 40% for domain-filtered. One oversized entry no longer starves all others.
- YAML validation — malformed frontmatter entries rejected with visible
[parse-errors:]marker instead of silent fallback. - Per-entry caps — 3000 chars for critical (security findings preserved), 800 for standard.
- mkdir-based atomic locking for all memory file writes (POSIX portable;
flockdoesn't exist on macOS). - O_EXCL checkpoint sequence lock — prevents TOCTOU race between concurrent checkpoint writers.
- Staleness filter — standard entries >6 months skipped (configurable). Critical entries never expire.
- Pattern expiration — patterns older than 12 months from
lastSeenauto-expire. Critical/security patterns exempt. - Cost-log append in
post-session.shwith 1000-entry cap. - Shell-to-Python injection eliminated across 6 hook files (single-quoted heredocs replace shell interpolation).
- Domain keyword extraction — 30+ domain keywords (
api,auth,db,sql, etc.) bypass stop-word filter.
Environment Variables
| Variable | Default | Purpose |
|---|---|---|
MEOWKIT_MEMORY_BUDGET | 4000 | Total char budget for memory injection per turn |
MEOWKIT_MEMORY_STALENESS_MONTHS | 6 | Standard entries older than this are skipped |
MEOWKIT_SUMMARY_MODE | full-regen | full-regen (default) or merge (opt-in) |
2.3.8 (2026-04-12) — Multimodal Resilience, MiniMax & Provider Fallback
Highlights
Major overhaul of mk:multimodal — multi-provider generation with intelligent Gemini → MiniMax → OpenRouter fallback, MiniMax integration (image, video, TTS, music), document conversion, and MEOWKIT_ env namespace.
Features
- MiniMax image generation (
image-01). - MiniMax video generation (Hailuo 2.3) with async polling.
- MiniMax text-to-speech (
speech-2.8-hd, 332 voices, 24 languages). - MiniMax music generation (
music-2.6). - Intelligent provider router auto-selects Gemini/MiniMax/OpenRouter by available API keys;
--providerflag forces one. - Document → Markdown converter with batch mode (
document_converter.py). - Env-driven provider chains (
MEOWKIT_IMAGE_PROVIDER_CHAINetc.). - OpenRouter fallback for image gen (opt-in via
MEOWKIT_OPENROUTER_FALLBACK_ENABLED=true). - API key rotation (
MEOWKIT_GEMINI_API_KEY_2/3/4) for free-tier throughput (4x). - Default image model: Nano Banana 2 (
gemini-3.1-flash-image-preview). --resolution low-resflag for video analysis (62% token savings).- Media pre-optimization via ffmpeg (optional, 10–20% savings).
- Cost estimation for video analysis in
--verbosemode.
Improvements
MEOWKIT_env var prefix with backward-compat fallback to legacy names.DEFAULT_PROMPTSrequest structured JSON output (~50% more token-efficient).- Output truncation enforced at 6000 chars (CJK-safe).
media_resolutiondefaults per modality (image=high, pdf=medium, video=low).
2.3.7 (2026-04-12) — The Copy-Cat Release
New Skills
| Skill | Purpose |
|---|---|
mk:chom | Analyze and replicate features from external systems, repos, apps, or ideas into any project. 6-phase workflow: Recon → Map → Analyze → Challenge (HARD GATE) → Decision → Handoff. |
Features
- Smart input routing — auto-detects git URLs (clone + scout), web URLs (web-to-markdown), local paths, freeform text (researcher), screenshots (multimodal).
- 7 challenge questions — Necessity, Stack Fit, Data Model, Dependency Cost, Effort vs Value, Blast Radius, Maintenance Burden.
- Risk scoring — 0–2 proceed, 3–4 resolve first, 5+ reject.
- Two modes —
--analyze(full workflow → Replication Spec) and--compare(analysis only → Comparison Report).
2.3.6 (2026-04-11)
Removals
- Unused files removed.
2.3.5 (2026-04-11) — CEO Review Layered Verification
Highlights
Redesigns mk:plan-ceo-review from single-pass deep review to layered verification pipeline. Strengthens decision quality without changing the 4-mode system.
Features
- Pre-screen gate (Layer 0–1) — mode-aware placeholder scan, structural completeness check, requirements coverage mapping. Returns for amendment, never rejects.
- Two-lens evaluation (Layer 3) — Intent Alignment + Execution Credibility. Each grades PASS/WARN/FAIL. Any FAIL → NEEDS REVISION.
- Severity tiers — all findings classified BLOCKER / HIGH-LEVERAGE / POLISH.
- Adversarial necessity — each section must surface ≥1 finding or document why clean. Prevents rubber-stamping.
- Append-only output —
## CEO Reviewblock appended to plan.md (never overwrites). - Merged Failure Analysis — Error & Rescue Map + Failure Modes Registry combined into single table with severity column.
Improvements
plan-creator step-08auto-suggests CEO review after plan creation (gated byplanning_mode).harness step-01suggests CEO review after product spec.
2.3.4 (2026-04-11) — Centralized Dotenv Loading
Highlights
Project-level .claude/.env support so all hooks and handlers can read MEOWKIT_* env vars without polluting shell profiles.
Features
- Shared dotenv loader
lib/load-dotenv.shsourced by all 11 shell hooks; noeval, usesprintenvfor safe key checking. - Inline parser in
dispatch.cjsloads.claude/.envfor all 8.cjshandlers (zero external dependencies). .env.exampletemplate with all 19 documented env vars across 5 categories (Core, Harness, Summary, Memory, Hook Controls).- Precedence: shell
exportalways wins over.env(no-override semantics).
Removals
- CLI package builds removed from
release.sh— harness releases no longer trigger CLI package builds. Build step replaced with JSON config validation (settings.json,handlers.json,metadata.json).
2.3.3 (2026-04-11) — The Wiring Integrity Release
Highlights
5-agent parallel red-team audit of the full MeowKit harness. 7 critical breakpoints, 12 high-severity issues, and 30 medium/low cleanup items fixed across 25+ files.
Bug Fixes
- Gate 2 NON-NEGOTIABLE violation —
fast.mdandcost-saver.mdmodes auto-approved Gate 2 without human confirmation; now require explicit human approval. - TDD sentinel persistence —
--tddflag wrote sentinel to.claude/session-state/but session reset clearedsession-state/at project root (different dirs); sentinel now cleared on new session. - Memory system dead by default —
post-session.shexited onstandardprofile, disabling memory capture, cost tracking, and trace records; now runs by default. - Phantom agent dispatch —
mk:cookreferenced 4 nonexistent agents; remapped to real agents. - Memory path wrong system-wide — CLAUDE.md + 19 skills referenced
memory/instead of.claude/memory/; all paths corrected. - Model detector silent failure —
model-detector.cjsguard onctx.hook_event_namesilently killed detection when field absent. - Config file missing —
meowkit.config.jsonreferenced by 4+ consumers but never existed; created with version + features object. - Budget thresholds — code defaults $10/$25, docs said $30/$100; aligned to $30/$100 with
MEOWKIT_BUDGET_CAPoverride. - 8 orphaned skills (
api-design,build-fix,database,decision-framework,figma,intake,jira,verify) added to skill registry. - 4 phantom skill refs in commands (
/arch,/audit,/canary,/ship) fixed to actual skill names. - ADR path conflict —
/archcommand wrote todocs/adrs/but architect agent wrote todocs/architecture/adr/; unified. - TURN_GAP default —
harness-rules.mdsaid:-5, code was:-30; docs aligned to code.
New Commands
/harness— created missing slash command for primary green-field build entry point.
2.3.2 (2026-04-11) — The Agent-Skills Integration Release
Highlights
Integrates correctness patterns from Anthropic's agent-skills system: 6 core operating behaviors, per-skill failure catalogs, phase composition contracts, and lifecycle-aware skill routing.
Features
core-behaviors.md— 6 mandatory operating behaviors (Surface Assumptions, Manage Confusion, Push Back, Enforce Simplicity, Scope Discipline, Verify Don't Assume) + 10 failure modes. Loaded via CLAUDE.md preamble.- Per-skill failure catalogs — Common Rationalizations + Red Flags for
mk:cook,mk:plan-creator,mk:review. Merged entries intomk:fixgotchas. - Phase composition contracts — embedded in CLAUDE.md; documents expects/produces/breaks-if-missing per phase.
- Lifecycle routing table — task signal → phase → skill mapping in
mk:agent-detector. Surfaced viamk:help.
2.3.1 (2026-04-11) — The Plan Creator Intelligence Release
Highlights
Plan-creator's biggest upgrade since v1.3.2. 4-persona red team, --deep mode, --tdd composable flag, standalone subcommands, and enhanced validation framework.
Features
- 4-persona red team — Security Adversary + Failure Mode Analyst added to existing 2 personas. Phase-count scaling: 1–3 phases = 2 personas, 4–5 = 3, 6+ = 4.
- Separate
red-team-findings.mdfile with full 7-field detail, linked from plan.md summary. --deepmode — hard pipeline + per-phase scouting with file inventory and dependency maps per phase.--tddcomposable flag — combines with any mode; injects Tests Before/Refactor/Tests After/Regression Gate into phase files.- Memory capture at Gate 1 — planning decisions persisted after approval.
- Solution design checklist — 5-dimension trade-off analysis reference for Architecture/Risk sections.
New Commands
/mk:plan red-team {path}— runs adversarial review on existing plans./mk:plan validate {path}— runs critical question interview on existing plans./mk:plan archive— scans completed plans, optionally captures learnings, archives or deletes.
Bug Fixes
- step-03 duplicate section label —
3iappeared twice (Parallel + Two-Approach); renamed to3i/3j. - phase-template wrong step reference — hydration reference said step-05 instead of step-08.
- step-08 incomplete schema —
.plan-state.jsonmissingdeepandproduct-levelas validplanning_modevalues.
2.3.0 (2026-04-11) — The Hook Dispatch Release
Highlights
Node.js hook dispatch system with 8 handler modules, cook verification flags, review skeptic anchoring, structured memory filtering, and tool output limits. TDD enforcement is now opt-in.
Features
- Central
dispatch.cjswithhandlers.jsonregistry — parses stdin once, routes to 8 handlers across 4 lifecycle events. model-detectorhandler — auto-detects model tier + density from SessionStart stdinmodelfield; replacesMEOWKIT_MODEL_HINTas primary source.orientation-ritualhandler — resumes from checkpoint on session resume.build-verifyhandler — compile/lint after file edits, cached by file hash (ported from shell to Node.js).loop-detectionhandler — warns at 4 edits, escalates at 8.budget-trackerhandler — token cost estimation with $10 warn / $25 block session-level thresholds.auto-checkpointhandler — crash-recovery every 20 tool calls + phase transition detection.checkpoint-writerhandler — sequenced checkpoint with git state + budget snapshot on Stop.cook --verify— advisory browser check after review (~$1).cook --strict— fullmk:evaluateafter review; FAIL blocks ship (~$2–5).cook --no-strict— suppress auto-strict trigger.- Auto-strict — scale-routing
level=highauto-enables--strictin cook. - Review skeptic anchoring — re-anchor prompt injected per adversarial persona dispatch.
- Structured memory —
lessons.mdYAML frontmatter with two-phase domain-filtered loading. - Tool output limits — Glob
head_limit=50, Grephead_limit=20, Readoffset+limitfor >500 lines.
Improvements
- TDD now opt-in via
--tddflag orMEOWKIT_TDD=1; default mode skips RED-phase gate.
2.2.2 (2026-04-10) — Homoglyph Detection Refinement
Improvements
mk:web-to-markdowninjection_detect.pyhomoglyph detection now flags only mixed-script tokens (Latin + Cyrillic within a single word) instead of consecutive foreign characters. Reduces false positives on legitimate multilingual content while still catching homoglyph spoofing.
2.2.1 (2026-04-10) — Bug Fix
Bug Fixes
mk:web-to-markdownrobots_cache.py_fetch_robots_txt()raisedUnboundLocalError. A function-localimport urllib.requestshadowed the module-levelurllib.robotparserbinding, breakingrp = urllib.robotparser.RobotFileParser(). Hoistedimport urllib.requestto module-level imports.
2.2.0 (2026-04-08) — Generator/Evaluator Harness
Highlights
Largest architectural addition since 1.0.0. Autonomous multi-hour build pipeline, adaptive scaffolding density per model tier, middleware layer, trace-driven meta-loop, and a conversation summary cache — without loosening any hard gates.
New Skills
| Skill | Purpose |
|---|---|
mk:autobuild | Autonomous green-field build pipeline with generator/evaluator split, adaptive density, 3-round iteration loop, budget tracking ($30 warn / $100 block / user cap). |
mk:sprint-contract | File-based sprint contract negotiated between generator and evaluator before source edits begin. Enforced by gate-enforcement.sh in FULL density. |
mk:rubric | Weighted rubric loader; reads .claude/rubrics/, validates weights sum to 1.0. |
mk:evaluate | Behavioral grader with active verification; skeptic persona, drives running build, rejects static-analysis-only verdicts. |
mk:trace-analyze | Scatter-gather trace log analyzer; reads .claude/memory/trace-log.jsonl, feeds meta-improvement loop with mandatory HITL gate. |
mk:benchmark | Canary suite (quick 5-task / full 6-task tiers) for dead-weight audit baselines on model upgrades. |
mk:web-to-markdown | Static-by-default URL → clean markdown with SSRF guard, 6-pass injection scanner, DATA boundary wrap, fetch persistence with manifest, robots.txt cache, per-domain throttle. Tier-4 fallback below mk:docs-finder. |
New Agents
evaluator— skeptic persona distinct from reviewer. Drives running build, re-anchors persona per criterion, propagates FAIL verdicts hard. Self-evaluation forbidden — always runs in fresh context.
New Commands
/mk:summary— conversation summary cache inspector.--statushealth check,--forcere-summarize,--clearreset.
Features
- 4 new middleware hooks:
post-write-build-verify.sh,post-write-loop-detection.sh,pre-completion-check.sh,conversation-summary-cache.sh(Haiku-powered, secret-scrubbed, throttled by size/turns/growth). - 2 new rules files:
harness-rules.md(11 rules for generator/evaluator discipline),rubric-rules.md(10 rules for calibration). - Adaptive density auto-selected per model tier (TRIVIAL=MINIMAL, STANDARD=FULL, COMPLEX/Opus 4.5=FULL, COMPLEX/Opus 4.6+=LEAN). Override via
MEOWKIT_AUTOBUILD_MODE.
CLI
- Schema-driven
system-depsregistry (packages/mewkit/src/lib/system-deps-registry.ts) — replaces hardcoded ffmpeg/imagemagick install paths with a typed registry. Skills declareoptional_system_deps; CLI parses and validates against the registry. mewkit doctor— generic registry loop replaces hardcoded checks. Playwright entry has dedicated two-probedoctorCheck.mewkit init+setup --system-deps— flat list prompt; FFmpeg / ImageMagick / Playwright + Chromium iterated from registry insertion order.
Bug Fixes
privacy-block.shexit code corrected — was usingexit 1(non-blocking per Claude Code hooks docs). Changed toexit 2so the hook actually blocks. Block messages moved stdout → stderr.
Migration Notes
export MEOWKIT_MODEL_HINT=opus-4-6in your shell profile if on Opus 4.6 — enables LEAN density auto-detection. Without it, Opus 4.6 users silently get FULL density.- Try
/mk:autobuild "build me a THING"for your next green-field build. - Run
/mk:summary --statusafter your first long session to verify the conversation cache is healthy.
Breaking Changes
- Hooks now read JSON on stdin via
lib/read-hook-input.shinstead of positional$1. Legacy fallback preserved for existing hooks; custom hooks should migrate. - No CLI, agent, or skill syntax changes. No gates loosened.
2.1.0 (2026-04-04)
Highlights
Custom statusline, dependency management, SEO, and mewkit CLI improvements.
Features
.claude/statusline.cjs— 5-line ANSI status bar for Claude Code: model+tier, context usage bar with/clearwarning at 60%/80%, active plan+phase tracking, 5h/weekly rate limits with reset countdown, token usage breakdown.- Settings merge preserves new top-level keys (like
statusLine) during updates. - Sitemap generation,
robots.txt, OG/Twitter meta tags, canonical URLs.
CLI
- Install prompt during init — asks "Install Python skill dependencies?" after project description (default: no). Installs into
.claude/skills/.venvonly. - Per-skill
requirements.txt— walksskills/*/scripts/requirements.txt, merges and deduplicates with input validation. mewkit setup --only=deps— manual re-run with smart skip (verifies already-installed).mewkit doctorpip check — verifies installed pip packages against expected skill dependencies.- Version picker — shows top 4 versions + "Enter version manually..." option.
- Cross-platform Python detection —
whereon Windows,pylauncher support. - Security — package name validation, path traversal prevention, 120s pip timeout,
execFileSyncarray args.
2.0.0 (2026-04-04) — The Leverage Release
Highlights
Extracted high-leverage patterns from ECC's 38-agent ecosystem. 5 new skills, 17 reference merges, hook profiling, naming cleanup.
New Skills
| Skill | Purpose |
|---|---|
mk:decision-framework | Operational decision architecture: classify → rules → score → escalate → communicate. 5 references + 3 domain examples. |
mk:verify | Unified verification: build → lint → test → type-check → coverage. Fail-fast. Auto-detects 5 project types (JS/TS, Python, Go, Ruby, Rust). |
mk:api-design | REST/GraphQL patterns: resource naming, HTTP methods, status codes, pagination, versioning, rate limiting, error formats. |
mk:build-fix | Build error triage: detect language from error output, classify fixability, chain into mk:verify. Max 3 attempts then escalate. |
mk:database | Schema design, migration patterns, query optimization. PostgreSQL primary. |
mk:jira | Jira execution via Atlassian MCP: 8 operation categories, 4-tier safety framework, 50+ JQL templates, sprint management. |
mk:figma | Figma design analysis via Figma MCP: 3 modes (analyze/implement/tokens), design token extraction (CSS/Tailwind/JSON). Fallback: PNG export + multimodal. |
mk:intake | Tool-agnostic ticket/PRD analysis with 8-dimension completeness scoring, media fallback chain, injection defense. |
Features
- 17 reference merges across 10 skills (RCA selection, plan-creator ops/cold-start/mutation, QA browser checklist, agent-detector token budget, office-hours product lens, typescript review checklist, cook loop safety, review iterative protocol, frontend anti-slop, testing E2E best practices).
- Hook runtime profiling —
MEOW_HOOK_PROFILEenv var:strict(all),standard(default),fast(gate + privacy only). Safety-critical hooks never skip. - Mandatory simplification —
mk:cooknow requiresmk:simplifybetween Phase 3 (Build) and Phase 4 (Review). - Proactive learning —
learning-observer.shPostToolUse hook detects churn patterns, feeds into retroactive capture.
Removals / Renames
mk:shipping→mk:ship.mk:documentation→mk:document-release.mk:debug→mk:investigate.- (Redirects in place for 2 releases.)
Improvements
- MICRO-TASK TDD exemption — non-production code <30 lines exempt from TDD if classified MICRO-TASK by orchestrator.
- Staged parallel mode — overlapping files handled sequentially, non-overlapping in parallel.
- Memory capture enhancement — budget 2 min → 5 min, markers 3 → 5, CRITICAL/SECURITY markers always processed,
--capture-allflag. mk:scale-routing— 4-layer detection (CSV + task content + context + confidence scoring), 8 task type classifications, optionalproduct-areas.yaml.
CLI
npx mewkit initnow prompts for optional system deps (FFmpeg, ImageMagick).npx mewkit setup --system-depsfor deferred install.npx mewkit doctorreports status.
1.4.0 (2026-04-03) — The Plan Intelligence Release
Highlights
Dedicated plan red-team with CK-style adjudication, plan-specific personas, and new workflow modes.
Features
- Plan red-team extraction — monolithic step-04 split into steps 04–07; dedicated
step-05-red-team.mdwith 7-field findings (Severity / Location / Flaw / Failure Scenario / Evidence / Suggested Fix / Category). - Agent adjudication (Accept/Reject + rationale), 3-option user review gate (Apply all / Review each / Reject all), deduplication, severity sorting, 15-finding cap.
- 2 new plan-specific personas:
plan-assumption-destroyer(unvalidated scale, dependency, team, infrastructure, timeline, integration assumptions) andplan-scope-complexity-critic(YAGNI violations, over-phasing, scope creep, premature abstraction). - Dynamic persona scaling — phase-count thresholds: 1–3 phases = 2 personas, 4–5 = 3, 6+ = 4.
- Red Team Review section — auditable finding table written to plan.md.
workflow-fast.md— compact path (skips research, scout, red-team, interview).--parallelmode — file ownership matrix in plan.md## Execution Strategy, parallel group task hydration, max 3 groups.--twomode — 2 competing approach files + trade-off matrix; user selects approach at step-04.
Improvements
mk:plan-creatorworkflow expanded from 6 steps (00–05) to 9 steps (00–08)..plan-state.jsonschema bumped to v1.1 with optionalparallel_groupsandselected_approachfields.- 6 new gotchas and 2 new reference files (
parallel-mode.md,two-approach-mode.md).
1.3.4 (2026-04-02) — Hook path resolution fix
Bug Fixes
- All hooks use
$CLAUDE_PROJECT_DIRfor absolute paths insettings.jsonand CWD guard. Fixes "No such file or directory" when CWD differs from project root.
1.3.3 (2026-04-02) — The Hook Safety Release
Bug Fixes
cost-meter.sh— always exited 1 becausesettings.jsonpasses no arguments; now exits 0 for missing args.post-write.sh— exited 1 on empty/missing file path; now exits 0 (matches PreToolUse safety fallback).pre-task-check.sh— usedexit 2for WARN findings; Claude Code treats non-zero as error; now exits 0.
1.3.2 (2026-04-01) — The Plan Quality Release
Highlights
Complete redesign of mk:plan-creator to match/exceed ck-plan across 15 dimensions.
Features
- Step-file architecture — SKILL.md (thin entry) + workflow.md + 6 step files. JIT loading.
- Multi-file phase output —
plan.mdoverview (≤80 lines) +phase-XXfiles (12-section template each). - Scope challenge — Trivial → exit, simple → fast, complex → hard. User chooses EXPANSION / HOLD / REDUCTION.
- Plan red team — 2 adversarial personas (Assumption Destroyer + Scope Critic) review plans before validation (hard mode).
- Research integration — bounded (2 researchers, 5 calls each), findings cited in phase Key Insights.
- Sync-back —
.plan-state.jsoncheckpoint enables cross-session resume. - Critical-step tasks —
[CRITICAL]/[HIGH]todo items get dedicated Claude Tasks. - Richer frontmatter —
description,tags,issue,blockedBy/blocksfields.
1.3.1 (2026-03-31) — The Red Team Depth Release
Highlights
Hybrid adversarial persona system for mk:review.
Features
- Scope gate — step-01 classifies diffs as minimal (≤3 files, ≤50 lines, no security, domain ≠ high) or full. Minimal runs Blind Hunter only.
- Hybrid persona system — Phase B: 4 adversarial persona subagents (Security Adversary, Failure Mode Analyst, Assumption Destroyer, Scope Complexity Critic) run after base reviewers, informed by Phase A findings. 2-at-a-time batching.
- Forced-finding protocol — zero findings triggers 1 re-analysis with "look harder" prompt. Prevents rubber-stamp approvals.
- 4-level artifact verification — Exists, Substantive, Wired, Data Flowing checks in verdict step.
1.3.0 (2026-03-31) — The Integration Integrity Release
Highlights
Full red-team audit: 98 components, 11 batches, 43 criticals found, 42 fixed.
Bug Fixes
- Hooks enforcement restored —
gate-enforcement.shandprivacy-block.shwere completely non-functional (argument mismatch). Fixed argument passing; all 9 hooks now registered and working. - Agent naming standardized — 5 phantom
subagent_typevalues inTask()calls mapped to real agents. - 7-phase model everywhere —
workflow-orchestratormigrated from 5-phase to 7-phase. Gate 2 no longer bypassable. - Path consistency — plan files, memory, ADRs, scripts all use canonical full paths.
- Verdict taxonomy unified — PASS/WARN/FAIL everywhere. Review dimensions aligned (Correctness/Maintainability/Performance/Security/Coverage).
- Python venv enforced — all scripts use
.claude/skills/.venv/bin/python3. SessionStart warns if missing. pre-ship.shguarded — no longer runs test suite on every Bash call, only on git commit/push.- Security BLOCK → FAIL — security agent BLOCK verdict now automatically fails Gate 2 Security dimension.
Improvements
- Created missing templates: party prompts (agent-selector, synthesis), team-config ownership map.
- Created
mk:fix/references/gotchas.md(7 anti-patterns). - Fixed
mk:development/references/skill-loader.md— all 13+ broken paths corrected. - Fixed mock guidance contradiction in tester agent (unit tests may mock, integration tests must not).
- Honest documentation:
mk:carefulnow states 8/30 patterns are hook-enforced (was claiming all 30).
1.2.1 (2026-03-31)
Bug Fixes
mk:cookPhase 6 (Reflect) now spawns a dedicated subagent formk:memorysession-capture. Previously memory write was an inline bullet point that could be skipped if session was interrupted. Now enforced as MUST-spawn.
1.2.0 (2026-03-31) — The Memory Activation Release
Highlights
Fixed the dormant memory system and enriched it with cross-framework insights from 6 agent frameworks.
Features
- Memory capture pipeline —
post-session.shnow writes structuredNEEDS_CAPTUREmarkers instead of invisible HTML comment placeholders. - Retroactive capture — Phase 0 processes pending markers from previous sessions (max 3 markers, 2-min budget).
- Live capture — Phase 5 captures non-obvious decisions, corrections, and rejected approaches before shipping.
- 3-category extraction — patterns, decisions, or failures.
- New
patterns.jsonfields —category,severity,applicable_when(all optional, backward compatible). - Stronger promotion criteria — patterns promoted to CLAUDE.md only when frequency ≥ 3, severity = critical OR frequency ≥ 5, generalizable, saves ≥ 30 min. Human approval still required.
- Consolidation rubric — 4-branch classification (clear match auto-merge / ambiguous ask / no match create new / no signal skip).
1.1.0 (2026-03-30) — The Reasoning Depth Release
Highlights
Deeper review reasoning, resumable builds, and systematic coverage mapping. Inspired by comparative analysis of BMAD-METHOD, ClaudeKit-Engineer, Khuym Skills, and Get-Shit-Done.
New Skills
| Skill | Purpose |
|---|---|
mk:elicit | Structured second-pass reasoning after review or analysis. 8 named methods (pre-mortem, inversion, red team, Socratic, first principles, constraint removal, stakeholder mapping, analogical). |
mk:validate-plan | 8-dimension plan quality validation. Auto for COMPLEX tasks, optional for STANDARD. |
mk:nyquist | Test-to-requirement coverage mapping. Reads plan acceptance criteria + test files, produces gap report showing untested requirements. |
Features
mk:reviewnow recommends runningmk:scoutbefore review for complex changes (3+ files).- After review verdict, users can run
mk:elicitfor deeper analysis through a named reasoning method. - Beads pattern — COMPLEX tasks (5+ files) decompose into atomic, resumable work units. Each bead has acceptance criteria, file ownership, and ~150 lines size. Progress tracked in
session-state/build-progress.json. Interrupted builds resume from last completed bead. - Subagent Status Protocol — all subagents report structured status (DONE, DONE_WITH_CONCERNS, BLOCKED, NEEDS_CONTEXT) with controller handling rules.
Improvements
- Sub-agent type classification — support agents now have
subagent_typein frontmatter: advisory (brainstormer, researcher, ui-ux-designer), utility (git-manager), escalation (journal-writer). - Pre-delegation checklist added to
orchestration-rules.md: work context, plan reference, file ownership, acceptance criteria, constraints.
1.0.0 (2026-03-30) — The Disciplined Velocity Release
Highlights
The biggest MeowKit update yet. 13 new capabilities inspired by deep analysis of BMAD-METHOD and ClaudeKit-Engineer. Theme: scale throughput while maintaining absolute discipline.
New Skills
| Skill | Purpose |
|---|---|
mk:scale-routing | Domain-to-complexity CSV routing. Fintech, healthcare, IoT auto-force COMPLEX tier. User-extensible. |
mk:project-context | Generate / update agent constitution. |
mk:party | Multi-agent deliberation sessions (2–4 agents debate architecture decisions with forced synthesis). Discussion only — no code. |
mk:worktree | Git worktree lifecycle management. |
mk:task-queue | Task claiming with ownership enforcement. |
mk:help | Pipeline navigation assistant. |
mk:debug | Structured debugging: reproduce → isolate → root cause → fix → verify. |
mk:simplify | Post-implementation complexity reduction (between Build and Review). |
mk:team-config | Parallel agent team setup with ownership maps and worktrees. |
Features
- Planning Depth Per Mode — 7 modes declare researcher count:
strict/architectrun 2 parallel researchers;default/auditrun 1;fast/cost-saver/documentskip research. - Multi-Layer Adversarial Review —
mk:reviewnow runs 3 parallel reviewers (Blind Hunter, Edge Case Hunter, Criteria Auditor) with post-review triage. Catches 2–3x more bugs than single-pass review. - Anti-Rationalization Hardening — agents cannot downgrade complexity, minimize tests, skip security, or dismiss WARN verdicts without 3-part justification.
- Project Context System —
docs/project-context.mdis the agent constitution. All agents load it at session start. - Parallel Execution & Teams — COMPLEX tasks with independent subtasks run up to 3 parallel agents with git worktree isolation. Integration test required after merge.
- Step-File Architecture — complex skills decompose into JIT-loaded step files. First skill:
mk:review(4 steps). - Hook-Based Enforcement — 3 shell hooks upgrade behavioral rules:
privacy-block.sh(blocks sensitive reads),gate-enforcement.sh(blocks writes before Gate 1),project-context-loader.sh(auto-loads context).
Breaking Changes
- None. All additions are backward-compatible.
0.1.2 (2026-03-29)
Features
- Interactive version selection when running
npm create meowkit@latest. git-manageragent for commit/push workflows.- Confirmation step before Gemini API key input.
0.1.1 (2026-03-29)
Removals
- Excluded runtime dirs (
session-state,memory,logs) from release zip and git tracking.
0.1.0 (2026-03-29)
Highlights
Initial pre-release of MeowKit agent toolkit.
Features
- Core skill set (
cook,fix,ship,review,memory,testing). - Sequential thinking and fix diagnosis references.