Doc link convention
This skill should be used when writing or reviewing cross-file links inside Maigo source files (`agents/*.md`, `commands/*.md`, `skills/*/SKILL.md`). It enforces that cross-source links use absolute GitHub URLs — relative links break `mkdocs build --strict` because these files are dual-context (raw GitHub view + include-markdown shim into `docs/`).From its SKILL.md
npx -y skills add Lee-W/maigo --skill doc-link-conventionAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.0 KB, as published. Nobody here has run it
Doc Link Convention
Owner Agent: Soyo (Reviewer) — flagged at review-time when editing Maigo source.
Consumers: any task editing agents/ / commands/ / skills/ in the Maigo repo.
When to apply
Maigo's agents/*.md, commands/*.md, and skills/*/SKILL.md are dual-context:
- They are read raw on GitHub by contributors /
claude --plugin-dir. - They are also pulled into the docs site via
docs/{agents,commands,skills}/<name>.mdinclude-markdown shims.
A relative cross-source link works in one view but breaks the other.
The rule
Cross-source link → absolute GitHub URL. No exceptions.
[/maigo:remember](https://github.com/Lee-W/maigo/blob/main/commands/remember.md)
Not:
[/maigo:remember](remember.md) <!-- ❌ relative -->
[/maigo:remember](../commands/remember.md) <!-- ❌ relative -->
[/maigo:remember](/commands/remember.md) <!-- ❌ root-relative -->
Why a relative link breaks mkdocs build --strict
include-markdown defaults to rewrite-relative-urls=true. When it inlines
commands/remember.md into docs/commands/remember.md, it rewrites relative
URLs from the destination page's perspective. But the source path
(commands/remember.md) differs from the mkdocs page path
(docs/commands/remember.md, which is a shim), so the rewrite points at a
location mkdocs cannot resolve → Aborted with N warnings in strict mode!.
Absolute URLs are not rewritten by include-markdown, so both the GitHub
raw view and the mkdocs page resolve correctly.
Disabling rewrite-relative-urls is also wrong: cross-directory relative
links to real reference docs (e.g. ../docs/reference/memory.md) rely on
the rewrite to become mkdocs-resolvable.
Exception: links to real reference docs
When the link target is a real doc page under docs/reference/ or
docs/guides/ (not a shim), a relative link is correct because
rewrite-relative-urls=true will produce the right final URL:
[Memory reference](../docs/reference/memory.md)
From a commands/<x>.md source file, that rewrites to ../reference/memory.md
in docs/commands/<x>.md — which correctly points at docs/reference/memory.md.
| Link target type | Use |
|---|---|
Another source file (agents/*.md, commands/*.md, skills/*/SKILL.md) | Absolute GitHub URL |
Real reference doc (docs/reference/*.md, docs/guides/*.md) | Relative (../docs/reference/foo.md) |
| Same source file (anchor only) | Plain anchor (#section-name) |
Review-time enforcement (Soyo)
When strict-review runs on a diff that touches agents/, commands/, or
skills/*/SKILL.md in the Maigo repo itself, append this rule as base
checklist item 10:
- Search the diff for
]\(followed by anything that does not start withhttp:///https:///#/../docs/. If the link target is another source file → must-fix with改法: rewrite tohttps://github.com/Lee-W/maigo/blob/main/<source-path>.
This is only a checklist item when editing Maigo itself. Downstream projects using Maigo as a plugin do not need this rule — it is specific to Maigo's own dual-context publishing setup.
What this skill does NOT cover
- Link targets outside the Maigo repo (use whatever the target convention is).
- The 6-step new-skill checklist — see Skills reference.
- mkdocs configuration itself — this skill assumes
rewrite-relative-urls=truedefault and--strictbuild.