All skills
microsoft avatar

/skill-authoring

@70c03ac official

Guidelines for writing Agent Skills that comply with the agentskills.io specification. WHEN: "create a skill", "new skill", "write a skill", "skill template", "skill structure", "review skill", "skill PR", "skill compliance", "SKILL.md format", "skill frontmatter", "skill best practices".

Use this Skill: https://skilld.dev/gh/microsoft/github-copilot-for-azure/skill-authoring

This session only. Nothing lands on disk.

referencesvalidationbroken-links.md

≈682 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Broken Link Verification

Check all markdown links in SKILL.md and referenced files.

Procedure

  1. Parse all [text](path) links in SKILL.md
  2. For each link to a local file, verify the file exists
  3. Recursively check links in referenced files
  4. Flag any links where the target file is missing

Link Requirements

Always Link to Files, Not Folders

Links must point to actual files, not directories. Folder references don't trigger reference loading.

❌ Invalid ✅ Valid
[Recipes](references/recipes/) [Recipes](references/recipes/README.md)
[AZD](references/recipes/azd) [AZD](references/recipes/azd/README.md)
[Services](references/services) [Services](references/services/README.md)

Why this matters:

  • Agent skills only load content from file links
  • Folder links are treated as broken links (no content loaded)
  • Always use README.md (or another .md file) as the folder entry point

Use Descriptive Link Text, Not Paths

Link text should describe the content, not repeat the URL or path. This saves tokens and improves readability.

❌ Wasteful ✅ Concise
[references/guide.md](references/guide.md) [Guide](references/guide.md)
[https://example.com/docs](https://example.com/docs) [Docs](https://example.com/docs)
See [references/errors.md](references/errors.md) See [Error Handling](references/errors.md)

Avoid standalone reference columns in tables. Instead of:

| Error | Fix | Reference |
|-------|-----|-----------|
| Auth failed | Re-login | [references/auth.md](references/auth.md) |

Use inline links:

| Error | Fix |
|-------|-----|
| [Auth failed](references/auth.md) | Re-login |

Validation Check

Run the automated reference validator to catch broken and escaped links:

# From the scripts directory
cd scripts
npm run references              # Validate all skills
npm run references <skill-name> # Validate a single skill

This checks:

  1. Every local markdown link resolves to an existing file
  2. No link escapes the skill's own directory (cross-skill links)
  3. Ignores external URLs, mailto:, and fragment-only links

When validating manually, also check for: 4. Links pointing to directories instead of files 5. Links where text duplicates the URL/path

When broken link found, ask user:

  • a) Fix reference - Update the link path to correct location (add /README.md for folder links)
  • b) Delete link - Remove the link from the document
  • c) Something else - User provides alternative action

Source: SKILL.md on GitHub

No alerts15d5 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill is a comprehensive documentation and validation guide for authoring agent skills. It follows security best practices and contains no identified threats.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

  • Runlayer7mo

    14 files scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 70c03ac. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 6 months ago
metadata
{
  "author": "Microsoft",
  "version": "1.0.1"
}
  • Documentation
  • skill-authoring
  • specification
  • agentskills
  • guidelines
  • frontmatter
  • validation

README badge

README badge for microsoft/github-copilot-for-azure/skill-authoring

Provides guidelines for authoring Agent Skills that comply with the agentskills.io specification, including frontmatter structure, token budgets, progressive disclosure patterns, and validation procedures. Use this when creating a new skill, reviewing a skill PR for compliance, or checking if a skill follows best practices.

Generated from the current SKILL.md.

What are the token limits for a skill?
SKILL.md must stay under 5000 tokens (soft limit ~500), and each reference file under 1000 tokens. References load only when explicitly linked, not on activation.
What should the description field contain?
The description must explain WHAT the skill does and WHEN to use it, be ≤60 words, and include a WHEN: clause with quoted trigger phrases.
How do references get loaded?
References are just-in-time loaded only when explicitly linked via [text](references/file.md) in the SKILL.md. Link to files, not folders, and each file loads in full.
What structure should a skill have?
A skill requires SKILL.md with frontmatter (name, description) and instructions. References and scripts directories are optional for detailed docs and executable code.
How do I validate my skill before submission?
Run npm run references to check for broken links and npm run tokens -- check to verify token limits. Use the checklist in references/CHECKLIST.md before submitting.

Generated from the current SKILL.md. These answers refresh after source changes.