@kolbo/mcp 1.70.1 → 1.70.3

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.
Files changed (37) hide show
  1. package/README.md +7 -7
  2. package/bin/kolbo-mcp.js +14 -5
  3. package/package.json +3 -2
  4. package/skill/GENERATED.md +4 -5
  5. package/skill/SKILL.md +11 -18
  6. package/skill/VERSION +1 -1
  7. package/skill/assets/filmmaking/continuity-ledger.template.json +27 -0
  8. package/skill/assets/filmmaking/generation-log.template.csv +2 -0
  9. package/skill/assets/filmmaking/production-bible.template.json +97 -0
  10. package/skill/assets/filmmaking/scene-card.template.json +40 -0
  11. package/skill/assets/filmmaking/shot-card.template.json +72 -0
  12. package/skill/references/filmmaking/acting-direction.md +131 -0
  13. package/skill/references/filmmaking/asset-preproduction.md +97 -0
  14. package/skill/references/filmmaking/audio-dialogue-music.md +111 -0
  15. package/skill/references/filmmaking/blocking-continuity.md +125 -0
  16. package/skill/references/filmmaking/cinematography.md +101 -0
  17. package/skill/references/filmmaking/physics-action.md +93 -0
  18. package/skill/references/filmmaking/production-bible.md +108 -0
  19. package/skill/references/filmmaking/prompt-contracts.md +140 -0
  20. package/skill/references/filmmaking/routing.md +105 -0
  21. package/skill/references/filmmaking/scene-engine.md +95 -0
  22. package/skill/references/filmmaking/validation.md +109 -0
  23. package/skill/references/filmmaking/workflows.md +80 -0
  24. package/skill/references/models/gpt-image.md +1 -1
  25. package/skill/references/models/nano-banana.md +1 -1
  26. package/skill/references/models/prompt-copilot.md +0 -1
  27. package/skill/references/models/seedance.md +24 -44
  28. package/skill/references/models/seedance25.md +3 -3
  29. package/skill/references/workflows/filmmaking.md +168 -0
  30. package/skill/scripts/filmmaking/lint_prompt.py +249 -0
  31. package/skill/scripts/filmmaking/validate_film_package.py +435 -0
  32. package/src/apps/index.js +26 -3
  33. package/src/index.js +11 -11
  34. package/src/install.js +62 -3
  35. package/src/tools/generate.js +2 -2
  36. package/src/tools/models.js +1 -1
  37. package/src/tools/visual_dna.js +1 -1
@@ -363,7 +363,7 @@ function registerModelTools(server, client, options = {}) {
363
363
  }
364
364
 
365
365
  if (withSummary.length > 0) {
366
- sections.push(`Auto-selectable models (${withSummary.length}) — CHOOSE BY THE SUMMARY after each "—": match it to what the user asked for, then take the CHEAPEST model that fits. Credit cost, [NEW] and [RECOMMENDED] are not reasons to pick a model:\n${withSummary.map(formatModel).join('\n')}`);
366
+ sections.push(`Auto-selectable models (${withSummary.length}) — If the user already named a model/family (this turn or earlier), use that family — do not cheapest-swap. Otherwise CHOOSE BY THE SUMMARY after each "—": match it to what the user asked for, then take the CHEAPEST model that fits. Credit cost, [NEW] and [RECOMMENDED] are not reasons to pick a model:\n${withSummary.map(formatModel).join('\n')}`);
367
367
  }
368
368
  if (withoutSummary.length > 0) {
369
369
  sections.push(`Named-only models (${withoutSummary.length}) — only use if the user explicitly requests by name:\n${withoutSummary.map(formatModel).join('\n')}`);
@@ -197,7 +197,7 @@ function registerVisualDnaTools(server, client, options = {}) {
197
197
  'Generate a reference sheet for a Visual DNA from 1+ reference image URLs — the same step the in-app Visual DNA wizard offers, for EVERY DNA type via `sheet_type`: character = multi-angle turnaround, product = angles + branding/material/construction close-ups, environment = location angles + one signature detail, style = a style board (the same look applied to six varied subjects). The sheet is the single strongest consistency booster for a DNA, and it always preserves the reference\'s original art style (2D stays 2D, photo stays photo). CHARGES CREDITS, so when the user is about to create a DNA, OFFER this first ("want me to generate a reference sheet for stronger consistency? it costs a few credits") and only run it on a yes. Returns `character_sheet_url` — pass it as `character_sheet_url` to `create_visual_dna` with the matching `dna_type`.',
198
198
  {
199
199
  image_urls: z.array(z.string()).min(1).describe('Reference image URLs of the subject (for characters: front/side/varied angles work best). Use generated-image URLs or upload_media output.'),
200
- sheet_type: z.enum(['character', 'character_headless', 'product', 'environment', 'style']).optional().describe('Sheet layout. character = front/back/face turnaround. character_headless = wardrobe/body refs with a headless front panel (use when clothing must change without fighting the face sheet). product / environment / style = matching DNA types. Defaults to character.')
200
+ sheet_type: z.enum(['character', 'character_headless', 'character_bible', 'product', 'environment', 'style']).optional().describe('Sheet layout. character = front/back/face turnaround. character_headless = wardrobe/body refs with a headless front panel (use when clothing must change without fighting the face sheet). character_bible = denser production model-sheet (turnaround + faces + wardrobe + color swatches). product / environment / style = matching DNA types. Defaults to character.')
201
201
  },
202
202
  async ({ image_urls, sheet_type }) => {
203
203
  const result = await client.post('/v1/visual-dna/character-sheet', { image_urls, ...(sheet_type ? { sheet_type } : {}) });