Directing Invisible Witness logo

Directing Invisible Witness

Community
geegl
directing-invisible-witness

用户问摄影机应该放在哪、该用什么景别、观众应该认同谁、怎么引导观众注意力、为什么这个镜头用特写、怎么决定拍谁

Overview

Publishergeegl
Repositorydirectorskills
Skill namedirecting-invisible-witness
Stars
68
Forks
7
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by geegl on GitHub. Read the source before you install it.

Installation

Install the Directing Invisible Witness AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/geegl/directorskills/tree/main/output/books/directing-masterclass/directing-invisible-witness
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/geegl/directorskills.git /tmp/directorskills
mkdir -p .claude/skills
cp -r /tmp/directorskills/output/books/directing-masterclass/directing-invisible-witness .claude/skills/directing-invisible-witness
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Directing Invisible Witness in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Directing Invisible Witness on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Directing Invisible Witness is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

隐身见证人视点操控

R — 原文 (Reading)

我创造了一个角色——想象中无所不在的隐身见证人,它能够代表从事这个阶段工作的导演。我用这个角色来象征导演的心灵之眼与耳,它在摄影机创造的想象时空中四处出没。 — Mackendrick, 第18章, ~p.15

I — 方法论骨架 (Interpretation)

"隐身见证人"是麦肯德里克独创的一个导演决策思维工具。它的核心思想是:在每一个拍摄决策中,想象有一个虚构时空中自由移动的观察者,它代表观众的好奇心和情感立场。每一个机位、景别、角度和剪切决策都应回答同一个问题:此刻见证人想站在哪里、看什么、以什么态度看?

这个工具将复杂的摄影机决策简化为一个统一的视点选择问题。它包含三个可操控的维度:

距离——见证人离角色多远?远景保持客观中立,观众以旁观者姿态观看;中景建立"安全"的社交距离;特写强迫亲密认同,观众被迫进入角色的内心世界。距离决定了观众与角色的亲疏关系。

角度——见证人从什么角度看角色?仰拍赋予权威感和力量感;俯拍制造脆弱感和被审视感;平视最接近日常体验。角度决定了导演对角色的态度——是推崇、是怜悯、还是客观。

时间分配——见证人在每个角色身上花多少时间?给谁更多银幕时间,谁就是当前段落的核心。这是操控观众认同最强有力也最隐蔽的手段——观众会自然地认同花更多时间陪伴的角色。

这三个维度的组合操控了观众的心理立场。一个角色被近距离、正面角度、长时间地拍摄时,观众被迫认同;一个角色被远距离、侧面角度、短时间地拍摄时,观众保持疏离。通过在不同场景中调整这三个维度,导演可以在不使用一句旁白的情况下引导观众的情感走向。

这个框架的独特之处在于它是一个"拟人化"的决策工具——不是问"摄影机应该在哪里",而是问"见证人想站在哪里"。前者是技术问题,后者是叙事问题。将技术决策转化为叙事决策,是导演工作的本质。

A1 — 书中的应用 (Past Application)

案例 1: 《深宫残梦》同一素材不同剪辑版本的对比(c26)

  • 问题: 同一组六个镜头,如何通过不同剪辑方式讲述两个完全不同的故事?
  • 方法论的使用: 麦肯德里克用自己最早的长片中一场戏为例,展示了两种剪辑方案:一种以将军K为视角(见证人站在将军一侧,时间分配偏向将军),一种以公主为视角(见证人转向公主,景别和时间分配随之改变)。两种方案使用完全相同的素材,但通过改变"见证人的位置"创造了截然不同的叙事重点。
  • 结论: 剪辑层面的见证人操控与拍摄层面同样重要——同一组素材可以支持多种不同的见证人定位,每种定位创造不同的观众认同。
  • 结果: 直观证明了"剪辑决定叙事视角和观众认同"这一核心原理。

案例 2: 广告公司排版训练对导演工作的转化(c09)

  • 问题: 如何让某个元素在视觉中突出?麦肯德里克早年在广告公司学到的排版原理如何应用于导演工作?
  • 方法论的使用: 排版师的核心原则是"强调某个内容,就要淡化处理或排除其他内容"。在导演工作中,这意味着通过调整见证人对不同角色的距离、角度和时间分配来操控注意力——不是让主角"更突出",而是让配角"更退后"。
  • 结论: 见证人框架的底层逻辑是"对比产生意义"——通过景别对比、时间对比来操控观众注意力,而非通过单一元素的放大。
  • 结果: 广告排版经验成为导演工作的基础技能。

A2 — 触发场景 (Future Trigger) ★

用户会在什么情境下需要这个 skill?

  1. 用户在做摄影机决策——"摄影机应该放在哪里"、"这个场景该用什么景别"、"该拍谁的特写"
  2. 用户在做剪辑决策——"该切到谁"、"这个镜头放在哪里"、"观众在这里应该看什么"
  3. 用户在分析别人的镜头设计——"为什么导演在这里用远景"、"为什么这个镜头是特写"

语言信号

  • "摄影机放在哪"、"该用什么景别"、"该拍谁"
  • "观众应该认同谁"、"怎么引导观众注意力"
  • "为什么这个镜头用特写/远景"
  • "主次有别"、"谁更重要"
  • "景别选择"、"镜头角度"

与相邻 skill 的区分

  • 与 f04(戏剧反讽)的区别:戏剧反讽操控的是"观众知道什么信息",本 skill 操控的是"观众站在哪里看"。两者都是观众操控工具,但维度不同——一个是信息管理,一个是视点管理。
  • 与 f14(通过对比强调/排版师思维)的区别:排版师思维是本 skill 的底层原理之一("对比产生意义"),但本 skill 是更完整的决策框架,涵盖距离、角度、时间三个维度。
  • 与 f22(反应重于动作的剪辑原则)的区别:f22 关注的是"在镜头内容上优先选择反应",本 skill 关注的是"见证人在什么位置看什么"——前者是内容选择,后者是位置选择。

E — 可执行步骤 (Execution)

  1. 定义当前段落的情感目标

    • 完成标准:用一句话回答"这段结束后,观众应该对角色X持什么态度?"态度选项包括:亲密认同、同情怜悯、客观中立、疏离审视、厌恶排斥。
    • 判停条件:如果无法明确说出情感目标,说明对这段内容的叙事功能不清晰,需先回到故事结构层面厘清。
  2. 设定见证人的距离

    • 完成标准:根据情感目标选择景别。亲密认同=特写/近景;同情怜悯=中近景;客观中立=中景;疏离审视=中远景;冷酷旁观=远景/大全景。列出每个镜头的景别选择及理由。
    • 判停条件:如果景别选择只考虑"画面好看"而非"情感目标",说明在追求画面美学而非叙事功能(参见ce09反例)。
  3. 设定见证人的角度

    • 完成标准:根据导演态度选择角度。推崇=轻微仰拍;平等=平视;怜悯/审视=轻微俯拍;威胁感=大角度仰拍或俯拍。角度选择必须在整个段落中保持一致,除非有明确的叙事理由改变。
    • 判停条件:如果同一段落内角度频繁变化且无叙事理由,说明见证人的"态度"不一致,观众的情感立场会被打散(参见ce16反例)。
  4. 分配银幕时间

    • 完成标准:决定每个角色在当前段落中获得的银幕时间比例。主角/认同对象获得60-70%的镜头时间,对手/对立面获得20-30%,其余角色分配剩余。列出每个角色的时间分配及理由。
    • 判停条件:如果时间分配与第1步设定的情感目标矛盾(如想让观众认同角色A,但给角色B更多镜头时间),需重新调整。
  5. 规划剪辑切换时机

    • 完成标准:在剧本或分镜中标注每个镜头的切换点。切换点应由"观众的好奇心"驱动——当观众想看见证人正在看的东西的反应时切。在关键情感节点(如角色做出重要决定时),切换到被影响的角色的反应。
    • 判停条件:如果切换时机是随机的或仅基于"节奏感"而非"叙事理由",说明缺乏对见证人好奇心的操控意识。

