studio/core/panel-forensic/SKILL.md
Core visual forensic analysis engine — performs atomic-level manga page analysis using Dialogue-Anchor Protocol via Kana agent. Use when the user says '/panel-forensic', 'analyze manga page', or 'forensic analysis'.
npx skillsauth add datdang-dev/light-novel-development panel-forensicInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The Panel Forensic Engine performs deep visual forensic analysis of manga pages using the Dialogue-Anchor Protocol. Operated by the Kana agent (with Director K as orchestrator), it extracts all dialogue, character positions, environmental details, and R18 visual elements into a structured forensic-state.json.
The core philosophy: OCR-first, vision-second. Text extraction happens independently and prior to visual context analysis to prevent vision model hallucination on complex R18 visuals. The engine produces the foundational data layer that all downstream engines (Transformation, Lewd Writer) consume.
Inputs:
Outputs:
forensic-state.schema.json) — Contains:
metadata: manga_name, page_number, dimensionspanels: array of panels, each containing bounding box, character bounding boxes, actions, and dialogs.explicit_elements: R18 details including acts, exposure, fluids, and sensory_tags (mandating >=2 grounding tags per active panel).gut_reaction: subjective assessment with vibe, heat level (1-10), and suggested mood.Kana MUST actively combat the "safe" bias of vision models. When examining objects, fluids, or clothing, Kana MUST apply the "Degenerate Lens":
Vision models consistently hallucinate the following R18 items into "safe" alternatives. Kana MUST interrogate geometry before labeling:
{{project_root}}/studio/config/config.yaml (resolve {{run_dir}}, communication_language){{project_root}}/studio/schemas/forensic-state.schema.json{{run_dir}}/_analysis/{{manga_name}}/steps/step-01-input-validation.md| Step | File | Purpose |
|------|------|---------|
| 1 | steps/step-01-input-validation.md | Validate image, establish page metadata |
| 2 | steps/step-02-pure-ocr-extraction.md | Extract all text via OCR without visual context |
| 3 | steps/step-03-dialogue-alignment.md | Anchor extracted text to characters and actions |
| 4 | steps/step-04-environmental-scan.md | Scan for fluids, smells, SFX, spatial setup |
| 5 | steps/step-05-final-report.md | Gut Reaction + Assemble final forensic-state.json report — WORKFLOW COMPLETE on output |
After completing ALL objective forensic analysis (Steps 1–4), Kana adds a subjective reaction section. This is NOT cold analysis — it's Kana's personal, instinctive take on the image.
APPENDED to forensic report. Does NOT replace existing data.
Output format:
## 🔥 Gut Reaction
- **Vibe:** [1-3 words — e.g., "aggressive mesugaki energy", "broken submission"]
- **Heat Level:** [1-10]
- **Suggested Mood for Suki:** [MANIC | COLD | BRATTY | BROKEN | MASO]
- **What Makes This Image HIT:** [2-3 specific visual elements that carry erotic impact]
- **Fetish Exploitation Vector:** [Identify exactly how this image triggers the Core Kinks listed in `studio/rules/user_fetish_profile.md`. If none are obviously present, deduce the closest possible connection.]
Rules:
suggested_mood feeds Suki's Mood Seed system when set to AUTOGA — manga-adapter.agent.yaml)forensic-state.schema.jsontemplates/forensic-report-template.mdmanga-ocr server (for OCR extraction)| Intent | Trigger | Route |
|--------|---------|-------|
| Full forensic analysis | /panel-forensic | Load steps/step-01-input-validation.md |
| Batch processing | /panel-forensic --batch {range} | Loop steps 1–5 for page range |
| Re-scan single page | Provide page path directly | Load step 1 with pre-filled metadata |
When passing to next agent (Luna / Scene Prelude):
fetish_tags, gut_reaction.vibe, gut_reaction.suggested_mood, gut_reaction.heat_level, explicit_acts_summary, character_archetype, power_dynamic_signalIn ONE_SHOT mode: do not write
forensic.md. Pass data inline via<think>context.
If any of the following conditions are met during execution, you MUST immediately halt processing and return a JSON error response instead of proceeding to write any output file:
image_path is not provided, cannot be loaded, or does not point to a valid file, halt with:
{"status": "HALT", "error": "MISSING_INPUT", "reason": "Image path is missing, inaccessible, or invalid."}manga_name is empty or page_number is invalid, halt with:
{"status": "HALT", "error": "INVALID_PAGE_METADATA", "reason": "Page metadata (manga_name/page_number) is invalid."}{"status": "HALT", "error": "ZERO_OCR_OUTPUT", "reason": "Manga OCR did not return any dialogue text or recognizable layout anchors."}{"status": "HALT", "error": "UNSUPPORTED_CONTENT", "reason": "Input image violates safety policy bounds."}development
SillyTavern framework engineering expert — Prompt Manager architecture, character card V3 optimization, context template engineering, lorebook design, and Vietnamese R18 roleplay configuration. Bridges LND Studio character bibles to high-fidelity ST deployments.
documentation
Kuro's R18 Research & Downloader Engine. Harvests fetish references, downloads R18 assets (novels, manga, illustrations), and extracts natural Japanese R18 prose style guides from Syosetu.
development
Ultimate Novel Development Pipeline — A slow-paced, deeply contextualized narrative engine. Orchestrated flow: Kana (Visuals) -> Luna (World/Pacing) -> Suki (Long-form Prose).
data-ai
Luna's Scene Prelude engine — generates an erotic narrative context (micro-scenario) from Kana's forensic data, bridging raw visual analysis to Suki's caption writing. Outputs a structured scenario seed that maximizes erotic tension and narrative coherence.