Agent skill

Scalex

by nguyenyou in nguyenyou/scalex

Explore and navigate Git-tracked Scala 2/3 and Java source with Scalex.

MITAuto-check passedDevelopment

Install Scalex

skills CLI
$ npx skills add nguyenyou/scalex --skill scalex -a claude-code

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

GitHub CLI
$ gh skill install nguyenyou/scalex scalex --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/nguyenyou/scalex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/scalex/skills/scalex .claude/skills/scalex && 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
scalex
GitHub stars
109
Token cost
~2k tokens
SKILL.md length
987 words
Files
4 (incl. scripts, references)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Explore and navigate Git-tracked Scala 2/3 and Java source with Scalex.

  • Symbol definitions
  • SKILL.md covers Run, Choose the smallest useful query, Interpret the evidence and Keep scope and output deliberate, plus 3 more sections
  • Calls bash
  • Implementations

What it does

Scalex is an agent skill from nguyenyou/scalex. Explore and navigate Git-tracked Scala 2/3 and Java source with Scalex. Use for symbol definitions, implementations, members, source bodies, test discovery, package structure, and reference candidates before edits. Prefer it for Scala/Java symbol navigation; use ordinary file or text tools for untracked files, other languages, and literal searches. Also supports ASCII graph rendering or parsing when explicitly requested.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts and reference files (for example `references/commands.md` and `references/graph-examples.md`).

It sits in Development. It works with Java and Git. The repository describes itself as: Scala code intelligence for coding agents. Zero Build Server. Zero Compilation. Just answers. The licence is MIT.

When your agent uses it

  • Symbol definitions
  • Implementations
  • Package structure
  • Reference candidates before edits

Example prompts

  • “/scalex”

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • bash

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

  • Network

    No URLs in SKILL.md.

    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

Scalex loads about 2k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 108 tokens; SKILL.md has 987 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~108
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

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 passed

The automated check found no risky patterns in SKILL.md.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from nguyenyou/scalex at commit 9098af8, republished under its MIT licence (© nguyenyou). 987 words, ~1,967 tokens.

Download SKILL.mdSave it as .claude/skills/scalex/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
scalex
description
Explore and navigate Git-tracked Scala 2/3 and Java source with Scalex. Use for symbol definitions, implementations, members, source bodies, test discovery, package structure, and reference candidates before edits. Prefer it for Scala/Java symbol navigation; use ordinary file or text tools for untracked files, other languages, and literal searches. Also supports ASCII graph rendering or parsing when explicitly requested.

Scalex

Use Scalex to locate relevant code, then read enough source to answer the question or make the requested change. It parses source without compilation or a build server. Its results describe written syntax, not compiler-resolved semantics.

Run

The bundled scripts/scalex-cli downloads and caches the pinned native binary when needed. Resolve its absolute path relative to this skill and supply the repository root explicitly:

bash
bash /absolute/path/to/scalex/scripts/scalex-cli def UserService -w /repo

Examples below abbreviate this invocation as scalex. Substitute the bundled script invocation unless the user selected another binary. Keep using the same binary and workspace throughout the task.

Commands discover Git-tracked .scala and .java files and maintain .scalex/index.bin. New, untracked files are absent; read or search them directly. Do not stage user files just to make them discoverable.

Choose the smallest useful query

QuestionStart with
Where is a known symbol?def UserService
I only know part of the namesearch Service --kind trait --limit 10
Which definition is meant?def com.example.UserService or def UserService.findUser
What does this type expose?members UserService
How does this method work?body findUser --in UserServiceLive
Give me a short introduction to a typeexplain UserService --brief
Show implementations or parent typesimpl UserService or hierarchy UserService --up
What code mentions this symbol?refs UserService
Which imports mention it?imports UserService
What tests are declared?tests "bloom filter"
Which test files mention it?coverage UserService
Where should I start in this repository?overview --concise, then summary com.example
What is declared in this file?symbols src/main/scala/UserService.scala
Search within a known class or methodgrep 'process' --in UserServiceLive

