Conversation
… every channel to it Publisher shipped skills four ways - the .claude/skills symlinks, the npm pack, the MCP prompt bundle, and the scaffolder - and each one independently took everything under skills/ minus credible-*. So a skill added to the tree shipped everywhere by default, there was nowhere to say otherwise, and nothing noticed when the four disagreed. manifests/publisher-local.json is now the single answer to what ships, and the pack and the bundle resolve it instead of globbing. The scaffolder inherits it: it copies the packed skills/, which the pack has already filtered. docs/agent-skills/authoring-skills.md documented a manifests/ directory that did not exist; it exists now and the doc describes the real file. manifest.spec.ts is the part that makes it true rather than aspirational, ported from ms2data/agent-skills tests/test_manifests.py so both sides of the vendoring boundary enforce the same contract: the manifest names only skills that exist AND ships every skill in the tree (the second is what catches forgetting to register one), frontmatter names its own directory, no body hardcodes a host install path, relative reference/ paths resolve, cross-skill references are closed over the manifest and never carry a subpath, and the .claude/skills symlinks match. 134 cases. Confirmed the checks fire: dropping malloy-charts from the manifest fails three of them, and naming a skill that does not exist fails six. The reference scan sees 186 real skill: references across 57 files, so the closure check passes on evidence rather than by matching nothing. The bundle is byte-identical to main, which is the intended outcome: the same 31 skills ship, now through something that can be reasoned about. skills/README.md also records that this repo is the source of truth for the shared skills rather than a copy kept in step by hand, per the proposal in ms2data/service#6177. Signed-off-by: James Swirhun <james@credibledata.com>
Retire malloy-analyze into malloy-analysis, split setup into malloy-publisher-setup, and generate the malloy index from frontmatter. Cut duplicated syntax from malloy-modeling and stop naming malloy_* tools so the 8-step workflow can be shared across hosts. Signed-off-by: James Swirhun <james@credibledata.com> Co-authored-by: Cursor <cursoragent@cursor.com>
| } | ||
|
|
||
| function cell(text: string): string { | ||
| return text.replace(/\|/g, "\\|"); |
1093 retires malloy-analyze and adds malloy-publisher-setup; 1088 is what decides which skills ship. Land them together so the tree-coverage test sees the same set as the tree. Co-authored-by: Cursor <cursoragent@cursor.com>
#1088's publisher-local.json still listed malloy-analyze and omitted the setup skill this branch added. The tree-coverage and symlink tests fail until the manifest matches the tree. Signed-off-by: James Swirhun <james@credibledata.com> Co-authored-by: Cursor <cursoragent@cursor.com>
Collaborator
Author
|
Closing: 92 commits behind, and #1088, which it was stacked on, has merged. If malloy-analyze still needs retiring, that gets redone from main. |
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 free
to 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.
Stacked on #1088 (
manifests/publisher-local.json). Do not merge this before 1088; the tree-coverage and symlink tests fail until the manifest matches this tree.Summary
malloy-analyze. Its exploration loop (profile, hypothesize, triangulate) now lives inmalloy-analysisas When there is no specific question. Hosts auto-invoked onmalloy-analyze's description (analyze this data,what's interesting,what's driving X); those triggers moved with it, so deleting the skill is what makes the routing change take effect.malloy-getting-startedintomalloy-publisher-setup(server, MCP client, diagnosis table, tools table, edit-and-run loop). Getting-started keeps discovery and a first query. Themalloyindex is generated from frontmatter (packages/skills/scripts/build-index.ts) so a new skill cannot ship unlisted.malloy-modelingto the shared 8-step workflow (217 → 121 lines). Duplicated syntax (reminders, SQL-to-Malloy, critical rules, anti-patterns, reserved words) is a pointer to the gotcha skills. Publisher tool names are gone; the host's setup skill names those. A question that arrives before a model routes tomalloy-model-as-you-go.malloy-publisher-setupinpublisher-local.jsonand dropmalloy-analyze, so 1088's tree-coverage / symlink tests agree with this tree.This is handoff tasks 01 and 02 on one branch. They both edit
malloy-modelingand the setup skill, so they review more cheaply together.Test plan
bun run --cwd packages/skills test— 156 pass (index in sync, every skill grouped, manifest matches the tree, nomalloy-analyze)cd packages/server && bun test src/mcp/skills— 18 pass (bundle matchesskills/, no em dashes)cd packages/create-malloy-package && bun test src(scaffolder still pins@latest, now also scansmalloy-publisher-setup)skills/still namesmalloy-analyzemalloy-modelingend to end: pauses still read as real stops; nomalloy_*tool names; edit-and-run loop is inmalloy-publisher-setupmalloy-analysis, not a missing skillmalloy-publisher-setup