by azalio
Plan-then-build AI coding for Claude Code & Codex CLI — you approve the plan before the model writes a line of code. SPEC → PLAN → TEST → CODE → REVIEW → LEARN
# Add to your Claude Code skills
git clone https://github.com/azalio/map-frameworkGuides for using ai agents skills like map-framework.
Last scanned: 8/17/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-17T04:42:30.136Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}map-framework is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by azalio. Plan-then-build AI coding for Claude Code & Codex CLI — you approve the plan before the model writes a line of code. SPEC → PLAN → TEST → CODE → REVIEW → LEARN. It has 132 GitHub stars.
Yes. map-framework passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/azalio/map-framework" and add it to your Claude Code skills directory (see the Installation section above).
map-framework is primarily written in Python. It is open-source under azalio on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh map-framework against similar tools.
No comments yet. Be the first to share your thoughts!
Most AI agents rush straight to code — fast wrong answers, silent rework.
Common failure modes MAP eliminates:
MAP moves engineering judgment earlier: write down the behavior, split the work into small contracts, verify each stage, review against the spec, and save lessons for the next run.
1. Install
uv tool install mapify-cli
# or with pip
pip install mapify-cli
2. Initialize your project
Claude Code is the default provider:
cd your-project
mapify init
claude
Codex CLI:
cd your-project
mapify init . --provider codex
codex
Then enable the Codex hook: run /hooks, select PreToolUse, press t to toggle on, then Esc. If your Codex version does not support the hooks feature key yet, start with codex --enable codex_hooks or upgrade first.
3. Run the loop
/map-plan define the behavior and split the task
/map-efficient implement the approved plan
/map-check
/map-review
/map-learn
That's the whole golden path.
/map-plan for anything non-trivial — it clarifies behavior and splits the work into contract-sized subtasks./map-efficient./map-plan off-ramps you to a direct edit or /map-fast instead of forcing full planning./map-wayfind resolves open design decisions one at a time on a durable map, then hands settled decisions to /map-plan./map-auto routes and drives the chain autonomously; hard-stops only on dangerous_action/safety_guardrail holds.Codex CLI users invoke the same skills with
$:$map-plan,$map-efficient,$map-check. See the Usage Guide.
Framework updates. Automatic stable updates are enabled by default. Normal MAP skills check at most once per project every 24 hours, apply eligible patch and minor releases, and ask before a major release after showing its official feature highlights. Rejecting a major offer is remembered per project for that exact version, so it is not offered again; any different patch, minor, or major version is offered normally. Use these project controls and provider-specific manual skills when needed:
mapify init . --no-auto-update # persist updates.auto: false
mapify init . --auto-update # re-enable automatic checks
/map-upgrade # Claude manual check/upgrade
$map-upgrade # Codex manual check/upgrade
Automatic failures stay silent so they do not block the requested workflow;
manual checks report errors explicitly. The public mapify upgrade command is
separate and unchanged: it upgrades only the CLI and does not refresh project
files. See Automatic and manual framework updates.
The DevOpsConf 2026 case study applies this process to a production Kubernetes Project Operator:
SPEC → PLAN → TEST → CODE → REVIEW → LEARN| Good fits | Poor fits |
|---|---|
| Complex backend features | Typos and tiny edits |
| Kubernetes controllers and operators | Small one-off scripts |
| Internal platform tooling | Product ideas where behavior is still unknown |
| API, CRD, or domain-model changes with invariants | Broad rewrites without clear boundaries |
| Refactoring with a meaningful test harness | Tasks cheaper to do directly than to plan |
| Command | Use For |
|---|---|
/map-auto |
Single-entry autonomous autopilot: routes a task through existing MAP workflows and drives the chain to a committed branch |
/map-plan |
Start here for non-trivial work; clarify behavior and decompose tasks |
/map-wayfind |
Too foggy to plan? Resolve design decisions on a durable map before /map-plan |
/map-efficient |
Implement an approved plan or already-scoped task |
/map-fast |
Small, low-risk changes where full planning is overhead |
/map-check |
Quality gates, verification, and artifact checks |
/map-review |
Pre-commit semantic review against the plan, tests, and diff |
/map-learn |
Capture project memory and reusable lessons |
/map-understand |
Interactive teaching and quiz mode for code, diffs, and workflow results |
/map-debug |
Bug fixes and debugging |
/map-task |
Execute a single subtask from an existing plan |
/map-tdd |
Test-first implementation workflow |
/map-release |
Package release workflow |
/map-resume |
Resume interrupted workflows |
/map-plan and /map-efficient require per-subtask size, concern, and constraint metadata, then validate blueprint.json before implementation, so oversized or mixed-concern plans fail early./map-check and /map-review validate against the spec, tests, and diff instead of asking whether code "looks fine"./map-review auto-bundles spec, plan, tests, verification, and coverage evidence into a single durable input (.map/<branch>/review-bundle.json); --detached opens a read-only worktree for inspection without touching your branch./map-learn turns hard-won fixes and gotchas into reusable context, so the next session doesn't relearn them.thinking_policy and parallel_tool_policy, so lightweight commands stay direct while planning, review, and release workflows reserve deeper reasoning and parallel fan-out for the stages that benefit.<documents>, then state the <task> and <expected_output>, so specs, diffs, logs, and schemas stay separated for the model.expected_diff_size, concern_type, one_logical_step, hard_constraints, soft_constraints, and coverage_map. Hard constraints must be owned in coverage_map and cited in the owning subtask..map/<branch>/token_budget.json, while token_accounting.json and /map-tokenreport separate research-agent/researcher cost from Actor/Monitor cost..map/<branch>/retry_quarantine.json instead of raw failed-session context..map/<branch>/run_health_report.json during closeout: terminal status, step progress, retry counters, artifact presence, hook-injection status, and advisory signals. CI can fail inconsistent closeouts with python3 .map/scripts/map_step_runner.py validate_run_health_report./map-resume keeps the active recovery flow short and moves low-frequency notes to resume-reference.md, so recovery after /clear or context exhaustion gives the next checkpoint action without loading the whole appendix.SKILL.md files into a typed SkillIR, verify content hashes, catch unsupported frontmatter, reject missing supporting-file links, and block injection-like instructions before mapify init copies surfaces into user repos.MAP orchestrates specialized roles through slash commands and skills:
TaskDecomposer → breaks goals into subtasks
Actor