Agent skill

Vero Discover

by sunblaze-ucb in 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.

Apache-2.0Auto-check: notesDocuments & Office

Install Vero Discover

skills CLI
$ npx skills add sunblaze-ucb/vero --skill vero-discover -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sunblaze-ucb/vero vero-discover --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sunblaze-ucb/vero.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/vero-discover .claude/skills/vero-discover && rm -rf skills-src

Use ~/.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/

Facts

Skill name
vero-discover
GitHub stars
107
Token cost
~3.9k tokens
SKILL.md length
1,279 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

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.

  • Works in 4 steps: Imports: module/file imports that bring… → Type references: types used in… → Function calls: functions called in the… → …
  • Scanning a verified source repo (Dafny
  • SKILL.md covers When to use, Language Detection, Classification Rules and Visibility Classification, plus 9 more sections
  • Reaches github.com

What it does

Vero Discover is an agent skill from sunblaze-ucb/vero. Use when scanning a verified source repo (Dafny, Verus, or Coq) to classify every item and produce per-file discovery markdown for human curation. Produces curation/discovery/.md, curation/api.md, and curation/discoveryreport.json.

Its SKILL.md is about 3.9k 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 Documents & Office, covering Markdown. The licence is Apache-2.0.

When your agent uses it

  • Scanning a verified source repo (Dafny
  • Coq) to classify every item and produce per-file discovery markdown for human curation

Example prompts

  • “/vero-discover”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Bash, Grep, Glob, Agent

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Imports: module/file imports that bring names into scope
  2. Type references: types used in signatures or bodies
  3. Function calls: functions called in the body
  4. Proof dependencies: theorems/lemmas invoked in proofs (Coq tactics, Dafny reveal, Verus proof fn calls)

What it can do on your machine

Read from SKILL.md and the folder at commit 0a7325d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash
    • Grep
    • Glob
    • Agent

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vero Discover loads about 3.9k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 1,279 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~3.9k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, Grep, Glob, Agent

Automated 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.

SKILL.md

The full file from sunblaze-ucb/vero at commit 0a7325d, republished under its Apache-2.0 licence (© sunblaze-ucb). 1,279 words, ~3,861 tokens.

Download SKILL.mdSave it as .claude/skills/vero-discover/SKILL.md (or your agent's skills folder).
name
vero-discover
description
Use when scanning a verified source repo (Dafny, Verus, or Coq) to classify every item and produce per-file discovery markdown for human curation. Produces curation/discovery/*.md, curation/api.md, and curation/discovery_report.json.
allowed-tools
Read, Write, Bash, Grep, Glob, Agent

VCG Discovery: Source Repo Scan and Classification

Scan a verified source repository, classify every item (type, function, predicate, theorem, test, boundary), and produce per-file discovery markdown for human review plus a machine-readable JSON report.

When to use

  • Starting a new VCG (Verified Code Generation) translation project
  • Cataloging a verified codebase before translation to Lean 4
  • Producing an api.md coverage map from a Dafny, Verus, or Coq repo

Language Detection

Detect the source language from file extensions:

ExtensionLanguageNotes
.dfyDafny
.rsVerusConfirm by checking for verus! macro blocks
.vCoq
.vyCoq (Vernacular)Less common

For Rust files, grep for verus! or use vstd:: to confirm Verus. Plain Rust files without Verus annotations should be classified as skip (not verified code).

Classification Rules

Classify every top-level item into exactly one category:

CategoryDescriptionLean mapping
typeData type, struct, enum, recordinductive or structure
spec-fnGhost/specification functiondef (body given)
exec-fnExecutable function (API)def with translated reference body inside a code marker
predicateBoolean/propositional predicatedef ... : Bool or def ... : Prop
theoremLemma, theorem, proof functiondef spec_* (impl : RepoImpl) : Prop
axiomAxiom, assumed property, external_body propertyaxiom
testTest function, assertion block#guard block
skipNon-verified boilerplate, build config, imports(not translated)
Classification heuristics per language

Dafny:

  • datatype / class / newtype / type → type
  • function (ghost) → spec-fn
  • function method → exec-fn
  • method → exec-fn
  • predicate → predicate
  • lemma → theorem
  • {:axiom} annotation → axiom
  • method Main() with assertions → test

Verus:

  • struct / enum (including rspec! wrappers) → type
  • spec fn / open spec fn / closed spec fn → spec-fn
  • fn with ensures → exec-fn
  • proof fn → theorem
  • #[verifier::external_body] → axiom (mark as boundary)
  • #[test] / assert! blocks → test

Coq:

  • Inductive / Record / Structure / Class → type
  • Definition / Fixpoint / Function → spec-fn
  • Lemma / Theorem / Fact / Corollary / Remark → theorem
  • Axiom / Parameter / Conjecture → axiom
  • Example / Goal → test
  • Instance → spec-fn (with typeclass annotation)

Visibility Classification

For each item, classify its visibility:

VisibilityMeaningHeuristic
publicExported, part of module APIpub, no underscore prefix, used by other modules
internalUsed internally, not exportedNot pub, but used by other items in the project
privateHelper, underscore-prefixed_ prefix, or only used locally within one function

Public APIs are higher-value benchmark tasks because they define the module's contract.

Spec Quality Classification

For each theorem/lemma, classify its spec quality:

KindDescriptionExample
functionalDescribes functional behavior (input→output relationship)push_pop_roundtrip
characterizingIndependent mathematical propertysameDN_refl, size_nonneg
helperFacilitates loop invariant or SMT proof onlyInternal induction step lemma
tautologicalRestates the implementationf_returns_what_it_returns

Functional and characterizing specs are high-value benchmark tasks. Helper and tautological specs are lower-value (may still be included).

Dependency Extraction

For each item, record its dependencies:

  1. Imports: module/file imports that bring names into scope
  2. Type references: types used in signatures or bodies
  3. Function calls: functions called in the body
  4. Proof dependencies: theorems/lemmas invoked in proofs (Coq tactics, Dafny reveal, Verus proof fn calls)

Dependencies determine translation order: items with no dependencies are Layer 0; items depending only on Layer 0 are Layer 1; etc.

Category (the curator's central decision)

Every item is classified into one of four categories. The category determines how the item lands in the Lean benchmark:

CategoryWhat it becomesRole
APIsig abbrev + reference implementation in !benchmark code marker + Bundle field + wired into canonicalImplementation obligation — pre-agent generation hides the curated body with sorry before the LLM writes its solution
API helper(by default) nothing — the LLM invents it locally inside code_aux. Curator may opt-in: fully-defined def in Impl/ with no marker, not in BundleA tool API implementations share; curator-given only when the curator wants to hand it to the LLM
Specdef spec_<name> (impl : RepoImpl) : Prop in Spec/<Module>.leanProof obligation — the LLM must prove (or refute) this downstream
Spec helperFully-defined function / predicate in Impl/ (or framework file), no marker, not in BundleVocabulary referenced by bare name inside spec bodies; must be curated or the Spec file won't typecheck

Plus the supporting roles that aren't in the four-way split: type (always curator-given, no marker), test (becomes #guard in Test.lean), skip (not translated).

The source language doesn't tell you. Dafny function method, Verus spec fn / fn, Coq Definition can each land in any of the four categories — the syntactic keyword is a weak hint, not the answer. Use these heuristics instead, in priority order:

  1. Would a library user call this by name? Yes → API. Internal traversal the curator exposes only because the source has no private keyword → not API.
  2. Does the function appear bare (not under impl.<…>) in any spec body? Yes → spec helper, it must be curator-given.
  3. Is the body algorithmically substantive, with multiple reasonable implementations? Yes → good API candidate. One-line projection → not worth stubbing.
  4. Does the source declare ensures clauses on the function? Yes → author expected the body to be pinned by a spec → API. No ensures, only called from other proofs → spec helper.
  5. Is it called only from inside other API bodies (not from specs)? Yes → API helper; default to leaving the LLM to invent it.

When two heuristics conflict, note it in the per-item discovery markdown as a suggestion that the curator review.

Predicates, types, and facts stated as theorems always land as spec helpers (predicates) / types / specs respectively. A predicate can't be an API obligation unless it is intentionally selected as executable code.

Show full SKILL.md (405 more words)Show less

Per-File Discovery Markdown Format

Produce one file per source file at curation/discovery/{source_path}.md. Replace path separators with -- (e.g., src/policy/chrome.rs → src--policy--chrome.rs.md).

Every item line carries the suggested category (the curator overrides during review). Format: - [ ] category=<api|api_helper|spec|spec_helper|type|test|skip> <item>.

markdown
# discovery: {source_path}

Source: `{source_path}` ({N} lines)
Language: {Dafny | Verus | Coq}
Module: {module_name}

## Types
- [ ] category=type `TypeName` — {kind}, {N constructors/fields} — maps to: `{inductive|structure|abbrev}`
  - Visibility: {public|internal|private}
  - Dependencies: {list or "none"}
  - Notes: {considerations, deriving suggestions}

## Functions
- [ ] category={api|api_helper|spec_helper} `funcName(args)` → {ReturnType} — maps to: `def`
  - Visibility: {public|internal|private}
  - Dependencies: [{list}]
  - Reason: {one line — which heuristics drove the category suggestion}
  - Notes: {annotations, ensures clauses, requires clauses}

## Predicates
- [ ] category=spec_helper `predName(args)` — maps to: `def ... : {Bool|Prop}`
  - Visibility: {public|internal|private}
  - Dependencies: [{list}]
  - Notes: {what it checks}

## Theorems / Lemmas
- [ ] category={spec|spec_helper|skip} `theoremName` — maps to: `def spec_<…> (impl : RepoImpl) : Prop`
  - Visibility: {public|internal|private}
  - Dependencies: [{list}]
  - Hypothesis: {preconditions / requires}
  - Conclusion: {postcondition / ensures}
  - Reason: {one line — why this category}

## Tests
- [ ] category=test `testName` — maps to: `#guard` block
  - Values: {input/output pairs or assertion checks}

## External Boundaries
- [ ] category=api_helper `boundaryName` — maps to: `opaque`
  - Properties proved in source: {list → become axioms in Lean}

## Notes
[Human adds review notes here]
Rules for the discovery markdown
  1. Every top-level item appears exactly once.
  2. The suggested category is the agent's best guess; the curator overrides during vero-select review.
  3. skip items are omitted entirely (don't clutter the review).
  4. Include line numbers or ranges where practical for cross-reference.
  5. Group by source kind (Types / Functions / Predicates / …), not by category — the category is a per-item annotation.
  6. Note any TODO, FIXME, assume, or admit in the source.

Machine-Readable Output: curation/discovery_report.json

After producing the markdown files, also write a JSON report at curation/discovery_report.json with this structure. The key field is suggested_category — one of the four benchmark categories plus the supporting roles (type, test, skip).

json
{
  "source_language": "dafny",
  "source_dir": "/path/to/source",
  "commit_hash": "abc123",
  "repo_url": "https://github.com/...",
  "items": [
    {
      "name": "Stack",
      "qualified_name": "Stack",
      "suggested_category": "type",
      "visibility": "public",
      "source_file": "Stack.dfy",
      "source_line": 3,
      "signature_summary": "datatype Stack<T> = Empty | Cons(top: T, rest: Stack<T>)",
      "dependencies": [],
      "reason": "datatype declaration; always curator-given",
      "notes": "Generic binary stack, 2 constructors"
    },
    {
      "name": "push",
      "qualified_name": "push",
      "suggested_category": "api",
      "visibility": "public",
      "source_file": "Stack.dfy",
      "source_line": 8,
      "signature_summary": "function method push<T>(s: Stack<T>, v: T) : Stack<T>",
      "dependencies": ["Stack"],
      "reason": "user-facing library entry; has ensures clauses in source",
      "notes": ""
    },
    {
      "name": "toSeq",
      "qualified_name": "toSeq",
      "suggested_category": "spec_helper",
      "visibility": "internal",
      "source_file": "Stack.dfy",
      "source_line": 22,
      "signature_summary": "ghost function toSeq<T>(s: Stack<T>) : seq<T>",
      "dependencies": ["Stack"],
      "reason": "ghost function used only in ensures clauses of other fns; referenced by bare name in specs",
      "notes": ""
    },
    {
      "name": "push_pop_roundtrip",
      "qualified_name": "push_pop_roundtrip",
      "suggested_category": "spec",
      "visibility": "public",
      "source_file": "StackSpec.dfy",
      "source_line": 5,
      "signature_summary": "lemma push_pop_roundtrip<T>(s: Stack<T>, v: T) ensures pop(push(s, v)) == s",
      "dependencies": ["Stack", "push", "pop"],
      "reason": "characterizing lemma about push/pop; becomes def spec_* proof obligation",
      "notes": "Round-trip property"
    }
  ],
  "file_summaries": {
    "Stack.dfy": {"lines": 50, "types": 1, "functions": 5, "theorems": 0},
    "StackSpec.dfy": {"lines": 40, "types": 0, "functions": 0, "theorems": 4}
  }
}

The suggested_category is the agent's best call per the heuristic rubric; the curator overrides it in vero-select review. The reason field (one sentence) is mandatory and must cite at least one heuristic — it's how the curator audits the suggestion.

This JSON is consumed by vero-select and vero-plan; both expect the four-category vocabulary.

Assembled Catalog: curation/api.md

After producing per-file discovery markdowns, assemble curation/api.md:

markdown
# API Catalog: {project_name}

Source: {repo_url} ({commit_hash})
Language: {language}
Total lines: {N}

## Architecture

{ASCII dependency graph of modules}

## Summary

| File | Types | Spec Fns | Exec Fns | Predicates | Theorems | Axioms | Tests |
|------|------:|--------:|---------:|----------:|---------:|-------:|------:|
| ... | ... | ... | ... | ... | ... | ... | ... |
| **Total** | **N** | **N** | **N** | **N** | **N** | **N** | **N** |

## Per-File Catalogs

[Links to each curation/discovery/{path}.md]

Sub-Agent Strategy (Large Repos)

For repos with more than ~20 source files, use parallel sub-agents:

  1. Group files by directory — max 10 source files per group
  2. Launch one sub-agent per group — each produces discovery markdowns for its files
  3. Coordinator merges results into curation/api.md

Each sub-agent receives:

  • The language-specific classification skill (vero-source-{lang})
  • Its assigned file list
  • The output directory path

Workflow (incremental — one file at a time)

Do not read all source files up front and then write all markdowns at the end. A "read 19 files, think, then Write 19 times" flow is what causes multi-minute thinking stalls and loses everything on interrupt. Instead, close each file's loop before opening the next one:

1. Detect language (scan extensions + grep for markers)
2. List all source files (exclude tests/, build/, vendor/)
3. FOR EACH source file, one at a time (NOT in parallel):
   a. Read the source file
   b. Classify its top-level items (category, visibility, spec_kind,
      body_disposition)
   c. Extract dependencies
   d. Write curation/discovery/<path>.md IMMEDIATELY — do not batch
      writes across files
   e. If discovery_report.json exists, Edit to append this file's
      items; otherwise Write it fresh with just these items. Either
      way the JSON stays valid after each file so the run is
      restartable.
4. After the per-file loop, assemble curation/api.md with the summary
   table (this is a small synthesis pass, one Write).
5. Report: total items found, items per category.

Idempotency. If curation/discovery/<path>.md already exists and the source file's mtime is older than the markdown, skip the Read + Write pair unless --force. Do NOT blindly re-read all 19 already-analyzed files because of the Write guard — that's wasted turns.

Check-in rule. Before each file's Write, announce in one sentence: "Now processing src/foo.dfy — 3 types, 5 fns." Keeps progress observable.

Batch size. If you must batch (for Agent sub-agents), group at most 5 files per sub-agent. Never dispatch a single 19-file batch.

Output Directory Structure

curation/
├── discovery/
│   ├── src--module1.dfy.md
│   ├── src--module2.dfy.md
│   └── ...
├── api.md
└── discovery_report.json

© 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

Files

Just SKILL.md in .claude/skills/vero-discover of sunblaze-ucb/vero.

Open the folder on GitHubat commit 0a7325d

Compare with similar skills

Vero Discover 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.

Vero Discover compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vero Discover this skillsunblaze-ucb/vero107—~3.9kAutomated safety check: NotesApache-2.0
Markdown Article FormatterJimLiu/baoyu-skills27k6 repos~3.5kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Crosspostingwasp-lang/wasp19k—~1.1kAutomated safety check: PassMIT
Gzh Designisjiamu/gzh-design-skill4k—~2.2kAutomated safety check: PassAGPL-3.0

Similar skills

  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    27k GitHub starsUsed in 6 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Crossposting

    wasp-lang/wasp

    Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.

    19k GitHub stars~1.1k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    4k GitHub stars~2.2k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Review The Docs

    supabase/supabase

    Official

    Review Supabase docs changes locally in your supabase/supabase checkout — either an open PR (triage, classify, verify) or your own branch before opening a PR (local self-review).

    111k GitHub stars~4.6k tokensUpdated today
    Documents & OfficeAuto-check passed

More from sunblaze-ucb/vero

All 16 skills in this repo
  • Vero Translate

    sunblaze-ucb/vero

    A skill your agent uses when translating selected verified items from Dafny/Verus/Coq into a compilable Lean 4 benchmark.

    107 GitHub stars~4.9k tokensUpdated 1 mo ago
    Auto-check: notes
  • Vero Coq Pitfalls

    sunblaze-ucb/vero

    Load BEFORE translating any Coq item to Lean 4 to avoid known Coq→Lean pitfalls.

    107 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check: notes
  • Vero Dafny Pitfalls

    sunblaze-ucb/vero

    Load BEFORE translating any Dafny item to Lean 4 to avoid known Dafny→Lean pitfalls.

    107 GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check: notes
  • Vero Lean Pitfalls

    sunblaze-ucb/vero

    Load BEFORE writing any Lean 4 translation to avoid common Lean pitfalls (universes, coercions, type-class resolution, notation).

    107 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check: notes
  • Vero Plan

    sunblaze-ucb/vero

    Use after vero-select to write a detailed translation plan as .vero/plan.json — the authoritative contract the TRANSLATE stage executes.

    107 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check: notes
  • Vero Python Pitfalls

    sunblaze-ucb/vero

    Load BEFORE translating any Python item to Lean 4 to avoid known Python→Lean pitfalls.

    107 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Vero Discover

What does Vero Discover do?

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. Vero Discover is an agent skill from sunblaze-ucb/vero. Use when scanning a verified source repo (Dafny, Verus, or Coq) to classify every item and produce per-file discovery markdown for human curation.

When should I use Vero Discover?

Vero Discover fits situations like: scanning a verified source repo (Dafny; coq) to classify every item and produce per-file discovery markdown for human curation.

How do I install Vero Discover in Claude Code?

Run `npx skills add sunblaze-ucb/vero --skill vero-discover -a claude-code`. Or copy the skill folder (.claude/skills/vero-discover in sunblaze-ucb/vero) into .claude/skills/vero-discover in your project. Claude Code loads it when a task matches its description.

How do I install Vero Discover in Codex?

Run `npx skills add sunblaze-ucb/vero --skill vero-discover -a codex`. Or copy the skill folder (.claude/skills/vero-discover in sunblaze-ucb/vero) into .agents/skills/vero-discover in your project. Codex loads it when a task matches its description.

Can I use Vero Discover in Cursor, Gemini CLI or GitHub Copilot?

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-discover -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-discover, .gemini/skills/vero-discover, .github/skills/vero-discover and .opencode/skills/vero-discover in your project.

What does Vero Discover need to run?

SKILL.md names no scripts, command-line tools or credentials: Vero Discover is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Bash, Grep, Glob, Agent.

Does Vero Discover access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Vero Discover safe to install?

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.

What licence does Vero Discover use?

Vero Discover 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.

How many tokens does Vero Discover use?

About 3.9k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Vero Discover?

Skills that share tags, products or a category with Vero Discover: Markdown Article Formatter (JimLiu/baoyu-skills, 27k stars), Markitdown (ImCa0/just-laws, 781 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and Crossposting (wasp-lang/wasp, 19k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vero Discover?

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.