Use explain without --brief when its combined definition, documentation, members, companion, implementations, and imports are useful. Use members --body --max-lines 20 to inspect several short implementations together. Avoid loading a whole package or many full bodies for a single lookup.

For detailed syntax, less common commands, and supported flags, read the relevant section of commands.md. It covers package/API analysis, overrides, dependencies, diffs, structural searches, and output options. Use help to check the invoked binary's interface if documentation and behavior differ.

Interpret the evidence

  • Definitions and members are syntactic. No inferred types, implicit/given resolution, macro expansion, or overload resolution. Local definitions are not generally indexed; read a known enclosing body or use text search when a lookup misses.
  • References are candidates. refs uses word-boundary text matching, including comments and unrelated symbols with the same name. Categories and import-based confidence are heuristics. --strict tightens identifier boundaries; it does not resolve symbol identity. Before a rename, inspect the matches and validate the edit with the project's compiler/tests.
  • Implementations need interpretation. impl Foo also includes types with Foo as a type argument in an extends clause, such as extends Mixin[Foo]; these are not necessarily subtypes of Foo.
  • Test mentions are not coverage. coverage finds textual references in test files, not executed lines or assertions. tests discovers supported test declaration patterns; dynamic names and unsupported frameworks may be absent.
  • API results are import-based. api estimates externally imported symbols; it is not a compiler-verified public API inventory.
  • A miss is not proof of absence. Check spelling, qualification, scope, file tracking, parse failures, and cache freshness. Fall back to direct source reads or rg when those better answer the question.
Show full SKILL.md (459 more words)Show less

Keep scope and output deliberate

Start with a qualified symbol or the relevant path when known. Use --path, --kind, and command-supported package filters to reduce noise. Use --no-tests only when excluding tests fits the question; retain tests during impact analysis. overview excludes tests by default; add --include-tests when needed.

Prefer --limit N for readable samples and --count for counts. --max-output N limits result characters; with --json, oversized output becomes a valid truncation object instead of the requested result payload. Inspect truncation metadata before consuming JSON. A display limit is not a guarantee of less scanning work.

refs, imports, and grep have scan deadlines and can return partial results. Read stderr and timeout indicators; never present an incomplete scan as exhaustive. coverage currently discards the underlying timeout indicator, so use refs and inspect test-file matches when scan completeness matters.

Use ordinary text search for literal strings, configuration, unsupported files, or fresh edits. scalex grep is useful for symbol-scoped bodies and integrated source filters; it is not a required replacement for rg. Its patterns use Java regex syntax and invalid patterns may be rewritten with a diagnostic; check that diagnostic when matching punctuation.

Cache freshness after edits

The current cache compares Git index OIDs, not working-tree content hashes. Unstaged edits can leave cached symbols, imports, and bloom filters stale. Text reads may therefore disagree with cached navigation, and stale bloom filters can hide newly added names.

After editing, verify affected code directly. index reports the normally loaded index; it does not force a clean rebuild. Do not stage changes or delete caches merely to make a query work. Use the project's compile/test workflow to validate code changes.

diff <ref> reads current source and the Git ref directly, including unstaged edits. It reports declaration-text changes, including bodies, rather than semantic equivalence; see the diff reference for scope and display limits.

Several independent lookups

Use batch to share one index load when several queries are already known:

bash
printf '%s\n' 'def UserService' 'members UserService' 'impl UserService' |
  bash /absolute/path/to/scalex/scripts/scalex-cli batch -w /repo

Batch lines are split on whitespace, without shell-style quote parsing. Run queries containing spaced arguments, such as test names, as separate commands. Set the workspace on the outer batch invocation. Batch output includes command separators; do not parse the entire stream as one JSON document. The index is shared for that batch, so start a new invocation after edits.

Failures and diagrams

Usage errors exit 2; operational failures exit 1. JSON-mode failures use an error object on stdout; text diagnostics use stderr. Batch continues after failed queries and returns the highest failure status. Report a tool failure separately from an empty successful result.

Run graph --render or graph --parse only for an explicit diagram request. Read graph-examples.md for syntax. Do not add a graph step to ordinary navigation; hierarchy, deps, and explain already format their results.

