thalovant-skillkit
Write a Thalovant skill without writing the plumbing.
pip install "thalovant-skillkit[skill]"
thalovant-skillkit new garden-watering
That writes a complete skill — package, locales, tests, packaging, CI — that passes its own checks before you touch it.
The skill
from thalovant_skillkit.skill import ThalovantFallbackSkill
class GardenWateringSkill(ThalovantFallbackSkill):
FALLBACK_PRIORITY = 98
def can_answer(self, message) -> bool:
return self.mentions(self.utterance(message), "GardenWateringKeyword")
def reply(self, utterance, lang, context):
return self.dialog("garden.watering", lang)
reply is the one method most skills need. What it returns is spoken on the
hub and shown in the showroom, so the two cannot drift apart.
A test
from thalovant_skillkit.testing import message
def test_it_hears_its_keyword():
assert GardenWateringSkill().can_answer(message("water the garden"))
def test_it_ignores_the_rest():
assert not GardenWateringSkill().can_answer(message("set a timer"))
Keeping it right
thalovant-skillkit check
Every locale complete, placeholders matching, packaging sound, priority in band. The same check runs in the CI the scaffold writes for you.
What you get
self.utterance(msg) |
what was said |
self.lang_of(msg) |
the language of this utterance |
self.location_of(msg) |
where the house is |
self.mentions(text, "Voc") |
does the text mention this vocabulary — plurals included |
self.dialog("name", lang) |
a line from locale/<lang>/dialog/name.dialog |
self.setting("key", default) |
one skill setting |
self.reply(utterance, lang, ctx) |
your answer; spoken and previewed from one place |
Everything on OVOSSkill still works — self.speak, self.speak_dialog,
self.voc_match, the intent decorators. Nothing here replaces them.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thalovant_skillkit-0.4.3.tar.gz.
File metadata
- Download URL: thalovant_skillkit-0.4.3.tar.gz
- Upload date:
- Size: 50.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
144ebf77532b9bae81abd6309ed2afaaf463a5eae6e440d32be0b8dd0b4c6c04
|
|
| MD5 |
2c368b2e404a508e831862f2a43f13dc
|
|
| BLAKE2b-256 |
ec27a00b9ef58d8133a21110ab9afe6be6d8ed6c135ad26181bf26aa066fe7b3
|
Provenance
The following attestation bundles were made for thalovant_skillkit-0.4.3.tar.gz:
Publisher:
publish.yml on thalovant/thalovant-skillkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thalovant_skillkit-0.4.3.tar.gz -
Subject digest:
144ebf77532b9bae81abd6309ed2afaaf463a5eae6e440d32be0b8dd0b4c6c04 - Sigstore transparency entry: 2760575779
- Sigstore integration time:
-
Permalink:
thalovant/thalovant-skillkit@e5a34c3a145dcd8eb20d5b93483d17741ed869ce -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/thalovant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e5a34c3a145dcd8eb20d5b93483d17741ed869ce -
Trigger Event:
release
-
Statement type:
File details
Details for the file thalovant_skillkit-0.4.3-py3-none-any.whl.
File metadata
- Download URL: thalovant_skillkit-0.4.3-py3-none-any.whl
- Upload date:
- Size: 41.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ce6d581eb54a92129f1ca2b360c6b4509a7b8f1f16bf888ac94dfd3287c46f9
|
|
| MD5 |
6149bbcea508f7b5ae3db22feea27fae
|
|
| BLAKE2b-256 |
d2a9e71ec751000c2869f5b8e9275e2f2777e14a96812a4121f5ed800c200b5f
|
Provenance
The following attestation bundles were made for thalovant_skillkit-0.4.3-py3-none-any.whl:
Publisher:
publish.yml on thalovant/thalovant-skillkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thalovant_skillkit-0.4.3-py3-none-any.whl -
Subject digest:
8ce6d581eb54a92129f1ca2b360c6b4509a7b8f1f16bf888ac94dfd3287c46f9 - Sigstore transparency entry: 2760575822
- Sigstore integration time:
-
Permalink:
thalovant/thalovant-skillkit@e5a34c3a145dcd8eb20d5b93483d17741ed869ce -
Branch / Tag:
refs/tags/v0.4.3 - Owner: https://github.com/thalovant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e5a34c3a145dcd8eb20d5b93483d17741ed869ce -
Trigger Event:
release
-
Statement type: