Skip to content

Bundle Houdini skill in the app - #111

Open
engmsaleh wants to merge 1 commit into
mainfrom
cursor/bundle-houdini-skill-402d
Open

engmsaleh wants to merge 1 commit into
mainfrom
cursor/bundle-houdini-skill-402d

Conversation

@engmsaleh

Copy link
Copy Markdown
Collaborator

References #110.

Houdini Essentials already lived at skills/houdini-essentials, but the macOS app only shipped the other five skills. New installs never received it.

The five bundled skills are shipped by three pieces that have to stay in sync:

  • A byte-identical copy under leanring-buddy/skills/<id>/SKILL.md.
  • An entry in the Xcode synchronized-folder membershipExceptions, so the SKILL.md is not compiled as a source file. The existing Run Script build phase then copies every subdirectory of leanring-buddy/skills/ into Contents/Resources/skills/. That script did not need a change; it already copies whatever folders are present.
  • A name in SkillStore.bundledSkillNames, which is what first launch seeds into ~/.skilly/skills/.

Houdini now follows that same path. Id houdini-essentials, display name Houdini Essentials, bundle id com.sidefx.houdini, pointing_mode: always.

Format

Compared with the other five bundled skills. Same single file (SKILL.md), same required frontmatter fields, and the same body shape: Teaching Instructions, Curriculum (### Stage N: with Goals, Completion signals, and Next), and UI Vocabulary. Stage links chain correctly through all 9 stages. Teaching-instruction size (~2,910 tokens) and total size (~8,507 tokens) stay under the app limits (4,000 and 10,000). No content was rewritten.

One extra frontmatter field is present only on Houdini: last_verified: "2026-05-16". The Swift parser ignores unknown keys, so this does not block loading. It was left in place.

Verification

  • Parsed project.pbxproj with the pbxproj library. The three targets load, object ids are unique, braces balance, and skills/houdini-essentials/SKILL.md is in membershipExceptions. Every exception path exists on disk.
  • Ran the Run Script build phase against a temporary app bundle. It copied all six SKILL.md files, including houdini-essentials.
  • The app copy is byte-identical to skills/houdini-essentials/SKILL.md. The seed list matches the six folders under leanring-buddy/skills/.

Not verified

  • plutil is not installed in this environment. Linux plistutil only accepts XML or binary plists, so it cannot lint this OpenStep project file.
  • xcodebuild and swiftc are not available. xcodebuild was not run, because it invalidates macOS TCC permissions. The XCTest suite in leanring-buddyTests was not run. A Mac build is still needed to confirm the skill shows up in the panel and auto-activates when Houdini is frontmost.

Please do not merge until that Mac check is done.

Open in Web Open in Cursor 

Houdini already lived under skills/ but was left out of the app copy,
the Xcode membership exceptions, and the first-launch seed list, so
new installs never received it.

Co-authored-by: Mohamed Saleh Zaied <engmsaleh@users.noreply.github.com>
@vercel

vercel Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
skilly-studio Ready Ready Preview Oct 29, 2026 1:07am UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — 88cd75ca Deployed Oct 29, 2026 by vercel[bot]
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.

2 participants