Problem
Skill rule files cross-reference each other and adjacent skills using relative .md paths (e.g. [security-private-endpoint](security-private-endpoint.md), [ha-cross-region-replica](../high-availability/ha-cross-region-replica.md)). When the skill content is consumed by an agent or rendered outside the repo, these in-repo links don't resolve — the consumer needs links to the official Microsoft Learn articles instead.
Proposed fix
Replace every *.md link inside skill content (rule files and SKILL.md) with the canonical Learn URL. Each rule already lists its primary Learn source in its ## References section, so the mapping is straightforward.
Mapping (from PR #14 audit)
Sibling rules — skills/security/
Cross-skill references
Open questions
- Four security rules collapse to the same RBAC Learn article (
how-to-connect-role-based-access-control) — security-entra-rbac, security-database-roles, security-azure-rbac-actions, security-token-lifetime-revocation. That single Learn article is the source for all four. Acceptable, or do we want sub-section anchors?
- Two rules collapse to
azure/documentdb/security — security-tls-required and security-admin-password-and-identity-separation. Both pulled from the "Secure your cluster" overview.
- Monitoring landing page — confirm the right canonical URL for the
../monitoring/ directory reference.
- Inline non-link text like
`storage/` in SKILL.md (parenthetical "Premium SSD v1 only — see storage/") — convert to Learn link too, or leave as in-repo navigation hint?
Scope
This issue is about all skill folders, not just security/. PR #14 surfaced the issue but the same pattern almost certainly exists in high-availability/, storage/, and any future skill. Recommend a one-pass sweep across skills/**/*.md once the open questions are resolved.
Suggested implementation
A small PowerShell or Python script that walks skills/**/*.md, applies the mapping table above, and reports any unmapped .md) link for manual review. Validator (scripts/validate-skills.ps1) should pass after the sweep.
Originating context
Surfaced during review of PR #14 (docs/security-rbac). Mapping table was generated by auditing the ## References section of each affected rule file.
Problem
Skill rule files cross-reference each other and adjacent skills using relative
.mdpaths (e.g.[security-private-endpoint](security-private-endpoint.md),[ha-cross-region-replica](../high-availability/ha-cross-region-replica.md)). When the skill content is consumed by an agent or rendered outside the repo, these in-repo links don't resolve — the consumer needs links to the official Microsoft Learn articles instead.Proposed fix
Replace every
*.mdlink inside skill content (rule files andSKILL.md) with the canonical Learn URL. Each rule already lists its primary Learn source in its## Referencessection, so the mapping is straightforward.Mapping (from PR #14 audit)
Sibling rules —
skills/security/.mdreferencesecurity-private-endpoint.mdsecurity-firewall-rules.mdsecurity-entra-rbac.mdsecurity-database-roles.mdsecurity-azure-rbac-actions.mdsecurity-token-lifetime-revocation.mdsecurity-cmk-encryption.mdsecurity-cmk-troubleshooting.mdsecurity-tls-required.mdsecurity-admin-password-and-identity-separation.mdCross-skill references
.mdreference../high-availability/ha-cross-region-replica.md../high-availability/ha-backup-retention.md../monitoring/(directory ref)Open questions
how-to-connect-role-based-access-control) —security-entra-rbac,security-database-roles,security-azure-rbac-actions,security-token-lifetime-revocation. That single Learn article is the source for all four. Acceptable, or do we want sub-section anchors?azure/documentdb/security—security-tls-requiredandsecurity-admin-password-and-identity-separation. Both pulled from the "Secure your cluster" overview.../monitoring/directory reference.`storage/`inSKILL.md(parenthetical "Premium SSD v1 only — seestorage/") — convert to Learn link too, or leave as in-repo navigation hint?Scope
This issue is about all skill folders, not just
security/. PR #14 surfaced the issue but the same pattern almost certainly exists inhigh-availability/,storage/, and any future skill. Recommend a one-pass sweep acrossskills/**/*.mdonce the open questions are resolved.Suggested implementation
A small PowerShell or Python script that walks
skills/**/*.md, applies the mapping table above, and reports any unmapped.md)link for manual review. Validator (scripts/validate-skills.ps1) should pass after the sweep.Originating context
Surfaced during review of PR #14 (
docs/security-rbac). Mapping table was generated by auditing the## Referencessection of each affected rule file.