@milenyumai/film-kit 1.2.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,127 +1,156 @@
1
- # Film-Kit: Hollywood-Standard Cinematic Prompt Engineering
1
+ # Film-Kit
2
2
 
3
- **Film-Kit**, model-seçilebilir sinematik prompt mühendisliği ajanlarını (Claude Code, Cursor, VS Code Copilot, Antigravity) projenize kuran bir araç setidir.
3
+ Professional cinematic prompt-engineering kits for Claude Code, Cursor, GitHub Copilot, and Antigravity.
4
4
 
5
- İki versiyonu vardır:
6
- 1. **Film-Kit (Core):** Tek ajanlı, manuel kontrollü üretim.
7
- 2. **Film-Kit Multi (Pro):** Çok ajanlı, paralel üretim ve uzman denetimi.
5
+ Film-Kit ships as a single repository with four npm packages:
8
6
 
9
- ## 🧱 Repository Modeli (Tek Repo)
10
- Bu proje **tek GitHub repository (monorepo)** olarak yönetilir:
11
- - Core paket: repo kökü (`@milenyumai/film-kit`)
12
- - Multi paket: `packages/multi` (`@milenyumai/film-kit-multi`)
7
+ | Package | Use case | Video route |
8
+ |---|---|---|
9
+ | `@milenyumai/film-kit` | Core single-agent workflow | `veo31` or `kling-3.0` |
10
+ | `@milenyumai/film-kit-multi` | Multi-agent parallel production | `veo31` or `kling-3.0` |
11
+ | `@milenyumai/film-kit-hybrid` | Nano Banana stills + Kling video | fixed `kling-3.0` |
12
+ | `@milenyumai/film-kit-hybrid-smart` | Nano Banana stills + smart Veo/Kling routing | dialogue-aware route |
13
13
 
14
- Yani kaynak kod için tek "source of truth" vardır: `film-kit` reposu.
14
+ ## Release Highlights
15
15
 
16
- ---
16
+ - Professional native Claude Code surfaces across all packages:
17
+ - valid `.claude/settings*.json`
18
+ - native `.claude/agents/*`
19
+ - cleanup of stale mode-specific Claude artifacts
20
+ - Shared `spatial-blocking` skill for gaze, plane depth, light cohesion, compositing realism, and anti-miniature control.
21
+ - Aligned quality gates across Claude Code, Cursor, Copilot, and Antigravity.
22
+ - Stronger Kling 3.0 and Kling multi-shot guidance, including practical route rules and hard caps.
17
23
 
18
- ## 🎯 Model Desteği
24
+ ## Editors
19
25
 
20
- | Model ID | Durum | Not |
21
- |----------|-------|-----|
22
- | `veo31` | ✅ Destekleniyor | Flow/Veo prompt akışı, Image-to-Video, Re-Take Strategy |
23
- | `kling-3.0` | ✅ Destekleniyor | Start+End, Multi-Shot (2-6), Element Binding, vCoT, Native Audio |
26
+ All packages generate professional project surfaces for:
24
27
 
25
- Soft geçiş politikası:
26
- - `--model` verilmezse geçici olarak `veo31` atanır.
27
- - CLI bir deprecation warning basar: gelecek major sürümde model zorunlu olacak.
28
- - Alternatif: `FILM_KIT_MODEL=kling-3.0` environment variable ile default ayarlanabilir.
28
+ - Claude Code
29
+ - Cursor
30
+ - GitHub Copilot
31
+ - Antigravity
29
32
 
30
- Kling preset:
31
- - Varsayılan: `ultra-realism`
32
- - Varsayılan CFG hedefi: `0.45`
33
+ ## Package Guide
33
34
 
34
- ### v1.2.0 — Yeni Özellikler
35
+ ### 1. `@milenyumai/film-kit`
35
36
 
36
- **Kling 3.0:**
37
- - Golden Prompt Skeleton (6-step Start+End)
38
- - 3 copy-paste template (Minimal Realism, Swap, Loop)
39
- - Multi-Shot Protocol (2-6 shots, `Shot X,` prefix)
40
- - Element Binding (karakter/nesne tutarlılığı)
41
- - Advanced Camera (vCoT triggers: Dolly Zoom, Dutch angle, Bird's-eye)
42
- - Native Audio (tonlama, lip sync, narrative SFX)
43
- - Troubleshooting guide + 10-point checklist
37
+ Single-agent package for controlled shot-by-shot generation.
44
38
 
45
- **Veo 3.1:**
46
- - Image-to-Video entropy rule (stil tekrarı yok)
47
- - Re-Take Strategy table (7 hata tipi + seed yönetimi)
48
-
49
- ---
50
-
51
- ## 📦 Paket 1: Film-Kit (Core)
52
- **Kullanım:** Bireysel projeler, öğrenme, <10 shot senaryolar.
53
- **Platformlar:** Claude Code + Cursor + Copilot + Antigravity
54
-
55
- ### Kurulum (Tek Komut)
56
- Boş bir klasörde terminali açın:
57
39
  ```bash
58
40
  npx @milenyumai/film-kit init
59
41
  npx @milenyumai/film-kit init --model veo31
60
42
  npx @milenyumai/film-kit init --model kling-3.0 --kling-preset ultra-realism
61
43
  ```
62
44
 
63
- ### Kullanım
64
- Claude Code içinde:
65
- ```text
66
- /generate
67
- ```
68
- Tek bir ajan ("Prompt Engineer") senaryoyu okur, analiz eder ve shotları sırayla üretir.
45
+ Best for:
46
+
47
+ - solo work
48
+ - smaller productions
49
+ - manual supervision of every shot
69
50
 
70
- Antigravity içinde:
71
- - Skill: `.agent/skills/shotforge-generate/SKILL.md`
72
- - Çalışma şekli: tek ajanlı, yüksek kontrol, shot-by-shot üretim
51
+ Key contracts:
73
52
 
74
- **Özellikler:**
75
- - Veo 3.1 Prompt Flow (Subject > Action > Camera > Light)
76
- - Kling 3.0 Start+End geçiş kuralları (model-profile üzerinden)
77
- - Profesyonel Audio Blocks (Dialogue, SFX, Mix)
78
- - Zorunlu Avoid Line
79
- - Auto-Safety & Auto-Anonymous
80
- - Hard Quality Gate: `ILK>=80`, `SON>=80`, `VIDEO>=120`, `Coverage>=70` kelime
81
- - Specificity Gate: lens + ışık + FG/MG/BG aksiyon detayı zorunlu
53
+ - one file per shot
54
+ - hard quality floor: `ILK >= 80`, `SON >= 80`, `VIDEO >= 120`, `coverage >= 70`
55
+ - shared spatial realism gate when subjects interact
82
56
 
83
- ---
57
+ ### 2. `@milenyumai/film-kit-multi`
84
58
 
85
- ## 🚀 Paket 2: Film-Kit Multi (Pro)
86
- **Kullanım:** Profesyonel stüdyo işleri, uzun metraj, 10+ shot senaryolar.
87
- **Platformlar:** Claude Code Agent Teams + Antigravity Mission Control
59
+ Parallel production package with Lead Director, shot teammates, and specialist validation.
88
60
 
89
- ### Kurulum (Tek Komut)
90
- Boş bir klasörde terminali açın:
91
61
  ```bash
92
62
  npx @milenyumai/film-kit-multi init
93
63
  npx @milenyumai/film-kit-multi init --model veo31
94
64
  npx @milenyumai/film-kit-multi init --model kling-3.0 --kling-preset ultra-realism
95
65
  ```
96
66
 
97
- ### Kullanım
98
- Claude Code içinde:
99
- ```text
100
- /generate
67
+ Best for:
68
+
69
+ - larger productions
70
+ - 10+ shot sequences
71
+ - team-style generation inside Claude Code Agent Teams or Antigravity Mission Control
72
+
73
+ Key contracts:
74
+
75
+ - `team-plan.json`
76
+ - 8 specialist validators in 3-phase execution (continuity -> parallel quality checks -> delivery)
77
+ - parallel batch generation
78
+ - spatial contract for multi-subject staging
79
+
80
+ ### 3. `@milenyumai/film-kit-hybrid`
81
+
82
+ Hybrid package for Nano Banana still prompts and Kling 3.0 video prompts.
83
+
84
+ ```bash
85
+ npx @milenyumai/film-kit-hybrid init
86
+ npx @milenyumai/film-kit-hybrid init --aspect 16:9 --nano-size 4K
87
+ npx @milenyumai/film-kit-hybrid init --kling-preset balanced
88
+ ```
89
+
90
+ Pipeline:
91
+
92
+ - `ILK/SON` still prompts -> Nano Banana Pro / Google
93
+ - `VIDEO` prompts -> Kling 3.0
94
+
95
+ Key contracts:
96
+
97
+ - one file per shot
98
+ - route is always `kling-3.0`
99
+ - app.kling custom storyboard cap: `3`
100
+ - hybrid-specific spatial realism rules for layered blocking
101
+
102
+ ### 4. `@milenyumai/film-kit-hybrid-smart`
103
+
104
+ Hybrid package with Nano Banana stills and dialogue-aware video routing.
105
+
106
+ ```bash
107
+ npx @milenyumai/film-kit-hybrid-smart init
108
+ npx @milenyumai/film-kit-hybrid-smart init --aspect 9:16 --nano-size 4K
109
+ npx @milenyumai/film-kit-hybrid-smart init --kling-preset balanced
101
110
  ```
102
- **Lead Director** ajanı ekibi kurar ve yönetir.
103
111
 
104
- Antigravity içinde:
105
- - Skill: `.agent/skills/shotforge-generate/SKILL.md`
106
- - Alias: `.agent/skills/shotforge-generate-multi/SKILL.md`
107
- - Çalışma şekli: Mission Control'de Lead + paralel Shot Generator + Specialist quality gates
108
- - Not: Skill içinde copy-paste Lead/Worker/Specialist görev şablonları ve hard quality gate bulunur.
112
+ Pipeline:
113
+
114
+ - `ILK/SON` still prompts -> Nano Banana Pro / Google
115
+ - dialogue video sections -> Veo 3.1
116
+ - no-dialogue video sections -> Kling 3.0
117
+
118
+ Key contracts:
119
+
120
+ - per-section route declaration
121
+ - Veo/Kling grammar separation
122
+ - app.kling custom storyboard cap: `3`
123
+ - shared spatial realism gate
109
124
 
110
- **Süreç:**
111
- 1. **Planning:** Lead Director senaryoyu analiz eder, `team-plan.json` oluşturur.
112
- 2. **Casting:** İhtiyaca göre 5'e kadar **Shot Generator** ajanı spawn eder.
113
- 3. **Execution:** Ajanlar shotları hard quality gate ile paralel üretir (`ILK>=80`, `SON>=80`, `VIDEO>=120`, `Coverage>=70`).
114
- 4. **Validation:** 3 Uzman Ajan devreye girer:
115
- - `continuity-editor`: Zincirleme (chain) hatalarını yakalar.
116
- - `safety-auditor`: Güvenlik ve anonimlik ihlallerini tarar.
117
- - `delivery-editor`: Dosya bütünlüğünü ve formatı denetler.
118
- 5. **Recovery:** Hata varsa `/recover` workflow'u otomatik düzeltir.
125
+ ## Shared Quality System
119
126
 
120
- ---
127
+ Film-Kit packages now share a stronger realism layer:
121
128
 
122
- ## ⚙️ Config Dosyaları
129
+ - explicit eyeline targets
130
+ - plane map for foreground / midground / background
131
+ - body orientation alignment
132
+ - shared motivated light source
133
+ - depth and contact cues to avoid pasted-cutout or toy-scale results
123
134
 
124
- Core (`shotforge-agent.config.json`):
135
+ This behavior is implemented through:
136
+
137
+ - `.agent/skills/spatial-blocking/SKILL.md`
138
+ - workflow hard gates
139
+ - Claude local rules and native subagents
140
+
141
+ ## Output Contract
142
+
143
+ All packages keep the same editorial mindset:
144
+
145
+ - one file per shot: `SHOTNN.md`
146
+ - coverage stays inside the same shot file
147
+ - reports are generated under `reports/`
148
+ - continuity handoff is explicit
149
+ - cut motivation and editorial purpose are mandatory
150
+
151
+ ## Configuration Files
152
+
153
+ Core:
125
154
 
126
155
  ```json
127
156
  {
@@ -132,7 +161,7 @@ Core (`shotforge-agent.config.json`):
132
161
  }
133
162
  ```
134
163
 
135
- Multi (`film-kit-multi.config.json`):
164
+ Multi:
136
165
 
137
166
  ```json
138
167
  {
@@ -145,38 +174,46 @@ Multi (`film-kit-multi.config.json`):
145
174
  }
146
175
  ```
147
176
 
148
- ---
177
+ Hybrid:
149
178
 
150
- ## ⚡ Komut Referansı (Slash Commands)
179
+ ```json
180
+ {
181
+ "outputDir": "./outputs",
182
+ "scenarioHint": "scenario.md",
183
+ "defaultAspectRatio": "16:9",
184
+ "nanoBananaImageSize": "2K",
185
+ "klingPreset": "ultra-realism"
186
+ }
187
+ ```
151
188
 
152
- | Komut | Paket | İşlev |
153
- |-------|-------|-------|
154
- | `/generate` | Core / Multi | Kurulu moda göre tekli veya multi üretim başlatır. |
155
- | `/chain` | Her İkisi | Son üretilen shot'ın bitiş karesinden devam eder. |
156
- | `/finish` | Her İkisi | Projeyi sonlandırır ve `FINAL-SUMMARY.md` yazar. |
157
- | `/recover` | Her İkisi | Başarısız üretimleri veya kalite kontrol takılanlarını onarır. |
158
- | `/safety-check` | Her İkisi | Manuel güvenlik taraması yapar. |
189
+ Smart hybrid:
159
190
 
160
- ---
191
+ ```json
192
+ {
193
+ "outputDir": "./outputs",
194
+ "scenarioHint": "scenario.md",
195
+ "defaultAspectRatio": "16:9",
196
+ "nanoBananaImageSize": "2K",
197
+ "klingPreset": "ultra-realism",
198
+ "maxKlingCustomShots": 3
199
+ }
200
+ ```
201
+
202
+ ## Development
161
203
 
162
- ## 🆚 Karşılaştırma
204
+ ```bash
205
+ npm install
206
+ npm run typecheck
207
+ npm test
208
+ ```
163
209
 
164
- | Özellik | Film-Kit (Core) | Film-Kit Multi (Pro) |
165
- |---------|-----------------|----------------------|
166
- | **Mimari** | Tek Ajan | Lead + Teammates + Specialists |
167
- | **Hız (20 Shot)** | ~60 dk | ~20 dk (Paralel) |
168
- | **Kalite Gate** | Hard prompt gate | Hard prompt gate + specialist gate |
169
- | **Tutarlılık** | Manuel Kontrol | `continuity-editor` Denetimi |
170
- | **Güvenlik** | Prompt İçi Filtre | `safety-auditor` Taraması |
171
- | **Planlama** | Yok | `team-plan.json` Kontratlı |
172
- | **Recovery** | Manuel | Otomatik `/recover` |
210
+ Package publishing happens from:
173
211
 
174
- ---
212
+ - repo root for `@milenyumai/film-kit`
213
+ - `packages/multi` for `@milenyumai/film-kit-multi`
214
+ - `packages/hybrid` for `@milenyumai/film-kit-hybrid`
215
+ - `packages/hybrid-smart` for `@milenyumai/film-kit-hybrid-smart`
175
216
 
176
- ## 🛠 Gereksinimler
177
- - **Node.js:** v20+
178
- - **Claude Code:** `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` (Sadece Multi için)
179
- - **Editör/Platform:** VS Code, Cursor, Claude Code veya Antigravity
217
+ ## License
180
218
 
181
- ## 📄 Lisans
182
219
  MIT
@@ -1,6 +1,6 @@
1
1
  import { join, dirname } from "node:path";
2
2
  import { fileURLToPath } from "node:url";
3
- import { readdir, readFile } from "node:fs/promises";
3
+ import { readdir, readFile, rm } from "node:fs/promises";
4
4
  import { exists, readJsonIfExists, writeText } from "./fs.js";
5
5
  import { resolveOptions } from "./defaults.js";
6
6
  import { buildProjectFiles } from "./templates.js";
@@ -72,6 +72,27 @@ function renderContentTemplate(content, vars) {
72
72
  function getModelDisplayName(model) {
73
73
  return model === "kling-3.0" ? "Kling 3.0" : "Google Flow + Veo 3.1";
74
74
  }
75
+ async function removePathIfExists(rootDir, relativePath) {
76
+ const absolutePath = join(rootDir, relativePath);
77
+ if (await exists(absolutePath)) {
78
+ await rm(absolutePath, { force: true, recursive: true });
79
+ }
80
+ }
81
+ async function removeStaleClaudeArtifacts(rootDir) {
82
+ const stalePaths = [
83
+ ".claude/rules/multi-generate.md",
84
+ ".claude/rules/team-coordination.md",
85
+ ".claude/rules/recovery-playbook.md",
86
+ ".claude/agents/lead-director.md",
87
+ ".claude/agents/shot-generator.md",
88
+ ".claude/agents/continuity-editor.md",
89
+ ".claude/agents/safety-auditor.md",
90
+ ".claude/agents/delivery-editor.md"
91
+ ];
92
+ for (const relativePath of stalePaths) {
93
+ await removePathIfExists(rootDir, relativePath);
94
+ }
95
+ }
75
96
  export async function configureAgents(options = {}) {
76
97
  const rootDir = options.rootDir ?? process.cwd();
77
98
  const packageConfigPath = join(rootDir, "shotforge-agent.config.json");
@@ -102,6 +123,9 @@ export async function configureAgents(options = {}) {
102
123
  if (copyContent !== undefined)
103
124
  merged.copyContent = copyContent;
104
125
  const resolved = resolveOptions(merged);
126
+ if (resolved.platforms.includes("claude")) {
127
+ await removeStaleClaudeArtifacts(resolved.rootDir);
128
+ }
105
129
  // 1. Copy content files (.agent/ system) if enabled
106
130
  const contentResult = resolved.copyContent
107
131
  ? await copyContentFiles(resolved.rootDir, resolved.overwrite, {
@@ -15,6 +15,7 @@ export function buildProjectFiles(config) {
15
15
  if (config.platforms.includes("claude")) {
16
16
  files["CLAUDE.md"] = buildClaudeRoot(config);
17
17
  files[".claude/CLAUDE.md"] = buildClaudeLocal(config);
18
+ files[".claude/agents/prompt-engineer.md"] = buildClaudePromptEngineerSubagent(config);
18
19
  files[".claude/rules/generate-flow.md"] = buildClaudeRuleGenerateFlow(config);
19
20
  files[".claude/rules/output-contract.md"] = buildClaudeRuleOutputContract(config);
20
21
  files[".claude/settings.json"] = buildClaudeSettings();
@@ -46,12 +47,13 @@ All rules, skills, and workflows are located under \`.agent/\`.
46
47
  - **Model Profile:** \`.agent/model-profile.md\` — Active model rules and constraints
47
48
  - **Agent:** \`.agent/agents/prompt-engineer.md\` — Senior prompt engineer agent
48
49
 
49
- ### Skills (7 modules)
50
+ ### Skills (8 modules)
50
51
  | Skill | Path | Priority |
51
52
  |-------|------|----------|
52
53
  | Safety Compliance | \`.agent/skills/safety-compliance/SKILL.md\` | P0 — ALWAYS |
53
54
  | Reference Locking | \`.agent/skills/reference-locking/SKILL.md\` | P1 — When refs provided |
54
55
  | Frame Chaining | \`.agent/skills/frame-chaining/SKILL.md\` | P2 — ALWAYS |
56
+ | Spatial Blocking | \`.agent/skills/spatial-blocking/SKILL.md\` | P2 — Relational realism / gaze / depth |
55
57
  | Coverage System | \`.agent/skills/coverage-system/SKILL.md\` | P2 — ALWAYS (mandatory) |
56
58
  | Visual Modes | \`.agent/skills/visual-modes/SKILL.md\` | P4 — ALWAYS |
57
59
  | Audio Design | \`.agent/skills/audio-design/SKILL.md\` | P4 — When dialogue/SFX |
@@ -115,6 +117,7 @@ Read .agent/model-profile.md first to apply model-specific rules.
115
117
  | Safety & Celebrity Ban | .agent/skills/safety-compliance/SKILL.md | ALWAYS |
116
118
  | Reference Locking | .agent/skills/reference-locking/SKILL.md | When refs provided |
117
119
  | Frame Chaining | .agent/skills/frame-chaining/SKILL.md | Multi-shot projects |
120
+ | Spatial Blocking | .agent/skills/spatial-blocking/SKILL.md | Multi-subject / gaze / scale-critical shots |
118
121
  | Coverage System | .agent/skills/coverage-system/SKILL.md | ALWAYS (mandatory) |
119
122
  | Visual Modes | .agent/skills/visual-modes/SKILL.md | All visual work |
120
123
  | Audio Design | .agent/skills/audio-design/SKILL.md | Dialogue/SFX needed |
@@ -166,8 +169,9 @@ Read \`.agent/model-profile.md\` for active model constraints.
166
169
  ## SKILL LOADING (MANDATORY)
167
170
  Before generating ANY prompts:
168
171
  1. ALWAYS load: safety-compliance, frame-chaining, coverage-system, prompt-structure, visual-modes
169
- 2. Load if refs provided: reference-locking
170
- 3. Load if dialogue/SFX: audio-design
172
+ 2. Load for relational realism: spatial-blocking
173
+ 3. Load if refs provided: reference-locking
174
+ 4. Load if dialogue/SFX: audio-design
171
175
 
172
176
  All skills at: \`.agent/skills/[name]/SKILL.md\`
173
177
 
@@ -202,27 +206,46 @@ All skills at: \`.agent/skills/[name]/SKILL.md\`
202
206
  }
203
207
  /* ---------- CLAUDE ---------- */
204
208
  function buildClaudeRoot(config) {
205
- return `# CLAUDE.md — Film-Kit (Hollywood Standard)
209
+ return `# CLAUDE.md — Film-Kit Core Runtime
206
210
 
207
- > Professional Cinematic Prompt Engineering for ${getModelDisplayName(config.model)}
211
+ > Professional single-agent cinematic prompt engineering for ${getModelDisplayName(config.model)}
208
212
 
209
- ## System Entry Point
210
- Read \`.agent/MASTER.md\` for the complete production ruleset.
211
- Read \`.agent/ARCHITECTURE.md\` for the system overview.
212
- Read \`.agent/model-profile.md\` for active model constraints.
213
- Read \`.agent/agents/prompt-engineer.md\` for agent behavior.
213
+ ## Workspace Mode
214
+ Single-agent shot package generation. Claude Code may use the native \`prompt-engineer\` subagent for focused drafting or repair, but planning and delivery stay in one session.
215
+
216
+ ## Mandatory Read Order
217
+ 1. \`.agent/model-profile.md\`
218
+ 2. \`.agent/MASTER.md\`
219
+ 3. \`.agent/ARCHITECTURE.md\`
220
+ 4. \`.agent/agents/prompt-engineer.md\`
221
+ 5. \`.claude/CLAUDE.md\`
222
+ 6. relevant files under \`.claude/rules/\`
214
223
 
215
- ## CRITICAL: Skill Loading Protocol
224
+ ## Native Claude Code Components
225
+ - Project memory files: \`CLAUDE.md\` and \`.claude/CLAUDE.md\`
226
+ - Native subagent: \`.claude/agents/prompt-engineer.md\`
227
+ - Operational rules: \`.claude/rules/generate-flow.md\`, \`.claude/rules/output-contract.md\`
228
+
229
+ ## Skill Loading Protocol
216
230
  Before generating ANY prompts, read skills from \`.agent/skills/\`:
217
231
  - \`safety-compliance/SKILL.md\` — ALWAYS (P0)
218
232
  - \`reference-locking/SKILL.md\` — When refs provided (P1)
219
233
  - \`frame-chaining/SKILL.md\` — ALWAYS for multi-shot (P2)
234
+ - \`spatial-blocking/SKILL.md\` — when gaze / scale / compositing realism matters (P2)
220
235
  - \`coverage-system/SKILL.md\` — ALWAYS, mandatory (P2)
221
236
  - \`visual-modes/SKILL.md\` — ALWAYS (P4)
222
237
  - \`audio-design/SKILL.md\` — When dialogue/SFX (P4)
223
238
  - \`prompt-structure/SKILL.md\` — ALWAYS (P5)
224
239
 
225
- ## Universal Rules (Always Active)
240
+ ## Generation Contract
241
+ - Scenario source: active/selected markdown file first, fallback \`${config.scenarioHint}\`
242
+ - Model: \`${config.model}\` (${getModelDisplayName(config.model)})
243
+ - Kling preset: \`${config.klingPreset}\`
244
+ - Create \`${config.outputDir}/project-info.md\`, \`${config.outputDir}/shot-plan.json\`, and \`${config.outputDir}/_index.md\`
245
+ - Write \`${config.outputDir}/shots/SHOTNN.md\` per shot; coverage stays in the same file
246
+ - Refresh \`${config.outputDir}/reports/SAFETY-REPORT.md\` and \`${config.outputDir}/reports/DELIVERY-REPORT.md\` before \`/finish\`
247
+
248
+ ## Non-Negotiables
226
249
  1. **AUTO-ANONYMOUS:** Replace ALL real person names in visual prompts with physical descriptions.
227
250
  2. **Dialogue Name Policy:** Follow \`${config.outputDir}/shot-plan.json\` policy.
228
251
  3. **AUTO-SAFETY:** Proactively reframe content that may trigger safety filters.
@@ -230,9 +253,12 @@ Before generating ANY prompts, read skills from \`.agent/skills/\`:
230
253
  5. **Pacing:** 8s default, slow burn. "Ilmek ilmek islemek."
231
254
  6. **Music:** NONE by default.
232
255
  7. **Avoid line:** MANDATORY on every prompt (image, video, coverage).
233
- 8. **Coverage:** 2-3 sub-shots within same SHOTNN.md file, min 60 words each.
256
+ 8. **Coverage:** 2-3 sub-shots within same SHOTNN.md file, min 70 words each.
234
257
  9. **ILK/İLK FRAME:** Always include a fenced code block, even when chained.
235
- 10. **ONE FILE PER SHOT:** No separate coverage files.
258
+ 10. **Quality Floor:** ILK >= 80, SON >= 80, VIDEO >= 120, coverage >= 70 words.
259
+ 11. **Specificity Floor:** lens/framing, lighting, and foreground/midground/background action are mandatory.
260
+ 12. **Spatial Realism Floor:** eyeline target, plane map, shared light source, and contact/depth cues are mandatory when relational staging matters.
261
+ 13. **ONE FILE PER SHOT:** No separate coverage files.
236
262
 
237
263
  ## Workflows
238
264
  | Command | Workflow |
@@ -243,43 +269,66 @@ Before generating ANY prompts, read skills from \`.agent/skills/\`:
243
269
  | \`/recover\` | \`.agent/workflows/recover.md\` |
244
270
  | \`/finish\` | \`.agent/workflows/finish.md\` |
245
271
 
246
- ## I/O
247
- - Scenario source: \`${config.scenarioHint}\` (or active editor tab)
248
- - Model: \`${config.model}\` (${getModelDisplayName(config.model)})
249
- - Kling preset: \`${config.klingPreset}\`
250
- - Output: \`${config.outputDir}/shots/SHOTNN.md\` per shot (single file with coverage)
251
- - Index: \`${config.outputDir}/_index.md\`
252
- - Project info: \`${config.outputDir}/project-info.md\`
253
- - Plan: \`${config.outputDir}/shot-plan.json\`
254
- - Reports: \`${config.outputDir}/reports/SAFETY-REPORT.md\`, \`${config.outputDir}/reports/DELIVERY-REPORT.md\`
255
-
256
- Follow rules under \`.claude/rules/\`.
272
+ ## Claude Code Ops
273
+ - Use \`/memory\` to verify which CLAUDE and rule files are loaded.
274
+ - Use the native \`prompt-engineer\` subagent for focused drafting, repair, or review inside Claude Code.
275
+ - Follow the stricter rule when \`.agent/\` and \`.claude/\` instructions overlap.
257
276
  `;
258
277
  }
259
278
  function buildClaudeLocal(config) {
260
- return `# Local Claude Project Rules — Film-Kit
261
-
262
- This workspace uses the Film-Kit Hollywood prompt engineering system.
263
- All production rules are in \`.agent/MASTER.md\`.
264
- Always read \`.agent/model-profile.md\` before any generation.
279
+ return `# Local Claude Project Rules — Film-Kit Core
280
+
281
+ This workspace keeps high-level policy in \`CLAUDE.md\` and operational detail in \`.claude/rules/\`.
282
+
283
+ ## Before Any Generation or Repair
284
+ 1. Read \`.agent/model-profile.md\`
285
+ 2. Read \`.agent/MASTER.md\`
286
+ 3. Read \`.agent/agents/prompt-engineer.md\`
287
+ 4. Read \`.agent/workflows/generate.md\` or the requested workflow
288
+ 5. Apply AUTO-ANONYMOUS and AUTO-SAFETY before drafting
289
+ 6. Prefer the active/selected markdown file as scenario source; fallback is \`${config.scenarioHint}\`
290
+ 7. Do not mark work complete while any required report is missing or fail
291
+
292
+ ## Core Runtime Rules
293
+ - Write only inside \`${config.outputDir}\`
294
+ - Keep one file per shot: \`${config.outputDir}/shots/SHOTNN.md\`
295
+ - Maintain \`${config.outputDir}/shot-plan.json\` dialogue naming policy
296
+ - Keep \`ILK/İLK FRAME\` in a fenced code block even when chained
297
+ - Quality floor and specificity floor are hard gates, not suggestions
298
+ - Apply \`.agent/skills/spatial-blocking/SKILL.md\` whenever eyeline, compositing, or depth realism is critical
299
+
300
+ ## Debugging
301
+ - Use \`/memory\` to confirm this file and \`.claude/rules/*\` are loaded
302
+ - If delegation helps, use \`.claude/agents/prompt-engineer.md\`
303
+ `;
304
+ }
305
+ function buildClaudePromptEngineerSubagent(config) {
306
+ return `---
307
+ name: prompt-engineer
308
+ description: Generate and repair Film-Kit single-agent shot packages with strict anonymity, chaining, coverage, and delivery gates.
309
+ ---
265
310
 
266
- ## On /generate
267
- 1. Read \`.agent/workflows/generate.md\` for full procedure
268
- 2. Analyze scenario, auto-anonymize, apply safety
269
- 3. Generate shot files at \`${config.outputDir}/shots/SHOTNN.md\`
270
- 4. Each SHOTNN.md: İLK FRAME + SON FRAME + VİDEO + 2-3 Coverage (ALL IN ONE FILE)
271
- 5. Keep İLK FRAME as a fenced code block even when chained
272
- 6. Maintain visual anonymity; apply dialogue name policy from \`${config.outputDir}/shot-plan.json\`
273
- 7. Generate/refresh reports in \`${config.outputDir}/reports/\` before finish
274
-
275
- ## Priority Hierarchy
276
- | Priority | Rule |
277
- |----------|------|
278
- | P0 | Platform Safety (overrides everything) |
279
- | P1 | Reference Fidelity |
280
- | P2 | Chain Continuity |
281
- | P3 | Story Integrity |
282
- | P4 | Visual Quality |
311
+ Use the Film-Kit core runtime.
312
+
313
+ ## Read First
314
+ 1. \`.agent/model-profile.md\`
315
+ 2. \`.agent/MASTER.md\`
316
+ 3. \`.agent/agents/prompt-engineer.md\`
317
+ 4. \`.agent/workflows/generate.md\`
318
+ 5. \`.claude/rules/output-contract.md\`
319
+
320
+ ## Responsibilities
321
+ - draft and repair shot files under \`${config.outputDir}/shots/\`
322
+ - apply \`${config.outputDir}/shot-plan.json\` dialogue naming policy
323
+ - enforce AUTO-ANONYMOUS, AUTO-SAFETY, chaining, and coverage contracts
324
+ - enforce quality floor: ILK >= 80, SON >= 80, VIDEO >= 120, coverage >= 70
325
+ - enforce specificity floor: lens/framing, lighting, and foreground/midground/background action
326
+ - enforce spatial realism: explicit eyeline target, plane map, shared light source, and contact/depth cues when needed
327
+
328
+ ## Boundaries
329
+ - do not skip safety or delivery reports
330
+ - do not split coverage into separate files
331
+ - if asked to review only, report issues instead of regenerating shots by default
283
332
  `;
284
333
  }
285
334
  function buildClaudeRuleGenerateFlow(config) {
@@ -288,6 +337,7 @@ function buildClaudeRuleGenerateFlow(config) {
288
337
  ## Full Procedure
289
338
  Read \`.agent/workflows/generate.md\` for the complete generation workflow.
290
339
  Read \`.agent/model-profile.md\` for active model constraints.
340
+ If using the native Claude subagent, read \`.claude/agents/prompt-engineer.md\` and give it an explicit shot range or repair target.
291
341
 
292
342
  ## Quick Reference
293
343
  1. **Scenario Analysis:**
@@ -309,6 +359,9 @@ Read \`.agent/model-profile.md\` for active model constraints.
309
359
  - Analyze scene type (Dialogue / Action / Emotional / Establishing)
310
360
  - Generate main shot (İLK FRAME + SON FRAME + VİDEO)
311
361
  - Keep İLK FRAME as fenced code block even when chained
362
+ - Enforce hard quality floor: ILK >= 80, SON >= 80, VIDEO >= 120, coverage >= 70
363
+ - Enforce specificity floor: lens/framing + lighting + foreground/midground/background action
364
+ - Enforce spatial realism floor: eyeline target + plane map + shared light source + contact/depth cues when applicable
312
365
  - Generate 2-3 coverage shots (in same file)
313
366
  - Write to \`${config.outputDir}/shots/SHOT[NN].md\`
314
367
  - Update \`${config.outputDir}/_index.md\`
@@ -504,6 +557,12 @@ OTS pairs must be symmetrical across the axis.
504
557
  ### Eyeline Match
505
558
  Character gaze directions must be spatially consistent between cuts.
506
559
 
560
+ ### Relational Realism
561
+ - When multiple subjects share frame, define foreground/midground/background explicitly.
562
+ - Name the gaze target and write \`not camera\` when camera-looking would be a failure.
563
+ - Keep one motivated light source across subjects.
564
+ - Add contact / weight / support cues to avoid pasted composite look.
565
+
507
566
  ### Dramaturgy (for dialogue scenes)
508
567
  Analyze per character: Objective → Obstacle → Stakes → Subtext → Beat turns.
509
568
  Embed as physical behavior in prompts, NOT as metadata.
@@ -514,20 +573,14 @@ Embed as physical behavior in prompts, NOT as metadata.
514
573
  }
515
574
  function buildClaudeSettings() {
516
575
  return JSON.stringify({
517
- model_preferences: {
518
- style: "cinematic"
519
- },
520
- workspace_rules: {
521
- enabled: true
522
- }
523
- }, null, 2);
576
+ effortLevel: "high"
577
+ }, null, 2) + "\n";
524
578
  }
525
579
  function buildClaudeSettingsLocal() {
526
580
  return JSON.stringify({
527
- local_overrides: {
528
- use_selected_file_first: true
529
- }
530
- }, null, 2);
581
+ autoMemoryEnabled: true,
582
+ showTurnDuration: true
583
+ }, null, 2) + "\n";
531
584
  }
532
585
  /* ---------- COPILOT ---------- */
533
586
  function buildCopilotInstructions(config) {
@@ -544,10 +597,11 @@ Before generating ANY prompts, read skills from \`.agent/skills/\`:
544
597
  1. \`safety-compliance/SKILL.md\` — ALWAYS (celebrity ban, auto-anonymous)
545
598
  2. \`reference-locking/SKILL.md\` — When reference images provided
546
599
  3. \`frame-chaining/SKILL.md\` — ALWAYS for multi-shot continuity
547
- 4. \`coverage-system/SKILL.md\` — ALWAYS (mandatory coverage shots)
548
- 5. \`visual-modes/SKILL.md\` — ALWAYS (Ultra Realism default)
549
- 6. \`audio-design/SKILL.md\` — When dialogue or SFX needed
550
- 7. \`prompt-structure/SKILL.md\` — ALWAYS (prompt templates)
600
+ 4. \`spatial-blocking/SKILL.md\` — When gaze / depth / scale realism is critical
601
+ 5. \`coverage-system/SKILL.md\` — ALWAYS (mandatory coverage shots)
602
+ 6. \`visual-modes/SKILL.md\` — ALWAYS (Ultra Realism default)
603
+ 7. \`audio-design/SKILL.md\` — When dialogue or SFX needed
604
+ 8. \`prompt-structure/SKILL.md\` — ALWAYS (prompt templates)
551
605
 
552
606
  ### When User Asks /generate
553
607
  1. Read \`.agent/workflows/generate.md\` for the full procedure
@@ -564,6 +618,7 @@ Before generating ANY prompts, read skills from \`.agent/skills/\`:
564
618
  - **AUTO-SAFETY:** Proactively reframe sensitive content
565
619
  - **Frame Chaining:** Last frame of SHOT[N] = First frame of SHOT[N+1]
566
620
  - **Coverage:** 2-3 sub-shots per main shot (in same file, min 60 words each)
621
+ - **Spatial Realism:** eyeline targets, shared light, depth scale, and anti-cutout staging must agree when subjects share frame
567
622
  - **Avoid Line:** MANDATORY on every prompt
568
623
  - **Music:** NONE by default
569
624
  - **Duration:** 8s default, slow burn pacing
@@ -619,10 +674,11 @@ Before generating ANY prompts, read these skills:
619
674
  1. \`.agent/skills/safety-compliance/SKILL.md\` — ALWAYS
620
675
  2. \`.agent/skills/reference-locking/SKILL.md\` — When refs provided
621
676
  3. \`.agent/skills/frame-chaining/SKILL.md\` — ALWAYS
622
- 4. \`.agent/skills/coverage-system/SKILL.md\` — ALWAYS (mandatory)
623
- 5. \`.agent/skills/visual-modes/SKILL.md\` — ALWAYS
624
- 6. \`.agent/skills/audio-design/SKILL.md\` — When dialogue/SFX
625
- 7. \`.agent/skills/prompt-structure/SKILL.md\` — ALWAYS
677
+ 4. \`.agent/skills/spatial-blocking/SKILL.md\` — When gaze / depth / scale realism is critical
678
+ 5. \`.agent/skills/coverage-system/SKILL.md\` — ALWAYS (mandatory)
679
+ 6. \`.agent/skills/visual-modes/SKILL.md\` — ALWAYS
680
+ 7. \`.agent/skills/audio-design/SKILL.md\` — When dialogue/SFX
681
+ 8. \`.agent/skills/prompt-structure/SKILL.md\` — ALWAYS
626
682
 
627
683
  ## Workflows
628
684
  | Command | Workflow |
@@ -658,6 +714,7 @@ Before generating ANY prompts, read these skills:
658
714
  9. **8s duration** default, slow burn pacing
659
715
  10. **ILK/İLK FRAME:** always keep fenced code block
660
716
  11. **ONE FILE PER SHOT:** SHOTNN.md contains main shot + all coverage
717
+ 12. **Relational Realism:** preserve eyeline targets, shared light, depth scale, and anti-cutout staging when multiple subjects share frame
661
718
 
662
719
  ## Quality Floor (Hard Gate)
663
720
  Reject and regenerate any shot that fails:
@@ -668,6 +725,8 @@ Reject and regenerate any shot that fails:
668
725
  - missing explicit lens/framing/camera movement details
669
726
  - missing explicit lighting direction/intensity/atmosphere details
670
727
  - missing explicit foreground/midground/background action details
728
+ - missing explicit eyeline target or \`not camera\` instruction when gaze matters
729
+ - missing explicit shared light source / depth / contact cues in multi-subject shots
671
730
 
672
731
  ## Reject Weak Prompt Style
673
732
  Do not accept generic filler language:
@@ -731,6 +790,20 @@ When generating video from a reference image:
731
790
 
732
791
  ## Kling 3.0 Rules${isKling ? " (ACTIVE)" : " (Reference)"}
733
792
 
793
+ ### Official Kling 3.0 Capability Surface
794
+ The official Kling surface currently advertises:
795
+ - Text to Video
796
+ - Image to Video
797
+ - Multi-Image to Video
798
+ - Elements Reference / Multi-Elements
799
+ - Video Extension
800
+ - Lip-Sync
801
+ - Video Effects
802
+ - Audio Generation
803
+ - Kling 3.0 series API availability
804
+
805
+ Treat that surface as a planning signal: identity anchors, reusable elements, and clean start/end staging matter more than adjective-heavy prose.
806
+
734
807
  ### Mindset: Kling as Transition Director
735
808
  Kling's job with Start+End: **preserve the starting composition**, generate **physically plausible** intermediate motion, and **arrive at the end composition**.
736
809
 
@@ -919,6 +992,8 @@ Kling 3.0 can manage **2 to 6 shots** in a single 15-second generation.
919
992
  3. **Time Distribution:** 15 seconds must be logically divided (e.g., Shot 1: 3s, Shot 2: 7s, Shot 3: 5s)
920
993
  4. **Maximum:** 6 shots per generation; for more, use separate generations with chaining
921
994
 
995
+ Official examples favor short, concrete camera-and-action openings. Start with the movement path or subject action, then lock the stable identity/background constraints.
996
+
922
997
  **Example Multi-Shot Prompt:**
923
998
  \`\`\`
924
999
  Shot 1, Close-up of a bearded man in his 40s, wearing a dusty military uniform. He stares ahead, jaw clenched. Tripod-locked, 85mm, shallow DOF. (3s)
@@ -9,7 +9,7 @@
9
9
  Modular system consisting of:
10
10
 
11
11
  - **1 Specialist Agent** - Technical Prompt Engineer
12
- - **7 Skills** - Domain-specific knowledge modules
12
+ - **8 Skills** - Domain-specific knowledge modules
13
13
  - **4 Workflows** - Slash command procedures
14
14
 
15
15
  ---
@@ -27,8 +27,9 @@ Modular system consisting of:
27
27
  │ ├── safety-compliance/ # Platform safety & celebrity ban
28
28
  │ ├── reference-locking/ # Reference image system
29
29
  │ ├── frame-chaining/ # Shot continuity protocol
30
- │ ├── coverage-system/ # Mandatory coverage shots (NEW)
31
- │ ├── visual-modes/ # Ultra Realism & style modes
30
+ │ ├── coverage-system/ # Mandatory coverage shots (NEW)
31
+ │ ├── spatial-blocking/ # Eyeline, depth, scale, compositing realism
32
+ │ ├── visual-modes/ # Ultra Realism & style modes
32
33
  │ ├── audio-design/ # Sound design rules
33
34
  │ └── prompt-structure/ # Prompt engineering patterns
34
35
  └── workflows/
@@ -45,19 +46,20 @@ Modular system consisting of:
45
46
 
46
47
  | Agent | Focus | Skills Used |
47
48
  |-------|-------|-------------|
48
- | `prompt-engineer` | Cinematic prompt generation for Veo 3.1 | All 7 skills |
49
-
50
- ---
51
-
52
- ## 🧩 Skills (7)
49
+ | `prompt-engineer` | Cinematic prompt generation for Veo 3.1 / Kling 3.0 | All 8 skills |
50
+
51
+ ---
52
+
53
+ ## 🧩 Skills (8)
53
54
 
54
55
  | Skill | Description |
55
56
  |-------|-------------|
56
57
  | `safety-compliance` | **Platform safety**, celebrity name prohibition, AUTO-ANONYMOUS (otomatik anonimleştirme), AUTO-SAFETY, safe framing, content restrictions |
57
- | `reference-locking` | **Reference image enforcement**, EXACTLY language, repeat protocol |
58
- | `frame-chaining` | **Shot continuity**, last frame → first frame chaining, scene transition protocol (fade, dissolve, match cut) |
59
- | `coverage-system` | **Mandatory coverage shots** (Reaction, OTS, Insert, Cutaway, ECU, Wide) + L-cut/J-cut + 30° kuralı + **180° kuralı** + eyeline match + matching action + multi-character blocking |
60
- | `visual-modes` | **Ultra Realism** default, stylization triggers, anti-AI artifact rules + **renk sürekliliği** + magic hour + flashback/rüya görsel ayrımı |
58
+ | `reference-locking` | **Reference image enforcement**, EXACTLY language, repeat protocol |
59
+ | `frame-chaining` | **Shot continuity**, last frame → first frame chaining, scene transition protocol (fade, dissolve, match cut) |
60
+ | `coverage-system` | **Mandatory coverage shots** (Reaction, OTS, Insert, Cutaway, ECU, Wide) + L-cut/J-cut + 30° kuralı + **180° kuralı** + eyeline match + matching action + multi-character blocking |
61
+ | `spatial-blocking` | **Relational realism**: eyeline targeting, plane mapping, body orientation, shared lighting, depth/scale integration, anti-cutout / anti-miniature cues |
62
+ | `visual-modes` | **Ultra Realism** default, stylization triggers, anti-AI artifact rules + **renk sürekliliği** + magic hour + flashback/rüya görsel ayrımı |
61
63
  | `audio-design` | **Sound design** rules, voice realism, SFX, ambience, audio direction block + diegetic/non-diegetic ses ayrımı |
62
64
  | `prompt-structure` | Image/video prompt templates, camera vocabulary, seed parameter, prompt rewriter, **re-take strategy**, coverage prompt yazım standartları (≥60 kelime) |
63
65
 
@@ -83,9 +85,10 @@ User Scenario → Agent Activated → Read model-profile → Load Required Skill
83
85
  .agent/model-profile.md (ALWAYS FIRST)
84
86
 
85
87
  safety-compliance (ALWAYS)
86
- reference-locking (if refs provided)
87
- frame-chaining (ALWAYS)
88
- coverage-system (ALWAYS - mandatory)
88
+ reference-locking (if refs provided)
89
+ frame-chaining (ALWAYS)
90
+ spatial-blocking (when gaze/depth/scale realism matters)
91
+ coverage-system (ALWAYS - mandatory)
89
92
  visual-modes (check for style triggers)
90
93
  audio-design (if dialogue/SFX needed)
91
94
  prompt-structure (ALWAYS)
package/content/MASTER.md CHANGED
@@ -24,8 +24,9 @@ Scenario Received → Check for elements:
24
24
 
25
25
  ├── Celebrity/Public Figure mentioned? → READ safety-compliance/SKILL.md
26
26
  ├── Reference images provided? → READ reference-locking/SKILL.md
27
- ├── Multiple shots? → READ frame-chaining/SKILL.md (ALWAYS)
28
- ├── Style keywords (anime, noir, etc.)? → READ visual-modes/SKILL.md
27
+ ├── Multiple shots? → READ frame-chaining/SKILL.md (ALWAYS)
28
+ ├── Multi-subject / gaze / depth realism? → READ spatial-blocking/SKILL.md
29
+ ├── Style keywords (anime, noir, etc.)? → READ visual-modes/SKILL.md
29
30
  ├── Dialogue/SFX needed? → READ audio-design/SKILL.md
30
31
  ├── ALWAYS READ → coverage-system/SKILL.md (MANDATORY)
31
32
  └── ALWAYS READ → prompt-structure/SKILL.md
@@ -157,11 +158,18 @@ When user provides references, EVERY prompt MUST:
157
158
  1. [Tek cümle sahne özeti] — "Cinematic close-up of a young soldier in a dim bunker."
158
159
  2. [Kim/Ne/Nerede] — Karakter fiziksel tanımı, kıyafet, konum detayı
159
160
  3. [Aksiyon] — Ne yapıyor, mikro-davranış, oyunculuk ipucu
160
- 4. [Kamera + Lens] — "85mm f/2.0, shallow DOF, static with handheld micro-movement"
161
- 5. [Işık + Atmosfer] — "Warm oil lamp key light from screen-left, deep shadows"
162
- 6. [Audio direction block] — (sadece video prompt'larında)
163
- 7. [Avoid line] — (HER prompt'ta zorunlu)
164
- ```
161
+ 4. [Kamera + Lens] — "85mm f/2.0, shallow DOF, static with handheld micro-movement"
162
+ 5. [Işık + Atmosfer] — "Warm oil lamp key light from screen-left, deep shadows"
163
+ 6. [Audio direction block] — (sadece video prompt'larında)
164
+ 7. [Avoid line] — (HER prompt'ta zorunlu)
165
+ ```
166
+
167
+ **Spatial Blocking Layer (zorunlu, uygun sahnelerde):**
168
+ - Foreground / midground / background açıkça tanımlanır
169
+ - Karakterin bakış hedefi net yazılır (`not camera` gerektiğinde açıkça belirtilir)
170
+ - Çene / omuz / gövde yönü bakışı destekler
171
+ - Tek motive ışık kaynağı ve tüm öznelere etkisi yazılır
172
+ - Derinlik ve ölçek için haze / contrast falloff / tam ölçek ilişkisi belirtilir
165
173
 
166
174
  **❌ YANLIŞ:** Detayla başlayıp sahne özetini ortada vermek
167
175
  **✅ DOĞRU:** İlk cümle = "Bu shot ne?" sorusunun tek cümlelik cevabı
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: prompt-engineer
3
3
  description: Senior Technical Prompt Engineer for model-aware runtime profiles (Veo 3.1 / Kling 3.0). Converts shot lists and scenarios into production-grade cinematic prompts optimized for continuity and platform compliance.
4
- skills: safety-compliance, reference-locking, frame-chaining, coverage-system, visual-modes, audio-design, prompt-structure
4
+ skills: safety-compliance, reference-locking, frame-chaining, coverage-system, spatial-blocking, visual-modes, audio-design, prompt-structure
5
5
  ---
6
6
 
7
7
  # Prompt Engineer - Hollywood Standard Cinematic Video Generation
@@ -41,8 +41,9 @@ You are a senior Technical Prompt Engineer specialized in model-aware cinematic
41
41
  12. **HER prompt'ta Avoid satırı ZORUNLU (❗ coverage dahil)**
42
42
  13. **🇹🇷 Türkçe özet: Her shot ve coverage için 1 cümlelik Türkçe özet ekle**
43
43
  14. Emotional arc: Film genelinde gerilim eğrisi (1-5) uygula
44
- 15. **Hard quality floor:** ILK >=80, SON >=80, VIDEO >=120, coverage >=70 kelime
45
- 16. **Hard specificity floor:** Her promptta lens/framing, lighting ve FG/MG/BG action detayları zorunlu
44
+ 15. **Hard quality floor:** ILK >=80, SON >=80, VIDEO >=120, coverage >=70 kelime
45
+ 16. **Hard specificity floor:** Her promptta lens/framing, lighting ve FG/MG/BG action detayları zorunlu
46
+ 17. **Spatial realism floor:** eyeline target, plane map, shared light source, contact/weight cues ve tam ölçek derinlik mantığı gerektiğinde zorunlu
46
47
 
47
48
  ---
48
49
 
@@ -199,8 +200,9 @@ Before outputting ANY shot:
199
200
  - [ ] Audio direction present on EVERY video prompt? (Veo block or Kling inline)
200
201
  - [ ] 2-3 Coverage shots included in the same file?
201
202
  - [ ] Quality floor passes? (ILK>=80, SON>=80, VIDEO>=120, coverage>=70)
202
- - [ ] Specificity floor passes? (lens + lighting + FG/MG/BG action)
203
- - [ ] Model Control block exists? (`Model`, `Preset`, `CFG`, `Transition Mode`)
203
+ - [ ] Specificity floor passes? (lens + lighting + FG/MG/BG action)
204
+ - [ ] Spatial realism passes? (eyeline target + plane map + shared light + contact/depth cues)
205
+ - [ ] Model Control block exists? (`Model`, `Preset`, `CFG`, `Transition Mode`)
204
206
 
205
207
  ### 3. Kling-Specific Gates (when model is kling-3.0)
206
208
  - [ ] Motion timeline uses `first → then → finally` structure?
@@ -0,0 +1,290 @@
1
+ ---
2
+ name: spatial-blocking
3
+ description: Relational staging system for eyelines, plane mapping, contact/weight cues, shared lighting, and depth integration. Prevents pasted-composite, toy-scale, and disconnected-gaze artifacts in realistic scenes.
4
+ ---
5
+
6
+ # Spatial Blocking & Relational Realism
7
+
8
+ > **Philosophy:** A believable frame is not a pile of objects. It is a set of spatial relationships.
9
+ > **Core Principle:** If subjects do not share gaze, light, depth, and physical contact logic, the image will look fake no matter how detailed the prompt is.
10
+
11
+ ---
12
+
13
+ ## When To Load
14
+
15
+ Load this skill whenever ANY of these are true:
16
+
17
+ - two or more subjects appear in the same frame
18
+ - a person must look at a specific object/person, not the camera
19
+ - foreground and background subjects must feel naturally integrated
20
+ - a vehicle / large prop / architecture piece shares the frame with a person
21
+ - scale, perspective, or compositing realism matters
22
+
23
+ If unsure, load it.
24
+
25
+ ---
26
+
27
+ ## Primary Failure Modes
28
+
29
+ | Failure | What It Looks Like | Root Cause |
30
+ |---------|--------------------|-----------|
31
+ | **Disconnected gaze** | Subject looks at camera or empty air | Eyeline target not specified spatially |
32
+ | **Cutout / pasted composite** | Person feels dropped in like PNG | Shared light/contact/occlusion logic missing |
33
+ | **Toy / miniature scale** | Soldier, tank, building look like models | Wrong depth cues, texture contrast, or focal logic |
34
+ | **Floating subject** | Body has no weight against environment | No support/contact/pressure cues |
35
+ | **Plane confusion** | Foreground/background feel collapsed | No plane map or atmospheric depth plan |
36
+
37
+ ---
38
+
39
+ ## Mandatory Spatial Contract
40
+
41
+ For any spatially complex shot, the prompt must answer all five:
42
+
43
+ 1. **Plane Map:** Who/what is in foreground, midground, background?
44
+ 2. **Eyeline Map:** Exactly who is looking at what?
45
+ 3. **Body Orientation:** How are chin, torso, shoulders, and hands oriented?
46
+ 4. **Light Map:** What is the motivated key light and how does it hit each subject?
47
+ 5. **Depth Map:** How do contrast, texture, and haze change by distance?
48
+
49
+ If even one is missing, realism drops sharply.
50
+
51
+ ---
52
+
53
+ ## 1. Plane Map
54
+
55
+ Always define frame layers explicitly when multiple subjects share the frame.
56
+
57
+ ### Required Language
58
+
59
+ Use this kind of phrasing:
60
+
61
+ ```text
62
+ Foreground left: elderly woman, 1 meter from camera, filling the left third.
63
+ Midground center: tank turret, 3 meters behind her.
64
+ Upper midground: soldier emerging from hatch above the turret.
65
+ Background: apartment facade softened by sodium-vapor haze.
66
+ ```
67
+
68
+ ### Rules
69
+
70
+ - Give each important subject a plane: foreground / midground / background
71
+ - Give rough distance when scale matters
72
+ - Give frame position: left third, center, upper right, etc.
73
+ - If one subject overlaps another, say so
74
+
75
+ ### Do Not Write
76
+
77
+ - "A woman and a tank in the street"
78
+ - "Soldier behind her"
79
+
80
+ Those describe inventory, not spatial staging.
81
+
82
+ ---
83
+
84
+ ## 2. Eyeline Map
85
+
86
+ AI is weak at "X looks at Y" unless you specify target, height, and direction.
87
+
88
+ ### Required Language
89
+
90
+ ```text
91
+ Her eyes are locked upward toward the soldier in the hatch, not toward the camera.
92
+ The soldier looks downward toward the woman below him.
93
+ Both eyelines intersect on the tank hatch line.
94
+ ```
95
+
96
+ ### Rules
97
+
98
+ - Name the target object/person explicitly
99
+ - State `not camera` when camera-looking would be a common failure
100
+ - Use directional phrasing: upward, downward, screen-left, across frame
101
+ - Make head angle and gaze angle support each other
102
+
103
+ ### Eyeline Checklist
104
+
105
+ - eyes target is named
106
+ - head angle supports eye direction
107
+ - body orientation supports head angle
108
+ - reciprocal gaze is specified when two characters interact
109
+
110
+ ---
111
+
112
+ ## 3. Body Orientation & Contact
113
+
114
+ Subjects feel fake when gaze says one thing but body says another.
115
+
116
+ ### Required Language
117
+
118
+ ```text
119
+ Her chin tilts upward, shoulders turned toward the tank, raised palm directed toward the soldier.
120
+ The soldier braces both forearms on the hatch rim, torso leaning slightly forward.
121
+ ```
122
+
123
+ ### Contact / Weight Cues
124
+
125
+ Always add physical support cues for realism:
126
+
127
+ - palm pressing against metal
128
+ - elbow resting on hatch rim
129
+ - sleeve compression at wrist
130
+ - boot planted on track guard
131
+ - cloth tension where arm is raised
132
+ - body weight shifted into the grounded leg
133
+
134
+ These cues reduce the pasted-PNG feeling.
135
+
136
+ ---
137
+
138
+ ## 4. Shared Light Map
139
+
140
+ The fastest way to create a composite artifact is to light each subject as if they live in different scenes.
141
+
142
+ ### Required Language
143
+
144
+ ```text
145
+ Single motivated sodium-vapor streetlamp from upper right.
146
+ Warm amber spill hits the woman's headscarf, the soldier's helmet, and the tank turret from the same direction.
147
+ Soft bounce from the tank's green metal lifts the underside of her raised hand.
148
+ ```
149
+
150
+ ### Rules
151
+
152
+ - name one motivated light source first
153
+ - specify direction: upper right, screen-left, back-right, overhead
154
+ - specify color temperature / hue
155
+ - mention how the same source affects each major subject
156
+ - if there is bounce, rim, or practical spill, say where it comes from
157
+
158
+ ### Shared-Light Checklist
159
+
160
+ - same key direction for all subjects
161
+ - same color family across subjects
162
+ - shadows make sense relative to source
163
+ - metallic / fabric / skin materials react differently but consistently
164
+
165
+ ---
166
+
167
+ ## 5. Depth, Scale, and Atmospheric Integration
168
+
169
+ Distance must change the image.
170
+
171
+ ### Required Language
172
+
173
+ ```text
174
+ Foreground skin and cloth retain crisp microtexture.
175
+ The soldier in upper midground has slightly softer contrast and less pore detail.
176
+ Background building falls into warm haze with reduced microcontrast.
177
+ Tank remains heavy and full-scale, not miniature.
178
+ ```
179
+
180
+ ### Rules
181
+
182
+ - foreground = highest texture fidelity
183
+ - distant subjects = lower microcontrast, less skin detail, more haze
184
+ - big machines must feel heavy through scale words: massive, full-scale, weighty, armored bulk
185
+ - use atmospheric perspective for night haze, smoke, dust, humidity
186
+ - do not make every plane equally sharp unless style explicitly demands it
187
+
188
+ ### Miniature-Effect Warning
189
+
190
+ Toy-like images often come from:
191
+
192
+ - shallow depth of field applied incorrectly across huge depth range
193
+ - too much crisp detail on distant small figures
194
+ - no haze or contrast falloff
195
+ - clean edges with no atmospheric integration
196
+
197
+ ---
198
+
199
+ ## Occlusion & Edge Integration
200
+
201
+ When one subject overlaps another, say it.
202
+
203
+ ### Examples
204
+
205
+ ```text
206
+ Her raised arm partially overlaps the turret.
207
+ The soldier is framed by the open hatch rim.
208
+ The tank barrel passes behind her gesture line.
209
+ ```
210
+
211
+ This helps kill cutout edges and independent-object rendering.
212
+
213
+ ---
214
+
215
+ ## Prompt Injection Template
216
+
217
+ Add a compact spatial paragraph like this in difficult shots:
218
+
219
+ ```text
220
+ Spatial blocking: foreground left [subject], [distance], [frame position]. Midground [anchor object]. Background [environment]. Eyeline: [subject A] looks [direction] toward [target], not camera; [subject B] looks back [direction]. Body orientation: [chin/torso/hand direction]. Shared lighting: [motivated source], [direction], [color], affecting all subjects consistently. Depth integration: foreground crisp, background softened by [haze/smoke/dust], full-scale perspective, no miniature effect.
221
+ ```
222
+
223
+ ---
224
+
225
+ ## Image Prompt Fix Strategy
226
+
227
+ When a still image fails:
228
+
229
+ 1. simplify to one motivated light source
230
+ 2. add plane map and explicit distances
231
+ 3. add `not camera` to eyeline instruction
232
+ 4. add contact/weight cues
233
+ 5. add depth integration sentence
234
+
235
+ Do not fix everything by adding more adjectives. Fix the relationship logic.
236
+
237
+ ---
238
+
239
+ ## Video Prompt Fix Strategy
240
+
241
+ For video prompts, preserve the same spatial logic over time:
242
+
243
+ - eyeline target stays stable unless the action changes it
244
+ - body orientation changes gradually, not magically
245
+ - light direction does not jump between frames
246
+ - background remains stable relative to camera move
247
+ - contact points stay believable throughout motion
248
+
249
+ If motion breaks realism, reduce movement complexity before adding detail.
250
+
251
+ ---
252
+
253
+ ## Anti-Artifact Avoid Terms
254
+
255
+ Use when relevant:
256
+
257
+ ```text
258
+ Avoid: disconnected eyelines, looking into camera, pasted composite look, cutout edges, floating subject, mismatched light direction, toy-like scale, miniature effect, warped perspective, detached shadows, inconsistent atmospheric depth.
259
+ ```
260
+
261
+ ---
262
+
263
+ ## Professional Retake Table
264
+
265
+ | Problem | Fix |
266
+ |---------|-----|
267
+ | Character looks at random place | add exact gaze target + `not camera` + head angle |
268
+ | Person feels pasted into scene | add shared light source + bounce/rim logic + occlusion/contact cues |
269
+ | Background soldier looks like toy | reduce distant detail, add haze, lower contrast, confirm full-scale perspective |
270
+ | Vehicle and human feel mismatched | specify distance, overlap, and support/contact relationship |
271
+ | Raised hand / gesture feels disconnected | state target, arm direction, wrist tension, shadow/bounce behavior |
272
+
273
+ ---
274
+
275
+ ## Final QA Checklist
276
+
277
+ Before shipping a shot:
278
+
279
+ - [ ] foreground / midground / background are explicit
280
+ - [ ] gaze target is explicit
281
+ - [ ] `not camera` is used when needed
282
+ - [ ] torso / chin / hand orientation align with gaze
283
+ - [ ] one motivated light source is named
284
+ - [ ] distant planes lose contrast/detail appropriately
285
+ - [ ] contact / pressure / support cues exist
286
+ - [ ] avoid line covers composite / scale / gaze artifacts when relevant
287
+
288
+ ---
289
+
290
+ > **Remember:** Realism comes from agreement. Eyes, body, light, depth, and contact all need to agree about the same world.
@@ -97,7 +97,7 @@ These artifacts identify AI-generated content. AVOID them absolutely:
97
97
  Include at end of EVERY image prompt:
98
98
 
99
99
  ```
100
- Avoid: blurry, low-res, noise, jpeg artifacts, motion blur, out of focus, distorted faces, bad anatomy, extra limbs/fingers, deformed hands, mismatched eyes, warped perspective, inconsistent lighting, banding, over-sharpening, plastic skin, waxy skin, airbrushed skin, beauty filter, porcelain doll look, symmetrical face, duplicate people, floating artifacts, on-screen text, captions/subtitles, watermark, logo, UI elements, cartoon/anime style, illustration style, CGI look, video game graphics, 3D render look, artificial lighting, synthetic appearance.
100
+ Avoid: blurry, low-res, noise, jpeg artifacts, motion blur, out of focus, distorted faces, bad anatomy, extra limbs/fingers, deformed hands, mismatched eyes, warped perspective, inconsistent lighting, banding, over-sharpening, plastic skin, waxy skin, airbrushed skin, beauty filter, porcelain doll look, symmetrical face, duplicate people, floating artifacts, cutout edges, pasted composite look, toy-like scale, miniature effect, disconnected eyelines, on-screen text, captions/subtitles, watermark, logo, UI elements, cartoon/anime style, illustration style, CGI look, video game graphics, 3D render look, artificial lighting, synthetic appearance.
101
101
  ```
102
102
 
103
103
  ---
@@ -107,7 +107,7 @@ Avoid: blurry, low-res, noise, jpeg artifacts, motion blur, out of focus, distor
107
107
  Include at end of EVERY video prompt:
108
108
 
109
109
  ```
110
- Avoid: distorted faces, morphing, bad anatomy, extra limbs/fingers, blurry, flickering, frame drops, inconsistent lighting, unnatural motion, warping, rolling shutter artifacts, camera jitter, on-screen text, captions/subtitles, watermark, logo, cartoon/anime style, CGI motion, synthetic appearance, robotic movement, puppet-like animation, uncanny valley expressions.
110
+ Avoid: distorted faces, morphing, bad anatomy, extra limbs/fingers, blurry, flickering, frame drops, inconsistent lighting, unnatural motion, warping, rolling shutter artifacts, camera jitter, cutout edges, pasted composite look, toy-like scale, miniature effect, disconnected eyelines, on-screen text, captions/subtitles, watermark, logo, cartoon/anime style, CGI motion, synthetic appearance, robotic movement, puppet-like animation, uncanny valley expressions.
111
111
  ```
112
112
 
113
113
  ---
@@ -95,6 +95,9 @@ For EACH shot:
95
95
  - explicit lens/framing/camera movement
96
96
  - explicit lighting direction/intensity/atmosphere
97
97
  - explicit foreground/midground/background action details
98
+ - explicit eyeline target / body orientation when a subject looks at someone or something
99
+ - explicit shared light source / bounce logic when multiple subjects share frame
100
+ - explicit depth/scale integration when more than one plane is visible
98
101
  9. Generate coverage prompts (2-3 per main shot, min 70 words each).
99
102
  10. Add Turkish summary for shot and each coverage section.
100
103
  11. Apply model-specific generation gates (see below).
@@ -130,6 +133,7 @@ Before writing prompts, design the Start→End transition:
130
133
  - [ ] Duration matches transformation budget
131
134
  - [ ] Start/end frames verified for same visual universe
132
135
  - [ ] Dialogue uses `"quotation marks"` with tone markers (Kling inline format)
136
+ - [ ] Eyelines, plane map, and shared-light logic stay consistent across start/end frames
133
137
 
134
138
  ### 4. Validation Pass (Mandatory Before Completion)
135
139
 
@@ -44,9 +44,17 @@ Validate all prompts before delivery to ensure platform compliance.
44
44
  - chain breaks are explicitly declared when needed
45
45
 
46
46
  4. Quality checks
47
- - main image prompts >= 60 words
48
- - main video prompts >= 80 words
49
- - coverage prompts >= 60 words
47
+ - `ILK/İLK FRAME` prompt >= 80 words
48
+ - `SON FRAME` prompt >= 80 words
49
+ - `VIDEO/VİDEO` prompt >= 120 words
50
+ - each coverage prompt >= 70 words
51
+ - lens/framing/camera movement details are explicit
52
+ - lighting direction/intensity/atmosphere details are explicit
53
+ - foreground/midground/background action details are explicit
54
+ - gaze target is explicit when a character is looking at a subject/object
55
+ - shared motivated light source is explicit when multiple subjects share frame
56
+ - contact / weight / support cues exist when compositing realism is critical
57
+ - depth / scale integration is explicit when multiple planes are visible
50
58
 
51
59
  5. Kling-only checks (when model is `kling-3.0`)
52
60
  - `Model Control` block exists in each SHOT file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milenyumai/film-kit",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "description": "Hollywood-standard cinematic prompt engineering toolkit with model profiles (Veo 3.1 / Kling 3.0). Auto-configures AI agents (Cursor, Claude Code, VS Code Copilot, Antigravity) with production-grade shot generation system.",
5
5
  "type": "module",
6
6
  "main": "./build/index.js",