Measuring AI-Readiness — PyCon Italia 2026 · Fri May 29, 11:00–13:00
A maturity model for agent-optimized codebases. We started with three axes โ building v2, security forced a fourth.
| Axis | Wt | Question | Dimensions (v2) |
|---|---|---|---|
| ๐ INSTRUCT | 28% | Understand WHAT we want? | Agent Instructions & Context (18) + Spec-Driven Workflow & Docs (10) |
| ๐งญ NAVIGATE | 30% | Find its way & reach for tools? | Navigability & Code Intelligence (18) + Agent Tooling & Capabilities (12) |
| โ VALIDATE | 30% | Verify it did it right? | Testing & Feedback (16) + CI/CD, Automation & Governance (14) |
| ๐ก๏ธ SECURE | 12% | Run safely? | Security & Sandbox (12) |
Every check is portable (counts for any agent) or
target-specific (only scored when you declare an agent with --agents).
The skills power /agent-ready scan | fix | report | diff | init. Choose one:
Method A — Quick copy (fastest)
git clone https://github.com/RisorseArtificiali/agent-ready-skill.git /tmp/agent-ready-skill
mkdir -p ~/.claude/skills
cp -r /tmp/agent-ready-skill/skills/* ~/.claude/skills/
rm -rf /tmp/agent-ready-skill
Method B — Clone + symlink (recommended, stays updated)
git clone https://github.com/RisorseArtificiali/agent-ready-skill.git ~/agent-ready-skill
cd ~/agent-ready-skill
for skill in agent-ready agent-ready-scan agent-ready-fix agent-ready-report agent-ready-diff agent-ready-init; do
ln -sf "$(pwd)/skills/$skill" "$HOME/.claude/skills/$skill"
done
git pull in ~/agent-ready-skill updates all skills.git clone https://github.com/maeste/quicknote-demo.git
cd quicknote-demo
git checkout step-0-bare
git stash / git checkout -- . won't move them โ use git stash -u (keeps your work; git stash pop restores it) or git checkout -f step-N (discards it)./agent-ready scan .
If you see a 4-axis assessment with a score, you're ready.
/agent-ready scan .
cp .agent-ready/agent-ready-scores.json .agent-ready/baseline.json
The agent analyzes 7 dimensions across the 4 axes. Expect ~10-15/100 โ that's the point. The cp saves your starting point so Phase 6 can show the full journey.
/agent-ready scan . (no --agents). That keeps the Phase 6 diff apples-to-apples, since diff always re-scans in portable mode.Run this once to see the other layer:
/agent-ready scan . --agents claude
Target sub-criteria now activate (a CLAUDE.md bridge, permission rules). Without --agents, those are n/a and excluded โ a portable repo is never penalized for vendor files it doesn't need. We revisit --agents in the take-home; the rest of the hands-on stays portable.
/agent-ready scan /path/to/your/project
Who scored higher than the guinea pig?
INSTRUCT (28%) = Agent Instructions & Context (18) + Spec-Driven Workflow & Docs (10).
AGENTS.md is the cross-vendor standard โ one file every agent reads. Don't hand-write it; ask Claude:
Read this project and write a concise AGENTS.md (under 200 lines): overview,
build/test/lint commands, structure, conventions, and a short safe-to-run note.
Review it, then bridge it for Claude Code with a symlink (no duplicate, no drift):
ln -s AGENTS.md CLAUDE.md
Codex, opencode, and pi read AGENTS.md natively.
/agent-ready scan .
INSTRUCT should jump. One file (plus a symlink). That's it.
git checkout step-1-instruct
step-1-instruct also adds specs/, an ADR, issue/PR templates and a CHANGELOG (the D7 half of INSTRUCT). The live step focuses on the single biggest lever (AGENTS.md, D1=18); the branch is the fully-done INSTRUCT state, so its score is a bit higher.NAVIGATE (30%) = Navigability & Code Intelligence (18) + Agent Tooling & Capabilities (12).
/agent-ready fix navigability_code_intelligence
/agent-ready fix agent_tooling_capabilities
The agent loads your scores, finds gaps, and generates contextualized files โ an ARCHITECTURE.md / repo map, an .mcp.json declaring a nav server (Serena), a scripts/ helper. Not boilerplate โ tailored to YOUR project.
/agent-ready fix (no argument) fixes every impactful gap across all axes at once. We pass a dimension id to keep this phase on NAVIGATE โ so VALIDATE and SECURE stay for their own phases. On a real project, running it unscoped to fix everything in one pass is perfectly fine./agent-ready scan .
git checkout step-2-navigate
VALIDATE (30%) = Testing & Feedback (16) + CI/CD, Automation & Governance (14).
Create a GitHub Actions CI workflow that runs ruff check, mypy, and pytest.
Write pytest tests for the storage module, with descriptive assertion messages.
assert) and a type checker the agent can run./agent-ready scan .
git checkout step-3-validate
step-3-validate also adds pre-commit, Dependabot, CODEOWNERS and coverage config โ the governance half of D4. To close that live too: /agent-ready fix cicd_automation_governance.SECURE (12%) = Security & Sandbox. The axis v2 added โ because an agent that understands, navigates, and validates perfectly can still leak secrets or get prompt-injected.
/agent-ready fix security_sandbox --agents claude
The agent generates a vendor-neutral docs/agent-execution.md (sandbox / execution policy โ devcontainer, OS-sandbox, hosted, or LINCE), a redacted .env.example, secret patterns in .gitignore, and flags lockfiles to commit.
--agents here? The permission-policy sub-criterion is target, so only --agents claude surfaces it (it's a manual item โ the agent flags it with steps rather than generating restrictive deny rules for you).What it scores:
--agents): restrictive deny rules/agent-ready scan .
git checkout step-4-secure
Five of the six SECURE sub-criteria are portable, so a bare scan shows the jump. The sixth โ permission policy โ is the target/manual item surfaced by the fix above.
/agent-ready diff .agent-ready/baseline.json
Compares your saved Phase-1 baseline against a fresh scan โ the full journey, overall ~10 โ ~75 (portable layer). Passing the baseline path matters: bare /agent-ready diff would only compare against your last scan, showing almost no change.
/agent-ready report --format html
A layered report in .agent-ready/ with explained findings (every gap ships why it matters ยท consequence ยท how to fix ยท effort) and a badge.svg.
git checkout step-5-complete
/agent-ready scan . --agents claude
A fully agent-ready project scoring ~85/100. Here we do pass --agents claude โ step-5-complete ships the vendor permission policy and a project Skill, so the target layer is worth showing in the finale.
/agent-ready works on every project./agent-ready init . --agents claude scaffolds an agent-ready baseline (AGENTS.md, secret hygiene, execution policy, CI) from day one. On a populated repo init defers to scan/fix โ it won't overwrite.AGENTS.md is the cross-vendor standard โ it pays off whatever agent you use.| Level | Name | Threshold |
|---|---|---|
| L1 | Foundational | ≥ 40% |
| L2 | Guided | ≥ 55% |
| L3 | Structured | ≥ 70% |
| L4 | Optimized | ≥ 85% |
| L5 | Autonomous | ≥ 95% |