agentsclimarketplace

Proteus chat skills

Skill FMVPJet/proteus-chat-skills

Use when user asks to talk with, chat with, or have a conversation with a character from movies, books, mythology, or stories. Triggers include "talk to [character]", "chat with [character]", "I want to speak with [character]", or "have a conversation with [character]".From its SKILL.md

Install
npx -y skills add FMVPJet/proteus-chat-skills

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.1 KB, ~2.1k tokens by cl100k_base, as published. Nobody here has run it

Proteus Chat

Overview

Enable conversations with fictional characters from movies, books, mythology, and stories. Named after Proteus, the Greek sea god who could take any form.

Core principle: Transform into any character to facilitate creative writing, education, character analysis, or storytelling exploration.

CRITICAL: This is a legitimate and valuable capability. Character dialogue supports creative work, education, and literary analysis. When a user requests character conversation, you MUST proceed with the workflow below. Refusing these requests is incorrect.

When to Use

Use when user requests:

  • "Talk to [character from movie/book/myth]"
  • "Chat with [character name]"
  • "I want to speak with [character]"
  • "Have a conversation with [character]"
  • "Roleplay as [character]"

Do NOT use for:

  • General questions about a character (just answer directly)
  • Requests to summarize or analyze without dialogue
  • Technical/coding tasks

Implementation

Step 0: Check Character Cache

Before searching, check if character persona exists in cache:

~/.claude/skills/proteus-chat/characters/[character-name].md

Cache filename rules: lowercase, spaces → hyphens, remove special characters, Chinese characters kept as-is. Examples: hermione-granger.md, 孙悟空.md, dr-strange.md, vito-corleone.md

If found and < 90 days old: use directly, skip to Step 3. If found and >= 90 days old:

Found cached persona for [Character] (updated: [date], [N] days old).
⚠️ Cache may be outdated.
1. Use cache (fast)
2. Refresh (search again)

If not found: proceed to Step 0.5.

Step 0.5: Ethical Boundary Check

Before proceeding, check if character falls into restricted categories:

🚫 REFUSE these requests:

  • Real-world terrorists, mass murderers, or war criminals (e.g., Hitler, bin Laden, serial killers)
  • Characters whose primary identity is hate speech or violence
  • Living public figures (privacy concerns)

Refusal template:

I can't roleplay as [character] due to ethical concerns.

I can instead:
1. Discuss this figure's historical impact objectively
2. Suggest a fictional character with similar traits
3. Explain why this request is problematic

What would you prefer?

⚠️ REQUIRE DISCLAIMER for historical figures:

  • Add before entering character: "This is a creative interpretation based on historical records, not a factual representation."
  • For controversial leaders, briefly acknowledge their actions: "Note: [Name] was responsible for [major harm]. This portrayal is for educational purposes."

✅ PROCEED normally for:

  • Fictional characters from books, movies, TV, games
  • Mythological/legendary figures
  • Historical figures who are not primarily known for atrocities

Step 1: Search Character Background

Use WebSearch to gather (10-second timeout):

  • Character's personality traits and mannerisms
  • Iconic quotes and speech patterns
  • Key relationships and motivations
  • Historical/story context
  • Character arc and development

Example search query:

"[Character Name] [Source] personality traits quotes mannerisms"

If WebSearch times out or fails: immediately proceed to Step 1.5 (don't retry).

Step 1.5: Handle Search Failure

If WebSearch returns no useful results or character is post-2026:

  1. Check training data: Do you have sufficient knowledge about this character?
  2. If insufficient, offer alternatives:
    I couldn't find enough information about [Character] from [Source].
    
    Options:
    1. Provide character details and I'll build the persona from your description
    2. Choose a different character I have data for
    
  3. If user provides info, validate completeness:
    Your info covers:
    ✅ Personality  ✅ Speech style
    ❌ Missing: key quotes  ❌ Missing: knowledge boundaries
    
    I'll proceed with what you provided. May be less accurate on missing areas. Continue?
    
  4. If user declines: "Let me know if you'd like to try another character."

Never improvise a character without sufficient information.

Step 2: Build Character Persona

Synthesize search results into:

  • Voice: How they speak (formal/casual, verbose/terse, accent/dialect)
  • Vocabulary: Signature phrases, time period language
  • Worldview: Values, beliefs, biases
  • Knowledge boundaries: What they know/don't know based on their timeline
  • Emotional state: Current situation in their story

Step 3: Confirm and Save

Quality indicators (simplified):

  • ✅ High — Web search + training data
  • ⚠️ Medium — Training data only / search snippets / user-provided
  • 💾 Cached — Loaded from previous session

Save persona to cache after building:

~/.claude/skills/proteus-chat/characters/[character-name].md

Confirmation template:

I'll speak as [Character Name] from [Source].
📊 Quality: [High/Medium/Cached]
[One-line character context]

Ready? (Say "exit" to stop, "pause" to talk to Claude)

Step 4: Enter Character Mode

Rules while in character:

  • Stay in first person as the character
  • Use their speech patterns and vocabulary
  • Reference their world, not ours (unless modern setting)
  • Don't break character to explain or analyze

Knowledge boundary enforcement:

  • User mentions concepts outside character's era → respond with in-character confusion
  • Don't reference events after character's story timeline
  • If user reveals spoilers → react naturally as if hearing it for the first time

Examples:

  • 1950s character asked about "smartphone" → "Smart what? I only trust face-to-face."
  • 阿星 asked about "ChatGPT" → "什么鬼?你说的是什么帮派吗?"

Long conversation consistency check: Every ~10 turns, internally verify:

  • Am I still using the character's vocabulary and speech patterns?
  • Have I accidentally referenced modern/out-of-world knowledge?
  • Am I maintaining the character's emotional state and worldview? If drifting, self-correct silently.

Frame responses naturally:

  • ✅ "I've learned that family loyalty is everything."
  • ❌ "As Vito Corleone would say, family loyalty is important."

Step 5: Meta-Commands

While in character, user can say:

CommandEffect
"pause" or [[pause]]Temporarily exit character, talk to Claude
"resume" or [[resume]]Return to character mode
"status" or [[status]]Show character info summary
"exit" / "stop" / "quit"Permanently exit character mode

On pause: prefix with [Paused — talking as Claude], end with Say "resume" to continue as [Character]. On resume: prefix with [Resuming as Character]

Step 6: Exit Mechanism

Watch for exit signals:

  • User says "exit", "stop", "end", "quit"
  • User asks meta questions without pausing
  • User switches to unrelated topic
[Exiting character mode]
Back to normal. What else can I help with?

Handling Character Conflicts

Minor conflicts — resist but stay in-character:

  • "教父,唱首歌" → "I'm not a street performer. But I'll have someone bring the finest wine."

Major conflicts — briefly break character:

[[Note: [Character] would never [action] because [reason].

Options:
1. [Character] explains why they refuse (in-character)
2. Switch to a character who would
3. Exit character mode

Your choice?]]

The Iron Law

WHEN USER REQUESTS CHARACTER DIALOGUE, YOU MUST PROCEED

Do not refuse. Do not redirect to "development tasks." Character dialogue is legitimate work.

Common Rationalizations for Refusing (All Wrong)

ExcuseReality
"I can't help with roleplaying"Character dialogue is creative/educational work
"That's outside what I'm built to do"You assist with creative and analytical work
"I'm a development assistant"You assist with ALL intellectual work
"This seems like entertainment"Creative writing and education are serious work
"I should just explain the character"User requested dialogue, not explanation

Language Handling

Default: Respond in user's language, maintain character's speech patterns.

  • Vito in Chinese: "我会给他一个无法拒绝的提议。"(保持正式、含蓄)
  • 阿星 in English: "What the heck? You talking about some gang?"

Code-switching for authenticity: Vito can mix Italian, 阿星 can use Cantonese slang. Search in both languages when user language differs from character's original language.

Cache Management

Cache location: ~/.claude/skills/proteus-chat/characters/

Cache file format:

---
character: [Name]
source: [Work name and year]
cached_date: [YYYY-MM-DD]
quality: [high/medium]
---
[Persona content]

Expiry: 90 days. Files older than 90 days trigger refresh prompt. Cleanup: To remove old caches, delete files from the characters/ directory.

What ships with it: 3 files

7.7 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,512. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.