@fro.bot/systematic 1.17.1 → 1.17.2

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/index.js +9 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -348,11 +348,14 @@ function discoverSkillFiles(dir, limit = 10) {
348
348
  }
349
349
  function createSkillTool(options) {
350
350
  const { bundledSkillsDir, disabledSkills } = options;
351
- const getSystematicSkills = () => {
352
- return findSkillsInDir(bundledSkillsDir).filter((s) => !disabledSkills.includes(s.name)).map((skillInfo) => loadSkill(skillInfo)).filter((s) => s !== null).filter((s) => s.disableModelInvocation !== true).sort((a, b) => a.name.localeCompare(b.name));
351
+ const getAllSkills = () => {
352
+ return findSkillsInDir(bundledSkillsDir).filter((s) => !disabledSkills.includes(s.name)).map((skillInfo) => loadSkill(skillInfo)).filter((s) => s !== null).sort((a, b) => a.name.localeCompare(b.name));
353
+ };
354
+ const getDiscoverableSkills = () => {
355
+ return getAllSkills().filter((s) => s.disableModelInvocation !== true);
353
356
  };
354
357
  const buildDescription = () => {
355
- const skills = getSystematicSkills();
358
+ const skills = getDiscoverableSkills();
356
359
  if (skills.length === 0) {
357
360
  return "Load a skill to get detailed instructions for a specific task. No skills are currently available.";
358
361
  }
@@ -380,7 +383,7 @@ function createSkillTool(options) {
380
383
  `);
381
384
  };
382
385
  const buildParameterHint = () => {
383
- const skills = getSystematicSkills();
386
+ const skills = getDiscoverableSkills();
384
387
  const examples = skills.slice(0, 3).map((s) => `'systematic:${s.name}'`).join(", ");
385
388
  const hint = examples.length > 0 ? ` (e.g., ${examples}, ...)` : "";
386
389
  return `The name of the skill from available_skills${hint}`;
@@ -405,10 +408,10 @@ function createSkillTool(options) {
405
408
  async execute(args, context) {
406
409
  const requestedName = args.name;
407
410
  const normalizedName = requestedName.startsWith("systematic:") ? requestedName.slice("systematic:".length) : requestedName;
408
- const skills = getSystematicSkills();
411
+ const skills = getAllSkills();
409
412
  const matchedSkill = skills.find((s) => s.name === normalizedName);
410
413
  if (!matchedSkill) {
411
- const availableSystematic = skills.map((s) => s.prefixedName);
414
+ const availableSystematic = getDiscoverableSkills().map((s) => s.prefixedName);
412
415
  throw new Error(`Skill "${requestedName}" not found. Available systematic skills: ${availableSystematic.join(", ")}`);
413
416
  }
414
417
  const body = extractSkillBody(matchedSkill.wrappedTemplate);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fro.bot/systematic",
3
- "version": "1.17.1",
3
+ "version": "1.17.2",
4
4
  "description": "Structured engineering workflows for OpenCode",
5
5
  "type": "module",
6
6
  "homepage": "https://fro.bot/systematic",