@ichintansoni/skills-master 0.1.13 → 0.1.15

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/dist/bin.js +13 -22
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -4,7 +4,7 @@
4
4
  import { Command } from "commander";
5
5
 
6
6
  // package.json
7
- var version = "0.1.13";
7
+ var version = "0.1.15";
8
8
 
9
9
  // src/schema/projectConfig.ts
10
10
  import { z } from "zod";
@@ -200,9 +200,6 @@ function condenseBody(body, opts = {}) {
200
200
  strippedLink = true;
201
201
  return text;
202
202
  });
203
- if (opts.openQuestion === "summarize") {
204
- out = summarizeOpenQuestion(out);
205
- }
206
203
  out = out.replace(/\n{3,}/g, "\n\n").trim();
207
204
  if (opts.hadResources || strippedLink) {
208
205
  out += `
@@ -211,16 +208,6 @@ function condenseBody(body, opts = {}) {
211
208
  }
212
209
  return out + "\n";
213
210
  }
214
- function summarizeOpenQuestion(body) {
215
- const re = /^## Open question[ \t]*\n([\s\S]*?)(?=\n## |(?![\s\S]))/m;
216
- return body.replace(re, (_m, section) => {
217
- const firstPara = section.trim().split(/\n\s*\n/)[0]?.replace(/\s+/g, " ").trim() ?? "";
218
- return `## Open question
219
-
220
- Tradeoff: ${firstPara}
221
- `;
222
- });
223
- }
224
211
  function sectionHighlights(body, section, max) {
225
212
  const re = new RegExp(`^## ${section}\\n([\\s\\S]*?)(?=\\n## |(?![\\s\\S]))`, "m");
226
213
  const m = re.exec(body);
@@ -273,10 +260,7 @@ var cursorEmitter = {
273
260
  fm.alwaysApply = false;
274
261
  const xm = skill.frontmatter["x-skills-master"];
275
262
  const body = withStabilityNote(
276
- condenseBody(skill.body, {
277
- openQuestion: "keep",
278
- hadResources: hasResources(skill.resources)
279
- }),
263
+ condenseBody(skill.body, { hadResources: hasResources(skill.resources) }),
280
264
  stabilityNote(xm.stability, xm.snapshot_date)
281
265
  );
282
266
  return [
@@ -306,10 +290,7 @@ var copilotEmitter = {
306
290
  };
307
291
  const xm = skill.frontmatter["x-skills-master"];
308
292
  const body = withStabilityNote(
309
- condenseBody(skill.body, {
310
- openQuestion: "keep",
311
- hadResources: hasResources(skill.resources)
312
- }),
293
+ condenseBody(skill.body, { hadResources: hasResources(skill.resources) }),
313
294
  stabilityNote(xm.stability, xm.snapshot_date)
314
295
  );
315
296
  const pointer = `For ${titleFromName(skill.name)} guidance, see \`${instructionsPath}\`.`;
@@ -1714,6 +1695,7 @@ var CANONICAL_HEADINGS = [
1714
1695
  ];
1715
1696
  var MAX_BODY_LINES = 500;
1716
1697
  var WARN_BODY_LINES = 450;
1698
+ var XML_TAG_RE = /<[A-Za-z/]/;
1717
1699
  function today() {
1718
1700
  return (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
1719
1701
  }
@@ -1794,6 +1776,15 @@ function lintSkills(skillsRoot) {
1794
1776
  if (!/use when/i.test(fm.description)) {
1795
1777
  push("warn", `description should include a "Use when ..." trigger clause`);
1796
1778
  }
1779
+ const tagAt = fm.description.search(XML_TAG_RE);
1780
+ if (tagAt !== -1) {
1781
+ const end = fm.description.indexOf(">", tagAt);
1782
+ const snippet = fm.description.slice(tagAt, end === -1 ? tagAt + 20 : end + 1);
1783
+ push(
1784
+ "warn",
1785
+ `description contains XML-tag-shaped text "${snippet}" \u2014 Claude's skill validation rejects tags; reword it (e.g. "a VerificationResult of Transaction")`
1786
+ );
1787
+ }
1797
1788
  if (xm.snapshot_date > todayStr) {
1798
1789
  push("error", `snapshot_date ${xm.snapshot_date} is in the future`);
1799
1790
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ichintansoni/skills-master",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "Install tool-agnostic Apple & Android development skills into any AI coding tool (Claude Code, Cursor, Copilot, AGENTS.md).",
5
5
  "keywords": [
6
6
  "skills",