Get Started

Skill Categories

The 13 specialization categories Lagune installs with --skills, and the key for each, from OWASP to per-language hardening for JavaScript, Python, Go, and Rust.

Lagune groups its sub-skills into 13 categories, the unit you install. Each category maps to a CLI key you pass to --skills, and they split in two: what the system does, and what it is written in.

Pick a category by passing its key, for example npx -y lagune@latest init <agent> --skills <category>. Pass several on the same line to install more than one, or pass none and Lagune opens an interactive picker.

# For example, adding Claude with the OWASP and JavaScript categories to a project
npx -y lagune@latest init claude --skills owasp javascript

What the system does

CategoryKey (Alias)What it hardens
OWASPowaspThe application security risks OWASP tracks: injection, broken access control, auth, and crypto failures
InfrastructureinfraContainer, workload, and serverless config: Dockerfile, Compose, Pod security, FaaS IAM and triggers
AI / LLMaiAI and LLM integrations, against prompt injection and unsafe tool, agent, retrieval, and MCP wiring
LovablelovableAI-generated Supabase apps (Lovable and similar): RLS gaps, leaked service_role keys, and insecure defaults

What it is written in

CategoryKey (Alias)What it hardens
JavaScriptjavascripteval and child_process RCE, path traversal, and prototype pollution, across its runtimes
Pythonpythonpickle and YAML deserialization RCE, str.format string traversal, and class pollution
RustrustUnsound unsafe APIs, transmute misuse, integer overflow, and FFI boundary undefined behavior
C / C++c-cppFormat-string bugs, buffer overflows, and out-of-bounds writes that enable code execution
PHPphpType-juggling auth bypass, object injection gadget chains, and insecure configuration defaults
GogoTyped-nil interface bugs, goroutine data races, and unsafe concurrency on security paths
JavajavaObjectInputStream deserialization gadget chains that culminate in remote code execution
RubyrubyMarshal.load and YAML deserialization gadget chains that reach remote code execution
.NET / C#dotnetBinaryFormatter deserialization RCE and the encoder bypasses that reach XSS
tip

Lagune is language-agnostic: the whole flow reads whatever your project is written in, and these categories only add depth on the pitfalls specific to one language.

A category is a starting point, not a commitment. Install what fits the project now and change it any time with add and remove, the same --skills flag either way. See Install for every form of the flag, and Skills for which sub-skills each category carries.

Your own sub-skills, written with /lagune.specialize, join the project's catalog alongside these and are loaded exactly the same way.

Frequently Asked Questions

Pass the category's key to --skills. At setup, alongside your agent, with npx -y lagune@latest init claude --skills owasp. In a project that already has Lagune, with npx -y lagune@latest add --skills owasp.

Yes. List them on the same line, one after the other.

Start with owasp, then add the one for your language or stack. Nothing is loaded by default, so a category only costs you when a phase actually needs it.

Last updated on July 28, 2026.

Copyright © 2026-present Weslley Araújo and contributors. Lagune is under the MIT License. Please check the Security Policy.

All product names, trademarks, and registered trademarks mentioned are the property of their respective owners and are used for identification purposes only.