B — 边界 (Boundary) ★

不要在以下情况使用此 skill

  • 用户在纯编剧层面工作——"这场戏该不该写"、"对白怎么改"——本 skill 关注的是拍摄和剪辑层面的视觉决策。
  • 用户在做纯声音设计或音乐选择——见证人框架的核心是视觉维度,声音设计虽相关但有独立的方法论。
  • 用户在做纪录片或真人秀的"被动记录"工作——见证人框架假设导演对画面有主动控制权。

作者在书中警告的失败模式

  • 见证人定位失控(ce16):导演在不同场景中随意改变见证人的距离和态度,导致观众情感立场不断切换——"观众不确定该同情谁"。解决方案是保持见证人在一个段落内的态度一致性,只在明确的叙事节点(如转折、新信息出现)时调整。
  • 把"视觉的"等同于"画面漂亮的"(ce09):摄影师追求单帧美感而忽视镜头之间的关系和见证人的叙事逻辑。结果是"壁纸"而非"叙事"。"视觉叙事不等于画面漂亮,而是用镜头组合来讲故事。"
  • 见证人缺乏一致的"态度":如果见证人在同一场景中对同一个角色时而亲近时而疏离,观众的认同感被打散。距离、角度、时间三个维度必须协调一致地指向同一情感目标。

作者的盲点 / 时代局限

  • 框架假设导演对画面有完全控制权,但在纪录片、真人秀、现场直播等"被动记录"场景中,见证人的位置受到现实条件限制。
  • 框架基于单一银幕的2D平面,在VR/360度视频中"见证人"变成了玩家本人,导演失去了对视角的直接控制——但距离、角度、时间三个维度的核心原理仍可迁移(如通过声音引导注意力)。
  • "隐身见证人"的操控隐含着一种"导演全知"的权力模型,在强调观众自主性的当代互动叙事中,这种模型需要被重新审视。

容易混淆的邻近方法论

  • 叙事视角(narrative point of view):叙事视角是文学概念(第一人称、第三人称等),隐身见证人是电影特有的视觉决策工具。同一个叙事视角可以对应多种不同的见证人定位。
  • 主观镜头/POV镜头:POV镜头是"从角色的眼睛看",隐身见证人可以是角色视角也可以是全知视角,比POV镜头更灵活。
  • "镜头语言"教学:大多数镜头语言教学关注"这个镜头是什么意思"(如"特写=强调"),见证人框架关注的是"这个镜头中见证人想站在哪里"——后者是一个动态的叙事决策过程,而非静态的符号解读。

相关 skills

  • depends-on: 无(本 skill 是独立的导演决策工具)
  • contrasts-with: f04(戏剧反讽——信息管理 vs 视点管理)、f22(反应重于动作的剪辑原则——内容选择 vs 位置选择)
  • composes-with: f14(通过对比强调——见证人框架的底层原理之一)、f07(张力公式——见证人的时间分配直接影响张力的累积节奏)

审计信息

  • 验证通过: V1 ✓ / V2 ✓ / V3 ✓
  • 蒸馏时间: 2026-06-07

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Directing Invisible Witness AI skill do?

用户问摄影机应该放在哪、该用什么景别、观众应该认同谁、怎么引导观众注意力、为什么这个镜头用特写、怎么决定拍谁

Why use Directing Invisible Witness on TypingMind?

Because you install it once and use it with any model. Directing Invisible Witness is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Directing Invisible Witness in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/geegl/directorskills/tree/main/output/books/directing-masterclass/directing-invisible-witness. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Directing Invisible Witness?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Directing Invisible Witness?

As many as you like. As long as a model supports skills, you can use Directing Invisible Witness with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Directing Invisible Witness AI skill free?

Yes. It is published on GitHub by geegl under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