drafted 1.20.0 → 1.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/mcp/server.mjs +6 -6
  2. package/package.json +1 -1
package/mcp/server.mjs CHANGED
@@ -3757,17 +3757,17 @@ tool('fs', 'Navigate Drafted like a local filesystem. A FOLDER is the single con
3757
3757
  const g2 = g2Block(gs);
3758
3758
  if (g2) return err(new Error(g2));
3759
3759
  }
3760
- const name = existing?.name || slug.replace(/[-_]/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
3761
- // Derive a description from the slug when the agent didn't pass one
3762
- // (the API requires a non-empty description on create).
3763
- const description = args.description || existing?.description || `Reusable procedure: ${name.toLowerCase()}`;
3760
+ // Name/description come from the SKILL.md frontmatter, resolved by the
3761
+ // server (it re-indexes them on every content write). Only an explicit
3762
+ // `description` arg is sent; `slug` pins the address, since the
3763
+ // frontmatter name may not slugify back to it.
3764
3764
  let result;
3765
3765
  if (existing) {
3766
- result = await api('PUT', `/api/skills/${existing.id}`, { content: text }, orgHeader);
3766
+ result = await api('PUT', `/api/skills/${existing.id}`, { content: text, ...(args.description ? { description: args.description } : {}) }, orgHeader);
3767
3767
  // A `readme` passed with an update is a README write, not a no-op.
3768
3768
  if (readme) await api('PUT', `/api/skills/${existing.id}/files/README.md`, { content: readme }, orgHeader);
3769
3769
  } else {
3770
- result = await api('POST', '/api/skills', { slug, name, content: text, description, ...(readme ? { readme } : {}) }, orgHeader);
3770
+ result = await api('POST', '/api/skills', { slug, content: text, ...(args.description ? { description: args.description } : {}), ...(readme ? { readme } : {}) }, orgHeader);
3771
3771
  }
3772
3772
  // Writing an archived skill restores it (update flow un-archives).
3773
3773
  if (result?.id && existing?.archived) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drafted",
3
- "version": "1.20.0",
3
+ "version": "1.20.1",
4
4
  "description": "Drafted — visual thinking surface for humans and AI agents. Renders HTML, markdown, images, and code as frames on a zoomable canvas, with MCP tools for AI agents and real-time sync for humans.",
5
5
  "type": "module",
6
6
  "files": [