agent-skills-standard 2.4.6 → 2.4.7
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 +13 -14
- package/dist/index.js +17 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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.
|
|
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
|
|
128
|
-
|
|
|
129
|
-
| v2.4.
|
|
130
|
-
| v2.4.1
|
|
131
|
-
| v2.4.0
|
|
132
|
-
| v2.3.0
|
|
133
|
-
| v2.2.2
|
|
134
|
-
| v2.2.0
|
|
135
|
-
| v2.1.2
|
|
136
|
-
| v2.1.1
|
|
137
|
-
| v2.1.0
|
|
138
|
-
| v2.0.1
|
|
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.6 | 2026-06-10 | 251 | 548 | 85% | [Report](benchmarks/archive/v2.4.6.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) |
|
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.
|
|
46
|
+
version: "2.4.7",
|
|
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) =>
|
|
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 (!
|
|
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(
|
|
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) => {
|