Skip to content

refactor: move skillToMarkdown to skillService; fix SKILL.md hosts frontmatter#40

Merged
sbroenne merged 1 commit intomainfrom
refactor/skill-to-markdown-and-hosts-frontmatter
Feb 23, 2026
Merged

refactor: move skillToMarkdown to skillService; fix SKILL.md hosts frontmatter#40
sbroenne merged 1 commit intomainfrom
refactor/skill-to-markdown-and-hosts-frontmatter

Conversation

@sbroenne
Copy link
Owner

Move skillToMarkdown from zipExportService.ts to skillService.ts where it
belongs (skill serialization is not a zip-export concern). Export it from
the skills barrel and update all three import sites: useOfficeChat.ts,
zipExportService.ts (now imports it), and zip-export-service.test.ts.

Fix the SKILL.md frontmatter: the Copilot SDK does not recognise 'hosts' as
a top-level skill attribute, producing a lint error since PR #38 made the
proxy pass skillDirectories to the SDK. Move 'hosts' under the SDK-supported
'metadata:' key. parseFrontmatter already handles this correctly because it
trims line indentation before parsing, so 'metadata:\n hosts: [excel]' and
'hosts: [excel]' are parsed identically — no parser changes required.

Add tests:

  • parseFrontmatter correctly reads hosts nested under metadata: block
  • bundled Excel skill has hosts: ['excel'] after parsing

…ontmatter

Move skillToMarkdown from zipExportService.ts to skillService.ts where it
belongs (skill serialization is not a zip-export concern). Export it from
the skills barrel and update all three import sites: useOfficeChat.ts,
zipExportService.ts (now imports it), and zip-export-service.test.ts.

Fix the SKILL.md frontmatter: the Copilot SDK does not recognise 'hosts' as
a top-level skill attribute, producing a lint error since PR #38 made the
proxy pass skillDirectories to the SDK. Move 'hosts' under the SDK-supported
'metadata:' key. parseFrontmatter already handles this correctly because it
trims line indentation before parsing, so 'metadata:\n  hosts: [excel]' and
'hosts: [excel]' are parsed identically — no parser changes required.

Add tests:
- parseFrontmatter correctly reads hosts nested under metadata: block
- bundled Excel skill has hosts: ['excel'] after parsing
@sbroenne sbroenne merged commit d16bc41 into main Feb 23, 2026
1 check passed
@sbroenne sbroenne deleted the refactor/skill-to-markdown-and-hosts-frontmatter branch February 23, 2026 09:24
@sbroenne sbroenne mentioned this pull request Feb 26, 2026
sbroenne added a commit that referenced this pull request Feb 26, 2026
Bumps version to **0.3.0**.

## What's new since v0.2.0

### ✨ New Features
- **Outlook host** — 22 tools (emails, calendar, contacts, folders,
attachments, search, flags, drafts), dedicated agent, 4 skills, manifest
(#45)
- **Word document orchestrator** — planner→worker pattern with deep/fast
modes, \submit_document_plan\ tool, Word expanded to 35 tools (#45)
- **PowerPoint expanded** — 24 tools, 4 new skills (deck-builder,
formatting, redesign, presentation), improved \get_slide_image\ with
region cropping (#45)
- **WorkIQ integration** — MCP stdio transport, workiqModel setting, UI
toggle in ChatHeader (#45)
- **MCP servers** — stdio/npx MCP server support + npm skill packages as
internal tools (#41)
- **Electron tray app** — system tray with single-instance lock,
production server, installer packaging (#43)
- **Session history** — persistent conversation history with restore
picker (#43)
- **Permissions flow** — interactive approve/deny permission UI (#43)
- **Auto-scroll** — chat thread stays pinned to newest content (#43)
- **Thinking indicator** — dynamic text from \ eport_intent\ and tool
execution phase (#34, #37)
- **Custom agents & skills** — ZIP import/export, management dialogs
(#29, #38)
- **Host-scoped skills** — skills filtered by current Office host (#40)

### 🔒 Security
- bump rollup 4.58.0 → 4.59.0 (Arbitrary File Write CVE) (#46)
- bump hono 4.12.0 → 4.12.3 (Auth Bypass CVE) (#46)

### 🛠 Other
- Added \start:desktop:excel/ppt/word/outlook\ convenience scripts
- Branch protection + squash-merge-only policy enforced (#44)
- 458/458 integration tests passing; E2E: Excel ~187, PPT ~13, Word ~12,
Outlook ~9

Co-authored-by: Stefan Broenner <stefan.broenner@microsoft.comm>
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.

1 participant