---
name: Agentic Readiness Audit
slug: agentic-readiness-audit
category: SEO
description: Audit a website against the Forter Agentic Readiness Guide. Scores 25 guidelines on discoverability, comprehensibility, trust, actionability, and experience, producing a prioritized fix report.
github: "https://github.com/forter/agentic-readiness-guide"
language: JavaScript
stars: 103
forks: 4
install: "git clone https://github.com/forter/agentic-readiness-guide"
added: 2026-07-16T03:20:46.710Z
last_synced: 2026-07-16T03:20:46.710Z
canonical_url: "https://dirskills.com/skills/agentic-readiness-audit"
---

# Agentic Readiness Audit

Audit a website against the Forter Agentic Readiness Guide. Scores 25 guidelines on discoverability, comprehensibility, trust, actionability, and experience, producing a prioritized fix report.

**Install:** `git clone https://github.com/forter/agentic-readiness-guide`

## README

# Forter Agentic Readiness Guide 

A practical, opinionated guide to making any website **agent-ready** - discoverable, comprehensible, trustworthy, actionable, and experiential - so that LLM-driven agents (and the humans behind them) can find, understand, trust, and act on your product.

Five modules, 25 guidelines, each one a single markdown file in [`content/`](./content). Every guideline has a "What & why", a 1-5 complexity/impact score, concrete steps, and references. Where Forter ships infrastructure that satisfies a guideline, the file ends with a "How Forter helps" callout.

## Download it offline

https://github.com/user-attachments/assets/9817a638-6ffc-42b3-94b4-a0124f280cea

