Funboost Faas Deploy
ydf0509/funboost
当需要将 funboost 任务部署为 HTTP 微服务时使用。触发场景:通过 FastAPI/Flask/Django 暴露发布和查询接口、使用内置 FaaS router、无需手写 API 代码。关键词:FaaS, 微服务, FastAPI, Flask, Django, HTTP API, REST, fastapirouter, flaskblueprint, web deploy。
Read this to install djhtmx in a Django project, to change a DJHTMX setting, or when a component renders but nothing responds.
$ npx skills add edelvalle/djhtmx --skill djhtmx-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/edelvalle/djhtmx.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/djhtmx-setup .claude/skills/djhtmx-setup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "djhtmx-setup" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setup into .claude/skills/djhtmx-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add edelvalle/djhtmx --skill djhtmx-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edelvalle/djhtmx.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/djhtmx-setup .agents/skills/djhtmx-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "djhtmx-setup" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setup into .agents/skills/djhtmx-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add edelvalle/djhtmx --skill djhtmx-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edelvalle/djhtmx.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/djhtmx-setup .cursor/skills/djhtmx-setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "djhtmx-setup" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setup into .cursor/skills/djhtmx-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/edelvalle/djhtmx.git --path .agents/skills/djhtmx-setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add edelvalle/djhtmx --skill djhtmx-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edelvalle/djhtmx.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/djhtmx-setup .gemini/skills/djhtmx-setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "djhtmx-setup" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setup into .gemini/skills/djhtmx-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install edelvalle/djhtmx djhtmx-setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add edelvalle/djhtmx --skill djhtmx-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/edelvalle/djhtmx.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/djhtmx-setup .github/skills/djhtmx-setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "djhtmx-setup" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setup into .github/skills/djhtmx-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add edelvalle/djhtmx --skill djhtmx-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edelvalle/djhtmx.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/djhtmx-setup .opencode/skills/djhtmx-setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "djhtmx-setup" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-setup into .opencode/skills/djhtmx-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
djhtmx-setupRead this to install djhtmx in a Django project, to change a DJHTMX setting, or when a component renders but nothing responds.
Djhtmx Setup is an agent skill from edelvalle/djhtmx. Read this to install djhtmx in a Django project, to change a DJHTMX setting, or when a component renders but nothing responds.
Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/settings.md`, `references/sse-deployment.md` and `references/troubleshooting.md`).
It sits in Backend & APIs, covering Backend development. It works with Django and Redis. The repository describes itself as: Interactive UI components for Django using htmx.org. The licence is MIT.
Read from SKILL.md and the folder at commit 82da27c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonrgmakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Djhtmx Setup loads about 1k tokens when it runs, and up to ~3.9k if it reads all its reference files. Until then it costs about 35 tokens; SKILL.md has 446 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from edelvalle/djhtmx at commit 82da27c, republished under its MIT licence (© edelvalle). 446 words, ~1,005 tokens.
.claude/skills/djhtmx-setup/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.djhtmx needs six things wired, and every one of them fails quietly on its own. Do them in this order and check the result; troubleshooting reads the symptoms backwards when something is already broken.
Read the djhtmx-components skill to write components, and djhtmx-testing to test them.
Component state lives in Redis, not in the database or the Django session. djhtmx connects at import time, so a project without a reachable Redis fails at startup rather than at the first interaction. Point DJHTMX_REDIS_URL at it -- the default is redis://localhost/0, which is right only for a laptop.
INSTALLED_APPS = [
...,
"djhtmx",
]Its ready() imports, for every installed app, an htmx module or an htmx package -- the package recursively. A component in a module neither of those reaches is never registered: {% htmx "Name" %} will not find it, and it gets no URL.
MIDDLEWARE = [
...,
"djhtmx.middleware",
]It flushes the session the request touched and answers a LoginRequired raised while rendering a page with a redirect to the login page. Last is not decoration: Django calls process_exception from the innermost middleware outward, so the last entry is the first to see the exception, before anything outer turns it into a 500.
TEMPLATES = [{
...,
"OPTIONS": {"context_processors": [
...,
"django.template.context_processors.request",
"djhtmx.context.component_repo",
]},
}]component_repo is what puts the repository in the template context, and every djhtmx tag reads it from there. request has to be there too -- {% htmx-headers %} renders nothing at all without it, which is the quietest failure in this list.
urlpatterns = [
...,
path("_htmx/", include("djhtmx.urls")),
]The prefix is yours. What the include brings is one URL per registered component plus the SSE endpoint, and it builds that list from the registry at import time: a component registered after djhtmx.urls is imported has no URL, whatever the template says.
{% load htmx %}
<!doctype html>
<html>
<head>
{% htmx-headers %}
</head>
</html>This loads htmx itself, the SSE extension and djhtmx's own script, and it carries the CSRF header name. Without it the page renders correctly and does nothing at all when clicked -- there is no error anywhere.
{% htmx "SSEEventRouter" %}Once per page, normally in the base template. It opens the single SSE connection and routes what arrives into the DOM. SSE also needs an ASGI server: the endpoint answers 501 SSE requires ASGI under WSGI. See sse-deployment.
python manage.py htmx check-shadowing
python manage.py htmx check-unused-non-public
rg --pcre2 --type html -o --no-heading --no-filename "{% htmx [\"'](\w+)" . \
| awk '{print $3}' | cut -b2- | sort -u \
| python manage.py htmx check-missing -check-shadowing finds two components answering to the same name, check-missing a {% htmx "Name" %} that names no component, and check-unused-non-public a non-public component nothing subclasses. Put them behind a make check-htmx target and run them after adding, renaming or removing a component.
DJHTMX_* setting and what changing it costs.© edelvalle, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in .agents/skills/djhtmx-setup of edelvalle/djhtmx.
Open the folder on GitHubat commit 82da27c
Djhtmx Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Djhtmx Setup this skilledelvalle/djhtmx | 150 | — | ~1k | Automated safety check: Pass | MIT | |
| Funboost Faas Deployydf0509/funboost | 892 | — | ~956 | Automated safety check: Pass | None | |
| Python PatternsxenitV1/Antigravity-Workflows | 130 | 7 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Django Celeryaffaan-m/ECC | 275k | — | ~240 | Automated safety check: Pass | MIT | |
| Django Q2hashgraph-online/awesome-codex-plugins | 1.2k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Configuring Horizoncoollabsio/coolify | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT |
ydf0509/funboost
当需要将 funboost 任务部署为 HTTP 微服务时使用。触发场景:通过 FastAPI/Flask/Django 暴露发布和查询接口、使用内置 FaaS router、无需手写 API 代码。关键词:FaaS, 微服务, FastAPI, Flask, Django, HTTP API, REST, fastapirouter, flaskblueprint, web deploy。
xenitV1/Antigravity-Workflows
Python development principles and decision-making. An agent skill from xenitV1/Antigravity-Workflows.
affaan-m/ECC
DjangoおよびCeleryを使用した非同期タスク処理。タスクキューイング、ワーカー管理、エラー処理、スケジューリング。Redis/RabbitMQ ブローカー統合。
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Django Q2 background tasks, scheduled jobs, qcluster workers, Redis broker configuration, or ORM broker fallback in Django…
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
saleor/saleor
Generates and splits Django schema migrations for Saleor with manage.py makemigrations, enforcing one new model or one field change per migration file.
edelvalle/djhtmx
Read this before writing or changing a test of an HtmxComponent: how to drive a component with djhtmx.testing.Htmx, what goes stale between sends, and how to assert on what never reaches the DOM.
edelvalle/djhtmx
Read this skill before making git commits. An agent skill from edelvalle/djhtmx.
edelvalle/djhtmx
Read this before writing or changing a subclass of HtmxComponent: what belongs in the state, what a handler takes, how a component reports a failure, and the checks to run afterwards.
Categories
Read this to install djhtmx in a Django project, to change a DJHTMX setting, or when a component renders but nothing responds. Djhtmx Setup is an agent skill from edelvalle/djhtmx. Read this to install djhtmx in a Django project, to change a DJHTMX setting, or when a component renders but nothing responds.
Djhtmx Setup fits situations like: tasks that involve Backend development.
Run `npx skills add edelvalle/djhtmx --skill djhtmx-setup -a claude-code`. Or copy the skill folder (.agents/skills/djhtmx-setup in edelvalle/djhtmx) into .claude/skills/djhtmx-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add edelvalle/djhtmx --skill djhtmx-setup -a codex`. Or copy the skill folder (.agents/skills/djhtmx-setup in edelvalle/djhtmx) into .agents/skills/djhtmx-setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add edelvalle/djhtmx --skill djhtmx-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/djhtmx-setup, .gemini/skills/djhtmx-setup, .github/skills/djhtmx-setup and .opencode/skills/djhtmx-setup in your project.
Going by SKILL.md and its folder, Djhtmx Setup needs the command-line tools its instructions call (python, rg and make). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Djhtmx Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Djhtmx Setup: Funboost Faas Deploy (ydf0509/funboost, 892 stars), Python Patterns (xenitV1/Antigravity-Workflows, 130 stars), Django Celery (affaan-m/ECC, 275k stars) and Django Q2 (hashgraph-online/awesome-codex-plugins, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
edelvalle (a GitHub user) maintains it in edelvalle/djhtmx, which has 150 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.
Source: edelvalle/djhtmx on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.