Skip to content
Flag of Europe
Made in the European Union · Independently built · Released under EUPL 1.2
Claude Code Skills

Claude Code Skills

Ready-made Claude Code skills that wire jSentinel into your application from a single prompt — services, login, role-aware shell and admin views, parameterised on your package and types.

There are ten skills in three families — Vaadin Flow, REST and Standalone — each with a base skill plus optional persistence and hardening layers, and one Vaadin↔REST hybrid. They target the V00.73+ fluent surface and are validated against the reference demo modules in the library reactor.

Download — all jSentinel skills · ~144 KB · for jSentinel 00.73.00+

⬇ jsentinel-skills.zip

sha256: c92eb69bf72d92179119c573b3a7ff964e538fcf86729840f64ec4d0fd84f401

The three layers

Within each family the skills stack on top of each other — run the base first, then add layers as you go to production:

LayerWhat it doesStoresFirst admin
BaseFull security stack wired and compilingin-memoryseeded admin/admin + user/user (plaintext in source)
+ PersistenceSwaps in Eclipse-Store stores; users/audit survive restartdurabletoken-based first-admin bootstrap (removes the plaintext seed)
+ HardeningArgon2id hashing, optional HIBP breach check, role-revocation drift detection

Start with the base for a working app in minutes; layer persistence and hardening before any multi-user deployment.

Vaadin Flow

SkillRoleWhat it does
jsentinel-vaadinbaseFull Vaadin stack: VaadinSecurity.bootstrap(), @JSentinelAutoService auth services, seeded users, LoginView, an AppLayout MainLayout with public + private routes, and admin views for audit / sessions / roles.
jsentinel-vaadin-persistence+ persistenceReplaces the in-memory stores with Eclipse-Store and the plaintext seed with the token-based first-admin flow (SetupView).
jsentinel-vaadin-hardening+ hardeningArgon2id hashing, optional HIBP check, and JSentinelVersion drift detection — revoke a role and the next navigation sends the user back to login.
jsentinel-vaadin-rest-clienthybridPoints an existing jsentinel-vaadin frontend at a jSentinel-secured REST backend — auth/roles delegated over HTTP, no local user store.

REST (JDK HttpServer)

SkillRoleWhat it does
jsentinel-restbaseRestSecurity.bootstrap(), auth services, in-memory TokenStore for Bearer tokens, and four endpoint groups (auth, audit, sessions, users) with problem+JSON errors.
jsentinel-rest-persistence+ persistenceEclipse-Store stores + a POST /api/setup token-based first-admin flow; locks the API to setup until bootstrapped.
jsentinel-rest-hardening+ hardeningArgon2id, optional HIBP, and a RestJSentinelVersionFilter so a revoked role makes the existing token start returning 401.

Standalone (CLI / desktop / plain Java)

SkillRoleWhat it does
jsentinel-standalonebaseStandaloneSecurity.bootstrap(), auth services, and runtime enforcement via SecuredProxy.wrap(…) (interface) or the @Secured annotation processor (concrete class), with an interactive CLI loop.
jsentinel-standalone-persistence+ persistenceEclipse-Store stores + a setup command for the token-based first-admin bootstrap.
jsentinel-standalone-hardening+ hardeningArgon2id, optional HIBP, and best-effort drift detection for the session.

Install

Unzip into your Claude Code skills directory — the archive contains all ten skill folders:

unzip jsentinel-skills.zip -d ~/.claude/skills/
# → ~/.claude/skills/jsentinel-vaadin/SKILL.md, …

Claude Code auto-discovers them on the next session. No registration step. (Prefer just one? Copy a single jsentinel-* folder instead.)

Use a skill

In a Claude Code session inside your project, just ask — for example:

Integrate jSentinel into my Vaadin app (package com.acme.bookstore).

The skill then, fully automatically:

  1. Extracts the slots it needs (target module, base package, subject type, credentials, bootstrap profile) — inferred from your existing @Route classes and pom.xml.
  2. Echoes them back once for confirmation (the single checkpoint).
  3. Renders every template, patches the pom.xml, registers the META-INF/services entries, and verifies with mvn compile.

Then layer up by asking for the next step — “add persistence” or “harden it” — and the matching layer skill takes over from your current state.

Before you ship. The base skills seed admin/admin and user/user as plaintext constants (hashed on store) — fine for a first integration, a hard “do not ship” for production. Run the persistence layer to replace the seed with the token-based first-admin bootstrap, and the hardening layer for Argon2id + breach checks, before any multi-user deployment.

Need a hand wiring it in? Talk to us about a guided integration or security review.