Deep review of any Lutece plugin via Agent Teams. Traces the complete request lifecycle — template to bean to service to DAO to SQL — and cross-references layers to find guaranteed bugs (disconnects that will crash at runtime). Use when user says 'deep review', 'flow review', 'cross-layer review', or 'trace bugs'.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Deep review of any Lutece plugin via Agent Teams. Traces the complete request lifecycle — template to bean to service to DAO to SQL — and cross-references layers to find guaranteed bugs (disconnects that will crash at runtime). Use when user says 'deep review', 'flow review', 'cross-layer review', or 'trace bugs'.
user-invocable
true
Lutece Deep Review — Agent Teams Flow Tracer
Purpose
Deep-reviews any Lutece plugin/module (v7 or v8) by tracing the complete request lifecycle across all layers (template, bean, service, DAO, SQL, config) and cross-referencing them to find guaranteed bugs — disconnects between layers that will crash at runtime.
This is NOT a conformity checker (use the v8-reviewer agent for v8 compliance). This is a flow tracer that finds bugs a compiler and static checks cannot. Works on any Lutece version.
Prerequisites: Agent Teams must be enabled (CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1).
What "Guaranteed Bug" Means
A finding is reported ONLY if both sides of a disconnect are provably confirmed:
Disconnect
Side A (proven)
Side B (proven)
Bug
Template → Bean
Template uses ${foo.bar}
Bean never puts bar in model
NPE at render
Form → Bean
Form field
name="title"
Bean action has no title parameter
Value silently lost
Form action → Bean
action=doCreateFoo
No doCreateFoo() method in bean
404 or crash
Bean → Service
Bean calls _service.findAll()
Service has no findAll() method
Compile error
DAO → Entity
SQL SELECT title
Entity has _strName, not _strTitle
Wrong data mapping
i18n → Properties
Template uses #i18n{key}
Key absent from .properties files
Shows raw key
Config → Code
plugin.xml declares right FOO_MANAGE
No RBAC check in bean for that right
Security hole
Code → Config
Bean checks FOO_DELETE right
plugin.xml doesn't declare FOO_DELETE
Always denied
Redirect → View
Bean redirects to VIEW_MANAGE
No @View(VIEW_MANAGE) method exists
Redirect crash
XPage path
Code registers /app/foo
plugin.xml declares different path
Page not found
If there is ANY ambiguity (dynamic model population, conditional logic, inheritance, reflection), the finding is skipped. Zero false positives.
PHASE A — Scan & Locate (Lead executes directly)
A.1 — Verify Lutece project
Confirm the current directory is a Lutece 8 project (pom.xml with lutece-plugin/module/library packaging).
Read your instruction file at [path to teammates/*.md].
The plugin root is: <PLUGIN_ROOT>
Scan data is at .review/scan.json.
Reference implementations: ~/.lutece-references/
You are READ-ONLY — do NOT modify any source files.
Write your output JSON to .review/<your-output-file>.json
PHASE C — Task Dependencies
Script Runner ──────────────────────────────── (no blockers)
Template Flow Mapper ──────────────────────── (no blockers)
Java Flow Mapper ──────────────────────────── (no blockers)
Config Mapper ─────────────────────────────── (no blockers)
Semantic V8 Checker ───────────────────────── (no blockers)
│ │ │ │ │
└───┴───┴───┴───┘
│
└──→ Cross-Layer Verifier (blocked by ALL 5 above)
Teammates 1-5 run in full parallel. Teammate 6 starts only after ALL others complete.
PHASE D — Monitoring
While teammates work:
Check task list progress every ~30 seconds
When ALL 5 parallel teammates report complete, spawn the Cross-Layer Verifier
If a teammate is stuck (>3 min): send a message asking for status
When the Cross-Layer Verifier finishes, proceed to Phase E