|
| 1 | +<img src="assets/app-icon.png" alt="LVTD fire heart logo" width="96" height="96"> |
| 2 | + |
| 3 | +# LVTD Skills |
| 4 | + |
| 5 | +Reusable agent skills for LVTD projects, Django SaaS workflows, and agent-first software development. |
| 6 | + |
| 7 | +This repository is intentionally simple: every skill lives in `skills/<skill-name>/SKILL.md`, with small validation and publishing scripts around that catalog. That shape works well for agents that read skill folders directly, and it is easy for external indexes like skills.sh to consume. |
| 8 | + |
| 9 | +## Skills |
| 10 | + |
| 11 | +| Skill | Use when | |
| 12 | +| --- | --- | |
| 13 | +| [`alpinejs-django`](skills/alpinejs-django/SKILL.md) | Adding, changing, or debugging Alpine.js behavior in Django templates, especially when HTMX partial swaps are also present. | |
| 14 | +| [`calibredb`](skills/calibredb/SKILL.md) | Managing and querying Calibre libraries with the calibredb CLI, including metadata, formats, exports, checks, and full-text search. | |
| 15 | +| [`cookiecutter`](skills/cookiecutter/SKILL.md) | Adding, changing, testing, or debugging Cookiecutter templates, including Jinja rendering, hooks, option cleanup, and generated-project validation. | |
| 16 | +| [`django-htmx`](skills/django-htmx/SKILL.md) | Building and reviewing HTMX interactions in Django server-rendered apps, including partial responses, headers, swaps, triggers, forms, and tests. | |
| 17 | +| [`django-q2`](skills/django-q2/SKILL.md) | Adding, changing, testing, or debugging Django Q2 background jobs, schedules, workers, and broker configuration. | |
| 18 | +| [`fastmcp-django`](skills/fastmcp-django/SKILL.md) | Adding, changing, deploying, testing, or debugging FastMCP MCP servers in existing Django apps, including ASGI mounting, ORM access, auth, and Streamable HTTP deployment. | |
| 19 | +| [`make-product-viral`](skills/make-product-viral/SKILL.md) | Making a product, landing page, pricing page, launch page, free tool, or social preview easier to understand, buy, remember, and share. | |
| 20 | +| [`rust-api-test-harness`](skills/rust-api-test-harness/SKILL.md) | Adding, changing, testing, or debugging Rust HTTP APIs with black-box integration tests, random-port app startup, state isolation, mocks, and CI-ready cargo checks. | |
| 21 | +| [`rust-deployable-service`](skills/rust-deployable-service/SKILL.md) | Preparing, containerizing, configuring, testing, or reviewing Rust services for deployment, including Docker, runtime config, secrets, health checks, SQLx offline builds, and startup validation. | |
| 22 | +| [`rust-domain-boundaries`](skills/rust-domain-boundaries/SKILL.md) | Modeling, validating, refactoring, or reviewing Rust service domain boundaries with newtypes, parse-don't-validate constructors, request DTO boundaries, and property tests. | |
| 23 | +| [`rust-error-observability`](skills/rust-error-observability/SKILL.md) | Adding, changing, debugging, or reviewing Rust service error handling and observability, including typed errors, HTTP response adapters, tracing spans, and redaction. | |
| 24 | +| [`rust-idempotent-workflows`](skills/rust-idempotent-workflows/SKILL.md) | Designing, implementing, testing, or debugging Rust service workflows that must survive retries, duplicate requests, crashes, concurrency, queues, and side effects. | |
| 25 | +| [`rust-service-security`](skills/rust-service-security/SKILL.md) | Adding, changing, testing, or reviewing security-sensitive Rust web service behavior, including login, password hashing, session cookies, route protection, and auth middleware. | |
| 26 | +| [`rust-sqlx-postgres-service`](skills/rust-sqlx-postgres-service/SKILL.md) | Adding, changing, testing, or reviewing Postgres persistence in Rust services using SQLx migrations, compile-time checked queries, pools, transactions, and integration tests. | |
| 27 | + |
| 28 | +## Repository Layout |
| 29 | + |
| 30 | +```text |
| 31 | +skills/ |
| 32 | + <skill-name>/ |
| 33 | + SKILL.md |
| 34 | +docs/ |
| 35 | + installation.md |
| 36 | +scripts/ |
| 37 | + build-marketplaces.mjs |
| 38 | + build-registry.mjs |
| 39 | + skill-utils.mjs |
| 40 | + validate-marketplaces.mjs |
| 41 | + validate-skills.mjs |
| 42 | +``` |
| 43 | + |
| 44 | +## Install A Skill Directly |
| 45 | + |
| 46 | +Use the `skills` CLI to install from this repository: |
| 47 | + |
| 48 | +```bash |
| 49 | +npx skills add LVTD-LLC/skills --skill django-htmx |
| 50 | +``` |
| 51 | + |
| 52 | +Common targets: |
| 53 | + |
| 54 | +```bash |
| 55 | +# Codex global skills |
| 56 | +npx skills add LVTD-LLC/skills --skill django-htmx -g -a codex |
| 57 | + |
| 58 | +# Claude Code global skills |
| 59 | +npx skills add LVTD-LLC/skills --skill django-htmx -g -a claude-code |
| 60 | + |
| 61 | +# OpenClaw global skills |
| 62 | +npx skills add LVTD-LLC/skills --skill django-htmx -g -a openclaw |
| 63 | + |
| 64 | +# Install from a local checkout |
| 65 | +npx skills add . --skill django-htmx |
| 66 | +``` |
| 67 | + |
| 68 | +More details are in [`docs/installation.md`](docs/installation.md). |
| 69 | + |
| 70 | +## Marketplace Install |
| 71 | + |
| 72 | +Add the marketplace in Claude Code: |
| 73 | + |
| 74 | +```text |
| 75 | +/plugin marketplace add LVTD-LLC/skills |
| 76 | +/plugin install django@lvtd-skills |
| 77 | +/reload-plugins |
| 78 | +``` |
| 79 | + |
| 80 | +Claude Code exposes the bundled skills as `/django:django-htmx`, |
| 81 | +`/django:django-q2`, and the other skills in that plugin. |
| 82 | + |
| 83 | +Add the marketplace in Codex: |
| 84 | + |
| 85 | +```bash |
| 86 | +codex plugin marketplace add LVTD-LLC/skills |
| 87 | +codex plugin add django@lvtd-skills |
| 88 | +``` |
| 89 | + |
| 90 | +Codex exposes the bundled skills as `$django:django-htmx`, |
| 91 | +`$django:django-q2`, and the other skills in that plugin. |
| 92 | + |
| 93 | +To pick up a marketplace update for an already-installed Codex plugin, refresh |
| 94 | +the marketplace snapshot and reinstall the plugin: |
| 95 | + |
| 96 | +```bash |
| 97 | +codex plugin marketplace upgrade lvtd-skills |
| 98 | +codex plugin remove django@lvtd-skills |
| 99 | +codex plugin add django@lvtd-skills |
| 100 | +``` |
| 101 | + |
| 102 | +This repository ships the marketplace files directly: |
| 103 | + |
| 104 | +```text |
| 105 | +.claude-plugin/marketplace.json |
| 106 | +.agents/plugins/marketplace.json |
| 107 | +plugins/<plugin-name>/ |
| 108 | +``` |
| 109 | + |
| 110 | +The plugin skill folders are generated copies of `skills/<skill-name>/`, so |
| 111 | +Git-backed marketplace installs have real `SKILL.md` files while the canonical |
| 112 | +source remains under `skills/`. Do not edit generated plugin copies directly. |
| 113 | + |
| 114 | +Refresh generated marketplace artifacts during development: |
| 115 | + |
| 116 | +```bash |
| 117 | +npm run build |
| 118 | +``` |
| 119 | + |
| 120 | +Generated marketplace plugin IDs: |
| 121 | + |
| 122 | +- `cookiecutter` |
| 123 | +- `django` |
| 124 | +- `nonfiction-book-writing` |
| 125 | +- `rust` |
| 126 | +- `seo` |
| 127 | +- `traction` |
| 128 | + |
| 129 | +Marketplace plugins group related skills. Direct installs through the `skills` |
| 130 | +CLI still use the canonical skill directory names. |
| 131 | + |
| 132 | +## Marketplace Strategy |
| 133 | + |
| 134 | +See [`docs/marketplace-strategy.md`](docs/marketplace-strategy.md) for the |
| 135 | +research-backed plan to publish this catalog across Codex, Claude Code, |
| 136 | +OpenClaw, and other Agent Skills-compatible clients. |
| 137 | + |
| 138 | +## Development |
| 139 | + |
| 140 | +New skills should follow [`docs/adding-skills.md`](docs/adding-skills.md). |
| 141 | + |
| 142 | +Validate source skills only: |
| 143 | + |
| 144 | +```bash |
| 145 | +npm run validate |
| 146 | +``` |
| 147 | + |
| 148 | +Build the machine-readable registry and refresh committed marketplace artifacts: |
| 149 | + |
| 150 | +```bash |
| 151 | +npm run build |
| 152 | +``` |
| 153 | + |
| 154 | +The registry is written to `dist/registry.json`. Marketplace artifacts are |
| 155 | +written to `.claude-plugin/`, `.agents/plugins/`, and `plugins/`. |
| 156 | + |
| 157 | +Validate generated marketplace artifacts: |
| 158 | + |
| 159 | +```bash |
| 160 | +npm run validate:marketplaces |
| 161 | +``` |
| 162 | + |
| 163 | +Run the full local/CI check before opening a PR: |
| 164 | + |
| 165 | +```bash |
| 166 | +npm run check |
| 167 | +``` |
| 168 | + |
| 169 | +## Publishing |
| 170 | + |
| 171 | +CI validates every push and pull request. Publishing is tag-driven: |
| 172 | + |
| 173 | +1. Update the catalog version in `package.json`. |
| 174 | +2. Run `npm run check` and commit the generated marketplace artifacts. |
| 175 | +3. Create and push a matching `v*` tag, for example `v0.1.3`. |
| 176 | + |
| 177 | +The catalog version in `package.json` is also the generated marketplace plugin |
| 178 | +version, so Codex installs use a new plugin cache path when the version changes. |
| 179 | +The `Publish` workflow packages the registry and marketplace tarballs, then |
| 180 | +publishes them on the GitHub release for pushed `v*` tags. |
0 commit comments