Skip to main content

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.

License Python Built by Binary Core LLC


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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bowerbot_skill_sketchfab-0.1.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bowerbot_skill_sketchfab-0.1.3-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file bowerbot_skill_sketchfab-0.1.3.tar.gz.

File metadata

  • Download URL: bowerbot_skill_sketchfab-0.1.3.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

Hashes for bowerbot_skill_sketchfab-0.1.3.tar.gz
Algorithm Hash digest
SHA256 aed5811051e837a3e03f8139e72685fde23e9c0e0b7989b55b129c6fc0fb2724
MD5 14fa826e4266354cfdf7c8e1f2b159c5
BLAKE2b-256 39b739c8acb2a39dd0929bbb473f51afb183e52a2bb56d94a4e6b8fbb3dff380

See more details on using hashes here.

Provenance

The following attestation bundles were made for bowerbot_skill_sketchfab-0.1.3.tar.gz:

Publisher: release-please.yml on binary-core-llc/bowerbot-skill-sketchfab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bowerbot_skill_sketchfab-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for bowerbot_skill_sketchfab-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aad2386ae223d8f3c1a5c9cc80230f4baacdf17cfa9b88d88d75677df8b29021
MD5 b29bde6c5de5abad91b1745dfcf00192
BLAKE2b-256 af62c0aca0555c5a5ecae277e43462ac335e293962f78b95643c1f0b0fff0aa2

See more details on using hashes here.

Provenance

The following attestation bundles were made for bowerbot_skill_sketchfab-0.1.3-py3-none-any.whl:

Publisher: release-please.yml on binary-core-llc/bowerbot-skill-sketchfab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page