fix(skills): correct factual errors in caching, ai-gateway, deploy, forms, cli, functions, and frameworks skills#81
Conversation
…orms, cli, functions, and frameworks skills
📝 WalkthroughWalkthroughThis PR updates documentation and scenario judge criteria across the Netlify context-and-tools skills. Changes include correcting Gemini image model names (removing "-preview" suffixes), clarifying Netlify-Cache-ID vs Netlify-Cache-Tag deploy-survival semantics, fixing functions.toml configuration syntax examples, updating Cache-Status debugging guidance to RFC 9211 format, and minor corrections to branch deploy, forms detection, and framework detection documentation. ChangesDocs and scenario accuracy fixes
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
Codex review: I audited this against AX-103 and the branch diff. I did not find blocking issues. Generated Codex/Cursor mirrors are in sync, and |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@skills/netlify-caching/SKILL.md`:
- Around line 148-150: Add a language tag to the fenced Cache-Status example in
SKILL.md so markdownlint passes; update the existing fence around the
Cache-Status header example to use a suitable tag like http or text, keeping the
snippet content unchanged.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 2696ba1a-cd57-48ff-aeb0-d3d1aa2c38f3
⛔ Files ignored due to path filters (14)
codex/skills/netlify-ai-gateway/SKILL.mdis excluded by!codex/**codex/skills/netlify-caching/SKILL.mdis excluded by!codex/**codex/skills/netlify-cli-and-deploy/SKILL.mdis excluded by!codex/**codex/skills/netlify-deploy/references/netlify-toml.mdis excluded by!codex/**codex/skills/netlify-forms/SKILL.mdis excluded by!codex/**codex/skills/netlify-frameworks/SKILL.mdis excluded by!codex/**codex/skills/netlify-functions/SKILL.mdis excluded by!codex/**cursor/rules/netlify-ai-gateway.mdcis excluded by!cursor/**cursor/rules/netlify-caching.mdcis excluded by!cursor/**cursor/rules/netlify-cli-and-deploy.mdcis excluded by!cursor/**cursor/rules/netlify-deploy-netlify-toml.mdcis excluded by!cursor/**cursor/rules/netlify-forms.mdcis excluded by!cursor/**cursor/rules/netlify-frameworks.mdcis excluded by!cursor/**cursor/rules/netlify-functions.mdcis excluded by!cursor/**
📒 Files selected for processing (11)
axis-scenarios/ai-gateway/image-generation.tsaxis-scenarios/ai-gateway/image-to-image.tsaxis-scenarios/caching/tags-deploy-invalidation.tsaxis-scenarios/config/functions-directory.tsskills/netlify-ai-gateway/SKILL.mdskills/netlify-caching/SKILL.mdskills/netlify-cli-and-deploy/SKILL.mdskills/netlify-deploy/references/netlify-toml.mdskills/netlify-forms/SKILL.mdskills/netlify-frameworks/SKILL.mdskills/netlify-functions/SKILL.md
| ``` | ||
| Cache-Status: "Netlify Edge"; fwd=miss, "Netlify Durable"; hit; ttl=3600 | ||
| ``` |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Add a language tag to the Cache-Status fence.
Markdownlint already flags this block. Use http or text so the docs stay lint-clean.
🛠️ Proposed fix
-```
+```http
Cache-Status: "Netlify Edge"; fwd=miss, "Netlify Durable"; hit; ttl=3600📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| Cache-Status: "Netlify Edge"; fwd=miss, "Netlify Durable"; hit; ttl=3600 | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 148-148: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 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 `@skills/netlify-caching/SKILL.md` around lines 148 - 150, Add a language tag
to the fenced Cache-Status example in SKILL.md so markdownlint passes; update
the existing fence around the Cache-Status header example to use a suitable tag
like http or text, keeping the snippet content unchanged.
Source: Linters/SAST tools
Summary
Fixes verified FACTUAL errors across seven skills (AX-103, report §A plus the two doc-currency items). Each wrong skill is corrected, and where a scenario encoded the same error, the scenario is fixed too so the rubric stays in parity with the skill.
What changed and why
Netlify-Cache-Tagresponses are excluded from automatic deploy-based invalidation. That is wrong:Netlify-Cache-Tagis purge-only and its responses are still wiped on deploy.Netlify-Cache-IDis the header that opts a response out of automatic deploy invalidation and auto-registers as a purge tag. Rewrote the section accordingly and added a workedNetlify-Cache-ID+purgeCache({ tags: [sameId] })example. Correspondingly rewroteaxis-scenarios/caching/tags-deploy-invalidation.ts, whose checks were INVERTED (requiredNetlify-Cache-Tag, forbadeNetlify-Cache-ID).HIT/MISS/REVALIDATEDdescription with the real RFC 9211 format (named layers,fwd=miss,ttl=…).-previewsuffix from the Gemini image IDs (gemini-3-pro-image,gemini-3.1-flash-image), addedgemini-3.1-flash-lite-image, and fixed the two example usages. In the chat list, dropped-previewfromgemini-3.1-flash-lite(docs no longer carry the preview form) while leavinggemini-3-flash-preview/gemini-3.1-pro-preview/gemini-3.1-pro-preview-customtools, which docs still list with-preview. Verified against docs.netlify.com/build/ai-gateway/overview/. Also updated the stale example IDs inaxis-scenarios/ai-gateway/image-generation.tsandimage-to-image.ts.[[functions]]array-of-tables (path/function) block — only[functions]and[functions."name-or-glob"]exist — and replaced it with a real per-function override example. Fixedaxis-scenarios/config/functions-directory.ts, whose judge phrasing treated the fictional array-of-tables as real. Also corrected thepublishcomment: it resolves underbasewhenbaseis set, not relative to repo root.data-netlifyform on an Astro on-demand/SSR route is never registered.#resource-configurationanchor to#memory-or-vcpu.vite.config.*+@tanstack/react-start) instead of the outdatedapp.config.*.Out of scope (owned by other issues):
process.envguidance (AX-104) and cross-cutting-rule propagation (AX-105).Closes AX-103
Summary by CodeRabbit
Documentation
Bug Fixes