agent-skills-standard 2.4.6 → 2.4.8

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.
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  **Sync 242 AI coding standards to any project in one command.** Works with Cursor, Claude Code, GitHub Copilot, Gemini, Windsurf, Trae, Kiro, and Roo.
7
7
 
8
- **Current release:** `v2.4.5` — packaged `ags -V` now detects stale pnpm shims and guides repair.
8
+ **Current release:** `v2.4.7` — workflow-end telemetry guidance, MCP session-cost helpers, and clearer runtime integration for SDLC handoff reporting.
9
9
 
10
10
  ```bash
11
11
  npx agent-skills-standard@latest init # detect your stack
@@ -124,16 +124,15 @@ The CLI **never** modifies user-home files (`~/.cursor/mcp.json`, `~/.gemini/set
124
124
 
125
125
  ### 📜 Benchmark History
126
126
 
127
- | Version | Date | Skills | Avg Tokens | Savings (%) | Report |
128
- | ------- | ---------- | ------ | ---------- | ----------- | -------------------------------------- |
129
- | v2.4.2 | 2026-05-19 | 247 | 540 | 85% | [Report](benchmarks/archive/v2.4.2.md) |
130
- | v2.4.1 | 2026-05-18 | 247 | 540 | 85% | [Report](benchmarks/archive/v2.4.1.md) |
131
- | v2.4.0 | 2026-05-14 | 246 | 540 | 85% | [Report](benchmarks/archive/v2.4.0.md) |
132
- | v2.3.0 | 2026-05-13 | 246 | 540 | 85% | [Report](benchmarks/archive/v2.3.0.md) |
133
- | v2.2.2 | 2026-05-09 | 249 | 539 | 85% | [Report](benchmarks/archive/v2.2.2.md) |
134
- | v2.2.0 | 2026-04-22 | 242 | 538 | 85% | [Report](benchmarks/archive/v2.2.0.md) |
135
- | v2.1.2 | 2026-04-11 | 237 | 516 | 86% | [Report](benchmarks/archive/v2.1.2.md) |
136
- | v2.1.1 | 2026-04-11 | 237 | 516 | 86% | [Report](benchmarks/archive/v2.1.1.md) |
137
- | v2.1.0 | 2026-04-04 | 237 | 526 | 86% | [Report](benchmarks/archive/v2.1.0.md) |
138
- | v2.0.1 | 2026-03-30 | 238 | 527 | 86% | [Report](benchmarks/archive/v2.0.1.md) |
139
- | v2.0.0 | 2026-03-25 | 235 | 523 | 86% | [Report](benchmarks/archive/v2.0.0.md) |
127
+ | Version | Date | Skills | Avg Tokens | Savings (%) | Report |
128
+ | --- | --- | --- | --- | --- | --- |
129
+ | v2.4.7 | 2026-06-15 | 251 | 551 | 85% | [Report](benchmarks/archive/v2.4.7.md) |
130
+ | v2.4.6 | 2026-06-10 | 251 | 548 | 85% | [Report](benchmarks/archive/v2.4.6.md) |
131
+ | v2.4.1 | 2026-05-18 | 247 | 540 | 85% | [Report](benchmarks/archive/v2.4.1.md) |
132
+ | v2.4.0 | 2026-05-14 | 246 | 540 | 85% | [Report](benchmarks/archive/v2.4.0.md) |
133
+ | v2.3.0 | 2026-05-13 | 246 | 540 | 85% | [Report](benchmarks/archive/v2.3.0.md) |
134
+ | v2.2.2 | 2026-05-09 | 249 | 539 | 85% | [Report](benchmarks/archive/v2.2.2.md) |
135
+ | v2.2.0 | 2026-04-22 | 242 | 538 | 85% | [Report](benchmarks/archive/v2.2.0.md) |
136
+ | v2.1.2 | 2026-04-11 | 237 | 516 | 86% | [Report](benchmarks/archive/v2.1.2.md) |
137
+ | v2.1.1 | 2026-04-11 | 237 | 516 | 86% | [Report](benchmarks/archive/v2.1.1.md) |
138
+ | v2.1.0 | 2026-04-04 | 237 | 526 | 86% | [Report](benchmarks/archive/v2.1.0.md) |
package/dist/index.js CHANGED
@@ -43,7 +43,7 @@ let child_process = require("child_process");
43
43
  let fs = require("fs");
