implement-method
Implements a new method (scalarizer or aggregator) in TorchJD, starting from the research produced by the research-method skill…
Verifies that a TorchJD release was published correctly by checking the docs site, installing from PyPI, and smoke-testing newly added classes. Use after a release has been merged and published.
$ npx -y skills add simplexlab/torchjd --skill check-release --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/check-releaseContext preview
The summary Claude sees to decide when to auto-load this skill.
Verifies that a TorchJD release was published correctly by checking the docs site, installing from PyPI, and smoke-testing newly added classes. Use after a release has been merged and published.
name: check-release description: Verifies that a TorchJD release was published correctly by checking the docs site, installing from PyPI, and smoke-testing newly added classes. Use after a release has been merged and published.
This skill verifies that a release is live and correct after it has been published.
**For agents:** invoke as `/check-release X.Y.Z` (e.g. `/check-release 0.16.0`). If no version is provided, read the current version from `pyproject.toml`.
---
Read `pyproject.toml` to find the `version` field under `[project]`. Use the version provided as an argument, or the one from `pyproject.toml` if none is given.
Read `CHANGELOG.md` and find the `## [X.Y.Z]` section. Extract the names of any newly added public classes, functions, or methods listed under `### Added`. You will use these in later steps.
Fetch `https://torchjd.org`.
If the version entry is missing, report it and stop — the rest of the checks depend on the docs being live.
For each newly added class or function identified in Step 2, fetch its expected docs page under `https://torchjd.org/vX.Y.Z/`. Use the URL patterns from similar existing classes found in `README.md` or by browsing the stable docs (`https://torchjd.org/stable/`) to infer the correct path (e.g. `https://torchjd.org/vX.Y.Z/docs/aggregation`, `https://torchjd.org/vX.Y.Z/docs/scalarization`, etc.).
Confirm that each new class/function name appears on the fetched page.
Fetch the same doc pages under `https://torchjd.org/stable/` and confirm the newly added classes/functions appear there too (i.e. `stable` points to the new release).
Run the following commands to create an isolated install:
cd /tmp && mkdir -p test_torchjd_install && cd test_torchjd_install uv venv && uv pip install torchjd
Verify the installed version matches X.Y.Z:
cd /tmp/test_torchjd_install && uv pip show torchjd
If the version is wrong, you may need to install with `--no-cache`.
Write a minimal Python script `/tmp/test_torchjd_install/smoke_test.py` that:
preference vector, or no arguments if the class takes none).
Use the existing test suite under `tests/` or the docs pages fetched in Step 4 as a reference for correct import paths and minimal usage patterns.
Run the script:
cd /tmp/test_torchjd_install && uv run python smoke_test.py
Report the result. If it crashes, show the traceback.
rm -rf /tmp/test_torchjd_install
Summarize what was verified:
If everything passes, the release is confirmed good. If anything failed, describe what needs attention.
Library for Jacobian descent with PyTorch. It enables the optimization of neural networks with multiple losses (e.g. multi-task learning).
Implements a new method (scalarizer or aggregator) in TorchJD, starting from the research produced by the research-method skill…
Prepares a torchjd package release by verifying the changelog, README, bumping the version in pyproject.toml, and opening a…
Researches about a new method (scalarizer or aggregator) from the scientific literature and how to integrate it to TorchJD. Use…