Module Level Code Translator
ArabelaTso/Skills-4-SE
Translate source code between programming languages at function, class, and module levels while preserving behavior and generating verification tests.
Use after vero-select to write a detailed translation plan as .vero/plan.json — the authoritative contract the TRANSLATE stage executes.
$ npx skills add sunblaze-ucb/vero --skill vero-plan -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sunblaze-ucb/vero vero-plan --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/vero-plan .claude/skills/vero-plan && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "vero-plan" agent skill from https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-plan into .claude/skills/vero-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vero-plan", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-planType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sunblaze-ucb/vero --skill vero-plan -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sunblaze-ucb/vero vero-plan --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/vero-plan .agents/skills/vero-plan && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "vero-plan" agent skill from https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-plan into .agents/skills/vero-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vero-plan", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sunblaze-ucb/vero --skill vero-plan -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sunblaze-ucb/vero vero-plan --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/vero-plan .cursor/skills/vero-plan && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "vero-plan" agent skill from https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-plan into .cursor/skills/vero-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vero-plan", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sunblaze-ucb/vero.git --path .claude/skills/vero-plan--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sunblaze-ucb/vero --skill vero-plan -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sunblaze-ucb/vero vero-plan --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/vero-plan .gemini/skills/vero-plan && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "vero-plan" agent skill from https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-plan into .gemini/skills/vero-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vero-plan", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sunblaze-ucb/vero vero-planInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sunblaze-ucb/vero --skill vero-plan -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/vero-plan .github/skills/vero-plan && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "vero-plan" agent skill from https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-plan into .github/skills/vero-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vero-plan", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sunblaze-ucb/vero --skill vero-plan -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sunblaze-ucb/vero vero-plan --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/vero-plan .opencode/skills/vero-plan && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "vero-plan" agent skill from https://github.com/sunblaze-ucb/vero/tree/main/.claude/skills/vero-plan into .opencode/skills/vero-plan/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "vero-plan", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
vero-planUse after vero-select to write a detailed translation plan as .vero/plan.json — the authoritative contract the TRANSLATE stage executes.
Vero Plan is an agent skill from sunblaze-ucb/vero. Use after vero-select to write a detailed translation plan as .vero/plan.json — the authoritative contract the TRANSLATE stage executes. Captures apinamespace, packages, modules, types, APIs (with sig abbrevs + types), specs (with NL descriptions), ref impls, and test cases. Pair with vero-source-{dafny,verus,coq}.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Writing & Content, covering Translation and Test generation. The licence is Apache-2.0.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0a7325d. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteBashGrepGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vero Plan loads about 3.6k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,448 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Bash, Grep, GlobAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from sunblaze-ucb/vero at commit 0a7325d, republished under its Apache-2.0 licence (© sunblaze-ucb). 1,448 words, ~3,577 tokens.
.claude/skills/vero-plan/SKILL.md (or your agent's skills folder).plan.jsonWrite a detailed translation plan as JSON, pinning every Lean signature the TRANSLATE stage will emit. The plan is reviewed by a human before translate executes.
This stage does NOT write any Lean code. It writes
.vero/plan.json (authoritative machine-readable contract) and
.vero/plan/questions.md (human-facing questions, if any).
Canonical example: reference/BankLedger/manifest.json +
reference/BankLedger/ — the manifest is what translate produces;
this stage produces the richer plan.json that translate consumes
to produce it.
.vero/select.json is approved by the human.| File | Description |
|---|---|
.vero/select.json | Approved selection with proposed packages + module grouping |
.vero/discover.json | Entity catalog (for signatures + doc strings) |
.vero/config.json (or config.yaml) | project_name, benchmark_id, lean_version |
| Source code files | To look up exact signatures, ensures clauses, test values |
.vero/plan.jsonFull schema: docs/pipeline-schema.md (plan.json section). Minimum
required structure:
{
"version": 1,
"api_namespace": "Bank",
"packages": [
{
"name": "BankLedger",
"is_root": true,
"bundle_type": "BankLedgerBundle",
"repo_impl_field": "bankLedger",
"modules": [
{
"name": "Account",
"upstream_files": ["src/account.rs"],
"types": [
{
"name": "AccountId",
"lean_form": "abbrev AccountId := Nat",
"is_foundation": true
}
],
"apis": [
{
"upstream_name": "create_account",
"lean_name": "createAccount",
"sig_abbrev": "CreateAccountSig",
"lean_type": "AccountId → Ledger → Ledger",
"opaque": false,
"nl_description": "Add a new account with the given id to the ledger."
}
],
"spec_helpers": [
{
"name": "toSeq",
"lean_name": "toSeq",
"lean_form": "def toSeq : Ledger → List (AccountId × Balance)\n | [] => []\n | a :: rest => (a.id, a.balance) :: toSeq rest",
"nl_description": "Flatten a ledger to a list of (id, balance) pairs; used by specs to state list-level properties."
}
],
"specs": [
{
"name": "spec_create_zero_balance",
"nl_description": "Creating a new account gives it zero balance.",
"lean_form": "∀ (id : AccountId) (ledger : Ledger), impl.bankLedger.accountExists id ledger = false → impl.bankLedger.getBalance id (impl.bankLedger.createAccount id ledger) = some 0",
"apis_referenced": ["createAccount", "accountExists", "getBalance"],
"spec_helpers_referenced": [],
"curator_intended_truth": "prove"
}
]
}
]
}
],
"test_cases": [
{
"name": "guard_create_zero_balance",
"nl_description": "After creating an account it has balance 0.",
"lean_form": "#guard getBalance 1 (createAccount 1 []) == some 0"
}
]
}Category mapping from select.json:
select.json category | plan.json location |
|---|---|
type | packages[].modules[].types[] |
api | packages[].modules[].apis[] (sig + reference implementation slot + Bundle field) |
api_helper | Typically absent from plan.json. If the curator wants to pre-provide a helper, add it as packages[].modules[].api_helpers[] (same shape as spec_helpers[], no Bundle entry), but it must still be backed by a real upstream source item. Do not invent helpers. |
spec_helper | packages[].modules[].spec_helpers[] — each with lean_form being the full definition body (not just a type). These end up as fully-defined defs in Impl/<Module>.lean with no markers. |
spec | packages[].modules[].specs[] |
test | test_cases[] at plan top-level |
Top-level:
version: always 1 for now.api_namespace: one Lean namespace for the public API (e.g. "Bank"
for BankLedger). Soft convention; may be null for multi-namespace
projects.packages: exactly one entry has is_root: true — its name must
match config.project_name. Multi-package projects add non-root
entries.Per-package:
name: e.g. "BankLedger". Becomes the package directory name.bundle_type: PascalCase, typically "<Name>Bundle".repo_impl_field: lowerCamelCase of name, the field inside
structure RepoImpl.Per-module:
name: PascalCase module name ("Account", "Transaction").upstream_files: list of source files this module consolidates.types[]:
name: Lean type name.lean_form: full Lean declaration text (the curator inspects this
verbatim). "abbrev X := …", "structure X where …", or
"inductive X where …".is_foundation: true if this type must live in the foundation
Impl file (the one every other Impl imports).source_id, source_file, source_line, upstream_name, and
source_signature: provenance for the exact upstream declaration.apis[]:
upstream_name: source-side name (create_account in Rust).lean_name: Lean-side name after casing (createAccount).sig_abbrev: PascalCase abbrev, conventionally <LeanName>Sig with
first letter uppercased (CreateAccountSig).lean_type: the type body — exactly what goes after := in
abbrev <sig_abbrev> := <type>. Use Unicode arrows (→), not
ASCII.opaque: true for FFI / external functions — translate emits
opaque + axioms instead of a translated reference implementation slot.nl_description: one-sentence English summary. Used later by
vero-validate for spec-intent alignment.source_id, source_file, source_line, and source_signature:
provenance for the exact upstream declaration.specs[]:
name: must start with spec_.nl_description: one-sentence English summary of what the spec
asserts.lean_form: the body of def spec_<…> (impl : RepoImpl) : Prop := ….
Access APIs via impl.<repo_impl_field>.<lean_name> — never bare
impl.<lean_name> (RepoImpl is one-level-nested).apis_referenced: list of lean_names the spec touches. Helps the
validator's spec_completeness check.curator_intended_truth: "prove" | "disprove" | "unsat" | "sat" | "unknown".
Curator's ground-truth label for coverage scoring; may be
"unknown" if undecided.source_id, source_file, source_line, source_theorem, and
source_signature: provenance for the exact upstream theorem/lemma.Source-provenance rule (hard requirement). Every translated plan
item in types[], apis[], api_helpers[], spec_helpers[],
specs[], and ref_impls[] must be backed by a real upstream source
item. Prefer the exact source_id from .vero/source_index.json;
also carry source_file, source_line, and the source signature when
available. Do not create generated source ids, blank source files,
sentinel predicates, token wrappers, placeholder helpers, or review
marker definitions to preserve an item whose Lean translation is not
known. If a selected item cannot be faithfully translated now, do not
emit it as a translated/scored item; move it to review-only/untranslated
metadata with a reason.
Disposition vocabulary (hard requirement). Use only
unclassified, provided, scored, hidden, dropped,
axiomatized, or opaque. Use provided for fixed source-backed
vocabulary that is translated and supplied to the benchmark, such as
types and spec helpers. Do not write given; it is a deprecated synonym
and will be normalized or rejected by validation.
requires_human_review and equivalence_status: "unclear" are not
allowed inside translated/scored item lists. They mean the item is not
ready to translate. Keep such items out of types[], apis[],
api_helpers[], spec_helpers[], and specs[] until a faithful Lean
form is available.
Reference implementations (no separate field). The reference
implementation of each non-opaque API is written directly inside the
code marker in Impl/<Module>.lean by the TRANSLATE stage — not in
a separate Bank.Ref namespace, not in a ref_impls[] plan field.
Pre-agent-gen replaces marker content with sorry before the LLM sees
the benchmark. This keeps one source of truth and lets #guard tests
hit real code at curation / build time.
test_cases[]: #guard assertions against Bank.* directly. Each
with an English description and the Lean form. Prefer boundary cases
(empty inputs, duplicates, partial-function failure paths).
.vero/plan/questions.md (optional)If any decision is genuinely ambiguous (the source doesn't commit to a shape), write a bulleted list of questions for the human:
## Questions
- `pop` — source uses `requires s.nonEmpty`. Map to `Option (Stack α)` or
`(s : Stack α) → s.size > 0 → Stack α`? Recommendation: `Option`
(simpler, works with `#guard`).The human answers inline by editing the file; re-run vero-plan on resume to pick up the answers.
Plan the repo one module at a time. The final plan.json is built up
by appending a complete module entry each pass, so partial progress
is observable and the run is restartable.
project_name, benchmark_id, lean_version..vero/select.json — walk proposed_packages[].modules[]..vero/discover.json — lets you look up items by
qualified name without re-reading source..vero/source_index.json — every translated item must
resolve to one of these source entities..vero/plan.json with the
top-level fields filled in (version, api_namespace, packages
with empty modules: []), plus an empty test_cases: []. This
is a valid JSON anchor to Edit into.select.json (one at a time, not batched):
a. Read ONLY the upstream source files for that module's selected
entities (typically 1–3 files). Do not read files for other
modules yet.
b. Work out this module's types[], apis[], specs[] per the
field guidance above. Use vero-source-<lang> for type
mappings.
c. Edit plan.json to append this module's fully-specified
entry to the enclosing package's modules[]. Keep the JSON
valid after every edit (parse it back with a one-line Bash
python -c "import json; json.load(open('…'))" as a
lightweight check).
d. Announce before and after: "Planning module Merkle (3
types, 5 APIs, 12 specs)." ... "Merkle appended. Moving on to
Contract."Edit plan.json to populate
test_cases[] — emit them in small groups, grouped by the
primary API they exercise..vero/plan/questions.md
with a bulleted list. Do this at the end so the file tracks every
open question in one place.ref_impls field — the reference implementation is the body
the TRANSLATE stage writes inside each API's code marker
directly.Do not compose the whole plan.json as one giant string and
then Write it once. That is the failure mode that loses everything
on interrupt.
category=api item in select.json appears in exactly one module's apis[].category=spec item appears in exactly one module's specs[].category=spec_helper item appears in exactly one module's spec_helpers[] with a full lean_form definition body.category=type item appears in exactly one module's types[]..vero/source_index.json. Any generated, placeholder, blank, or
unresolved source provenance is a plan-stage failure.requires_human_review; no translated
spec has equivalence_status: "unclear". These must be
review-only/untranslated, not benchmark specs.lean_form bodies use impl.<pkg>.<fn> for API references and bare names for spec-helper / type / stdlib references — never bare for an API, never impl.<…> for a spec helper.specs[].lean_form body, every bare identifier it mentions (other than Lean keywords, lambda binders, and stdlib) must resolve to a types[], spec_helpers[], or api_helpers[] entry in the same or a dependency module. Every impl.<pkg>.<name> reference must resolve to an apis[] entry. A reference that doesn't resolve is a hard error — fail the plan stage with a clear message and a pointer to which spec is broken.sig_abbrev is unique across the project.types[] cover everything the other modules need to import.spec_helpers[].name is unique across the project (one definition per helper).plan.json beyond lean_form strings. This is
planning, not translation.!benchmark markers are emitted by
TRANSLATE; the plan only names the slots that will exist.Proof/ — proof files are NOT a curation artifact.vero-source-{dafny,verus,coq} — per-language type mappings and
classification rules.vero-translate — consumes this plan.vero-validate — checks the translated output against this plan
during the validate stage.© sunblaze-ucb, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/vero-plan of sunblaze-ucb/vero.
Open the folder on GitHubat commit 0a7325d
Vero Plan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vero Plan this skillsunblaze-ucb/vero | 107 | — | ~3.6k | Automated safety check: Notes | Apache-2.0 | |
| Module Level Code TranslatorArabelaTso/Skills-4-SE | 253 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Manage Project TranslationsAOSSIE-Org/Website | 101 | — | ~915 | Automated safety check: Pass | Custom licence | |
| Migrate E2E To Integrationopenshift/oc-mirror | 124 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Translation Diff ExportDevolutions/UniGetUI | 26k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Sync Translationssymfony/symfony | 31k | — | ~1.9k | Automated safety check: Pass | MIT |
ArabelaTso/Skills-4-SE
Translate source code between programming languages at function, class, and module levels while preserving behavior and generating verification tests.
AOSSIE-Org/Website
A skill your agent uses whenever adding, updating, or removing projects and UI strings in the AOSSIE website repository, to automatically synchronize translations, enforce translation rules, update…
openshift/oc-mirror
Migrate an oc-mirror e2e test case to the integration test suite, translating framework, registry, invocation, and assertion patterns
Devolutions/UniGetUI
Compares UniGetUI JSON locale files against English, identifies untranslated or source-changed keys, and generates patch, reference, and handoff files for a target language.
symfony/symfony
Synchronize translation catalogs across maintained Symfony branches: find messages that newer branches added to the English catalogs but that are still missing from the oldest maintained branch…
Devolutions/UniGetUI
Merges translated key-value pairs from a UniGetUI JSON localization patch back into the full language file and validates the merged result.
sunblaze-ucb/vero
A skill your agent uses when scanning a verified source repo (Dafny, Verus, or Coq) to classify every item and produce per-file discovery markdown for human curation.
sunblaze-ucb/vero
A skill your agent uses when translating selected verified items from Dafny/Verus/Coq into a compilable Lean 4 benchmark.
sunblaze-ucb/vero
Load BEFORE translating any Coq item to Lean 4 to avoid known Coq→Lean pitfalls.
sunblaze-ucb/vero
Load BEFORE translating any Dafny item to Lean 4 to avoid known Dafny→Lean pitfalls.
sunblaze-ucb/vero
Load BEFORE writing any Lean 4 translation to avoid common Lean pitfalls (universes, coercions, type-class resolution, notation).
sunblaze-ucb/vero
Load BEFORE translating any Python item to Lean 4 to avoid known Python→Lean pitfalls.
Categories
Use after vero-select to write a detailed translation plan as .vero/plan.json — the authoritative contract the TRANSLATE stage executes. Vero Plan is an agent skill from sunblaze-ucb/vero.json — the authoritative contract the TRANSLATE stage executes.
Vero Plan fits situations like: tasks that involve Translation; tasks that involve Test generation.
Run `npx skills add sunblaze-ucb/vero --skill vero-plan -a claude-code`. Or copy the skill folder (.claude/skills/vero-plan in sunblaze-ucb/vero) into .claude/skills/vero-plan in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sunblaze-ucb/vero --skill vero-plan -a codex`. Or copy the skill folder (.claude/skills/vero-plan in sunblaze-ucb/vero) into .agents/skills/vero-plan in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sunblaze-ucb/vero --skill vero-plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vero-plan, .gemini/skills/vero-plan, .github/skills/vero-plan and .opencode/skills/vero-plan in your project.
Going by SKILL.md and its folder, Vero Plan needs the command-line tools its instructions call (python). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Bash, Grep, Glob.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Vero Plan is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Vero Plan: Module Level Code Translator (ArabelaTso/Skills-4-SE, 253 stars), Manage Project Translations (AOSSIE-Org/Website, 101 stars), Migrate E2E To Integration (openshift/oc-mirror, 124 stars) and Translation Diff Export (Devolutions/UniGetUI, 26k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sunblaze-ucb (a GitHub organization) maintains it in sunblaze-ucb/vero, which has 107 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on August 17, 2026.
Source: sunblaze-ucb/vero on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.