Skip to content

feat: link to SKILL.md from Skills dashboard#2873

Open
tmeschter wants to merge 4 commits into
microsoft:mainfrom
tmeschter:tmeschter-congenial-bassoon
Open

feat: link to SKILL.md from Skills dashboard#2873
tmeschter wants to merge 4 commits into
microsoft:mainfrom
tmeschter:tmeschter-congenial-bassoon

Conversation

@tmeschter

Copy link
Copy Markdown
Member

Closes #2868

What

Each skill on the Skills dashboard page now has a View SKILL.md link in its detail header that opens the skill's source SKILL.md on GitHub.

How

  • Added a path field to the Skill model, populated from the frontmatter collector's metadata.path.
  • Added a skillMdUrl() helper that normalizes the git-ignored output/skills/... path back to the plugin/skills/... source path and builds a GitHub blob URL. The repo base is a single module-level constant for easy future change.
  • The link uses the reported path (not the skill name), so nested skills such as microsoft-foundry/foundry-agent/create resolve correctly. It renders only when a valid URL is available and opens in a new tab (rel=noopener noreferrer).
  • Minimal CSS for the link.

Tests

  • New dashboard/src/skills/__tests__/skillLink.test.ts covering the URL helper (output/ & plugin/ prefixes, nested skills, backslash normalization, and missing / non-SKILL.md / out-of-tree paths returning null) plus path capture in skillsFromHealthData.
  • vitest run src/skills — 22 tests pass. npm run build succeeds.

Frontend-only change under dashboard/src/skills/; no API or collector changes were needed since path is already in the payload.

Add a 'View SKILL.md' link to each skill's detail header on the Skills
dashboard page, pointing at the skill's source SKILL.md on GitHub.

The frontmatter collector reports paths under the git-ignored output/skills
tree, so normalize output/skills/ back to the plugin/skills/ source path when
building the link. Uses the reported path (not the name) so nested skills
resolve correctly.

Closes microsoft#2868

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 79ae3891-7d57-47a9-842e-f5329aac95a7
Copilot AI review requested due to automatic review settings July 17, 2026 19:23
@tmeschter
tmeschter requested a review from a team as a code owner July 17, 2026 19:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a source link from the Skills dashboard detail view to each skill’s SKILL.md in the GitHub repository, using the path emitted by the frontmatter collector and normalizing output/skills/... back to plugin/skills/....

Changes:

  • Extended the dashboard Skill model to carry the collector-reported path and surfaced it via skillsFromHealthData.
  • Added a skillMdUrl() helper to safely build a GitHub blob URL (including nested skills and Windows path normalization) and rendered a “View SKILL.md” link when available.
  • Added minimal styling and new Vitest coverage for the URL helper and path capture.
Show a summary per file
File Description
dashboard/src/skills/skills.css Adds styling for the new “View SKILL.md” source link.
dashboard/src/skills/App.tsx Adds path to the Skill model, introduces skillMdUrl(), and renders the SKILL.md link in the skill detail header.
dashboard/src/skills/tests/skillLink.test.ts Adds tests for URL normalization/mapping and for capturing path in skillsFromHealthData.

Review details

  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment thread dashboard/src/skills/App.tsx Outdated
RickWinter
RickWinter previously approved these changes Jul 17, 2026
…-bassoon

# Conflicts:
#	dashboard/src/skills/App.tsx
#	dashboard/src/skills/skills.css
tmeschter and others added 2 commits July 20, 2026 11:20
Address PR review: memoize skillMdUrl(selectedSkill.path) so the conditional
render and the anchor href share a single computed value, removing the
duplicate call and the type assertion.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 79ae3891-7d57-47a9-842e-f5329aac95a7
…-bassoon

# Conflicts:
#	dashboard/src/skills/App.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Link to SKILL.md

3 participants