Experience Loader logo

Experience Loader

OrganizationPopular
volcengine
experience_loader

Load relevant OpenViking experience memories via case-linked experience candidates before solving a task.

Overview

Publishervolcengine
RepositoryOpenViking
Skill nameexperience_loader
Stars
37.9K
Forks
2.9K
Bundled files
Instructions only
LicenseAGPL-3.0
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.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

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

Installation

Install the Experience Loader 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.
  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/volcengine/OpenViking.git /tmp/OpenViking
mkdir -p .claude/skills
cp -r /tmp/OpenViking/benchmark/tau2/train/experience_loader_template .claude/skills/experience_loader
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Experience Loader 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 Experience Loader 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 Experience Loader 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.

experience_loader

Use this skill before taking task actions when reusable execution experience may help.

Required workflow

  1. Before taking task actions, call search_experience with a natural-language query that describes the current task.
  2. Build the query from the current domain, user intent, target object, requested operation, policy keywords, and likely tool/action family. Avoid vague queries such as "help user".
  3. Review the returned candidates. Each candidate is a matched case plus linked experience entries; each experience entry includes its name, uri, and a short situation snippet describing its applicability and exclusions.
  4. Gate before reading. For each linked experience, read its situation snippet and check whether the current task matches the experience's applicability AND does NOT match any of its exclusions / "不适用于" / "does not apply to" items. Skip experiences whose situation explicitly excludes your case (e.g. wrong cabin class, flights already flown, different action family, or different change type). Only call read_experience on experiences that plausibly apply after this check. If no experience passes the gate, continue without experience guidance.
  5. You may call search_experience multiple times with refined keywords, and you may call read_experience multiple times for the experiences that pass the gate.
  6. Treat loaded experiences as reusable guidance, not as current-task truth. Current policy, current tool results, and current user facts override prior experience.
  7. Re-verify after reading. Even after read_experience, before acting on the experience, check its full ## Situation against current facts you have obtained from tools (cabin class, reservation status, flight dates, segment state, etc.). If any "不适用于" / exclusion condition matches the current task now that you have concrete facts, DISCARD the experience and proceed from policy and tool results instead — do NOT apply its Approach or Reflect.
  8. Multi-intent tasks (e.g. "cancel, then book", "upgrade then change flight", "refuse a modification then offer a fallback") may legitimately require more than one experience; gate and apply each segment's experience independently. Do not end the task (done / transfer_to_human_agents) just because one segment's experience reaches a local return marker — check whether the user has a remaining intent.
  9. If no linked experience is plausibly relevant after gating, continue without experience guidance.

Local return markers in loaded experiences

Experience return markers are local to the covered intent/subtask. They are not whole-task success/failure labels and are not automatic permission to call done.

  • RETURN_COMPLETED: the specific intent/subtask covered by this experience has been completed, usually after the required business read/write tool calls and required customer communication. If the user has another independent intent, continue with that next intent instead of ending the conversation.
  • RETURN_BLOCKED(reason="..."): the covered intent/subtask cannot proceed under the current facts, policy, missing input, refusal boundary, or escalation boundary. Perform any required communication/escalation from the experience, then continue other remaining user intents if they are still actionable.
  • RETURN_NOT_APPLICABLE: the experience does not match the current facts; discard it and use another applicable experience or current policy/tool facts.

Refusal, no-option, policy-ineligible, missing-input, and transfer_to_human_agents branches should be interpreted as RETURN_BLOCKED(...) for that local intent, not as whole-task completion. Before ending globally, verify that every user intent is completed, blocked, not applicable, or explicitly transferred/stopped by the user/environment.

Tools

  • search_experience(query, limit=10): searches OpenViking memories/cases under the current user, reads each matched case's ## Linked Experiences section, and returns JSON candidates with case score, case URI, task signature, input summary, and linked experience entries (each with name, uri, and a situation snippet from the experience's ## Situation section).
  • read_experience(experience_uri): reads one OpenViking experience memory by full URI and returns Markdown.

Frequently asked questions

What does the Experience Loader AI skill do?

Load relevant OpenViking experience memories via case-linked experience candidates before solving a task.

Why use Experience Loader on TypingMind?

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

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/volcengine/OpenViking/tree/main/benchmark/tau2/train/experience_loader_template. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Experience Loader?

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 Experience Loader?

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

Is the Experience Loader AI skill free?

Yes. It is published on GitHub by volcengine under the AGPL-3.0 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 👇