Make Changes
remix-run/remix
Create or update Remix repo change files under packages//.changes.
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.
$ npx skills add edelvalle/djhtmx --skill djhtmx-testing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-testing --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-testing .claude/skills/djhtmx-testing && 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-testing" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-testing into .claude/skills/djhtmx-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-testing", 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-testingType 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-testing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-testing --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-testing .agents/skills/djhtmx-testing && 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-testing" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-testing into .agents/skills/djhtmx-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-testing", 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-testing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-testing --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-testing .cursor/skills/djhtmx-testing && 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-testing" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-testing into .cursor/skills/djhtmx-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-testing", 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-testing--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-testing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install edelvalle/djhtmx djhtmx-testing --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-testing .gemini/skills/djhtmx-testing && 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-testing" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-testing into .gemini/skills/djhtmx-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-testing", 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-testingInstalls 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-testing -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-testing .github/skills/djhtmx-testing && 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-testing" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-testing into .github/skills/djhtmx-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-testing", 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-testing -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-testing --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-testing .opencode/skills/djhtmx-testing && 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-testing" agent skill from https://github.com/edelvalle/djhtmx/tree/master/.agents/skills/djhtmx-testing into .opencode/skills/djhtmx-testing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "djhtmx-testing", 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-testingRead 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.
Djhtmx Testing is an agent skill from 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.
Its SKILL.md is about 860 tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/assertions.md`, `references/basic.md` and `references/interactions.md`).
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From 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 Testing loads about 856 tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 53 tokens; SKILL.md has 257 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). 257 words, ~856 tokens.
.claude/skills/djhtmx-testing/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.djhtmx.testing.Htmx wraps a Django test client and runs the same dispatch the browser does: it navigates to a real page, keeps the rendered DOM, and applies everything a handler produces -- renders, out-of-band swaps, destroys, URL changes, pending SSE events.
Read the djhtmx-components skill for the component under test.
Drive the real page. A component built by hand -- constructed directly, with model_construct, or through a factory of your own -- has no repository, no session and no rendered DOM. The test then passes over the placement, the state round-trip and the render, which is where the bugs are.
Never call a handler yourself. editor.toggle_item(item) skips the command processor: the arguments are never coerced, the commands are never processed, the state is never stored, and nothing renders. Send it instead.
class TestTheItemEditor(TestCase):
@classmethod
def setUpTestData(cls):
cls.owner = OwnerFactory.create()
cls.first = ItemFactory.create(owner=cls.owner, name="First item")
cls.second = ItemFactory.create(owner=cls.owner, name="Second item")
def setUp(self):
client = Client()
client.force_login(UserFactory.create(is_staff=True))
self.htmx = Htmx(client)
self.htmx.navigate_to(reverse("owner-detail", args=[self.owner.id]))
def test_choosing_an_item_marks_it(self):
editor = self.htmx.get_component_by_type(ItemEditor)
self.htmx.send(editor.open_the_item, item=self.first)
self.htmx.send(editor.toggle_item, item=self.second)
# `editor` is stale -- read the component again
editor = self.htmx.get_component_by_type(ItemEditor)
chosen = [row.name for row in editor.items if row.chosen]
self.assertEqual(chosen, ["Second item"])
def test_it_asks_for_an_open_item_first(self):
editor = self.htmx.get_component_by_type(ItemEditor)
with self.htmx.assertEmits(ItemsRebuildRefused) as captured:
self.htmx.send(editor.rebuild_the_items)
self.assertEqual(captured.get_event().reason, "no-open-item")Read the file for what the test is about to do:
send through the bound method, type_into and trigger for going through the template, dispatch_event as the escape hatch.assertEmits, assertYields, capturing, and why the assertions go after the block.select, find_by_text, print, the lxml truthiness trap, and what to assert on the DOM rather than on the component.Redirect does to a test.drain_sse_events, emitting from a test, and telling "from this page" apart from "from elsewhere".© 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 6 other files (references) in .agents/skills/djhtmx-testing of edelvalle/djhtmx.
Open the folder on GitHubat commit 82da27c
Djhtmx Testing 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 Testing this skilledelvalle/djhtmx | 150 | — | ~856 | Automated safety check: Pass | MIT | |
| Make Changesremix-run/remix | 33k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Orch Change Featureaffaan-m/ECC | 275k | 1 repos | ~420 | Automated safety check: Pass | MIT | |
| Change Managementsickn33/agentic-awesome-skills | 47k | 2 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Implement Changepnpm/pnpm | 37k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Testing Changespnpm/pnpm | 37k | — | ~1.1k | Automated safety check: Pass | MIT |
remix-run/remix
Create or update Remix repo change files under packages//.changes.
affaan-m/ECC
Orchestrate altering an existing, working feature to new desired behavior — update its tests to the new spec, change the implementation to match, review, and gated commit.
sickn33/agentic-awesome-skills
Implement change management processes. An agent skill from sickn33/agentic-awesome-skills.
pnpm/pnpm
Implement a pnpm feature, bug fix, or refactor by checking existing capabilities, prioritizing code reuse and deduplication, assessing architecture impact, and validating the final change.
pnpm/pnpm
Run the tests that cover a change in the pnpm repository, in the Rust workspace (pnpm/, pnpr/) or the TypeScript CLI (pnpm11/), and recognize the cases where a scoped run passes without testing…
alirezarezvani/claude-skills
Framework for rolling out organizational changes without chaos.
edelvalle/djhtmx
Read this to install djhtmx in a Django project, to change a DJHTMX setting, or when a component renders but nothing responds.
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.
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. Djhtmx Testing is an agent skill from edelvalle/djhtmx.Htmx, what goes stale between sends, and how to assert on what never reaches the DOM.
Run `npx skills add edelvalle/djhtmx --skill djhtmx-testing -a claude-code`. Or copy the skill folder (.agents/skills/djhtmx-testing in edelvalle/djhtmx) into .claude/skills/djhtmx-testing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add edelvalle/djhtmx --skill djhtmx-testing -a codex`. Or copy the skill folder (.agents/skills/djhtmx-testing in edelvalle/djhtmx) into .agents/skills/djhtmx-testing 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-testing -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-testing, .gemini/skills/djhtmx-testing, .github/skills/djhtmx-testing and .opencode/skills/djhtmx-testing in your project.
SKILL.md names no scripts, command-line tools or credentials: Djhtmx Testing is instructions for the agent only. 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 Testing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 856 tokens (SKILL.md is roughly 3.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 4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Djhtmx Testing: Make Changes (remix-run/remix, 33k stars), Orch Change Feature (affaan-m/ECC, 275k stars), Change Management (sickn33/agentic-awesome-skills, 47k stars) and Implement Change (pnpm/pnpm, 37k 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.