© nguyenyou, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (scripts, references) in plugins/scalex/skills/scalex of nguyenyou/scalex.

  • SKILL.md
  • references/commands.md
  • references/graph-examples.md
  • scripts/scalex-cli

Open the folder on GitHubat commit 9098af8

Compare with similar skills

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

Scalex compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scalex this skillnguyenyou/scalex109—~2kAutomated safety check: PassMIT
Creating Description For Gh PRredis/jedis12k—~838Automated safety check: PassMIT
Git History Bug Auditben-manes/caffeine18k—~3.3kAutomated safety check: PassApache-2.0
Climber Step Minimizationben-manes/caffeine18k—~3kAutomated safety check: NotesApache-2.0
Parallel Adversarial Change Reviewben-manes/caffeine18k—~1.9kAutomated safety check: NotesApache-2.0
Git Init Remoteexception-coder/npe_get_jobs176—~662Automated safety check: PassCustom licence

Similar skills

  • Official

    Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.

    12k GitHub stars~838 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Git History Bug Audit

    ben-manes/caffeine

    Audits a module by walking its git history commit by commit, tracking unresolved issues forward, and reporting the ones that survive to HEAD as findings.

    18k GitHub stars~3.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Climber Step Minimization

    ben-manes/caffeine

    Prices each step of the window climber algorithm by disabling it in turn, to find steps that no longer earn their keep and branches that no longer fire.

    18k GitHub stars~3k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Runs three parallel reviewers on a diff or branch, one blind, one design-aware and one matching past bug patterns, then triages their findings.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Git Init Remote

    exception-coder/npe_get_jobs

    Initialize git in a local project without a repository, connect it to a remote, and generate a proper .gitignore.

    176 GitHub stars~662 tokensUpdated 16 days ago
    DevelopmentAuto-check passed
  • Logical Commits

    TotalCross/totalcross

    Create focused Git commits that follow this repository's validated commit-message format, with required scopes, focused validation, and preservation of unrelated local changes; invoke only when the…

    227 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from nguyenyou/scalex

  • Benchmark

    nguyenyou/scalex

    Run scalex performance benchmarks, profiling, and timing analysis.

    109 GitHub stars~3.4k tokensUpdated 21 days ago
    Auto-check passed
  • Capture Banners

    nguyenyou/scalex

    Re-render Scalex banner and OG image PNGs from their HTML source files using Chrome DevTools MCP.

    109 GitHub stars~586 tokensUpdated 21 days ago
    Auto-check passed

Works with

Categories

Questions about Scalex

What does Scalex do?

Explore and navigate Git-tracked Scala 2/3 and Java source with Scalex. Scalex is an agent skill from nguyenyou/scalex. Explore and navigate Git-tracked Scala 2/3 and Java source with Scalex.

When should I use Scalex?

Scalex fits situations like: symbol definitions; implementations; package structure; reference candidates before edits.

How do I install Scalex in Claude Code?

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

How do I install Scalex in Codex?

Run `npx skills add nguyenyou/scalex --skill scalex -a codex`. Or copy the skill folder (plugins/scalex/skills/scalex in nguyenyou/scalex) into .agents/skills/scalex in your project. Codex loads it when a task matches its description.

Can I use Scalex 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 nguyenyou/scalex --skill scalex -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scalex, .gemini/skills/scalex, .github/skills/scalex and .opencode/skills/scalex in your project.

What does Scalex need to run?

Going by SKILL.md and its folder, Scalex needs the command-line tools its instructions call (bash).

Does Scalex access the network?

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.

Is Scalex safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scalex use?

Scalex is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scalex use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Scalex?

Skills that share tags, products or a category with Scalex: Creating Description For Gh PR (redis/jedis, 12k stars), Git History Bug Audit (ben-manes/caffeine, 18k stars), Climber Step Minimization (ben-manes/caffeine, 18k stars) and Parallel Adversarial Change Review (ben-manes/caffeine, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scalex?

nguyenyou (a GitHub user) maintains it in nguyenyou/scalex, which has 109 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 18, 2026.

Source: nguyenyou/scalex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.