Changelog
All notable changes to this project will be documented in this file. The format loosely follows Keep a Changelog, and this project adheres to Semantic Versioning.
[2.3.0] - 2026-07-13
Completes the upstream v2.20.0 sync from the official release (v2.2.0 synced an early beta state). Four new skills, deterministic hook self-heal manifest, and the MK_* env-var namespace. Shopify skill overhaul deliberately skipped (unused).
Added
vibeskill — vibe-coding pipeline: labels implementation as in-progress and routes bugfixes throughmk:fixinstead of ad-hoc patching.ghpmskill — GitHub project management (issues, projects, milestones).html-videoskill — produce videos from HTML/CSS animations.tech-graphskill — technology graph visualizations, 8 style references included.hooks/managed-hooks.json— manifest of unconditionally-registered hooks; enables deterministic self-heal of hook registrations.mk-code-reviewskill folder — renamed fromcode-reviewto avoid colliding with Claude Code’s builtin/code-review; references refreshed (adversarial-review stage removed, per upstream).rules/CLAUDE.md— Claude guidance bundled with rules.- cti-expert: new
github-osinttechnique. - Hook tests:
advisory-boundary-policy,workflow-artifact-gate+ workflow-artifacts fixtures.
Changed
mk:plan— time estimates removed; HTML + GitHub output modes; AgentWiki publish flag; editorial-magazine HTML reference.brainstorm— HTML-wiki and problem-first modes.review-pr— strengthened fix loop; duplicate + product gates.chrome-profile— hardened: live DevTools probe required, tab binding, runtime bridge probes, fail-closed on ambiguous profiles.gitskill — PR merge automation workflow.watzup— cross-branch handoff scanner; next steps ranked by plan progress + roadmap scan.show-off— persists workflow preferences (scripts/preferences.js).- statusline — quota section colored green/yellow, red near limit.
code-revieweragent — hardened prompt posture.- settings.json — Human MCP disabled by default (
disabledMcpjsonServers);skillListingBudgetFraction/skillListingMaxDescCharsadded. - Env vars renamed
CK_*→MK_*—MK_REPORTS_PATH,MK_SIMPLIFY_DISABLED,MK_NAME_PATTERN,MK_USAGE_CACHE_PATH,MK_PROJECT_ROOT,MK_DEBUG, etc. If you exported anyCK_*variable, rename it.
Removed
hooks/task-completed-handler.cjs,hooks/teammate-idle-handler.cjs(+ tests) — removed upstream; team orchestration is skill-local now.skills/code-review/**— replaced bymk-code-review.
Skipped (deliberate)
- shopify skill overhaul (GraphQL-first rewrite) — skill unused in this kit’s target projects.
Migration
npx my-agent-kit@latest init . --upgrade --force
Rename any exported CK_* env vars to MK_*.
[2.2.0] - 2026-06-21
Sync with upstream v2.20.0 — harness engineering: fewer prose rules, harder gates. The release sharpens the review pipeline against AI-generated slop (polished code that looks right but adds debt), compacts the always-loaded rule set, and moves team-only rules out of the startup context.
Added
mk:review-prskill — review a GitHub PR for duplicate prior work, project-standard violations, strategic necessity, correctness, security, breaking changes, and AI-slop patterns. Supports--fix(route blockers throughmk:fix) and--reply(post a formal GitHub review). Shipsreferences/anti-ai-slop.md(the slop taxonomy + detection cues) andreferences/project-rules-example.md.code-reviewerReview Posture — the agent now assumes code may be AI-written until proven otherwise: no rubber-stamp, no praise-padding, and an explicit AI-risk lens (generic helpers without a domain anchor, parallel reimplementation, catch-and-swallow, phantom tests, scope drift).mk:code-reviewanti-slop default — same posture baked into the code-review skill: distrust polished shape / confident comments / happy-path tests; verify behavior, rule compliance, and scope discipline from evidence.rules/review-audit-self-decision.md— new always-loaded rule: do not reverse verified decisions on abstract concerns, do not silently undo user decisions, identify the real threat model before applying security findings, scout before asking, keep plan/audit labels out of code artifacts.
Changed
- Compacted rules —
development-rules.md,primary-workflow.md,documentation-management.md, andorchestration-protocol.mdrewritten to the upstream compact form (~50–70% shorter) so startup context spends fewer tokens on prose. - Team coordination is now skill-local — moved
team-coordination-rules.mdfromrules/(always loaded) toskills/team/references/(loaded only when running an Agent Team). The teamSKILL.mdnow requires reading it before teammate work.
Removed
rules/skill-domain-routing.md,rules/skill-workflow-routing.md, andrules/team-coordination-rules.mddeleted from the always-loaded rule set (recorded inmetadata.jsondeletions somk-init --upgradecleans them from existing installs). Rule count: 7 → 5.
Fixed
- Identity cleanup — renamed leftover
ck-*runtime temp-file prefixes tomk-*(mk-context-,mk-session-,mk-git-cache-,mk-noti-throttle,mk-usage-limits-cache) across hooks, statusline, and their tests. Writer and reader prefixes verified in sync; hook test suites stay green.
[2.1.0] - 2026-05-26
Sync with upstream v2.19.1 — introduces the workflow artifact gate, which turns the mk:cook / mk:fix review process into a file-backed contract instead of a prompt checklist. Reviewers now produce JSON artifacts that the gate validates before any commit, ship, push, PR, or deploy action.
Added
-
Workflow artifact gate — new hook +
claude/hooks/workflow-artifact-gate.cjsand four sub-modules (validator,artifact-locator,stage-detector,artifact-schema). Validates 5 required JSON artifacts before any finalize / commit / ship / push / pr / deploy action:Artifact Purpose context-snippets.jsonevidence the reviewer actually read code risk-gate.jsonrisk classification + autoStopRequiredsignalverification.jsontest / typecheck / build evidence review-decision.jsonfinal PASS/FAIL with criticals + warnings adversarial-validation.jsonrequired when --auto, high-risk, or large-diffHook is opt-in via
.claude/.mk.json(hooks.workflow-artifact-gate: true). Manual CLI mode always validates and exits non-zero when the gate blocks:node .claude/hooks/workflow-artifact-gate.cjs --stage finalize \ --artifact-dir plans/<plan>/reports/harness/Artifact directory conventions:
- Plan workflow:
plans/<plan-dir>/reports/harness/ - No-plan workflow:
plans/reports/harness/<timestamp-slug>/ - Active pointer:
.claude/workflow-artifacts.json
- Plan workflow:
-
Secret leak scan in validator — refuses to validate artifacts containing unredacted
Authorization: Bearer …,Cookie: …,API_KEY=…/TOKEN=…/SECRET=…/PASSWORD=…, GitHub tokens (ghp_*,gho_*,ghu_*,ghs_*,github_pat_*), OpenAI keys (sk-*), AWS access keys (AKIA*), or PEM private keys. Artifacts must redact or mask these before validation passes. -
workflowArtifactGateconfig block inclaude/hooks/lib/mk-config-utils.cjsdefaults:workflowArtifactGate: { enabled: true, softStages: ['finalize', 'commit'], hardStages: ['ship', 'push', 'pr', 'deploy'], highRiskAutoStop: true } -
MyKit JSON schema at
claude/schemas/mk-config.schema.json— full schema for.claude/.mk.json, including the new artifact gate section. Wire this into your editor ("$schema") for autocomplete on.mk.json. -
chrome-profileskill — manage real Chrome profiles for browser automation that needs the user’s actual cookies / session / extensions (different frommk:agent-browserwhich uses a fresh tool-managed browser). Includes install/uninstall scripts andchrome_profile_cli.py. -
claude/skills/_shared/references/workflow-artifacts.md— single source of truth for the artifact contract, shared by bothcookandfixskills. -
settings.jsonregistration —workflow-artifact-gate.cjsruns onUserPromptSubmitso it can advise (soft) onfinalize/commitstages even before the user types a hard-stage command. Hard stages (ship / push / pr / deploy) block when artifacts are missing or invalid.
Changed
mk:cookreview cycle policy —score >= 9.5is now only a confidence signal, never sufficient for approval on its own. Approval requires:review-decision.decision == PASSAND- artifact validator passes AND
critical_count == 0
mk:cookauto mode — high-risk diffs (auth, payments, DB schema, migration, public API, CI/deploy/release/production config, destructive FS ops, large diff) now triggerrisk-gate.autoStopRequired = trueand stop the auto pipeline pending human approval viaAskUserQuestion. Previously--autoskipped all gates.mk:fixreview cycle — now writes the same 5-artifact set after diagnose AND after fix steps, with the artifact gate validating both.code-revieweragent — emitsreview-decision.jsonandadversarial-validation.jsoninstead of free-form prose. Score remains in the artifact but no longer triggers auto-approve.subagent-init.cjs— passes workflow context (current stage, artifact dir pointer) into subagent system prompts so reviewers know which artifact directory to write to.descriptive-name.cjs— minor tweak to file-naming guidance text.lib/context-builder.cjs— small refactor to share helpers with the new artifact gate.
Synced files from upstream v2.19.1
| Path | Notes |
|---|---|
claude/skills/cook/SKILL.md + README.md | new HARD-GATE wording, artifact contract |
claude/skills/cook/references/review-cycle.md | + Required Review Artifacts section, new approval policy |
claude/skills/cook/references/workflow-steps.md | auto mode now respects autoStopRequired |
claude/skills/cook/references/intent-detection.md | minor edits |
claude/skills/cook/references/subagent-patterns.md | new file |
claude/skills/fix/SKILL.md | new HARD-GATEs aligned with cook |
claude/skills/fix/references/{review-cycle,prevention-gate,workflow-deep,workflow-standard,workflow-ui}.md | artifact wiring |
claude/skills/code-review/SKILL.md + 14 reference files | synced from upstream ck-code-review/ (folder renamed to code-review/ for MK) |
claude/skills/mk-plan/SKILL.md | minor edits |
claude/skills/mk-debug/SKILL.md | minor edits |
claude/skills/test/SKILL.md | minor edits |
claude/agents/code-reviewer.md | JSON artifact emission |
claude/hooks/subagent-init.cjs | workflow context passing |
claude/hooks/descriptive-name.cjs | guidance tweak |
claude/hooks/lib/context-builder.cjs | shared helpers |
Identity normalization
All upstream ck markers stripped during the sync:
(?<![a-zA-Z])ck:slash-command pattern →mk:(does not touchcheck:,block:,track:,feedback:)require('./lib/ck-config-utils.cjs')→require('./lib/mk-config-utils.cjs')ck-code-review/references →code-review/(MK’s folder name; the skill itself was alreadyname: mk:code-review)claudekit/ClaudeKit/ClaudeKit Engineer→my-kit/MyKit.ck.json/.ckignore→.mk.json/.mkignoreclaudekit.cc→my-kit.local\ck` unavailableCLI fallback messages →`mk` unavailable`
Verified zero leaks across all production files (grep exclusion list includes only the strip-identity skill itself, which intentionally contains the patterns it strips).
Migration
Existing v2.0.x installs upgrade cleanly with:
npx my-agent-kit@latest init . --upgrade --force
The artifact gate is off by default — no existing workflow changes unless you opt in. To enable per project:
// .claude/.mk.json
{
"hooks": {
"workflow-artifact-gate": true
}
}
Once enabled, mk:cook and mk:fix reviews will write artifacts; finalize / commit / ship / push / PR / deploy actions block until the validator passes. To verify manually before a release:
node .claude/hooks/workflow-artifact-gate.cjs --stage ship \
--artifact-dir plans/<your-plan>/reports/harness/
Behavioral note (not breaking, but worth knowing)
If you previously relied on mk:cook --auto racing through high-risk changes (auth / payments / DB schema / CI / deploy / destructive FS) it will now stop on the first risk trigger and ask. To preserve old behavior you can leave the artifact gate off, but the new policy is the recommended default.
[2.0.1] - 2026-05-19
Patch release fixing an incomplete identity rename in v2.0.0.
Fixed
- Slash command prefix leak — 246 files still referenced the old
ck:command prefix (e.g./ck:cook,ck:docs-seeker) instead ofmk:. The v2.0.0 identity sweep used a word-boundary regex that silently skipped theck:slash-command pattern. Users saw/ck:docsin the command palette instead of/mk:docs. All 246 files corrected with a boundary-safe substitution (does not touchcheck:,block:,track:,feedback:). - Config filename references — documentation and helper scripts pointed users at
.ck.json/.ckignore, but the actual kit ships.mk.json/.mkignore. Following the old docs created config files the kit never read. All references corrected.
Upgrade
npx my-agent-kit init . --upgrade --force
No behavior change beyond correct command names — purely a naming-consistency fix. If you installed v2.0.0 and saw /ck: commands, upgrade to v2.0.1.
[2.0.0] - 2026-05-12
Major release synchronizing with upstream v2.17 plus a structural refactor of the kit layout. Contains breaking changes for existing installs — see the migration guide below.
Highlights
- 6 new skills ported from upstream:
agentize,cti-expert,excalidraw,graphify,show-off,xia fixskill v2.0 — rewritten with a structured diagnosis pipeline (root cause → reproduction → minimal fix → regression test)mk:planoverhaul — scoped plans, verification roles, canonical phase-file template, CLI-only plan creation- Statusline — refactored to a config-driven modular renderer with theme parity across compact / minimal / full modes
- Signal-driven simplify gate — opt-in hook (
simplify-gate.cjs) that suggests code simplification only when activity signals warrant it - Quality gates — schema contract for skills, format compliance check, cross-reference integrity, metadata deletion verification
- Worktree skill —
--baseflag,status prunesubcommand, submodule setup, forward-slash branch names
Added
New skills
| Skill | What it does |
|---|---|
agentize | Convert an existing codebase into a CLI tool and MCP server |
cti-expert | Cyber Threat Intelligence / OSINT investigation playbook |
excalidraw | Generate Excalidraw .excalidraw diagram files |
graphify | Build a knowledge graph from notes, code, or docs |
show-off | Showcase / demo presentation generation with readiness chain |
xia | Repo-porting and repo-analysis workflow |
New rules
claude/rules/skill-domain-routing.md— intent-based decision tree for picking the right skill from a problem descriptionclaude/rules/skill-workflow-routing.md— routing rules for chaining skills into a workflow
New agents
code-simplifier— proactive code simplification specialist (replacessimplifier, with stronger signal-driven invocation)journal-writer— writes development journal entriesmcp-manager— manages MCP server registration
New hooks
simplify-gate.cjs— signal-driven simplify suggestion gate (opt-in, default off)usage-quota-cache-refresh.cjs— refreshes API usage quota cache between sessions- Hardened
scout-block.cjs— fixed Windows absolute paths handling
Install / build
mk-init.sh --upgrade— clean upgrade mode. Readsclaude/metadata.jsondeletions list and drops removed paths from the target’s.claude/before copying fresh contentclaude/metadata.json— kit manifest with version, deletions list (for clean upgrades), and build metadataclaude/statusline.cjs— modular, config-driven statusline renderer
Changed
Repository layout (BREAKING)
The canonical kit content moved from .claude/ to claude/ (no leading dot).
Before After
───────────────────── ───────────────────────
my-agent-kit/.claude/ → my-agent-kit/claude/
└─ (kit content) └─ (kit content — source of truth)
Target project (unchanged)
target/.claude/ target/.claude/ ← still here, created by mk-init.sh
Why: separates source-of-truth kit content (claude/) from runtime Claude Code config (.claude/). The installer (mk-init.sh) copies `claude/* →