Uh oh!
There was an error while loading. Please reload this page.
feat(skills): built-in skill catalog with install-on-demand - #842
Merged
Conversation
Ship a curated set of built-in skills under the 内置 tab that install into a workspace on demand (内置 ≠ installed): clicking 安装 copies a skill's SKILL.md into skills/<id>. The Office document skills join the same catalog instead of being auto-copied into every workspace on startup. - resources/bundled-skills/<id>/SKILL.md is the reviewable source; a generator embeds the bodies into bundled-skill-catalog.generated.ts, guarded by a drift test so the two never diverge - skills.ts: listBundledSkillCatalog / installBundledSkill; the trusted bundled-lock check is generalized across the whole catalog - remove the fixed 12-skill prompt cap in buildSkillsPromptFragment; the 18k-char budget is the only limit, so enabled skills are no longer silently dropped from the prompt - wire skills:catalog:list / skills:catalog:install through preload, ChatView and the Skills panel; 内置 renders install-on-demand cards and 已安装 lists every workspace skill Also make getVisualSmokeState total over its scenario union (pre-existing TS2366).
MicroGery
commented
Jul 12, 2026
Contributor
|
Resolve conflicts around the skills subsystem after main moved skill scanning / runtime-state / prompt-fragment helpers into @maka/runtime and extracted the Skills page into module-pages. - skills.ts: re-apply the built-in catalog (listBundledSkillCatalog / installBundledSkill) onto the refactored base; the trusted bundled-lock check now covers both the Office skills and the reverse-engineered catalog - the 12-skill prompt cap is already gone upstream (budget-based), so drop the now-redundant local change - route the 内置 catalog props through module-pages' SkillsPage - keep upstream's collision-only skill-slug reveal alongside the new 内置 tab Verified: desktop typecheck clean; 2371 main-process tests and 116 @maka/ui tests pass.
Uh oh!
There was an error while loading. Please reload this page.
Astro-Han pushed a commit
that referenced
this pull request
Aug 12, 2026
* chore(skills): remove unverified bundled skills Remove the 29 bundled Skills introduced by #842 whose provenance has not been established. Keep computer-use as the only bundled Skill and regenerate the catalog. Refs #2669 Generated-by: OpenAI Codex * chore(skills): guard bundled catalog cleanup Assert the retained bundled catalog end to end and reject legacy hash entries for missing Skill sources. Generated-by: OpenAI Codex * docs(skills): define bundled removal upgrade behavior Document that catalog removal revokes Maka provenance without deleting or disabling user-owned local copies, and lock the boundary with a Runtime Host regression test. Generated-by: OpenAI Codex --------- Co-authored-by: hqhq1025 <1506751656@qq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a built-in skill catalog that ships with the app and installs on demand.
SKILL.mdinto the workspace'sskills/<id>.Behavior changes
ensureBundledOfficeSkills(and itsbundledSkillsReadygating) is removed; nothing is written into a workspace until the user installs it.buildSkillsPromptFragmentno longer truncates to a fixed 12 skills — the 18k-character budget is the only limit, so enabled skills are no longer silently dropped from the system prompt.How it's built
apps/desktop/resources/bundled-skills/<id>/SKILL.md(reviewable, one dir per skill).apps/desktop/scripts/gen-bundled-skill-catalog.mjsembeds the bodies intobundled-skill-catalog.generated.ts(no runtime dependency on the resources dir, mirroring how the Office skills already embed their bodies). A drift test fails if the generated module and the sources diverge.skills.ts:listBundledSkillCatalog(root)+installBundledSkill(root, id), reusing the existing hardened write path (realpath containment, fail-if-exists, atomic temp+rename). The trusted-bundled-lock check is generalized from the three Office ids to the whole catalog (sourceName: maka-bundled).skills:catalog:list/skills:catalog:install→ preloadskills.catalog.*→ChatView→SkillsModuleMain. New shared typeBundledSkillCatalogEntry.Tests
apps/desktop/src/main/__tests__/bundled-skill-catalog.test.ts: catalog lists all entries with valid front-matter/category; install writes the file + a trustedbundledlock and flips the installed flag; install is idempotent (already_exists); unknown/unsafe ids are rejected; generated module stays in sync with the sources.Note
Also makes
getVisualSmokeStatetotal over its scenario union — a pre-existingTS2366unrelated to this change, fixed in passing so the main build is green.