BowerBot skill that searches and downloads from the user's Sketchfab account
Project description
bowerbot-skill-sketchfab
Sketchfab provider skill for BowerBot.
Searches and downloads 3D models from the user's authenticated Sketchfab account in USDZ format.
What it does
This skill connects BowerBot to the authenticated user's own Sketchfab model library, not the public marketplace. It exposes three LLM-callable tools:
| Tool | Description |
|---|---|
search_my_models |
Search your uploaded models by keyword |
list_my_models |
List every model in your account |
download_model |
Download a model in USDZ format into BowerBot's library cache |
Downloaded models land under <assets_dir>/cache/sketchfab/ and are immediately searchable through BowerBot's search_assets / list_assets tools.
Install
Match the install method you used for BowerBot itself.
If you installed BowerBot with uv tool install, add the skill to the same tool environment:
uv tool install bowerbot --with bowerbot-skill-sketchfab --reinstall
If you installed BowerBot with pip (in a venv or system-wide), install the skill into the same Python environment:
pip install bowerbot-skill-sketchfab
BowerBot discovers the skill automatically via Python entry points (bowerbot.skills). No code changes required in BowerBot.
Configure
Add a sketchfab block to ~/.bowerbot/config.json:
{
"skills": {
"sketchfab": {
"enabled": true,
"config": { "token": "your-sketchfab-api-token" }
}
}
}
Get a token at https://sketchfab.com/settings/password.
Usage
Once installed and configured, the skill is just available to BowerBot. Talk to the agent normally:
You: search my Sketchfab for a round bistro table
BowerBot: Found "Round Bistro Table" (uid: abc123). Want me to download it?
You: yes please
BowerBot: Downloaded to assets/cache/sketchfab/Round_Bistro_Table.usdz
You: place it at the center of the room
BowerBot: Placed at /Scene/Furniture/Round_Bistro_Table_01 (5.0, 0.0, 4.0)
Architecture
This skill follows BowerBot's required FastAPI-style internal layout:
src/bowerbot_skill_sketchfab/
skill.py # Skill subclass. Tool registration + execute() dispatch only.
SKILL.md # Natural-language instructions injected into the LLM prompt.
schemas/ # Pydantic models for Sketchfab API payloads
services/ # One orchestrator per tool (search, download)
tools/ # Tool definitions surfaced to the LLM
utils/ # Pure-function primitives (HTTP, naming, response shaping)
The skill is hyper-isolated: it imports only from bowerbot.skills (the public SDK) and its own submodules. No reach into bowerbot.utils, bowerbot.services, or any other core internal.
Development
Default flow uses BowerBot from PyPI:
git clone https://github.com/binary-core-llc/bowerbot-skill-sketchfab.git
cd bowerbot-skill-sketchfab
uv sync --extra dev
uv run pytest
If you are also working on BowerBot itself and want an editable install of the core against your local checkout, run this after uv sync:
uv pip install -e ../bowerbot
That overrides the PyPI-resolved bowerbot with your local source.
License
Apache 2.0. See LICENSE.
Built with 🐦 by Binary Core LLC
Project details
Release history Release notifications | RSS feed
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 bowerbot_skill_sketchfab-0.1.2.tar.gz.
File metadata
- Download URL: bowerbot_skill_sketchfab-0.1.2.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbc7e6e904aa8152a07604469836732cbbfde5085f80c375af71dcb4243ecb3d
|
|
| MD5 |
cf1b8542ad5c06fe1187a8353a8547cd
|
|
| BLAKE2b-256 |
3ef37681d129b4c470eaf55a2c915ddaf04c17b8266512f7695f7fe409692160
|
Provenance
The following attestation bundles were made for bowerbot_skill_sketchfab-0.1.2.tar.gz:
Publisher:
release-please.yml on binary-core-llc/bowerbot-skill-sketchfab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bowerbot_skill_sketchfab-0.1.2.tar.gz -
Subject digest:
bbc7e6e904aa8152a07604469836732cbbfde5085f80c375af71dcb4243ecb3d - Sigstore transparency entry: 1425738151
- Sigstore integration time:
-
Permalink:
binary-core-llc/bowerbot-skill-sketchfab@96450c5dfbd73274b1569f859df73eef1995092e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/binary-core-llc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@96450c5dfbd73274b1569f859df73eef1995092e -
Trigger Event:
push
-
Statement type:
File details
Details for the file bowerbot_skill_sketchfab-0.1.2-py3-none-any.whl.
File metadata
- Download URL: bowerbot_skill_sketchfab-0.1.2-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd9ade1a0865b0120bab0ade77830e62fe92265f5882684ea718b69fcfc17134
|
|
| MD5 |
afdcc7fb02ac9c13b92f7d4fb6756242
|
|
| BLAKE2b-256 |
e2fc06d1e78763e94a3a13befb3c9481c420a89a4ce39f2a14ec4cae1eb03ffd
|
Provenance
The following attestation bundles were made for bowerbot_skill_sketchfab-0.1.2-py3-none-any.whl:
Publisher:
release-please.yml on binary-core-llc/bowerbot-skill-sketchfab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bowerbot_skill_sketchfab-0.1.2-py3-none-any.whl -
Subject digest:
dd9ade1a0865b0120bab0ade77830e62fe92265f5882684ea718b69fcfc17134 - Sigstore transparency entry: 1425738286
- Sigstore integration time:
-
Permalink:
binary-core-llc/bowerbot-skill-sketchfab@96450c5dfbd73274b1569f859df73eef1995092e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/binary-core-llc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-please.yml@96450c5dfbd73274b1569f859df73eef1995092e -
Trigger Event:
push
-
Statement type: