Skip to content

feat(skill-hub): move generated skills into build dir#9

Merged
onmax merged 6 commits intomainfrom
feat/build-dir-skill-wrappers
Mar 25, 2026
Merged

feat(skill-hub): move generated skills into build dir#9
onmax merged 6 commits intomainfrom
feat/build-dir-skill-wrappers

Conversation

@onmax
Copy link
Copy Markdown
Owner

@onmax onmax commented Mar 25, 2026

Fixes #8.

This moves the generated Nuxt skill tree into buildDir/skill-hub/... and keeps only a small stable SKILL.md wrapper in the mirrored agent skill root. The wrapper points agents to the generated content and tells them to run nuxt prepare when the build-dir output is missing, which keeps the checked-in skill surface small and predictable.

Generation now defaults to skillHub.generationMode: 'prepare', runs on Nuxt's later prepare:types hook, and no longer does the heavy work during normal dev or build startup. The install/docs flow was updated for the wrapper model, and the test suite now covers both the stable wrapper and the build-dir generation path.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 25, 2026

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

Project Deployment Actions Updated (UTC)
nuxt-skill-hub Ready Ready Preview, Comment Mar 25, 2026 2:26pm

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 25, 2026

Open in StackBlitz

npm i https://pkg.pr.new/nuxt-skill-hub@9

commit: 8a67351

@onmax
Copy link
Copy Markdown
Owner Author

onmax commented Mar 25, 2026

hey @dhondtlaurens I’d love your take on where this landed. To me it fixes the main pain from #8 because skill generation no longer kicks in during regular nuxt dev or nuxt build, but it also doesn’t fully match the original proposal since there is still no dedicated enabled flag or explicit programmatic API yet.

could you install it and see if it works for you?

npm i https://pkg.pr.new/nuxt-skill-hub@9

Right now the control surface is basically generationMode, with prepare as the default and manual as the opt-out mode.

If this still misses your use case for any reason, I’d really like to understand what part is still not working for you. We can still discuss adding a small CLI or programmatic entry afterward if matching the original issue more closely turns out to matter, but I’d rather understand the gap first :)

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6675f1c1ae

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1a9aac4c99

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 63620677d9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@dhondtlaurens
Copy link
Copy Markdown

Hey @onmax, thanks for working on this. The generationMode approach looks like exactly what I needed. prepare as the default solves the core issue from #8 since it keeps skill generation out of dev, build, and test runs while still auto-refreshing when things actually change during nuxt prepare. The source code changes look clean and straightforward.

I couldn't install the preview due to unresolved catalog: references in the pkg.pr.new build, but no worries, I'll just update once this is merged and released. Looks good to me!

@onmax onmax merged commit 52a84a9 into main Mar 25, 2026
5 checks passed
@onmax onmax deleted the feat/build-dir-skill-wrappers branch March 25, 2026 14:27
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8a67351f0d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +65 to +69
sourceDir: resolve(contribution.sourceDir).replaceAll('\\', '/'),
sourceRoot: resolve(contribution.sourceRoot).replaceAll('\\', '/'),
sourceKind: contribution.sourceKind,
forceIncludeScripts: contribution.forceIncludeScripts,
hash: await hashDirectoryTreeIfExists(contribution.sourceDir),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Hash output-affecting manual metadata in fingerprint

The prepare-mode freshness key built in createLocalSourceFingerprints only includes path/hash/source-kind/script flags, so manual contribution metadata changes (for example version, repoUrl, docsUrl, official, resolver, sourceRepo/ref/path) are invisible to the fingerprint. Those fields are later rendered via generatedEntries in generateSkillTree, so changing them without modifying files can leave stale module metadata in the generated SKILL output because isGeneratedSkillFresh returns early.

Useful? React with 👍 / 👎.

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.

feat: add option to disable automatic hooks and allow programmatic invocation

2 participants