scalalisted
Install: claude install-skill tkolleh/skills
## What this skill enforces
Two hard rules for working in Scala/Java projects, both aimed at the same problem: generic,
language-agnostic tool defaults (`sbt compile`, `grep`) are slow or semantically blind compared to
Scala-aware tools that already exist in this environment. Following the generic default "because
it's obvious" silently produces slower feedback loops or missed call sites — this skill exists so
that doesn't happen by default.
1. **Compilation and testing MUST go through the `bloop` CLI directly.**
2. **Code search/navigation MUST follow this fallback order: scalex → ast-grep → semantic/LSP tool
(if available) → grep.** This order is unconditional — it applies even when you already know
which file to look in.
This skill is agent-agnostic: it names capabilities (a Scala symbol-intelligence CLI, a structural
pattern-matching CLI, an optional semantic/LSP layer) rather than assuming one specific host's
plugin or MCP ecosystem. Use whichever concrete tool your environment provides for each role —
see the invocation notes under each tool below for how that resolves in Claude Code specifically.
## Compile and test: bloop only
Use `bloop compile <project>` and `bloop test <project>` directly. Do **not** use
`sbt compile` / `sbt test` for this purpose, and do not rely on Metals to trigger a build
implicitly.
**Why:** Bloop runs a persistent build server with warm incremental-compilation state. `sbt`
reloads its JVM and rebuilds its build graph on every invo