Skip to content

chore: add gap-analysis maintainer skill#571

Merged
AlemTuzlak merged 3 commits into
mainfrom
add-gap-analysis-skill
May 18, 2026
Merged

chore: add gap-analysis maintainer skill#571
AlemTuzlak merged 3 commits into
mainfrom
add-gap-analysis-skill

Conversation

@tombeckenham
Copy link
Copy Markdown
Contributor

@tombeckenham tombeckenham commented May 18, 2026

Summary

  • New Claude Code skill at .claude/skills/gap-analysis/ that audits each provider adapter (OpenAI, Anthropic, Gemini, Ollama, Grok, Groq, OpenRouter, fal, ElevenLabs) against upstream provider docs and testing/e2e/src/lib/feature-support.ts. Triggered via /gap-analysis <provider | feature <name> | models | --all>. Produces a dated markdown report under .agent/gap-analysis/.
  • Audits four dimensions per run: new models, cross-adapter feature parity, untracked features, capability-flag drift. Read-only — never edits feature-support.ts or any model-meta.ts.
  • .gitignores .agent/gap-analysis/ and .agent/triage/ (local agent scratch output).

What's in the skill

  • SKILL.md — entry point with workflow and critical rules.
  • references/provider-doc-urls.md — curated WebFetch targets per provider (+ context7 lib-id hints for SDK API surface).
  • references/audit-checklist.md — per-dimension steps with a TanStack-feature → upstream-capability mapping table.
  • references/report-template.md — markdown template the skill fills in (Summary / High / Medium / Low / Out-of-scope / Suggested follow-ups).

Test plan

  • In a fresh Claude Code session, type /gap-analysis and confirm the skill is discoverable.
  • Run /gap-analysis groq (smallest adapter — text only). Expect a report under .agent/gap-analysis/ flagging any missing models and listing groq's matrix exclusions.
  • Run /gap-analysis feature tool-approval. Expect a per-provider table; Gemini row should cite the exclusion comment at feature-support.ts:56.
  • After each run, git status should show only new files under .agent/gap-analysis/ (which is now gitignored, so effectively nothing changes in tracked files). No mutation of packages/ or testing/.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive maintainer-facing gap-analysis guidance for auditing provider adapters, including a step-by-step audit checklist, curated upstream documentation references, and a standardized report template.
    • Introduced a new "Telemetry / observability parity" audit dimension and updated per-provider dispatch guidance.
    • Added rules, verification checklist and citation requirements to ensure consistent, traceable reports.
    • Updated ignore patterns to exclude locally generated agent scratch artifacts.

Review Change Stack

Adds a Claude Code skill at .claude/skills/gap-analysis/ that audits each
provider adapter against upstream docs and produces a dated markdown report
under .agent/gap-analysis/. Triggered via /gap-analysis with scopes
<provider>, feature <name>, models, or --all. The skill is read-only: it
never edits feature-support.ts or any model-meta.ts directly.

Also gitignores .agent/gap-analysis/ and .agent/triage/ since those are
local agent scratch output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 18, 2026

📝 Walkthrough

Walkthrough

Adds a maintainer-only Claude gap-analysis skill, curated provider docs, an audit checklist expanded with telemetry parity, a report template, and .gitignore entries to ignore generated agent artifacts. The skill documents invocation, workflow, citation rules, known providers (19 features), and a verification checklist.

Changes

Gap-Analysis Skill Documentation