**[Download the full guide (PDF)](https://l.forter.com/hubfs/Forter-agentic-readiness-guide.pdf)**

## Read it online

Browse [`content/`](./content) directly on GitHub. Files are organized by module: `m1-*` Discoverable, `m2-*` Comprehensible, `m3-*` Trustworthy, `m4-*` Actionable, `m5-*` Experiential.

## Audit your own site

This repo ships a Claude Code skill in [`SKILL.md`](./SKILL.md), backed by 25 machine-testable rubrics in [`audit/`](./audit), that turns the guide into an automated auditor. Point it at a site (and optionally its source) and it will:

1. Run the probe in each `audit/m{M}-{N}.md` rubric against your site.
2. Score each guideline **Pass / Partial / Fail / N/A**, citing the literal probe response as evidence.
3. Rank Fails and Partials by **impact × (6 - complexity)** so the highest-leverage fixes float to the top.
4. Optionally apply fixes as commits when you give it your repo path.

### Install the skill

[Claude Code](https://docs.claude.com/claude-code) auto-discovers skills under `~/.claude/skills/`. Clone once and **symlink** the repo in - no copying, so `git pull` keeps the skill current and your skills folder stays clean:

```bash
git clone https://github.com/forter/agentic-readiness-guide.git
mkdir -p ~/.claude/skills
ln -s "$(pwd)/agentic-readiness-guide" ~/.claude/skills/forter-agentic-readiness-audit
```

(The symlink's name matches the skill's `name`. The repo's root `SKILL.md` and `audit/` resolve straight through the symlink. To uninstall, `rm ~/.claude/skills/forter-agentic-readiness-audit` - that removes only the link, not your clone.)

Then in any Claude Code session:

```bash
claude "Audit https://your-site.example.com against the Agentic Readiness Guide"
```

Claude picks the skill up from its frontmatter `description` and runs it. Add `--add-dir /path/to/your/site` to include your source repo - fixes get applied as commits there. Type `/skills` inside Claude Code to confirm the skill is loaded.

**Prereqs.** The probes shell out to `curl`, `jq`, and `python3` (for HTML parsing). All three are standard on macOS and most Linux distros; on a bare container, install via `apt-get install curl jq python3` or `brew install jq` (curl and python3 usually ship).

### What you get

A single `report/AUDIT.md` with, in order:

- **One-line scoreboard** - `Score N/W (P%) · X Pass · Y Partial · Z Fail · K N/A`.
- **Headline** - two sentences a non-technical reader can grasp: where the site sits and the rough shape of the gap.
- **Action plan** - ordered fixes (smallest concrete change → guideline it unblocks → effort → point gain), with a projected post-fix score.
- **Cross-cutting blockers** - when one bug gates ≥ 3 guidelines, it gets a dedicated reproduce-and-fix subsection instead of being repeated per row.
- **Findings table** - 25 rows, one per guideline, with the literal probe response as inline evidence.

Raw probe outputs land alongside in `report/*.out`; opt into `report/score.json` (machine-readable, schema below) and a PR-ready issue list by asking for them. A typical first audit on a real e-commerce site closes the discoverability tier in a day and surfaces 15-20 deeper items the team can sequence over a sprint.

### `report/score.json` (machine-readable, opt-in)

Ask for it explicitly ("also write `score.json`") and the skill emits a single JSON file next to `AUDIT.md` - the same scores as the report, structured for CI/CD gates, dashboards, or trend tracking. The findings table is for humans; `score.json` is for machines.

```jsonc
{
  "host": "example.com",                 // bare host audited (no scheme)
  "tested_at": "2026-06-02T14:30:00Z",   // ISO-8601 UTC timestamp of the run
  "scope": ["m1-1", "m1-2", "..."],      // guideline ids actually scored this run (default: all 25)
  "scoreboard": {
    "pass": 4, "partial": 8, "fail": 11, "na": 2,   // guideline counts by status
    "blocked": 0,                                    // guidelines gated by a cross-cutting blocker (↺)
    "weighted": { "points": 31, "total": 142, "pct": 22 }  // summed sub-check weights; pct = points/total
  },
  "blockers": [                          // cross-cutting issues gating ≥3 guidelines (may be empty)
    { "id": "A", "title": "WAF challenges agent fetchers", "gates": ["m1-1", "m1-3", "m2-2"] }
  ],
  "guidelines": [
    {
      "id": "m1-1",                      // matches content/m1-1-*.md and audit/m1-1.md
      "title": "Discovery files",        // the audit rubric's short title
      "status": "partial",              // "pass" | "partial" | "fail" | "na" | "blocked"
      "points": 2,                       // sub-check weights earned
      "weight_total": 10,                // sum of the rubric's sub-check weights (matches audit frontmatter)
      "complexity": 1,                   // 1-5, from the rubric/content frontmatter
      "impact": 4,                       // 1-5, from the rubric/content frontmatter
      "priority": 20,                    // impact × (6 - complexity); higher = fix first
      "visual_change": "none",          // "none" | "low" | "medium" | "high"
      "sub_checks": [                    // one entry per rubric row, in order
        { "name": "sitemap.xml exists",     "pass": true,  "weight": 1, "evidence": "200 application/xml" },
        { "name": "Content-Signal present", "pass": false, "weight": 1, "evidence": "no Content-Signal: line" }
        // weight: 0 rows are manual/bonus checks - surfaced but never drag the automated score
      ],
      "fix_summary": "Add Content-Signal directive; create llms.txt and index.md; emit Link: headers."
    }
    // ... one object per guideline in scope
  ]
}
```

**Field notes.** `weighted.total` counts only guidelines that were scored (N/A and blocked guidelines are excluded), so `pct` reflects what was actually testable. `status` maps from `points / weight_total` per the rubric's thresholds (default **Pass ≥ 85%**, **Partial ≥ 30%**, **Fail < 30%** - some rubrics override this; see [`audit/README.md`](./audit/README.md)). A sub-check with `"weight": 0` is a `(manual)` or bonus row: it appears for visibility but can never lower the automated score. `priority` is the same `impact × (6 - complexity)` ranking the action plan uses.

## Cite it

Licensed CC BY 4.0 - use, adapt, and quote freely with attribution to Forter.

## Contribute

Spotted an outdated reference? Missing protocol? Better wording for a guideline? PRs welcome.

1. Edit the relevant markdown file in `content/`.
2. Keep the frontmatter and H1 in sync (see [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the schema).
3. Open a PR against `main`.

The rendered PDF and webinar are produced from a separate build pipeline. CI (`npm test`) validates frontmatter, audit↔content alignment, and required section structure on every PR - so you'll find out before merge if something is off.

## Structure

```
content/                    Human-facing guide (markdown, the editorial source of truth)
  00-toc.md                 Table of contents
  01-introduction.md        Lifecycle frame: Discover → Comprehend → Trust → Act → Experience
  m{1-5}-0-module-*.md      Five module overviews
  m{1-5}-{1-N}-*.md         Twenty-five guideline files

audit/                      Machine-testable rubrics - one per guideline, used by SKILL.md
  m{1-5}-{1-N}.md           Probe + weighted sub-checks + codebase hints
  README.md                 Rubric file format & strict scoring rules

SKILL.md                    Claude Code skill - orchestrates probes and writes report/AUDIT.md
CONTRIBUTING.md             Frontmatter schema, body-section checklist, PR template
scripts/validate.mjs        Self-contained frontmatter + alignment validator (npm test)
LICENSE                     CC BY 4.0
```

## License

Content is licensed [CC BY 4.0](./LICENSE). Built and maintained by [Forter](https://www.forter.com).

