fix(docs): repair dead xrefs in api.md, runbook, skill#269
Merged
cyfyifanchen merged 1 commit intoJun 7, 2026
Conversation
Three internal documentation references pointed at non-existent targets: - docs/api.md: MessageItem.content linked to #addmessage, which has no heading or anchor; corrected to #messageitem (the slug used by every other MessageItem cross-reference and matching the ### MessageItem heading). - docs/cascade_runbook.md: the FD-exhaustion cross-ref used a single hyphen where the GitHub slug of "FD exhaustion (`os error 24` / EMFILE)" has a double hyphen (from the ` / ` separator); corrected to #fd-exhaustion-os-error-24--emfile. - use-cases/claude-code-plugin/skills/memory-tools.md: the always-injected skill named two tools (search_memories, get_memory) that the MCP server never exposes; replaced with the real evermem_search tool and its params (query required, limit default 10 / max 20). Markdown-only; no runtime behavior change.
c3cbbf3 to
f4f1e7b
Compare
12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three documentation cross-references point at targets that do not exist, so readers who click them land nowhere (or, in the plugin skill, are told to call MCP tools the server never exposes). All three are Markdown-only fixes that share one purpose: make the docs' internal references resolve to what actually exists.
docs/api.md:796— thecontentrow of the buffered-message table links[MessageItem.content](#addmessage). There is noaddmessageheading or HTML anchor anywhere in the file. Every otherMessageItemcross-reference in api.md uses#messageitem(lines 21, 491), which matches the### MessageItemheading at line 198. Fixed to#messageitem.docs/cascade_runbook.md:207—[Recovery paths § FD exhaustion](#fd-exhaustion-os-error-24-emfile)uses a single hyphen. The GitHub-rendered slug of the heading### FD exhaustion (\os error 24` / EMFILE)(line 146) isfd-exhaustion-os-error-24--emfile— the/ ` separator becomes a double hyphen once the slash is stripped and both surrounding spaces are hyphenated. Fixed to the double-hyphen slug so the link scrolls to the FD-exhaustion section.use-cases/claude-code-plugin/skills/memory-tools.md:12— this skill hasalwaysInclude: true, so it is injected into every plugin session. It names two tools,search_memoriesandget_memory, that are implemented nowhere in the slice;get_memory's get-by-id capability does not exist at all. The MCP server (mcp/server.js:15) andcommands/ask.md:18expose exactly one tool,evermem_search(paramsqueryrequired,limitdefault 10 / max 20). Replaced the two phantom tool names with the real one so the always-on guidance matches the implementation.Fixes #266, #267, #268.
Area
Verification
Checklist
main..envfiles, dependency folders, or generated output.Notes for Reviewers
memory-tools.mdfix is the highest-impact one: the skill isalwaysInclude: true, so until it is corrected every plugin session is told to call two tools that do not exist, while the one real tool (evermem_search) is never named.scripts/check_docs.pydeliberately strips the#fragmentbefore validating links (link = raw.split("#", 1)[0]), so it does not catch dead in-page anchors. The two anchor fixes (r1-1, r1-2) are therefore verified by manual GitHub-slug computation rather than the CI gate; they will not regress the Docs workflow.By submitting this pull request, I agree that my contribution is licensed under the Apache License 2.0.