Skip to content
Console
Try one

    What SkillKit Gives You

    Find SkillKit helpers by task, from what you want the skill to do to the call that does it and the page that explains it.

    SkillKit is a small library for writing Thalovant skills without copying the plumbing every skill needs. OVOS still owns intent routing, speech, sessions, and scheduling; SkillKit gives your code the pieces around them. This page is the map. Pick what you want to do, and it names the helper and the page that shows it working.

    You want to Use Shown in
    Answer a spoken command ThalovantSkill with @intent_handler and an .intent file Choose the right base
    Answer a topic nothing else claimed ThalovantFallbackSkill with can_answer, reply, and FALLBACK_PRIORITY Choose a fallback priority
    Keep a conversation going ThalovantConversationalSkill with can_converse and converse Lesson 3 of the quiz
    Do both, or play media ThalovantConversationalFallbackSkill, ThalovantCommonPlaySkill Choose the right base
    Speak to the room that asked, in its language self.speak_to(message, text) Lesson 2 of the quiz
    Show a reply without speaking preview_reply Lesson 1 of the quiz
    You want to Use Shown in
    Read the words, the language, or the location self.utterance, self.lang_of, self.location_of What you can call
    Match a keyword people inflect (“logs”, “logging”) self.mentions, self.mentioned_term What you can call
    Check a whole phrase against an intent file locale_resources.matches_literal_intent Lesson 2 of the quiz
    Check alternative transcripts message.utterances Read alternative transcripts
    Write optional phrases and slots .intent templates and thalovant-skillkit check Write intent phrases
    Compare text the way vocabulary files are compared fold, fold_words, strip_accents What you can call
    You want to Use Shown in
    Pick a translated line, with placeholders self.dialog("name", lang, data) Lesson 2 of the quiz
    Add pauses or pronunciation hints self.dialog, .ssml twins, ssml.say, ssml.digits Add pauses and pronunciation
    Vary replies without repeating self.speak_varied_dialog Find sounds once
    Serve a regional variant without a second translation locale/regional.json and thalovant-skillkit locales --write Support regional variations
    Say a date, time, or duration for ears and for a screen moments.date_text, time_text, duration_text, speak_with_written Say a date or time both ways
    Read one skill setting safely self.setting("key", default) What you can call
    You want to Use Shown in
    Keep one game or state per player SessionStateStore Keep one game per player
    Call a web service with a time budget JsonServiceClient, RequestBudget Give online work a time budget
    Ask the Thalovant knowledge service knowledge.knowledge_reply Ask the knowledge service
    Ship many sounds and pick without repeats bundled_files, ShuffleBagPool Find sounds once
    Refresh a catalog in the background PeriodicWorker Refresh away from the reply
    Keep optional shared state in Redis or PostgreSQL JsonStateStore Save state without copying backend code
    Get your own reply back on a shared bus topic bus.wait_for_response Keep shared bus replies with their caller
    You want to Use Shown in
    Test without a running assistant testing.message, testing.FakeBus, preview_reply Test it
    Test through the real OVOS bus skill_harness, managed_minicroft, capture_turn Exercise the real OVOS bus
    Start a project thalovant-skillkit new Start from a working skill
    Check resources, and that no other skill owns your phrases thalovant-skillkit check Ship it
    Check that the built package carries its files thalovant-skillkit check-artifacts Check what you built

    Recognising which skill a sentence belongs to, turning text into speech, keeping a session alive, and running timers and alarms are OVOS’s jobs. self.speak, self.speak_dialog, self.play_audio, the intent decorators, and the scheduler all keep working exactly as they do in any OVOS skill.

    The SkillKit reference has every signature and return value.