用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/EstebanRivera08/eSDIva --skill release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Help someone use the eSDIva ultrasound field simulator — build a transducer (linear/convex/matrix array, circular piston or bowl, custom or Field II import), run an emission pressure-field simulation (CW or transient), run a pulse-echo RF simulation (PSF, phantom, plane-/diverging-wave sequence), beamform it or feed the RF to their own beamformer, choose a working PyVista/Matplotlib backend, and explain the SIR/SDI physics behind a result. Use whenever the user mentions eSDIva, a spatial impulse response, an acoustic pressure field, a transducer aperture, a point spread function, RF channel data, delay-and-sum, or an ultrasound imaging simulation.
Report a problem with eSDIva or propose a change to it — file a bug report or feature request with a minimal reproducer, or prepare a small, reviewable pull request that respects the package's physics, documentation and testing conventions. Use when the user says something in eSDIva is wrong, missing, confusing or slow, wants to open an issue, wants to contribute a fix or feature, or asks how to get a change accepted upstream.
any input (code, docs, papers, images) → knowledge graph → clustered communities → HTML + JSON + audit report. Use when user asks any question about a codebase, project content, architecture, or file relationships — especially if graphify-out/ exists. Provides persistent graph with god nodes, community detection, and BFS/DFS query tools.
正在显示 SKILL.md
| name | release |
| description | Create a new eSDIva release (version bump, commit, tag, push, build, release notes) |
| argument-hint | <new-version> |
| disable-model-invocation | true |
Perform a full eSDIva release. The new version string is: $ARGUMENTS
Follow these steps in order. Do not push, or take any other irreversible action, until explicitly confirmed by the user. The PyPI upload (Step 10) is done by the user, never by you.
If no version was provided, ask the user for the version string (e.g. 0.2.0).
Read the current version from pyproject.toml. Find the most recent tag:
git describe --tags --abbrev=0
This fails when no tag exists yet — that is fine, treat the previous tag as absent and use the root commit as the range start in Step 6.
Recommend a version that matches the change set, and say why: for 0.x, any
break in a public contract (a changed return convention, a dependency moved into
an extra, a renamed argument) is a minor bump, not a patch. State the breaking
changes explicitly so the user can overrule the number.
pyproject.tomlReplace version = "OLD" with version = "NEW".
That is the only version reference in the repo. The citation in README.md and
docs/citing.md points at the paper, not the software release — do not add a
version or bump a year there.
uv sync
just pre-commit
Fix any failures before continuing.
Stage only pyproject.toml and uv.lock.
Commit message:
chore: bump version to vNEW
Collect the commit list since the previous tag, excluding the version bump commit itself:
git log vPREV..HEAD~1 --oneline # when a previous tag exists
git log HEAD~1 --oneline # first release: everything up to the bump
Group by prefix into sections (omit empty sections):
| Commit prefix | Section heading |
|---|---|
feat | New features |
fix | Bug fixes |
docs | Documentation |
refactor, perf | Improvements |
test, chore, style | Other |
Put any breaking change first, under Breaking changes, with the migration a user has to perform — not just what changed.
Use the grouped list as SUMMARY in the tag message below:
eSDIva vNEW
SUMMARY (bullet list, one line per commit, strip the conventional commit prefix)
Create the tag:
git tag -a vNEW -m "$(cat <<'EOF'
<the message above>
EOF
)"
just build
Check that dist/ holds exactly the new .whl and .tar.gz — a stale artifact
from an older version left in dist/ will be uploaded by twine upload dist/*.
Show the user:
git show HEADgit tag -n99 vNEWls dist/Then ask: "Ready to push commit and tag to origin? (yes / no)"
Do not push until the user explicitly says yes.
Hand the user the commands; do not run them.
git push origin main
git push origin vNEW
Hand the user the command; do not run it. PyPI refuses a re-upload of a version that already exists, so a mistake here costs a version number.
just publish # twine upload dist/*
Remind them that pip install esdiva then resolves to the highest version, so
0.2.0 supersedes 0.1.0 for new installs while esdiva==0.1.0 stays available.
Generate and display the following for the user to paste into the GitHub release UI. Use the same grouped commit list from Step 6 (omit Other unless notable).
## What's new in vNEW
### Breaking changes
- ...
### New features
- ...
### Bug fixes
- ...
### Documentation
- ...
### Improvements
- ...