skill-up is a tool for evaluating and improving Agent Skills through declarative test cases, multiple agent engines, configurable judges, and structured reports. Developers and agent builders use it locally or in continuous integration to measure skill quality and iterate on failures. The catalogue entries are skills and instructions that can be evaluated or evolved with it.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alibaba/skill-up --skill skill-uppergit clone --depth 1 https://github.com/alibaba/skill-upWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alibaba/skill-up/skill-upper)<a href="https://agentmods.dev/skills/alibaba/skill-up/skill-upper"><img src="https://agentmods.dev/badge/skills/alibaba/skill-up/skill-upper/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alibaba/skill-up/skill-upper"><img src="https://agentmods.dev/badge/skills/alibaba/skill-up/skill-upper.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 10 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Tool Misuse · line 80 Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.Fix: Limit tool chaining depth and validate the output of each tool before passing it to the next. Require explicit user approval for multi-step chains.
- high Tool Misuse · line 83 Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.Fix: Limit tool chaining depth and validate the output of each tool before passing it to the next. Require explicit user approval for multi-step chains.
- high Tool Misuse · line 86 Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.Fix: Limit tool chaining depth and validate the output of each tool before passing it to the next. Require explicit user approval for multi-step chains.
- high Privilege Escalation · line 150 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Rogue Agent · line 123 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Excessive Agency · line 156 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
- low Excessive Agency · line 37 Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.Fix: Limit the skill's scope to its documented purpose. Remove instructions that enable the agent to perform actions outside its stated functionality.
- low Supply Chain · line 80 Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.Fix: Avoid downloading and executing remote scripts. Use trusted packages from PyPI/npm. If remote fetch is required, verify checksums and use HTTPS.
- low Supply Chain · line 83 Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.Fix: Avoid downloading and executing remote scripts. Use trusted packages from PyPI/npm. If remote fetch is required, verify checksums and use HTTPS.
- low Supply Chain · line 86 Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.Fix: Avoid downloading and executing remote scripts. Use trusted packages from PyPI/npm. If remote fetch is required, verify checksums and use HTTPS.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00162 | $0.04088 |
| Opus 5.5 | $0.00065 | $0.01635 |
| Sonnet 5.5 | $0.00032 | $0.00818 |
| Haiku 4.5 | $0.00016 | $0.00409 |
Grade E, and why
skill-upper scanned grade E with 3 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Harvests environment variableshighData exfiltration
Enumerating or grepping the environment for keys collects credentials unrelated to what the mod says it does.
if printenv OPENAI_API_KEY | grep -q .; then Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://raw.githubusercontent.com/alibaba/skill-up/main/install.sh | bash Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsSL https://raw.githubusercontent.com/alibaba/skill-up/main/install.sh | bash How it starts
The opening of the file, as written. The whole thing — 333 lines — stays where its author put it; the contents beside it link to each section on GitHub.
use-skill-up-cli
Help the user evaluate and evolve Agent Skills through the skill-up CLI.
Manual: https://alibaba.github.io/skill-up/
Language Policy
Default to English when responding to the user. If the user writes in Chinese (or any other language), switch to that language and stay consistent with the user's input throughout the session.
Detection rules (highest priority first):
- The user explicitly specifies a language in the current message (e.g. "answer in English" or "reply in Chinese") → follow the user's instruction.
- The natural language used in the user's current message → match it.
- None of the above → use English (default).
Regardless of the response language, technical identifiers in this SKILL — CLI commands, eval.yaml / case.yaml field names, report field names, etc. — MUST stay in their original English form. Do not translate them.
Language Rules for Generated Artifacts
Use the user's current language for replies, newly authored explanatory prose, and YAML comments. Preserve the language and semantics of test inputs, expected output literals, identifiers, commands, paths, and existing regression cases. Do not translate a deterministic assertion merely because the conversation language changed. When testing localized behavior, keep the original business text even in an English conversation.
Treat assets/*.tmpl as structural references: adapt placeholder prose and
comments to the requested language. Review only files created or changed for
this task; never rewrite unrelated cases to enforce a language preference.
Use short field-leading comments for generated YAML. Explain actual configured
fields: schema_version, environment.type, engine.name, cases.files, and
report.formats in eval.yaml; id, title, input.prompt, and judge.type in
case YAML. For nested fields, place the comment inside the parent mapping
immediately before the child field, rather than only before the parent.
Comment expect and a top-level judge when present; do not add an
optional field just to satisfy a comment check. Keep field names and enum values
unchanged. skill-up import does not preserve template comments.
What ships with it
35 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- assets/case.yaml.tmpl 3.4 KB
- assets/eval.yaml.tmpl 3.3 KB
- evals/cases/add-case-to-existing.yaml 1.1 KB
- evals/cases/credential-presence-only.yaml 2.6 KB
- evals/cases/english-context-generates-english-only-cases.yaml 1.3 KB
- evals/cases/evolve-existing-skill.yaml 1.4 KB
- evals/cases/external-trace-review.yaml 1.3 KB
- evals/cases/plan-without-mutation.yaml 1.5 KB
- evals/cases/preserve-localized-regressions.yaml 1.3 KB
- evals/cases/scaffold-new-evals.yaml 1.5 KB
- evals/cases/scaffold-with-qodercli-engine.yaml 1.3 KB
- evals/cases/scaffold-with-script-judge.yaml 1.2 KB
- evals/cases/scaffold-with-user-simulator.yaml 2.1 KB
- evals/eval-dashscope.yaml 474 B
- evals/eval.yaml 1.2 KB
- evals/fixtures/scripts/assert-credential-presence.sh 34 KB runs code
- evals/fixtures/scripts/assert-english-only-generated-cases.sh 5.0 KB runs code
- evals/fixtures/scripts/assert-localized-regressions.sh 15 KB runs code
- evals/fixtures/scripts/assert-read-only-plan.sh 7.0 KB runs code
- evals/fixtures/skills/sample-no-evals/SKILL.md 774 B
- evals/fixtures/skills/sample-with-evals/evals/cases/add-todo.yaml 272 B
- evals/fixtures/skills/sample-with-evals/evals/eval.yaml 255 B
- evals/fixtures/skills/sample-with-evals/SKILL.md 611 B
- evals/README.md 492 B
- evals/requirements.txt 15 B
- evals/test_regression_scripts.py 43 KB runs code
- README.md 2.9 KB
- README.zh.md 2.5 KB
- references/case-yaml.md 5.7 KB
- references/cli.md 5.5 KB
- references/eval-yaml.md 8.9 KB
- references/install.md 5.5 KB
- references/judge-types.md 4.7 KB
- references/migrate-anthropic.md 2.0 KB
- references/observations.md 3.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed · +34 lines · +22 tokens per session scan C → E 5d0c34f4f58c
- 7d ago Changed · +8 lines 18ee4328622c
- 18d ago Changed · -29 tokens per session 4db177946c5b
- 23d ago Changed · +9 lines · +10 tokens per session ac3b4d6edf1c
- 25d ago Changed · +39 lines · +29 tokens per session cf06ee5ab6d9
- 1mo ago First seen · 243 lines · 130 tokens per session scan C a4d816d3d641
skill-upper is a skill published in the GitHub repository alibaba/skill-up (1,222 stars, last pushed yesterday), licensed Apache-2.0. It adds 162 tokens to every session and 4,088 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it E with 3 findings (harvests environment variables, downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
secops-detection-engineering
Author, validate, test, and deploy YARA-L 2.0 detection rules and evaluate end-to-end detection coverage gaps in Google SecOps. Use when writing new detection rules, tuning existing rules, validating syntax, testing logic against historical telemetry, or evaluating detection coverage against threat intelligence blogs…
skillshare-implement-feature
Implement a feature from a spec file or description using TDD workflow. Use this skill whenever the user asks to: add a new CLI command, implement a feature from a spec, build new functionality, add a flag, create a new internal package, or write Go code for skillshare. This skill enforces test-first development…
rtvi-vlm-perf-testing
Plan, run, and diagnose reproducible RT-VLM GPU performance canaries and benchmarks. Use this skill when running fresh-container stream-capacity, semantic-isolation, latency, throughput, or regression experiments against an RTVI microservices checkout.
bdd-container-update
Update the BDD test container image when its dependencies or runtime change. Determines version bump (major vs minor vs patch), rebuilds the Docker image, pushes to GitLab registry, and updates the image tag in starttest.sh. Test source (tests/, features/, scripts/, data/, conftest.py) is bind-mounted from the host…
story-origin-check
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
prompt-proximity-architecture
Turn an approved measurement charter, ICPs, and buyer jobs into a budget-aware prompt coverage blueprint across proximity bands, aided status, information acts, journey states, roles, locales, evidence grades, partitions, and measurement lanes. Use before prompt wording to define required, optional, and prohibited…