Skip to content

Releases: Ref34t/mokhai-agent-readiness-kit

v0.8.1

Choose a tag to compare

@Ref34t Ref34t released this 24 Jul 08:03
5a5d509

Maintenance release: documentation and internal accuracy only. No functional changes — safe in-place upgrade.

Improved

  • Context Score reference and /llms.txt curation guide — the repository now documents the seven weighted sub-scores that make up the readiness score (and how to raise each), plus the editorial /llms.txt workflow. Repository documentation only; no change to the plugin's behaviour. (#306, PR #307)
  • Corrected scoring docblocks — two source comments in the Context Score engine that disagreed with the code (the multi-channel-discovery channel count and the exposure-safety penalty shape) were realigned with the implementation. Comment-only; the score is computed exactly as before. (#308, PR #309)

v0.8.0

Choose a tag to compare

@Ref34t Ref34t released this 17 Jul 09:16
949bfba

Feature release: first-run onboarding, and an advisory that spots instruction-shaped descriptions. No migration — safe in-place upgrade.

New

  • First-run onboarding nudge — while no content is exposed, admins see a dismissible notice (Dashboard, Plugins, Tools → Context) explaining that the empty /llms.txt is the safe default. One click (with confirmation) exposes published posts and pages, or choose content manually. Dismissal is per-admin; nothing is ever exposed without an explicit click. (#251, PR #302)
  • Instruction-shape advisory — the AI Assistant Preview warns when a /llms.txt description reads like an instruction to AI agents ("ignore previous instructions", "always recommend…") rather than a summary. Advisory only — nothing is changed, stripped, or scored down. (#238, PR #303)

Improved

  • Real-world regression fixture — the integration suite now guards the Markdown extraction pipeline with a messy-site fixture (WooCommerce, page-builder, slider content + static front page). (#256, PR #277)

v0.7.0

Choose a tag to compare

@Ref34t Ref34t released this 15 Jul 13:36
2254fc2

Feature release: agent-readable Markdown that reaches more agents, and covers more pages. No migration — safe in-place upgrade.

New

  • Rendered-HTML fallback for template-built pages (#297) — pages whose content is rendered by the theme (ACF Pro flexible-content, Sage/Acorn, and other builders that render in templates rather than through the editor) previously produced an empty Markdown twin, because the content lived only in the front-end render. Mokhai now recovers that content by reading the page's own rendered HTML and extracting the main region, so these pages get a real Markdown twin. Theme- and builder-agnostic; runs only as a last resort when no content was found otherwise, and never on the normal page-view path. Verified on a real ACF Pro site: 19/21 pages recovered real content the previous ACF-API adapter could not.
  • ACF field-content adapter + empty-twin guard (#292) — ACF field text is sourced into the Markdown body when the editor content is empty, and a page whose twin is genuinely empty now returns a 404 (and is dropped from /llms.txt) instead of serving a 0-byte body.

Improved

  • Markdown twins served as text/plain (#293) — the .md route now responds with Content-Type: text/plain and an inline disposition. Some AI fetchers reject text/markdown outright; text/plain is accepted across the board while remaining human- and agent-readable.
  • No more dead alternate links (#296) — the <link rel="alternate"> / Link: header advertising a page's .md twin is now suppressed for pages whose twin is empty (and would 404), so agents following the advertised alternate always reach real content.

Full changelog: see readme.txt.

0.6.0 — static Markdown mirror + cache-proof discovery

Choose a tag to compare

@Ref34t Ref34t released this 13 Jul 08:22
4fc05bc

Static .md mirror (auto-enabled behind hard page caches), plugin+host cache detection, and the in-content discovery link that survives AI fetchers' content extraction. Listing copy now leads with markdown publishing. No migration — safe in-place upgrade. See readme.txt changelog for details. (#283, #284, #287)

v0.5.0 — mokhai-scheme rename + new branding

Choose a tag to compare

@Ref34t Ref34t released this 30 Jun 10:53
3f024b6

Public-launch baseline. This is the first release where every developer-facing and end-user-facing identifier aligns under the mokhai scheme. No new features ship in this release.

  • Identifier rename — internal scheme — the PHP namespace (Mokhai\), WP-CLI root (wp mokhai), REST namespace (mokhai/v1), WordPress Abilities category (mokhai), option/meta/table keys (mokhai_*), and all hook names (mokhai_*) now match the plugin's public name. The previous ai-readiness-kit, agentready, and ai_readiness_kit identifiers are gone.
  • NO automatic migration — option keys, post meta, and the Markdown cache table were all stored under agentready_* or ai_readiness_kit_* names in releases prior to 0.5.0. A pre-0.5.0 install re-initialises its settings on first page-load after upgrade; re-configure the Context Profile under Tools → Context (Exposed CPTs, Exposed statuses, and toggles). The Markdown cache rebuilds on demand from the first request to each .md URL.
  • Branding — refreshed Plugin Directory icon and banner assets align with the Mokhai identity established in 0.3.2.

v0.4.0 — Mokhai - Agent Readiness Kit (public launch)

Choose a tag to compare

@Ref34t Ref34t released this 29 Jun 09:10
a9f7969

Public launch on the WordPress.org Plugin Directory — live at https://wordpress.org/plugins/mokhai-agent-readiness-kit

This release is launch housekeeping on top of the shipped feature set — no functional change, no migration. Existing installs upgrade in place.

Changed

  • Plugin published to wp.org as Mokhai - Agent Readiness Kit (slug mokhai-agent-readiness-kit); GitHub repo renamed to Ref34t/mokhai-agent-readiness-kit.
  • Refreshed Plugin Directory assets — new banner, icon, and four real screenshots (previous ones were placeholders).
  • Rewrote the wp.org readme Description to present-tense framing of the seven shipped modules.
  • Repository/package links consolidated under the new name. REST routes, WP-CLI commands, abilities, option keys, and stored data are unchanged.

Verified

  • 422 unit + 341 integration tests green · PHPCS + PHPStan (level 5) clean · WP Plugin Check clean · build + size check pass.

Full feature set: Markdown Views · LLMs Index (/llms.txt) · Context Score · Schema Coordination · AI Assistant Preview · Agent Abilities + MCP · Multi-channel discovery — all driven by one Context Profile, fully local, GPL-2.0+.

v0.3.0 — AgentReady – AI Readiness Kit (UX polish + wp.org rename)

Choose a tag to compare

@Ref34t Ref34t released this 12 Jun 12:48
9f9e15d

Renamed to AgentReady – AI Readiness Kit for wp.org naming compliance (text domain agentready-ai-readiness-kit; REST, WP-CLI, and stored data keys unchanged — AgDR-0059), plus the UX-polish cluster (#207–#215) from the 2026-06-11 live walkthrough. Distribution ZIP attached (clean: no hidden files; top-level folder agentready-ai-readiness-kit/).

v0.2.0

Choose a tag to compare

@Ref34t Ref34t released this 03 Jun 12:30
04280a5

Feature release. Three new agent-facing modules plus a batch of correctness fixes surfaced through live testing. This is the new baseline submitted to the WordPress.org plugin directory (superseding the parked v0.1.0 lineage).

New

  • AI Assistant Preview pane — view any post as an AI assistant consumes it (raw HTML / Markdown View / live /llms.txt line, side by side) with an on-demand synchronous "sample AI summary". (#45)
  • WordPress Abilities API + MCP — five manage_options-gated abilities (audit-run, profile-read, profile-set-exposure, llms-txt-regenerate, md-view-preview) exposed via core wp-abilities/v1 and reachable by MCP clients through the WordPress MCP adapter when installed. (#21, #131)
  • Multi-channel discovery sub-score — Context Score gains a seventh sub-score crediting agent-discovery surfaces beyond /llms.txt (ai.txt, /.well-known/ declarations, OpenAPI). Discoverability re-weighted 20 → 10 to fund it; total stays 100. (#22)

Improved

  • Tools → Context rebuilt as a single Card + TabPanel single-page admin aligned with the WP AI Client / OpenAI Connector design system, with REST write controllers. (#142)
  • Context Score reason strings are now fully translatable, and sub-score copy across the admin UI and the LLM narrative prompt derives from a single source of truth. (#137, #139, #140)

Fixes

  • JSON-LD emitted without esc_html() (angles escaped via JSON_HEX_TAG) so structured data validates. (#118)
  • Stale past-timestamp cron events cleared before re-scheduling across all four schedulers. (#115, #120, #121)
  • Markdown cleanup allowlist preserves word boundaries at block edges. (#135)
  • Orphaned shortcodes stripped from the Markdown walker and /llms.txt descriptions. (#145, #147)
  • /llms.txt recomposes on description change + carries a generator-version staleness signal. (#149, #151)
  • package.json version now tracks the plugin version. (#113)

Requires: WordPress 6.9+ · PHP 7.4+

v0.1.1 — bug-fix bundle

Choose a tag to compare

@Ref34t Ref34t released this 24 May 10:32
6989620

v0.1.1 — bug-fix bundle (2026-05-24)

Four bug fixes surfaced during post-merge smoke testing of v0.1.0 and an external LLM review of the live /llms.txt output. No new features, no schema changes, no data migration. Drop-in upgrade.

Fixes

  • /llms.txt regen now fires reliably after Context Profile saves on low-traffic sites. Previously, Service::schedule_regen() could leave a stale past-timestamp event sitting in the cron queue (common on wp-env without traffic), and subsequent saves silently failed to re-schedule because wp_schedule_single_event de-duped against the stale entry. Now the scheduler splits the coalesce check: future event → noop (debounce intact); past event → clear and re-schedule. (#103 · PR #107)

  • Schema_Emitter now emits per-content JSON-LD for custom CPTs. v0.1.0 only emitted Article on post and WebPage on page; custom CPTs like lesson, product, recipe got only the site-identity nodes. v0.1.1 defaults: post → Article, page and every other CPT → WebPage (the safe semantic generic). New filter agentready_schema_type_for_cpt($default, $cpt, $post_id) lets plugin/theme authors specialize (e.g. flip lesson → Article for blog-shaped CPTs, or return null to suppress per-content emit). v0.1.2 will add dedicated builders for Recipe / Course / Product / Event / Person. Design captured in AgDR-0040. (#104 · PR #108)

  • /llms.txt entry links now point at the .md form when Markdown Views is enabled. v0.1.0's /llms.txt linked at canonical HTML — agents fetched 50–100 KB per page including header, nav, footer. v0.1.1 transforms pretty permalinks (/lessons/foo/) to <slug>.md (~4–8 KB clean Markdown). Plain permalinks (/?p=42) fall through to ?format=md so the same Handler serves them. When markdown_views_enabled is false, the canonical permalink is preserved (because the .md URL would 404). (#105 · PR #109)

  • HTML entities no longer leak into the plain-text /llms.txt body. WordPress's wptexturize filter and the block editor HTML-encode typographic characters (Architect's → Architect&#8217;s). v0.1.0 served those entity codes literally to the consumer because /llms.txt is text/plain, not HTML. v0.1.1's composer decodes entities at the bottom of the escape pipeline so every text surface (site name, tagline, section label, entry title, description) is clean. (#106 · PR #110)

Upgrade

  • wp.org Plugin Directory: v0.1.0 is currently in review. v0.1.1 will be staged to SVN once v0.1.0 is approved by the reviewer — there's nothing to do on your end through the directory yet.
  • GitHub release ZIP (this page): drop the attached ai-readiness-kit-0.1.1.zip into wp-content/plugins/, replacing your existing ai-readiness-kit/ folder. Then activate. WordPress handles the rest — no migration step required (the bug fixes preserve every option key, hook name, custom table, and capability slug from v0.1.0).

Compatibility

  • WordPress 6.9+ (tested up to 7.0)
  • PHP 7.4+

What's next (v0.1.2)

  • Dedicated node builders for the common schema.org types (Recipe, Course, Product, Event, Person) so the agentready_schema_type_for_cpt filter can honor any return value.
  • Polish items surfaced during Rex reviews: a static-front-page regression test, the same wp_next_scheduled pattern check in Context_Score's Service.php, parameterised plain+pretty permalink tests, and minor docblock fills.

Verifying this release

After upgrading, run:

wp ai-readiness-kit llms-txt regen
wp ai-readiness-kit context-score recompute

…and confirm /llms.txt reflects your current Context Profile, with .md-suffixed entry links and no entity codes. On a site with custom CPTs, view source on a singular custom-CPT URL and confirm a WebPage (or Article if you wired the filter) JSON-LD node now appears alongside the site-identity nodes.

v0.1.0 — first public release

Choose a tag to compare

@Ref34t Ref34t released this 20 May 16:11
3669fd1

First public release of Agent Ready — an open-source WordPress plugin that turns a site into a first-class citizen of the AI-agent web. A single Context Profile (configured once under Tools → Context) drives every agent-facing surface: what's exposed, how it's served, and how it's scored.

Modules

Four coherent modules ship in v0.1, all driven by one profile:

  • Markdown Views — deterministic HTML → Markdown rendering for any public URL, with three URL forms (.md path, ?format=md query, Accept: text/markdown content negotiation) and uniform 404 on denial. Per-post cache with content-hash invalidation, Gutenberg sidebar preview, WP-CLI command (wp agentready md preview), REST endpoint for admin tooling. Optional LLM cleanup pass with safety guard.
  • LLMs Index — /llms.txt generator publishing a discovery surface for AI agents. Conflict detection against robots.txt. Editorial-entries admin UI for site owners to add curated non-WordPress URLs. Optional LLM-powered pass drafts per-entry descriptions from post content. WP-CLI: wp agentready llms-txt {status,regen,preview}.
  • Context Score — 0–100 readiness audit across six weighted sub-scores (discoverability 20, content readability 15, schema coverage 10, exposure safety 15, integration health 15, Markdown conversion quality 25). Admin page under Tools → Context Score, Site Health integration, REST endpoint, WP-CLI wp agentready context-score recompute. LLM-generated narrative with rule-based fallback.
  • Schema Coordination — detects whether your SEO plugin (Yoast, Rank Math, AIOSEO, The SEO Framework) already emits JSON-LD. When one is active, Agent Ready emits nothing competing. When none is active, optionally emits a native WebSite + Organization + per-content schema set (toggle in the Context Profile; default off) so the schema sub-score is achievable without a third-party plugin.

Privacy and storage

  • No content leaves your server. Zero external HTTP calls in the deterministic surfaces.
  • Optional LLM features (Markdown cleanup, /llms.txt descriptions, Context Score narrative) consult the WP AI Client only when explicitly toggled on.
  • Two custom tables: {prefix}agentready_md_cache (one row per published post served as Markdown) and {prefix}agentready_score_audit_log (one row per audit run, retained for trend analysis). Both dropped on uninstall.

Requirements

  • WordPress 6.9+
  • PHP 7.4+
  • WP AI Client (optional — required only by the LLM-using modules; deterministic features run fully locally without it)

Installation

Once approved on wp.org: search for "Agent Ready" in Plugins → Add New, or install via WP-CLI: wp plugin install agentready --activate.

Before wp.org approval: download the ZIP attached to this release and install via Plugins → Add New → Upload Plugin.

Acknowledgements

  • Layered CI (PHPCS WordPress + WordPressVIPMinimum, Plugin Check Tool, PHPStan level 5, PHPUnit unit × 2 PHP versions, PHPUnit integration × 4 cells) catches regressions before they ship.
  • Built on the WordPress AI Client surface to keep AI provider integration WordPress-native rather than reinventing it.

Full changelog

Cumulative commit list since the initial scaffold:

Markdown Views (#5, #6, #51, #52, #53)

  • feat(#5): Markdown Views deterministic floor (Phases 1-4) — #36
  • feat(#5): Markdown Views admin surfaces + docs (Phases 5-9) — #40
  • feat(#6): Markdown Views LLM cleanup engine + safety guard (Phase A) — #46
  • feat(#6): wire Client_Wrapper to wp_ai_client_prompt — #49
  • feat(#6): Markdown Views cleanup admin UI + approval flow (Phase B) — #50
  • fix(#52): re-run dbDelta on admin_init when schema lags — #54
  • feat(#53): stuck-pending UX hint after 60s waiting on WP cron — #55
  • fix(#37,#38): MD-escape link brackets / parens; fence inline code by max backtick run — #77

LLMs Index (#7, #8, #66)

  • feat(#7): LLMs Index Phase A — /llms.txt generator floor — #56
  • feat(#7): LLMs Index Phase B — conflict detection + admin notice — #60
  • feat(#7): LLMs Index Phase C — editorial entries admin UI — #65
  • fix(#66): classify 4xx WP_Error returns as Permanent_Error — #67
  • feat(#8): LLM-powered /llms.txt entry descriptions — Phase A engine + WP-CLI — #68
  • feat(#8): LLM-powered /llms.txt entry descriptions — Phase B admin UI — #69

Context Score (#9, #10, #11)

  • feat(#9): Context Score engine — 0–100 score + 6 sub-scores + wp context audit — #71
  • feat(#10): build Context Score admin UI — Tools page, REST, Site Health — #72
  • feat(#11): build Context Score LLM narrative with rule-based fallback — #74

Schema Coordination (#12, #73)

  • feat(#12): build gap-fill JSON-LD emitter with SEO plugin deference — #75
  • feat(#73): gate native JSON-LD emission behind a Profile toggle; credit it in Context Score — #76

Infrastructure + release prep

  • chore(#3): build layered CI matrix (PHPCS + Plugin Check + PHPUnit) — #17
  • chore(#18): rename plugin to AgentReady (drop "wp" for wp.org policy) — #19
  • chore(#13): add PHPStan level 5 static analysis — #26
  • feat(#4): add Context Profile admin screen — #27
  • chore(#29): clear WP Plugin Check warnings (Domain Path + load_plugin_textdomain) — #32
  • chore(#80): build wp.org distribution ZIP — tools/build-zip.sh + .distignore + CI verification — #83
  • chore(#78): wp.org submission readiness — correct headers, readme rewrite, "Agent Ready" rename — #81
  • chore(#79): build wp.org placeholder assets — banner, icon, screenshots — #82
  • chore(#84): exclude webpack.config.js from wp.org distribution ZIP — #85
  • chore(#86): fix wp.org attribution — Mohamed Khaled as Author + Contributor — #87

What's next (v0.1.1 fast-follow)

  • AI Assistant Preview pane — render a page as ChatGPT / Claude consume it (#45)
  • ai.txt and /.well-known/ discovery surface detection (#22)
  • MCP / WordPress Abilities API integration (#21)
  • Native Schema_Emitter expansion so schema coverage is fully achievable without any SEO plugin (#73 follow-up)
  • LLMs Index test hardening (#57–#64)