From antigravity-awesome-skills
DBOS Python SDK for building reliable, fault-tolerant applications with durable workflows. Use this skill when writing Python code with DBOS, creating workflows and steps, using queues, using DBOSC...
npx claudepluginhub absjaded/antigravity-awesome-skillsThis skill uses the workspace's default tool permissions.
Guide for building reliable, fault-tolerant Python applications with DBOS durable workflows.
AGENTS.mdCLAUDE.mdreferences/_sections.mdreferences/advanced-async.mdreferences/advanced-patching.mdreferences/advanced-versioning.mdreferences/client-enqueue.mdreferences/client-setup.mdreferences/comm-events.mdreferences/comm-messages.mdreferences/comm-streaming.mdreferences/lifecycle-config.mdreferences/lifecycle-fastapi.mdreferences/pattern-classes.mdreferences/pattern-debouncing.mdreferences/pattern-idempotency.mdreferences/pattern-scheduled.mdreferences/pattern-sleep.mdreferences/queue-basics.mdreferences/queue-concurrency.mdVerifies tests pass on completed feature branch, presents options to merge locally, create GitHub PR, keep as-is or discard; executes choice and cleans up worktree.
Guides root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Writes implementation plans from specs for multi-step tasks, mapping files and breaking into TDD bite-sized steps before coding.
Guide for building reliable, fault-tolerant Python applications with DBOS durable workflows.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Lifecycle | CRITICAL | lifecycle- |
| 2 | Workflow | CRITICAL | workflow- |
| 3 | Step | HIGH | step- |
| 4 | Queue | HIGH | queue- |
| 5 | Communication | MEDIUM | comm- |
| 6 | Pattern | MEDIUM | pattern- |
| 7 | Testing | LOW-MEDIUM | test- |
| 8 | Client | MEDIUM | client- |
| 9 | Advanced | LOW | advanced- |
A DBOS application MUST configure and launch DBOS inside its main function:
import os
from dbos import DBOS, DBOSConfig
@DBOS.workflow()
def my_workflow():
pass
if __name__ == "__main__":
config: DBOSConfig = {
"name": "my-app",
"system_database_url": os.environ.get("DBOS_SYSTEM_DATABASE_URL"),
}
DBOS(config=config)
DBOS.launch()
Workflows are comprised of steps. Any function performing complex operations or accessing external services must be a step:
@DBOS.step()
def call_external_api():
return requests.get("https://api.example.com").json()
@DBOS.workflow()
def my_workflow():
result = call_external_api()
return result
DBOS.start_workflow or DBOS.recv from a stepDBOS.start_workflow or queuesRead individual rule files for detailed explanations and examples:
references/lifecycle-config.md
references/workflow-determinism.md
references/queue-concurrency.md