popup-studio-ai/bkit-claude-code/bkit-evals
Claude Code and agent skill by popup-studio-ai/bkit-claude-code
- community
Checking that the SKILL.md file is still in the repository.
Run skill evals via evals/runner.js — wrapper validates skill names, captures stdout/stderr, persists JSON results. Triggers: bkit evals, evals run, skill quality, eval runner
Install
npx vskill@latest install popup-studio-ai/bkit-claude-code/bkit-evalsSKILL.md
bkit Evals — Skill Quality Evaluation Runner
v2.1.11 Sprint β FR-β2. Wrapsevals/runner.jswith input validation,result persistence, and structured reporting. Replaces the bare `nodeevals/runner.js <skill>` invocation that previously required users toremember argv structure and ignored timeout / sandbox concerns.
Arguments
| Argument | Description | Example | |
|---|---|---|---|
run <skill> | Execute the eval suite for one skill | /bkit-evals run gap-detector | |
list | List all skills that have an eval.yaml definition | /bkit-evals list |
If no argument is provided, render the same output as list.
Behavior
run <skill>
- Validate
skillagainst/^[a-z][a-z0-9-]{0,63}$/. Reject anything else
(no shell metacharacters, no slashes, no spaces) — see Security below.
- Spawn
node evals/runner.js --skill <skill>viachild_process.spawnSync
(argv form, no shell). Default timeout 30 s, max 120 s. The --skill flag form is mandated by the runner CLI and locked by L3 contract test.
- Capture stdout / stderr. Parse the trailing JSON block via
balanced-brace fallback (string-aware).
- Apply fail-closed defense: if
parsed === nulland stdout includes
Usage:, return reason: 'argv_format_mismatch'; if parsed === null otherwise, return reason: 'parsed_null'. Exit code 0 alone NEVER implies success — the parsed JSON must be present.
- Persist the structured result to
.bkit/runtime/evals-{skill}-{ISO timestamp}.json with stdout/stderr tails (2000 chars each), parsed payload, and reason field.
- Render a one-line summary in the chat:
- exit code
- parsed pass/fail counts (if available)
- path of the persisted result file
list
- Read
evals/config.jsonto enumerate skill classifications. - For each classification (
workflow,capability,hybrid),
list skills that have evals/{classification}/{skill}/eval.yaml.
- Render a category-grouped table with skill name + a one-line note from
the eval YAML (description field if present).
Security
- Skill name regex prevents argument injection. Anything outside
[a-z][a-z0-9-]{0,63} is rejected with reason: invalid_skill_name.
- argv-array spawn (no shell). No template-string concatenation into
command lines.
- Result file path is composed from a hardcoded base + sanitized skill
name + timestamp; no traversal possible.
- Subprocess timeout enforced (default 30 s, hard cap 120 s) so a buggy
eval cannot block the session indefinitely.
Module Dependencies
| Module | Function | Usage | |
|---|---|---|---|
lib/evals/runner-wrapper.js | invokeEvals(skill, opts) | Validate + spawn + persist | |
lib/evals/runner-wrapper.js | isValidSkillName(name) | Regex pre-check shared with list | |
evals/runner.js | (subprocess) | Existing eval execution engine |
Result Schema
.bkit/runtime/evals-{skill}-{timestamp}.json:
Examples
Related
/control trust— eval results contribute to trust score/code-review— uses eval data when assessing skills/bkit explore(FR-β1) — explore evals as a category
ARGUMENTS:
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/bkit-evals/SKILL.md
Popularity
- Repository stars
- 549
- Repository forks
- 141
- 7-day trend score
- 32
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/popup-studio-ai/bkit-claude-code/bkit-evals)