[BUG] `product-self-knowledge` skill: broken support URL, no inline knowledge, overlap with system prompt
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
The product-self-knowledge skill at /mnt/skills/public/product-self-knowledge/ is the only public skill that contains no inline product knowledge. It's a routing table of URLs with workflow instructions for fetching and verifying answers.
This creates a fragile dependency on URL resolution for every invocation, and at least one URL is confirmed broken.
Problems:
- No self-contained value. The ~66-line SKILL.md contains zero product facts — no plan names, pricing, model strings, rate limits, or feature matrices. Every invocation requires a successful fetch to be useful. All other public skills (docx, xlsx, pptx, pdf) contain hundreds of lines of self-contained, actionable knowledge.
- Broken URL. The support article URL for the Claude Max plan (
support.claude.com/en/articles/10180856-claude-max-plan) returns a 404. Other URLs redirect through domain changes (docs.claude.com→platform.claude.com,docs.anthropic.com→code.claude.com) — these eventually resolve, but the redirect chain adds latency and a point of failure.
- Overlaps with the system prompt. The model's system prompt already contains current model names and API strings, product descriptions, and instructions to search
docs.claude.comandsupport.claude.comfor product questions. The skill's workflow reimplements this but less reliably, since it depends on URL resolution.
- Failure mode is expensive. When a fetch fails, the agent has no cached baseline to fall back on. _The typical cascade — fetch → 404 → web search → additional fetches — adds multiple tool calls and hundreds of tokens of context for what should be a quick lookup_. For questions the model could answer from its system prompt, the skill makes the response slower and noisier without improving accuracy.
What Should Happen?
At minimum, the broken Max plan support URL should be fixed or removed — that's a straightforward fix regardless of any larger design decisions.
Beyond that, the ideal outcome from a user perspective is that asking Claude a product question gets a fast, accurate answer without unnecessary tool-call overhead. Right now the skill can work against that: it fires on questions the model already knows (model names, plan descriptions), finds no inline answer, and has to fetch — which adds latency in the best case and cascades into search fallbacks in the worst case.
A few directions that could help (not necessarily all needed — the team is better positioned to judge what fits):
- The skill could carry enough inline knowledge to answer common questions directly, with fetches serving as verification rather than the sole source of truth. This would also provide a graceful fallback when URLs break.
- The trigger could be scoped more narrowly — focusing on fast-changing details the model genuinely doesn't know (current pricing, recent feature launches, deprecation dates) rather than all product questions.
- If the current design is intentional — e.g., to ensure live-source accuracy — the skill could distinguish between "verify this against live source" and "the model already knows this from its system prompt," so it doesn't add overhead for the common cases.
There may be design rationale behind the current structure that I'm not seeing. Happy to provide more detail on the user-side experience if that would be helpful.
Error Messages/Logs
No error in the traditional sense — the failure is behavioral:
- `support.claude.com/en/articles/10180856-claude-max-plan` returns HTTP 404
- `docs.claude.com/en/docs_site_map.md` returns HTTP 301 → `platform.claude.com/docs/en/docs_site_map.md` (resolves, but through a redirect)
- `docs.anthropic.com/en/docs/claude-code/claude_code_docs_map.md` returns HTTP 301 → `code.claude.com/docs/en/claude_code_docs_map.md` (resolves, but through a redirect)
Steps to Reproduce
- Open claude.ai with computer use / skills enabled
- Ask a product question like "What are the rate limits on the Claude Max plan?" or "What's the difference between Pro and Max?"
- Observe tool use: the agent reads the skill, finds no inline answer, attempts to fetch URLs
- When the Max plan support article 404s, the agent falls back to web search → additional fetches
- Compare: without the skill, the model would often answer correctly from its system prompt knowledge
Claude Model
Not sure / Multiple models
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
N/A — this is a claude.ai web interface skill, not a Claude Code CLI issue. Filed here because this is the only public repo where skills issues have been filed (see #26254). Apologies if there's a more appropriate channel.
Platform
Other
Operating System
macOS
Terminal/Shell
Other
Additional Information
What I'm not sure about
There may be good reasons the skill is structured this way — for instance, ensuring answers about fast-changing details (pricing, rate limits, new features) always come from live sources rather than stale training data. If that's the intent, the skill would benefit from making this explicit and distinguishing between "things the model already knows" and "things that need live verification."
Suggested improvements
- Fix the broken URL — the Max plan support article 404s and should be updated or removed.
- Add an inline snapshot of high-frequency product facts — plan names, model strings, rate limits, pricing — so fetches become a verification layer rather than the sole source of truth. This also provides a fallback when fetches fail.
- Narrow the trigger — the current instruction ("stop and consult this skill whenever your response would include specific facts about Anthropic's products") is very broad. If the skill focused on fast-changing details the model genuinely doesn't know (current pricing, recent feature launches, deprecation dates), it would fire less often and add more value per invocation.
_More broadly: if skills that depend on external URLs are a pattern Anthropic intends to support, some mechanism for detecting when those URLs break would prevent this class of issue from recurring silently. The current failure mode — a 404 that degrades answer quality with no alert to the team — is the kind of thing that's easy to miss._
Note on template fit: This issue is about a public skill in the claude.ai web interface, not a Claude Code CLI bug. Several fields above don't apply cleanly — I've used "N/A" or "Other" where needed. Filed here because anthropics/claude-code is the only public repo where skills-related issues have been filed.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