feat(#311): /generative-engine-audit — LLM/agent SEO sibling to /seo-audit#315
Conversation
atlas-apex
left a comment
There was a problem hiding this comment.
Code Review: PR #315
Commit: 054a34f8655e1c7371c13e83d05f91dbb40da275
Summary
Ships /generative-engine-audit — a sibling skill to /seo-audit that audits LLM/agent discoverability of a web project's content surface. Covers GEO (LLM citations) + AEO (coding-agent consumption) across 6 check buckets (Discovery / Capability-signaling / Content-format / Token-economics / Analytics / UX), 17 checks. Adds: SKILL.md (220 lines), smoke test (51 assertions / 16 cases), .claude/registries/ai-crawlers.json (12 crawlers), AgDR-0043 (4 decision axes), audit template, and /launch-check integration (sweep 8 → 9 dimensions). Cross-links bidirectional with /seo-audit.
Checklist Results
- Architecture & Design: Pass
- Code Quality: Pass
- Testing: Pass (51-assertion smoke test pins documentation contracts incl. verbatim naming-clash callouts)
- Security: Pass (no secrets; G13 prompt-injection-hygiene check is a sound defensive addition)
- Performance: N/A (doc + JSON only)
- PR Description & Glossary: Pass (8 glossary entries — GEO, AEO, llms.txt, AGENTS.md, skill.md (upstream), AI-crawler fingerprint, Token economics, Advisory posture)
- Technical Decisions (AgDR):Pass (AgDR-0043 honestly engages all 4 axes; Consequences explicitly acknowledges the v1 advisory-posture trade-off)
- Adopter Handbooks: N/A (no rule violations; commit-message-quality handbook validated below)
Detailed findings on the load-bearing items
(2) Naming-clash callout — verbatim and triple-pinned. This is the most important documentation contract in the PR and it is handled correctly:
- SKILL.md § "The
skill.mdnaming clash — important" (lines 123-132 of the file) contains the full disambiguation: lowercaseskill.md= upstream capability manifest at site root; uppercaseSKILL.md= Claude Code slash-command spec under.claude/skills/<name>/. Explicitly addresses the case-insensitive-FS footgun (macOS / Windows). - AgDR-0043 § "Axis 2 —
skill.mdvs the existingSKILL.md" engages the choice as a first-class decision axis with all three options weighed (check + name the clash / rename / divergence cost). - Smoke test case 3 (
assert_grep_fixed "Naming clash phrase present" "distinct from Claude Code's \SKILL.md`"`) pins the verbatim string. Future maintainers cannot silently drop the callout.
This is exactly the right shape for a load-bearing documentation contract.
(4) AgDR-0043 honesty. All four decision axes are engaged with real options-comparison tables and real trade-off acknowledgement. The Consequences/Negative section is genuinely self-critical:
Advisory posture means low-grade findings can be ignored. Some adopters will see "WARN: no llms.txt" three audits in a row and never act. This is the right failure mode for a v1 skill in a still-emerging convention space — strict mode is deferred until the underlying conventions stabilise further.
Token-count heuristic limitations (char_count / 4), registry-extension PR overhead, and the skill.md naming-clash residual confusion are all named. The conservative-posture trade-off is owned, not glossed.
(3) Crawler registry spot-check. Schema is valid JSON (schema_version: 1, description, see_also, crawlers[]). Spot-checked 5 entries:
GPTBot— training scope, OpenAI, correctly distinguishes from ChatGPT-User (retrieval)ClaudeBot— training scope, Anthropic, correctly notes Claude-Web as the older backward-compat identifierPerplexityBot—scope: "both"(the only "both" entry — correctly captures Perplexity's hybrid crawl-and-cite-at-inference behaviour)Google-Extended— opt-out token, correctly clarifies it does NOT remove the site from Google SearchBytespider— ByteDance training, correctly attributed
All 11 ticket-named crawlers present + OAI-SearchBot (SearchGPT indexer) as the documented +1. Smoke test pins all 11 explicitly.
(7) AgDR slot 0043. Confirmed: on-disk dev shows AgDR-0001 through AgDR-0039 with a 0029 gap. PR body claims 0040 / 0041 / 0042 are reserved by recently-merged upstream work (/codify-rule, SessionStart v2 sweep, harnessability scoring). 0043 is the correct next free slot avoiding both the disk-visible IDs and the claimed-reserved ones.
(9) Smoke-test contract coverage. Pins all the high-value contracts:
- All 11 ticket-named crawlers in registry (case 9, jq when available + grep fallback)
- Verbatim
skill.mdvsSKILL.mdnaming-clash callout in SKILL.md (case 3,assert_grep_fixed) - AgDR-0043 mentions GEO + AEO + naming clash + skill.md (case 7)
- All 6 buckets named in SKILL.md (case 2)
/seo-audit↔/generative-engine-auditcross-link (case 13)/launch-checkreferences the new skill in the deep-dive companions table (case 14)/launch-checkdescription names "generative-engine" (case 15)- Sweep size 8 → 9 AND obsolete "8-dimension sweep" wording is gone (case 16, includes a negative
assert_not_grep— nicely defensive) - CLAUDE.md skill count = 52 + new row present (case 11)
- multi-project.md row present (case 12)
- AgDR-0043 body-H1, no YAML frontmatter (case 5, walks first line + asserts no
^---)
No critical contract un-pinned.
Issues Found
None blocking. Three nits below (purely advisory).
Handbook Findings
Two always-load handbooks loaded:
handbooks/architecture/clean-architecture-layers.md(advisory) — diff is doc + JSON only, no source-layer crossings possible. No findings.handbooks/general/commit-message-quality.md(advisory) — all three commit messages have substantive bodies explaining WHY (the GEO/AEO market context, the sibling-vs-extend choice, the documentation-contract pinning rationale). No findings.
No language handbooks loaded (no .ts / .tsx / .py / .go / .rs in the diff).
Suggestions (non-blocking nits)
-
Bucket-name drift in AgDR-0043 Consequences — line in the AgDR Consequences/Positive list reads
"(Discovery / Capability-signaling / Content-format / Token-economics / Analytics / Governance)", but everywhere else in the diff (SKILL.md § "The 6 check buckets", the output findings table, the audit template, the smoke test, CLAUDE.md, docs/multi-project.md) the 6th bucket is UX, not Governance. The smoke test pinsUXonly — a future maintainer reading the AgDR could be misled. One-word fix:Governance→UXin that AgDR sentence. -
CLAUDE.md skill-count vs visible-row drift inherited, not fixed — the PR explicitly acknowledges and inherits the pre-existing inconsistency (CLAUDE.md previously claimed 50 with 47 visible rows; bumped to 52 with 48 visible rows). On-disk
.claude/skills/*/has 50 dirs pre-PR (51 post-merge). Missing from the CLAUDE.md table:/debug,/onboard,/split-portfolio. The smoke test pins 52 so future drift gets caught at the header level, but the visible/header gap remains. Worth a follow-up ticket to either backfill the three missing rows (preferred — they're real skills adopters use) or correct the header. Not a blocker for this PR — the gap is pre-existing. -
Audit template prose references frontmatter that isn't there —
templates/audits/generative-engine-audit.mdline 2 reads:Persisted by
/generative-engine-auditvia_lib-audit-history.sh. Frontmatter (above) is structured; the body is freeform per dimension.But the template starts with
# Generative Engine Audit — {project} @ {short-sha}— no YAML frontmatter. The persistence happens viaaudit_run_persistJSON payload (not via in-file frontmatter), so the prose is misleading. Likely a copy-paste artifact from sibling audit templates. A one-line clarification ("Persisted via_lib-audit-history.shJSON payload; the body below is freeform per dimension.") would close the loop.
Verdict
APPROVED
This is a substantial, well-scoped skill addition with the load-bearing items handled correctly:
- The
skill.mdvsSKILL.mdnaming-clash is verbatim-callouted in both SKILL.md and AgDR-0043, smoke-test-pinned withassert_grep_fixed - AgDR-0043 engages all 4 decision axes honestly, including explicit acknowledgement of the v1 advisory-posture trade-off
- The 12-crawler registry is valid JSON with a clean schema, all 11 ticket-named crawlers present + 1 documented addition
/launch-checkintegration is complete and consistent (header, dimension §6, scores{}, project-type filtering, table)/seo-auditcross-link is bidirectional- AgDR slot 0043 correctly chosen
- Smoke test pins the right contracts
- Standard gates all clean (glossary,
Closes #311, no secrets, no private project refs, generic external attribution)
The three nits above are non-blocking and can land in a follow-up.
Approval marker note for the operator
Rex sub-agents are sandbox-blocked from writing approval markers (per the documented pattern). Please write the marker on Rex's behalf:
printf '%s\n' "054a34f8655e1c7371c13e83d05f91dbb40da275" > "$OPS_ROOT/.claude/session/reviews/315-rex.approved"(Where $OPS_ROOT is the ops-fork root — /Users/ahmed/Projects/apexstack/ on this machine.)
🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: 054a34f8655e1c7371c13e83d05f91dbb40da275
…audit
Add a new audit skill scoring how well a web project's documentation
is discoverable, parsable, and citable by LLM/agent crawlers
(ChatGPT, Claude, Perplexity, Gemini) and AI coding agents
(Claude Code, Cursor, Aider, Cline). Covers two related sub-scopes:
- GEO (Generative Engine Optimization) — content for LLM citations
- AEO (Agentic Engine Optimization) — docs for coding-agent consumption
The skill is a sibling to /seo-audit, not an extension. /seo-audit
keeps its Googlebot focus; this skill covers the LLM/agent surface.
/launch-check fans out to both at milestone boundaries.
Artifacts added:
- .claude/skills/generative-engine-audit/SKILL.md — 17 checks
across 6 buckets (Discovery / Capability-signaling /
Content-format / Token-economics / Analytics / UX)
- .claude/registries/ai-crawlers.json — v1 AI-crawler list, 12
entries (GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot,
Claude-Web, anthropic-ai, Google-Extended, PerplexityBot,
CCBot, Bytespider, Applebot-Extended, cohere-ai)
- templates/audits/generative-engine-audit.md — per-run body
template, audit-family standard (AgDR-0019)
- docs/agdr/AgDR-0043-generative-engine-audit-skill.md — design
rationale: 4 decision axes (sibling vs extend, naming-clash
handling, advisory-vs-strict, registry location). Body-H1
convention, no YAML frontmatter.
Notable: the audit's `skill.md` capability-manifest check is the
upstream GEO/AEO convention — **distinct from Claude Code's
`SKILL.md`** slash-command spec. The naming clash is codified
verbatim in both the SKILL.md callout and the AgDR.
Industry-standard prior art on GEO + AEO surfaces (llms.txt,
AGENTS.md, /.well-known/ai-plugin.json, AI-crawler directives in
robots.txt, JSON-LD citation grounding) is the motivating context;
this skill is the framework's first audit covering that surface.
Refs #311
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Register the new skill across the framework's documentation surface
so it surfaces where adopters look:
- CLAUDE.md: bump skill count 50 → 52 (51 + new), add the
/generative-engine-audit row with the AgDR-0043 link and the
skill.md naming-clash callout
- docs/multi-project.md: add the skill-behaviour row
- .claude/skills/launch-check/SKILL.md:
* Bump sweep size 8 → 9 dimensions
* Add the generative-engine row to the output table + the
deep-dive companions table
* New § 6 "Generative-engine (LLM/agent discoverability)"
with quick-scan checks; deep dive lives in the companion
* Extend `scores{}` example with `generative_engine`
* Update the project-type filtering (web app → 9 dims,
API/CLI/mobile → skip the new dim alongside SEO)
- .claude/skills/seo-audit/SKILL.md: cross-link to the sibling
near the top, naming the audience-split (Googlebot vs LLM
crawlers + coding agents)
Behaviour-preserving for adopters who never invoke the new skill —
/launch-check on a web project now emits an additional row, but
auto-PASSes for APIs / CLIs / libraries.
Refs #311
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ntracts
Add .claude/skills/generative-engine-audit/tests/smoke.sh — 51
assertions across 16 cases pinning the documentation contracts
downstream re-implementations and adopter PRs need to hold:
1. SKILL.md frontmatter sanity (name, argument-hint, effort,
description names LLM/agent + GEO + AEO)
2. All 6 check buckets named in SKILL.md
3. Verbatim skill.md vs SKILL.md naming-clash callout present
(test-pinned so future maintainers can't drop it silently)
4. Cross-links to /seo-audit, /launch-check, AgDR-0043, registry
5. AgDR-0043 starts with body-H1, no YAML frontmatter (matches
the AgDR-0034 through AgDR-0042 convention recorded in user
memory)
6. AgDR has Context / Options Considered / Decision /
Consequences + the "In the context of..." one-liner
7. AgDR names GEO/AEO distinction + naming clash + skill.md
8. AgDR references the registry file
9. Registry valid JSON, all 11 named crawlers from the ticket
(jq when present, grep fallback otherwise)
10. Audit template exists at the canonical path with H1 +
Findings header
11. CLAUDE.md skill count is 52, new row present
12. docs/multi-project.md skill-behaviour table has the new row
13. /seo-audit cross-links to /generative-engine-audit
14. /launch-check references /generative-engine-audit in the
deep-dive companions table (so the fan-out claim is testable)
15. /launch-check description names the new dimension
16. /launch-check sweep size updated 8 → 9 (and the obsolete
"8-dimension sweep" wording is gone — caught one stale line
during initial run, fixed in the previous commit)
Same contract-pinning shape as the /handover harnessability-
scoring smoke test (#298): no live skill invocation, just file-
contract assertions. Walks up from the tests dir to locate the
ops-fork root via CLAUDE.md presence — same idiom as the
investigation / dfd / feature-diagram smoke tests.
Refs #311
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
054a34f to
6c34e85
Compare
atlas-apex
left a comment
There was a problem hiding this comment.
Re-Review: PR #315 (after rebase)
Commit: 6c34e8579b42156a26f498bc9b92b008b6d24e15
Summary
Re-review focused on rebase mechanics only — prior approval at 054a34f stands for the content. Verified the rebase preserved the original 3 commits byte-identically (feat / docs / test) onto current dev (9170ed2 = #313 merge commit), the two documented conflict resolutions are correct, the smoke test still passes 51/51, and all AgDR-0043 references are intact.
Rebase mechanics — verified
-
Commit order + parents: 3 commits sit on top of
9170ed2, in orderfeat(af0705f) → docs(145f9d0) → test(6c34e85). Matches the documented rebase plan. -
Per-commit content byte-identical to originals — confirmed via
git show --stat:featrebased (af0705f) vs original (6929dfe): same 4 files, 483 insertions, 0 deletions ✓docsrebased (145f9d0) vs original (e59bae8): same 4 files, 52 insertions, 30 deletions ✓testrebased (6c34e85) vs original (054a34f): same 1 file, 301 insertions ✓
-
Conflict resolution #1 —
CLAUDE.mdskill count: -
Conflict resolution #2 —
docs/multi-project.mdskill-behaviour table:- Dev base:
/pdf(line 700) →/codify-rule(line 701) — no/generative-engine-auditrow - PR HEAD:
/pdf(700) →/codify-rule(701) →/generative-engine-audit(702) ✓ - Both rows preserved in order; the new row is appended after
/codify-rule. No overwrite, no row reordering.
- Dev base:
-
Smoke test at new HEAD:
bash .claude/skills/generative-engine-audit/tests/smoke.sh→ 51/51 PASS (16 cases) at SHA6c34e85✓ -
CI: All 4 required checks SUCCESS (
lychee,markdownlint-cli2,Verify Ticket ID×2).mergeStateStatus: CLEAN,mergeable: MERGEABLE. -
AgDR-0043 reference integrity: grep across PR HEAD content for AgDR numbers and original-commit SHAs. All AgDR-0043 references resolve to
docs/agdr/AgDR-0043-generative-engine-audit-skill.md(correct path, body-H1 H1 confirmed). The two AgDR-0042 references in.claude/skills/handover/SKILL.mdare from #298 work (unrelated, on dev base). No leftover references to6929dfe,e59bae8, or054a34fanywhere in PR HEAD.
Checklist Results
- ✅ Rebase mechanics: Pass
- ✅ Conflict resolutions: Pass (both correct)
- ✅ Per-commit content vs originals: Pass (byte-identical)
- ✅ Smoke test at new HEAD: Pass (51/51)
- ✅ CI checks: Pass (4/4 SUCCESS)
- ✅ AgDR-0043 references intact: Pass
- ✅ Mergeable state: Pass (CLEAN)
- N/A Substantive content review: prior approval at
054a34fstands
Issues Found
None.
Verdict
APPROVED — rebase preserved the originally-approved content; both conflict resolutions are correct; smoke + CI green at new HEAD.
🤖 Reviewed by Rex (Code Reviewer Agent)
📌 Reviewed commit: 6c34e8579b42156a26f498bc9b92b008b6d24e15
…audit (#315) * feat(#311): /generative-engine-audit — LLM/agent SEO sibling to /seo-audit Add a new audit skill scoring how well a web project's documentation is discoverable, parsable, and citable by LLM/agent crawlers (ChatGPT, Claude, Perplexity, Gemini) and AI coding agents (Claude Code, Cursor, Aider, Cline). Covers two related sub-scopes: - GEO (Generative Engine Optimization) — content for LLM citations - AEO (Agentic Engine Optimization) — docs for coding-agent consumption The skill is a sibling to /seo-audit, not an extension. /seo-audit keeps its Googlebot focus; this skill covers the LLM/agent surface. /launch-check fans out to both at milestone boundaries. Artifacts added: - .claude/skills/generative-engine-audit/SKILL.md — 17 checks across 6 buckets (Discovery / Capability-signaling / Content-format / Token-economics / Analytics / UX) - .claude/registries/ai-crawlers.json — v1 AI-crawler list, 12 entries (GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, anthropic-ai, Google-Extended, PerplexityBot, CCBot, Bytespider, Applebot-Extended, cohere-ai) - templates/audits/generative-engine-audit.md — per-run body template, audit-family standard (AgDR-0019) - docs/agdr/AgDR-0043-generative-engine-audit-skill.md — design rationale: 4 decision axes (sibling vs extend, naming-clash handling, advisory-vs-strict, registry location). Body-H1 convention, no YAML frontmatter. Notable: the audit's `skill.md` capability-manifest check is the upstream GEO/AEO convention — **distinct from Claude Code's `SKILL.md`** slash-command spec. The naming clash is codified verbatim in both the SKILL.md callout and the AgDR. Industry-standard prior art on GEO + AEO surfaces (llms.txt, AGENTS.md, /.well-known/ai-plugin.json, AI-crawler directives in robots.txt, JSON-LD citation grounding) is the motivating context; this skill is the framework's first audit covering that surface. Refs #311 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(#311): wire /generative-engine-audit into the audit family Register the new skill across the framework's documentation surface so it surfaces where adopters look: - CLAUDE.md: bump skill count 50 → 52 (51 + new), add the /generative-engine-audit row with the AgDR-0043 link and the skill.md naming-clash callout - docs/multi-project.md: add the skill-behaviour row - .claude/skills/launch-check/SKILL.md: * Bump sweep size 8 → 9 dimensions * Add the generative-engine row to the output table + the deep-dive companions table * New § 6 "Generative-engine (LLM/agent discoverability)" with quick-scan checks; deep dive lives in the companion * Extend `scores{}` example with `generative_engine` * Update the project-type filtering (web app → 9 dims, API/CLI/mobile → skip the new dim alongside SEO) - .claude/skills/seo-audit/SKILL.md: cross-link to the sibling near the top, naming the audience-split (Googlebot vs LLM crawlers + coding agents) Behaviour-preserving for adopters who never invoke the new skill — /launch-check on a web project now emits an additional row, but auto-PASSes for APIs / CLIs / libraries. Refs #311 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * test(#311): smoke test pins /generative-engine-audit documentation contracts Add .claude/skills/generative-engine-audit/tests/smoke.sh — 51 assertions across 16 cases pinning the documentation contracts downstream re-implementations and adopter PRs need to hold: 1. SKILL.md frontmatter sanity (name, argument-hint, effort, description names LLM/agent + GEO + AEO) 2. All 6 check buckets named in SKILL.md 3. Verbatim skill.md vs SKILL.md naming-clash callout present (test-pinned so future maintainers can't drop it silently) 4. Cross-links to /seo-audit, /launch-check, AgDR-0043, registry 5. AgDR-0043 starts with body-H1, no YAML frontmatter (matches the AgDR-0034 through AgDR-0042 convention recorded in user memory) 6. AgDR has Context / Options Considered / Decision / Consequences + the "In the context of..." one-liner 7. AgDR names GEO/AEO distinction + naming clash + skill.md 8. AgDR references the registry file 9. Registry valid JSON, all 11 named crawlers from the ticket (jq when present, grep fallback otherwise) 10. Audit template exists at the canonical path with H1 + Findings header 11. CLAUDE.md skill count is 52, new row present 12. docs/multi-project.md skill-behaviour table has the new row 13. /seo-audit cross-links to /generative-engine-audit 14. /launch-check references /generative-engine-audit in the deep-dive companions table (so the fan-out claim is testable) 15. /launch-check description names the new dimension 16. /launch-check sweep size updated 8 → 9 (and the obsolete "8-dimension sweep" wording is gone — caught one stale line during initial run, fixed in the previous commit) Same contract-pinning shape as the /handover harnessability- scoring smoke test (#298): no live skill invocation, just file- contract assertions. Walks up from the tests dir to locate the ops-fork root via CLAUDE.md presence — same idiom as the investigation / dfd / feature-diagram smoke tests. Refs #311 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: me2resh <ahmed.abdelaliem@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
/generative-engine-auditskill — sibling to/seo-audit, NOT an extension. Scores how well a web project's documentation is discoverable, parsable, and citable by LLM/agent crawlers. Each remains independently invokable.llms.txt/llms-full.txtat site root, AI-crawler directives inrobots.txt(12 crawlers across 5 vendors),/.well-known/ai-plugin.json,agent-permissions.json,AGENTS.md.skill.mdcapability manifest. AgDR-0043 explicitly handles the naming clash: this is the upstreamskill.mdconvention (capability description), distinct from Claude Code'sSKILL.md(slash-command spec under.claude/skills/<name>/SKILL.md).axios/1.8.4,curl/8.4.0,got,colly, Playwright Chromium signatures); "Copy for AI" button check./launch-checkumbrella now fans out to BOTH/seo-auditAND/generative-engine-audit— the production-readiness sweep grew from 8 dimensions to 9./seo-auditcross-links to/generative-engine-auditso adopters discover the sibling pair from either entry point.Why
The classic SEO audit optimises for Google's web-crawlers and human click patterns. The traffic mix has shifted — a meaningful slice of users now reach the web through AI agents (ChatGPT browsing, Perplexity, Claude with web search) and coding agents that fetch documentation directly. None of those workloads are visible to scroll-depth, time-on-page, or any client-side analytics — they typically issue a single GET, parse the result as text, and either succeed silently or hallucinate based on parametric knowledge if the content was too large to fit a context window. Sites already in
/launch-checkwere flying blind on this dimension. This PR closes the gap with conservative, advisory-posture checks that report state and surface gaps without judging "AI bots = bad/good" (operator policy call).Surfaced from industry-standard prior art on Generative Engine Optimization (GEO) and Agentic Engine Optimization (AEO) and the emerging
llms.txt/AGENTS.md/skill.mdconventions in the developer-portal space.Testing
51/51 pass. 16 cases, pinning:
name:,argument-hint:,allowed-tools:)skill.mdvs Claude Code'sSKILL.mdnaming-clash callout (verbatim).claude/registries/ai-crawlers.json, valid JSON, all 11 ticket-named crawlers present (plus 1 surfaced during research:OAI-SearchBot)/generative-engine-auditrow presentdocs/multi-project.mdskill-behaviour table has the new row/seo-auditSKILL.md cross-links to/generative-engine-audit/launch-checkSKILL.md fans out to both audits (sweep size 8→9, output table updated, dimension §6 added,scores{}example reflects 9 keys, project-type filtering documented)Notes for the reviewer
/codify-rule, SessionStart v2 sweep, harnessability scoring respectively); 0043 avoids the obvious collisions.OAI-SearchBot, the SearchGPT indexer surfaced during research). The smoke test pins the 11 ticket-named crawlers; the 12th is documented in the AgDR.origin. No leakage into this branch.Out of scope (per the ticket)
llms.txt, scaffoldingAGENTS.md) — adopter decision, separate ticket if useful_lib-audit-history.shgives the data for free; UI is out of v1Glossary
llms.txtAGENTS.mdCLAUDE.md(framework-level instructions)skill.md(upstream)SKILL.md(slash-command spec under.claude/skills/<name>/SKILL.md). AgDR-0043 codifies the naming clash to prevent confusionaxios/1.8.4(Claude Code),curl/8.4.0(Cline / Junie),got(Cursor),colly(Windsurf)/launch-checkconfigCloses #311
Rebased onto dev (after #313 landed). Cherry-picked the 3 original commits onto current dev; resolved trivial conflicts in
CLAUDE.md(skill count 51→52 — kept #311's intent) anddocs/multi-project.md(kept BOTH the/codify-rulerow landed via #305 AND the new/generative-engine-auditrow from this PR). Smoke test 51/51 pass at new HEAD6c34e85.... Content of the 3 #311 commits is identical to the original; one additional non-content change: the conflict resolution itself.