Vip logo

Vip

Organization
Lifecycle-Innovations-Limited
vip

OPS on-demand: This skill should be used when the user asks to "vip list", "who is a VIP", "add someone…

Overview

PublisherLifecycle-Innovations-Limited
Repositoryclaude-ops
Skill namevip
Stars
543
Forks
64
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 Lifecycle-Innovations-Limited on GitHub. Read the source before you install it.

Installation

Install the Vip 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/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/vip
  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/Lifecycle-Innovations-Limited/claude-ops.git /tmp/claude-ops
mkdir -p .claude/skills
cp -r /tmp/claude-ops/claude-ops/skills/vip .claude/skills/vip
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Vip 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 Vip 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 Vip 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.

/ops:vip — VIP List

Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).

The priority layer over every inbox. VIPs are checked FIRST in any sweep, answered first, drafted with extra care, and never buried in a bulk digest.

Scope (deliberately narrow)

This skill does four things and nothing else:

  1. Enforce the list — VIP senders rank ahead of everything else in every sweep.
  2. Require FULL context before answering or drafting for a VIP: the whole thread, every account on that channel, both directions, plus the ledger brief.
  3. Order triage output by tier.
  4. Suggest additions when the signals below appear.

It does not read histories for their own sake, does not draft unasked, and does not open a second channel just because one record is open. A tier edit is metadata only. Tagging someone is never an instruction to sweep their history.

Configuration

Nothing here is machine-specific. Every value resolves from userConfig, an env var, or $HOME.

userConfig keyEnv overrideDefaultMeaning
vip_list_pathVIP_LIST_PATH$HOME/.claude-ops/state/vip-list.jsonTier data + why/register notes
vip_max_tierVIP_MAX_TIER2Highest tier treated as VIP
vip_suggest_enabled—trueEmit VIP candidate suggestions
vip_volume_days—30Window for the volume signal
vip_volume_min—12Two-way messages that trip volume
relations_cliRELATIONS_CLI$HOME/.claude-ops/relations/bin/relations-cliShared ledger CLI (see relations)
bash
PREFS_PATH="${PREFS_PATH:-${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json}"
read_pref() { [ -f "$PREFS_PATH" ] && python3 -c 'import json,sys;print(json.load(open(sys.argv[1])).get(sys.argv[2],"") or "")' "$PREFS_PATH" "$1" 2>/dev/null; }

VIP_LIST_PATH="${VIP_LIST_PATH:-$(read_pref vip_list_path)}"
VIP_LIST_PATH="${VIP_LIST_PATH:-$HOME/.claude-ops/state/vip-list.json}"
VIP_MAX_TIER="${VIP_MAX_TIER:-$(read_pref vip_max_tier)}"
VIP_MAX_TIER="${VIP_MAX_TIER:-2}"

# "No VIPs" and "the VIP list was never set up" are DIFFERENT answers and must
# never look the same. An unconfigured install that silently reports an empty
# list turns this skill into a no-op: every inbox sweep then treats the most
# important people as ordinary traffic and nobody finds out. Fail loud.
if [ ! -f "$VIP_LIST_PATH" ]; then
  echo "vip: no list at $VIP_LIST_PATH — set userConfig vip_list_path or VIP_LIST_PATH." >&2
  echo "vip: copy templates/vip-list.example.json there to start one." >&2
  exit 3
fi

The list file lives OUTSIDE the repo tree — it is the operator's identity and must never be committed (ops-rules Rule 0). Shape: templates/vip-list.example.json.

Tiers

TierMeaningHandling
1Inner circleNever let it sit. Checked first, answered first, never batched
2Key businessSame day. Ranked above general triage
3-5ReservedNot VIP by default (vip_max_tier = 2)

The ledger's importance_tier column is the source of truth for the tier value; the JSON file carries the why and the register notes (language, tone, dates to avoid). Both are read; the DB wins on conflict.

Operations

SubcommandWhat it does
list (default)Every person at or above vip_max_tier, grouped by tier
show <person>Tier, type, why, channel, register notes
set <person> --tier NAudited tier write via the ledger CLI, reason required
suggestRead-only candidate scan (see signals below); never writes
why <person>Which signal put a suggested candidate on the list
bash
"$RELATIONS_CLI" vip-list --max-tier "$VIP_MAX_TIER"
"$RELATIONS_CLI" vip <person_id> --tier 1 --type personal --reason "<why>"

Tier writes go through the CLI, never raw SQL. The CLI owns source_reference, the audit log, and the rollback path. A direct UPDATE on the ledger DB — inline or wrapped in a script — leaves an unauditable row and is forbidden even where no guard happens to fire.

Sweep order

Any inbox, chat, email, or ticket sweep runs in this order:

  1. Resolve the VIP set once (vip list), cache it for the sweep.
  2. Tier 1 senders, every channel, both directions, every account.
  3. Tier 2 senders, same.
  4. Everything else, normal triage.

A VIP with an unanswered inbound is always surfaced individually, with the thread context, never as a line in a digest.

Suggesting additions

Suggest, never add silently. A tier change needs the owner's word, then the audited CLI write. Three signals:

SignalTrigger
volumevip_volume_min+ two-way messages in vip_volume_days with someone off the list
frustrationThey say they are being ignored or chased ("still waiting", "any update")
chain-breakTheir last message is inbound and still unanswered

Two filters keep this honest, both learned from real false positives:

  • Anchor every keyword on both sides. A bare stem matches inside longer words (ping inside "tapping") and produces phantom frustration hits.
  • A thread ending on a sign-off is CLOSED, not broken. "Thanks!", "sounds good", an emoji, or any short ack with no question mark is not an open ask. Without this filter most chain-breaks are noise that buries the real ones.

Present at most 5 a week: who, which signal, the evidence line, and the exact CLI command to apply it. Then ask plainly. On "no", do not raise that person again.

Related skills

  • relations — the ledger, decision queue and draft path this list ranks
  • ops-inbox — the sweep that consumes the tier order
  • ops-comms — the send path, still gated by Rule 6 for every VIP
  • people — contact directory / identity resolution
  • ops-rules — Rule 0 (the list is operator data, never committed)

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 Vip AI skill do?

OPS on-demand: This skill should be used when the user asks to "vip list", "who is a VIP", "add someone…

Why use Vip on TypingMind?

Because you install it once and use it with any model. Vip 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 Vip in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/vip. 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 Vip?

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 Vip?

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

Is the Vip AI skill free?

Yes. It is published on GitHub by Lifecycle-Innovations-Limited 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 👇