/lagune.specialize
🎓 Specialize Lagune in a specific security area, from a source or topic you give it.
It reads the material and distills it into a focused, defense-only sub-skill, shaped exactly like the built-in ones, so the detect and verify phases load it afterwards like any other. It only audits and explains: it never writes attack inputs or exploits, and it never touches your code.
- From an article
- From an exploit
- From a topic
# A link or reference: Lagune distills it into the defense
/lagune.specialize https://owasp.org/www-community/attacks/SQL_Injection
# An attack as the source: the sub-skill is still the defense
/lagune.specialize "' OR 1=1 -- splices SQL into the query text"
# Or just name the area to cover
/lagune.specialize SQL injection
Pointing it at an attack is fine when the goal is to defend against it: an exploit write-up is study material it distills into the defense. The sub-skill it produces always audits and explains, it never produces a working exploit, payload, or evasion.
What it writes
The result is two files in your project, committed and reviewable alongside your code. Lagune ignores the built-in sub-skills by default, so it re-includes yours in .gitignore to keep it versioned:
- The sub-skill at
.lagune/skills/<name>.md, following the sub-skill shape. - One entry in
.lagune/skills.json, the catalog the dispatcher reads at runtime to list and match it.
You never add a command or touch the package: a new specialty is one knowledge file plus one catalog row, written into your own project.
Refine, never overwrite
Specializing a name that already exists, whether a built-in like regex or one you specialized before, reconciles the current file instead of replacing it. It reads what is there, folds the new knowledge in, keeps what still holds, and rewrites what changed. Nothing is discarded unseen. A sub-skill of yours shadows a built-in of the same name, so you can sharpen a built-in for your own project without losing it.
- The new sub-skill loads exactly like a built-in: the detect and verify phases pick it up on demand, or import it yourself with
@.lagune/skills/<name>.mdand give it a task. - When the material has an identifiable origin (an article, an author, a link, a standard), the sub-skill credits it. A bare topic carries no source.
