Skip to content

Backseat Skills

Moti Barski edited this page Aug 8, 2026 · 4 revisions

Backseat Skills

A backseat skill is a skill that stays quiet during a think cycle if another skill already answered in that cycle. It's for things that normally respond on every input — a chatbot, an LLM — so they don't tack junk onto a more specific answer.

Example

You ask: "what is the time"

A LocalTimeSkill fires and gives you the correct answer:

4:15 PM

Without backseat behavior, a chatbot skill would also fire on that same input. It doesn't actually know the time, so it just chatters something irrelevant:

Time flies, doesn't it? What are you up to?

You asked for the time, not small talk.

With backseat behavior, the chatbot skill sits out that cycle entirely. You just get:

4:15 PM

This pattern applies anywhere a skill normally always responds but should step aside when something more relevant already handled the input — for example, a sound-effects skill overriding a TTS skill.

Scope: Per Lobe

A backseat skill only sits out if a skill in its own lobe fired that cycle.

The LocalTimeSkill lives in the logic lobe, so it has no effect on a sound-effects skill living in the hardware lobe. Different lobes never suppress each other.

How to Make a Skill Backseat

One line, set in the skill's own class:

self.set_skill_type(2)  # 2 = backseat / continuous

That's the entire setup — there's no separate registration path. Add and remove it exactly like any other skill:

brain.add_skill(skill)
brain.remove_skill(skill)

Brain reads the skill's own type and lobe internally and handles the rest.

Clone this wiki locally