Skip to content

fix: switch Windsurf SKILL header to YAML frontmatter#272

Open
ruslanlap wants to merge 1 commit into
nextlevelbuilder:mainfrom
ruslanlap:fix/windsurf-frontmatter
Open

fix: switch Windsurf SKILL header to YAML frontmatter#272
ruslanlap wants to merge 1 commit into
nextlevelbuilder:mainfrom
ruslanlap:fix/windsurf-frontmatter

Conversation

@ruslanlap

@ruslanlap ruslanlap commented Apr 21, 2026

Copy link
Copy Markdown

Summary

The original Windsurf issue was caused by generated SKILL.md header format. This PR keeps the Windsurf YAML-frontmatter fix and adds repo-level safeguards so similar template drift does not affect other platforms.

What changed

  • ensure Windsurf template keeps YAML frontmatter generation (name + description)
  • expand sync:assets to sync all platform templates from src/ui-ux-pro-max/templates/platforms to cli/assets/templates/platforms
  • add validate-platform-templates guard to verify:
    • src/assets platform template file lists match
    • every src/assets platform template JSON is identical
    • frontmatter shape is valid when present
    • Windsurf specifically still requires non-empty frontmatter
  • enforce guard in both:
    • cli/package.json prepublishOnly
    • .github/workflows/template-guard.yml on PRs/pushes

User impact

  • Windsurf users get the correct SKILL.md header format by default
  • template mismatches for any platform are caught before publish/merge, reducing the chance of broken generated skills for other users

@ruslanlap ruslanlap changed the title fix: correct Windsurf skill frontmatter metadata fix: generate YAML frontmatter for Windsurf skill Apr 21, 2026
@ruslanlap ruslanlap changed the title fix: generate YAML frontmatter for Windsurf skill fix: switch Windsurf SKILL header to YAML frontmatter Apr 21, 2026
@mrgoonie

Copy link
Copy Markdown
Contributor

Summary: I’m deferring this PR from the cron-safe maintainer lane because it is currently too broad for the bounded PR budget and is not mergeable as-is.

Decision: deferred / blocked by conflicts

Evidence:

  • This PR changes 26 files with +175/-34 lines, including workflow files, README, platform templates, CLI package scripts, sync/validation scripts, and environment config.
  • The branch is currently DIRTY, so GitHub reports it is blocked by merge conflicts against main.
  • The intent looks related to valid template/source-of-truth safeguards, but it needs a focused review after conflict resolution because it affects publish guards and generated platform templates.

Next step: please rebase/resolve conflicts first, then keep the verification path explicit: the exact sync command, the platform-template validation command, and evidence that Windsurf frontmatter plus mirrored cli/assets/templates/platforms/* remain in sync after regeneration.

@mrgoonie mrgoonie added agent:github-maintain Processed by github-maintain automation maintain:deferred Deferred by maintain workflow maintain:blocked Blocked by external condition or maintainer action pr:blocked-conflict PR blocked by merge conflicts labels Jun 24, 2026
Rebase onto main with a focused fix: sync stale cli/assets platform
templates from src (including Windsurf YAML frontmatter metadata),
add sync/validate scripts, CI template guard, and prepublish checks.

Dropped unrelated conda workflow and environment.yml changes from the
previous branch to keep the PR reviewable.
@ruslanlap ruslanlap force-pushed the fix/windsurf-frontmatter branch from ed90239 to f597712 Compare June 24, 2026 14:32
@ruslanlap

Copy link
Copy Markdown
Author

Rebased onto latest main and narrowed the PR to the Windsurf/template-guard scope.

Dropped from previous branch (unrelated to the fix):

  • environment.yml
  • .github/workflows/python-package-conda.yml pytest skip logic

Verification commands (run from repo root):

# 1. Sync src → cli/assets platform templates
node cli/scripts/sync-assets.mjs
# or: cd cli && npm run sync:assets

# 2. Confirm no drift after sync
git diff --exit-code -- cli/assets/templates/platforms

# 3. Validate frontmatter shape + src/assets parity
node cli/scripts/validate-platform-templates.mjs
# or: cd cli && npm run validate:platform-templates

Evidence (local run on rebased branch):

  • sync-assets.mjsSynced platform templates from src to cli/assets
  • validate-platform-templates.mjsPlatform template guard passed for 18 files
  • diff src/.../windsurf.json cli/assets/.../windsurf.json → no differences
  • Windsurf frontmatter now mirrors src (name + description, 16 stacks) and generates:
---
name: ui-ux-pro-max
description: Comprehensive design guide for web and mobile applications. Contains 67 styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 16 technology stacks.
---

Enforcement:

  • cli/package.json prepublishOnly: sync:assetsvalidate:platform-templatesbuild
  • .github/workflows/template-guard.yml runs the same sync + git diff + validate on PR/push

Diff size: 23 files, +163/-30 (was 26 files with unrelated CI changes).

@ia-abatista

Copy link
Copy Markdown
Contributor

Recommend closing, @mrgoonie. Superseded by merged #355: templates are already in the sync with LF normalization, hash-based --check, and prepublishOnly enforcement. This PR adds a naive cp-based sync that would regress #355.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:github-maintain Processed by github-maintain automation maintain:blocked Blocked by external condition or maintainer action maintain:deferred Deferred by maintain workflow pr:blocked-conflict PR blocked by merge conflicts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants