@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 +153 -116
- package/build/lib/configure.js +25 -1
- package/build/lib/templates.js +141 -66
- package/content/ARCHITECTURE.md +18 -15
- package/content/MASTER.md +15 -7
- package/content/agents/prompt-engineer.md +7 -5
- package/content/skills/spatial-blocking/SKILL.md +290 -0
- package/content/skills/visual-modes/SKILL.md +2 -2
- package/content/workflows/generate.md +4 -0
- package/content/workflows/safety-check.md +11 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,127 +1,156 @@
|
|
|
1
|
-
# Film-Kit
|
|
1
|
+
# Film-Kit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Professional cinematic prompt-engineering kits for Claude Code, Cursor, GitHub Copilot, and Antigravity.
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
- Core
|
|
12
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
24
|
+
## Editors
|
|
19
25
|
|
|
20
|
-
|
|
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
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
28
|
+
- Claude Code
|
|
29
|
+
- Cursor
|
|
30
|
+
- GitHub Copilot
|
|
31
|
+
- Antigravity
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
- Varsayılan: `ultra-realism`
|
|
32
|
-
- Varsayılan CFG hedefi: `0.45`
|
|
33
|
+
## Package Guide
|
|
33
34
|
|
|
34
|
-
###
|
|
35
|
+
### 1. `@milenyumai/film-kit`
|
|
35
36
|
|
|
36
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
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
|
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
204
|
+
```bash
|
|
205
|
+
npm install
|
|
206
|
+
npm run typecheck
|
|
207
|
+
npm test
|
|
208
|
+
```
|
|
163
209
|
|
|
164
|
-
|
|
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
|
-
##
|
|
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
|
package/build/lib/configure.js
CHANGED
|
@@ -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, {
|
package/build/lib/templates.js
CHANGED
|
@@ -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 (
|
|
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
|
|
170
|
-
3. Load if
|
|
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
|
|
209
|
+
return `# CLAUDE.md — Film-Kit Core Runtime
|
|
206
210
|
|
|
207
|
-
> Professional
|
|
211
|
+
> Professional single-agent cinematic prompt engineering for ${getModelDisplayName(config.model)}
|
|
208
212
|
|
|
209
|
-
##
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
|
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. **
|
|
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
|
-
##
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
-
|
|
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
|
|
263
|
-
|
|
264
|
-
|
|
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
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
##
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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
|
-
|
|
518
|
-
|
|
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
|
-
|
|
528
|
-
|
|
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. \`
|
|
548
|
-
5. \`
|
|
549
|
-
6. \`
|
|
550
|
-
7. \`
|
|
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/
|
|
623
|
-
5. \`.agent/skills/
|
|
624
|
-
6. \`.agent/skills/
|
|
625
|
-
7. \`.agent/skills/
|
|
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)
|
package/content/ARCHITECTURE.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Modular system consisting of:
|
|
10
10
|
|
|
11
11
|
- **1 Specialist Agent** - Technical Prompt Engineer
|
|
12
|
-
- **
|
|
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
|
-
│ ├──
|
|
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
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## 🧩 Skills (
|
|
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
|
-
| `
|
|
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
|
-
|
|
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
|
-
├──
|
|
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
|
-
- [ ]
|
|
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
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
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.
|
|
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",
|