🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

skillgrade

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skillgrade - npm Package Compare versions

Comparing version
0.1.1
to
0.1.2
+4
-0
dist/commands/init.js

@@ -235,2 +235,3 @@ "use strict";

let text;
const fetchOpts = { signal: AbortSignal.timeout(120_000) };
if (provider === 'anthropic') {

@@ -250,2 +251,3 @@ const response = await fetch('https://api.anthropic.com/v1/messages', {

}),
...fetchOpts,
});

@@ -273,2 +275,3 @@ if (!response.ok) {

}),
...fetchOpts,
});

@@ -291,2 +294,3 @@ if (!response.ok) {

}),
...fetchOpts,
});

@@ -293,0 +297,0 @@ if (!response.ok) {

+2
-1
interface RunOptions {
task?: string;
eval?: string;
trials?: number;

@@ -12,2 +12,3 @@ parallel?: number;

output?: string;
grader?: string;
}

@@ -14,0 +15,0 @@ export declare function runEvals(dir: string, opts: RunOptions): Promise<void>;

@@ -98,10 +98,11 @@ "use strict";

}
// Filter tasks
// Filter evals
let tasksToRun = config.tasks;
if (opts.task) {
tasksToRun = config.tasks.filter(t => t.name === opts.task);
if (opts.eval) {
const evalNames = opts.eval.split(',').map(s => s.trim());
tasksToRun = config.tasks.filter(t => evalNames.includes(t.name));
if (tasksToRun.length === 0) {
console.error(` ${cli_1.fmt.red('error')} task "${opts.task}" not found`);
console.error(` ${cli_1.fmt.red('error')} eval "${opts.eval}" not found`);
console.log(` ${cli_1.fmt.dim('available:')} ${config.tasks.map(t => t.name).join(', ')}`);
throw new Error(`Task "${opts.task}" not found`);
throw new Error(`Eval "${opts.eval}" not found`);
}

@@ -130,3 +131,5 @@ }

instruction: resolved.instruction,
graders: resolved.graders,
graders: opts.grader
? resolved.graders.filter(g => g.type === opts.grader)
: resolved.graders,
timeoutSec: resolved.timeout,

@@ -133,0 +136,0 @@ graderModel: resolved.grader_model,

@@ -9,3 +9,3 @@ #!/usr/bin/env node

* skillgrade preview [browser] View results (CLI default, or browser)
* skillgrade <task-name> Run a specific task
* skillgrade <task-name> Run a specific eval
*

@@ -12,0 +12,0 @@ * Options:

@@ -10,3 +10,3 @@ #!/usr/bin/env node

* skillgrade preview [browser] View results (CLI default, or browser)
* skillgrade <task-name> Run a specific task
* skillgrade <task-name> Run a specific eval
*

@@ -58,2 +58,3 @@ * Options:

const preview_1 = require("./commands/preview");
const cli_1 = require("./utils/cli");
const os = __importStar(require("os"));

@@ -106,5 +107,17 @@ const path = __importStar(require("path"));

const explicitTrials = getFlag('trials') ? parseInt(getFlag('trials')) : undefined;
// Resolve eval filter: --eval flag, deprecated --task flag, or positional arg
let evalFilter;
if (getFlag('eval')) {
evalFilter = getFlag('eval');
}
else if (getFlag('task')) {
console.log(` ${cli_1.fmt.dim('note:')} --task is deprecated, use --eval instead\n`);
evalFilter = getFlag('task');
}
else if (taskName) {
evalFilter = taskName;
}
const outputDir = getFlag('output') || path.join(os.tmpdir(), 'skillgrade');
await (0, run_1.runEvals)(cwd, {
task: taskName,
eval: evalFilter,
trials: explicitTrials ?? presetTrials,

@@ -118,2 +131,3 @@ parallel: getFlag('parallel') ? parseInt(getFlag('parallel')) : undefined,

provider: getFlag('provider'),
grader: getFlag('grader'),
output: outputDir,

@@ -127,9 +141,9 @@ });

console.log(`
📊 skillgrade — Evaluation framework for Agent Skills
skillgrade - The easiest way to evaluate your Agent Skills
Usage:
skillgrade Run all tasks from eval.yaml
skillgrade Run all evals from eval.yaml
skillgrade init [--force] Generate eval.yaml (--force to overwrite)
skillgrade preview [browser] View results (CLI default, or browser)
skillgrade <task-name> Run a specific task
skillgrade <eval-name> Run a specific eval

@@ -142,2 +156,4 @@ Presets:

Options:
--eval=NAME[,NAME] Run specific evals by name (comma-separated)
--grader=TYPE Run only graders of this type (deterministic|llm_rubric)
--trials=N Override trial count (overrides preset)

@@ -159,2 +175,4 @@ --parallel=N Run trials concurrently

skillgrade --smoke # quick 5-trial smoke test
skillgrade --eval=fix-linting # run a specific eval
skillgrade --eval=foo,bar # run multiple evals
skillgrade --regression --ci # CI regression with 30 trials

@@ -161,0 +179,0 @@ skillgrade preview browser # open web UI

{
"name": "skillgrade",
"version": "0.1.1",
"version": "0.1.2",
"description": "The easiest way to evaluate your Agent Skills — test that AI agents correctly discover and use your skills",

@@ -5,0 +5,0 @@ "main": "dist/skillgrade.js",

@@ -58,2 +58,4 @@ # Skillgrade

|------|-------------|
| `--eval=NAME[,NAME]` | Run specific evals by name (comma-separated) |
| `--grader=TYPE` | Run only graders of a type (`deterministic` or `llm_rubric`) |
| `--trials=N` | Override trial count |

@@ -60,0 +62,0 @@ | `--parallel=N` | Run trials concurrently |