Layer / File(s) Summary
Main Skill Definition
.claude/skills/gap-analysis/SKILL.md
Defines the gap-analysis skill invocation, end-to-end workflow (scope parsing, truth files, upstream research via curated URLs and context7, audit dimensions), report output and citation rules, known providers and an enumerated 19-item feature snapshot, and a pre-finish verification checklist.
Audit Checklist — Core Dimensions
.claude/skills/gap-analysis/references/audit-checklist.md
Specifies core audit dimensions: new/stale upstream models, cross-adapter feature parity, untracked upstream capabilities, and capability-flag drift; includes prioritization guidance and inspection steps.
Telemetry Parity & Subagent Dispatch
.claude/skills/gap-analysis/references/audit-checklist.md
Adds Dimension 5: Telemetry / observability parity (field forwarding and logging parity checks) and updates --all subagent fan-out so per-provider Explore subagents audit dimensions 1, 3, 4, and 5 and emit telemetry rows for aggregation.
Provider Documentation References
.claude/skills/gap-analysis/references/provider-doc-urls.md
Curated documentation entry-point URLs and SDK/context7 hints for multiple providers, with fallback rules for moved/404 pages and maintenance guidance for URL changes found during audits.
Report Template and Conventions
.claude/skills/gap-analysis/references/report-template.md
Markdown report template with placeholders and repeated sections (high/medium/low gaps, telemetry parity, suggested follow-ups, audit metadata) and conventions requiring line-number citations from source files, upstream URL quoting, paste-ready ModelMeta blocks, and ISO YYYY-MM-DD dates.
Generated Artifact Ignore Rules
.gitignore
Added ignore rules and comment for locally generated agent scratch output under .agent/gap-analysis/ and .agent/triage/.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hop through docs with careful paws,
I check the lines and mind the laws,
URLs traced and templates spun,
Telemetry counted, gaps well-run,
A dated report — audit's done!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding a new gap-analysis maintainer skill documentation and configuration.
Description check ✅ Passed The description is detailed and mostly completes the template structure with comprehensive explanation of changes, though the checklist items lack explicit confirmations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-gap-analysis-skill

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 18, 2026

🚀 Changeset Version Preview

No changeset entries found. Merging this PR will not cause a version bump for any packages.

@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented May 18, 2026

View your CI Pipeline Execution ↗ for commit 3fb5adf

