christos-antono/npctalk/npc-actions

Claude Code and agent skill by christos-antono/npctalk

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Make NPCs physically react to a conversation and follow spoken orders. Pick an action (punch, slap, hug, kneel and beg, flee, flip off, square up, nothing...) from what the player said and what the NPC replied, with TypeSafe's Jev returning a typed choice and a probability in ~0.1 s, per-action thresholds, a repeat cooldown, orders ("get on your knees") that override mood and make the LLM rewrite the line, and mapping action names onto the game's animations with checks at load. Use when NPCs should act out what they say, obey commands, or when actions picked by an LLM are too random, too timid or too frequent.

Install

npx vskill@latest install christos-antono/npctalk/npc-actions

SKILL.md

NPC actions

Two questions per exchange, both asked to TypeSafe's Jev (a typed-judgment model: it returns one choice from a fixed set, with a probability, in ~0.1 s; key TYPESAFE_API_KEY, https://docs.typesafe.ai):

  1. Before the reply (in parallel with the LLM): is the player giving an order? "Take your shirt off", "get on

your knees", "give me a hug", "run". If Jev picks an action with ≥ 0.6 probability, it's an order: the NPC does it, and the LLM writes the line again knowing "you're <doing it> right now", so they grumble or joke while they comply instead of refusing. Costs ~0.1 s more, only then.

  1. After the reply (in parallel with the voice): what does their mood call for? From the player's words

and the NPC's reply, pick the action, or none.

The catalog (examples/gta-v/mod/ActionCatalog.cs)

Each action has a name, a description Jev reads, and the probability Jev must reach before it happens:

ActionMin. probabilityNotes
none-just talk: most exchanges
slap, punch, facepalm, square_up, threaten_gun, hug, kiss0.45
headbutt, shirt_off (men), pants_off (to underwear), bend_over, kneel_beg0.5
shoot, run_away0.6need real certainty: they end the conversation
middle_finger0.7Jev picks it a lot, so it needs more
  • Thresholds per action, not one global cut-off: tune the ones that fire too often upward.
  • Cooldown: the same NPC doesn't repeat an action within 60 s unless ordered to.
  • Descriptions are the prompt. Write when it applies ("only when the reply clearly means killing them right

now"), not just what it is.

  • Gender rules (men only) and content rules (underwear stays on) live in code, not in the prompt.

Mapping to the game (NpcActions.cs)

  • Each name maps to candidates: animation dictionary + clip, a task (flee, fight), or a clothing swap. Check

every candidate exists when the mod loads and log what was found (action anims:); fall back to the next.

  • Play the action while the line is spoken, aimed at the player (or at whoever the scene says).
  • A director or scripted scene can pin an action (do: kneel_beg) to skip the picker.

Test it

npcvoice-check actions (GTA example) runs 25 exchanges through Jev, 10 of them orders, and checks each pick (25/25 expected). In game, dev mode's PgUp/PgDn pick an action and End makes the target do it, to check the animation without a conversation.

Without Jev

A second LLM call with a JSON schema works, but it's slower (0.3-1 s) and its "confidence" isn't calibrated, so thresholds are guesswork. Whatever picks, keep the shape: a fixed set, a probability, per-action thresholds, orders checked first.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
169
Repository forks
11
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/christos-antono/npctalk/npc-actions/badge)](https://verified-skill.com/skills/christos-antono/npctalk/npc-actions)

Something wrong with this skill or its page? Tell us.