44
44
  var package_default = {
45
45
  name: "agent-skills-standard",
46
- version: "2.4.6",
46
+ version: "2.4.8",
47
47
  description: "A CLI to manage and sync AI agent skills standard for Cursor, Claude, Copilot, Windsurf, and more.",
48
48
  main: "dist/index.js",
49
49
  bin: {
@@ -3646,6 +3646,7 @@ var SkillSyncService = class {
3646
3646
  };
3647
3647
  //#endregion
3648
3648
  //#region src/services/utils/WorkflowTransformer.ts
3649
+ var WORKFLOW_ARGUMENTS = "Optional args: slug=<feature>, ticket=<id/url>, mode=interactive|autonomous|channel, channel=<id>, auto_continue=true|false.";
3649
3650
  /**
3650
3651
  * Transforms workflow markdown into each agent's native user-invoked command format.
3651
3652
  *
@@ -3728,6 +3729,8 @@ ${description}
3728
3729
 
3729
3730
  **Input:** $ARGUMENTS
3730
3731
 
3732
+ ${WORKFLOW_ARGUMENTS}
3733
+
3731
3734
  ## Instructions
3732
3735
 
3733
3736
  Execute the following steps for **$ARGUMENTS**.
@@ -3745,6 +3748,8 @@ ${body}`;
3745
3748
  prompt = """
3746
3749
  Please execute the workflow defined in \`${workflowSourcePath}/${name}.md\` for: {{args}}
3747
3750
 
3751
+ ${WORKFLOW_ARGUMENTS}
3752
+
3748
3753
  Follow the exact steps in the workflow file.
3749
3754
  """
3750
3755
  `;
@@ -3781,6 +3786,8 @@ metadata:
3781
3786
  > [!IMPORTANT]
3782
3787
  > ${normalizedDescription}
3783
3788
 
3789
+ ${WORKFLOW_ARGUMENTS}
3790
+
3784
3791
  ## Instructions
3785
3792
 
3786
3793
  When the user asks to perform this workflow, execute the following steps:
@@ -3809,7 +3816,7 @@ var WorkflowSyncService = class {
3809
3816
  const ref = (await this.githubService.getRepoInfo(owner, repo))?.default_branch || "main";
3810
3817
  const treeData = await this.githubService.getRepoTree(owner, repo, ref);
3811
3818
  if (!treeData) return false;
3812
- const availableWorkflows = treeData.tree.filter((f) => f.path.startsWith(".agents/workflows/") && f.path.endsWith(".md")).map((f) => path.default.basename(f.path, ".md"));
3819
+ const availableWorkflows = treeData.tree.filter((f) => this.isWorkflowMarkdownPath(f.path)).map((f) => this.workflowNameFromPath(f.path));
3813
3820
  if (availableWorkflows.length === 0) return false;
3814
3821
  let changed = false;
3815
3822
  if (Array.isArray(config.workflows)) {
@@ -3847,9 +3854,9 @@ var WorkflowSyncService = class {
3847
3854
  return [];
3848
3855
  }
3849
3856
  const workflowFiles = treeData.tree.filter((f) => {
3850
- if (!f.path.startsWith(".agents/workflows/") || !f.path.endsWith(".md")) return false;
3857
+ if (!this.isWorkflowMarkdownPath(f.path)) return false;
3851
3858
  if (typeof config.workflows === "boolean") return config.workflows;
3852
- if (Array.isArray(config.workflows)) return config.workflows.includes(path.default.basename(f.path, ".md"));
3859
+ if (Array.isArray(config.workflows)) return config.workflows.includes(this.workflowNameFromPath(f.path));
3853
3860
  return false;
3854
3861
  });
3855
3862
  const files = await this.githubService.downloadFilesConcurrent(workflowFiles.map((f) => ({
@@ -3923,6 +3930,12 @@ var WorkflowSyncService = class {
3923
3930
  const resolvedBase = path.default.resolve(subPath) + path.default.sep;
3924
3931
  return path.default.resolve(targetPath).startsWith(resolvedBase);
3925
3932
  }
3933
+ isWorkflowMarkdownPath(workflowPath) {
3934
+ return path.default.posix.dirname(workflowPath) === ".agents/workflows" && workflowPath.endsWith(".md");
3935
+ }
3936
+ workflowNameFromPath(workflowPath) {
3937
+ return path.default.basename(workflowPath, ".md");
3938
+ }
3926
3939
  isOverridden(targetPath, overrides) {
3927
3940
  const rel = this.normalizePath(targetPath);
3928
3941
  return overrides.some((o) => {