Command Status Duration Result
nx run-many --targets=build --exclude=examples/** ✅ Succeeded 2s View ↗

☁️ Nx Cloud last updated this comment at 2026-05-18 09:29:07 UTC

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.claude/skills/gap-analysis/references/provider-doc-urls.md:
- Around line 90-92: Update the maintenance instruction in provider-doc-urls.md
so it no longer directs agents to edit the file “in the same report turn”;
instead instruct agents to keep audit runs read-only (only write the report
under .agent/gap-analysis/) and, if a URL needs to be changed, create a separate
PR or open an issue referencing the report so maintainers can apply the
update—modify the sentence that begins "If you find a URL has permanently
moved..." to reflect this workflow and preserve the skill's clean-working-tree
rule.

In @.claude/skills/gap-analysis/SKILL.md:
- Around line 78-84: The documented "Known features (22)" count is out of sync
with the enumerated list (19); reconcile by using the canonical source
ALL_FEATURES: update the numeric header or the enumerated items so both match
ALL_FEATURES' length, and ensure any references/templates that say "all 22" are
changed to the real count or dynamically derived from ALL_FEATURES; locate the
features block (the list including `chat`, `one-shot-text`, ... `video-gen`) and
the ALL_FEATURES constant/definition and make them consistent.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e61cb1fd-b082-4fff-865a-cb721bdab468

📥 Commits

Reviewing files that changed from the base of the PR and between 6a23e80 and b7523d4.

📒 Files selected for processing (5)
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/audit-checklist.md
  • .claude/skills/gap-analysis/references/provider-doc-urls.md
  • .claude/skills/gap-analysis/references/report-template.md
  • .gitignore

Comment thread .claude/skills/gap-analysis/references/provider-doc-urls.md Outdated
Comment thread .claude/skills/gap-analysis/SKILL.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.claude/skills/gap-analysis/references/audit-checklist.md:
- Around line 100-101: The description for the media adapters should use the
same feature keys as the mapping table: replace the shorthand adapter names
`image` and `video` with `image-gen` and `video-gen` (and confirm
`tts`/`transcription` match the table) so the union expression using
ALL_FEATURES + media adapters is consistent with the feature table; update the
text around ALL_FEATURES and the four media adapters to reference `image-gen`,
`video-gen`, and the exact feature names used in the table.
- Around line 153-154: The sentence "4. Pricing drift is **out of scope** for an
audit (changes too often) — note in the report only if upstream announcement is
< 30 days old." is ambiguous; update this item to a single clear rule: state
that pricing drift is generally out of scope but must be included in the audit
report when there is an upstream pricing announcement within the prior 30 days
(or similar explicit time window), and rewrite the line (the "Pricing drift"
checklist item) to reflect that conditional as a definitive exception rather
than a parenthetical note so readers know when to include pricing information.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d392a152-188b-4918-a838-0c14de53071b

📥 Commits

Reviewing files that changed from the base of the PR and between b7523d4 and 679e86c.

📒 Files selected for processing (3)
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/audit-checklist.md
  • .claude/skills/gap-analysis/references/report-template.md
✅ Files skipped from review due to trivial changes (1)
  • .claude/skills/gap-analysis/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .claude/skills/gap-analysis/references/report-template.md

Comment thread .claude/skills/gap-analysis/references/audit-checklist.md Outdated
Comment thread .claude/skills/gap-analysis/references/audit-checklist.md Outdated
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 18, 2026

Open in StackBlitz

@tanstack/ai

npm i https://pkg.pr.new/@tanstack/ai@571

@tanstack/ai-anthropic

npm i https://pkg.pr.new/@tanstack/ai-anthropic@571

@tanstack/ai-client

npm i https://pkg.pr.new/@tanstack/ai-client@571

@tanstack/ai-code-mode

npm i https://pkg.pr.new/@tanstack/ai-code-mode@571

@tanstack/ai-code-mode-skills

npm i https://pkg.pr.new/@tanstack/ai-code-mode-skills@571

@tanstack/ai-devtools-core

npm i https://pkg.pr.new/@tanstack/ai-devtools-core@571

@tanstack/ai-elevenlabs

npm i https://pkg.pr.new/@tanstack/ai-elevenlabs@571

@tanstack/ai-event-client

npm i https://pkg.pr.new/@tanstack/ai-event-client@571

@tanstack/ai-fal

npm i https://pkg.pr.new/@tanstack/ai-fal@571

@tanstack/ai-gemini

npm i https://pkg.pr.new/@tanstack/ai-gemini@571

@tanstack/ai-grok

npm i https://pkg.pr.new/@tanstack/ai-grok@571

@tanstack/ai-groq

npm i https://pkg.pr.new/@tanstack/ai-groq@571

@tanstack/ai-isolate-cloudflare

npm i https://pkg.pr.new/@tanstack/ai-isolate-cloudflare@571

@tanstack/ai-isolate-node

npm i https://pkg.pr.new/@tanstack/ai-isolate-node@571

@tanstack/ai-isolate-quickjs

npm i https://pkg.pr.new/@tanstack/ai-isolate-quickjs@571

@tanstack/ai-ollama

npm i https://pkg.pr.new/@tanstack/ai-ollama@571

@tanstack/ai-openai

npm i https://pkg.pr.new/@tanstack/ai-openai@571

@tanstack/ai-openrouter

npm i https://pkg.pr.new/@tanstack/ai-openrouter@571

@tanstack/ai-preact

npm i https://pkg.pr.new/@tanstack/ai-preact@571

@tanstack/ai-react

npm i https://pkg.pr.new/@tanstack/ai-react@571

@tanstack/ai-react-ui

npm i https://pkg.pr.new/@tanstack/ai-react-ui@571

@tanstack/ai-solid

npm i https://pkg.pr.new/@tanstack/ai-solid@571

@tanstack/ai-solid-ui

npm i https://pkg.pr.new/@tanstack/ai-solid-ui@571

@tanstack/ai-svelte

npm i https://pkg.pr.new/@tanstack/ai-svelte@571

@tanstack/ai-utils

npm i https://pkg.pr.new/@tanstack/ai-utils@571

@tanstack/ai-vue

npm i https://pkg.pr.new/@tanstack/ai-vue@571

@tanstack/ai-vue-ui

npm i https://pkg.pr.new/@tanstack/ai-vue-ui@571

@tanstack/openai-base

npm i https://pkg.pr.new/@tanstack/openai-base@571

@tanstack/preact-ai-devtools

npm i https://pkg.pr.new/@tanstack/preact-ai-devtools@571

@tanstack/react-ai-devtools

npm i https://pkg.pr.new/@tanstack/react-ai-devtools@571

@tanstack/solid-ai-devtools

npm i https://pkg.pr.new/@tanstack/solid-ai-devtools@571

commit: 3fb5adf

- Fix feature count drift (22 -> 19) and point at ALL_FEATURES as canonical.
- Align media adapter names with the feature table (image-gen, video-gen).
- Rewrite pricing-drift rule as an unambiguous conditional.
- Defer URL-file updates to a follow-up PR to preserve the clean-tree rule.
- Add audit dimension 5: telemetry / observability parity (usage tokens,
  cache/reasoning counts, request ids, logging asymmetry across adapters).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.claude/skills/gap-analysis/references/audit-checklist.md (1)

229-231: ⚡ Quick win

Consider clarifying "per-provider format" for telemetry rows.

The instruction asks subagents to "emit dimension-5 telemetry rows in the per-provider format" but doesn't define what that format is. The example table at lines 187-200 shows the final cross-adapter format with providers as columns. It may help to briefly specify what each subagent should return (e.g., "return a list of which telemetry fields your provider's adapter emits, with presence/absence marked" or similar) so subagents know the expected structure before the orchestrator stitches them together.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.claude/skills/gap-analysis/references/audit-checklist.md around lines 229 -
231, Clarify the "per-provider format" for telemetry rows by adding a
one-paragraph spec that each subagent must return dimension-5 rows as a uniform
list of per-provider records (one record per telemetry point) containing these
fields: provider (string), metric_key/name (string), metric_value
(typed/nullable), unit (string|null), timestamp (ISO string), and a presence
flag or nulls for any fields the adapter does not emit; state that the
orchestrator will map metric_key to cross-adapter columns and stitch provider
records into the final cross-adapter table. Reference the terms "per-provider
format", "dimension-5 telemetry rows", "orchestrator", and "cross-adapter table"
so subagents know exactly which structure to emit.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.claude/skills/gap-analysis/references/audit-checklist.md:
- Around line 229-231: Clarify the "per-provider format" for telemetry rows by
adding a one-paragraph spec that each subagent must return dimension-5 rows as a
uniform list of per-provider records (one record per telemetry point) containing
these fields: provider (string), metric_key/name (string), metric_value
(typed/nullable), unit (string|null), timestamp (ISO string), and a presence
flag or nulls for any fields the adapter does not emit; state that the
orchestrator will map metric_key to cross-adapter columns and stitch provider
records into the final cross-adapter table. Reference the terms "per-provider
format", "dimension-5 telemetry rows", "orchestrator", and "cross-adapter table"
so subagents know exactly which structure to emit.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5b999549-12d4-4db4-80a2-ef08d570ebc7

📥 Commits

Reviewing files that changed from the base of the PR and between 679e86c and 3fb5adf.

📒 Files selected for processing (4)
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/audit-checklist.md
  • .claude/skills/gap-analysis/references/provider-doc-urls.md
  • .claude/skills/gap-analysis/references/report-template.md
✅ Files skipped from review due to trivial changes (2)
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/report-template.md

@tombeckenham tombeckenham requested a review from AlemTuzlak May 18, 2026 10:04
@AlemTuzlak AlemTuzlak merged commit a719b59 into main May 18, 2026
11 checks passed
@AlemTuzlak AlemTuzlak deleted the add-gap-analysis-skill branch May 18, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants