一键导入
check-pkg-name
Check if package names are available on crates.io and npm. Use when naming a new library or crate.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Check if package names are available on crates.io and npm. Use when naming a new library or crate.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Express coordinate reference frames, time scales, and state representations in the type system, and test them with property-based tests — durable design guidance for orts/arika that holds whether you extend the current types or redesign them. Use when implementing, refactoring, or rethinking frame/scale code: adding a frame, scale, or transform; typing vectors, epochs, covariances, or rotations; deciding which time scale a transform takes; isolating EOP dependencies; choosing an interpolation space; or writing tests for rotation and scale-conversion invariants — and also when reviewing or verifying frame/scale code for type-safety. Companion to `coordinate-time-systems`, which covers the domain concerns (which frame/scale/representation, the traps).
Reason about coordinate reference frames and time scales correctly (any astrodynamics work) — which frame/scale/representation a value is actually in, the concerns to resolve before trusting it, and what to look up. Use when interpreting or choosing frames (ECI/ECEF, GCRS/ITRS/CIRS/TIRS, J2000/EME2000, TEME, ICRF, LVLH/RTN/RSW, body-fixed), time scales (TAI/UTC/UT1/TT/TDB/GPS), or state representations (Cartesian/Keplerian/equinoctial); or when reasoning about frame/scale conversions, covariance transforms, interpolation, leap seconds, ERA/GMST/GAST, EOP/ΔUT1, polar motion, frame bias, or realizations — and also when reviewing or verifying frame/time/coordinate work (use it as a checklist of the traps, even for code you could write unaided). The companion skill `coordinate-time-implementation` covers expressing and testing these in orts/arika code.
Run an external AI code review to get independent feedback on code changes. Use this skill when the user asks for a code review, says "コードレビューして", "レビュー", "変更を見て", "code review", or wants external feedback on their recent commits or uncommitted changes.
A knowledgeable neighbor who offers a fresh perspective on architecture, design decisions, and test strategy. Use proactively when a second opinion would improve quality, or when the user says "別の視点が欲しい", "設計を相談したい", "相談", "smart-friend に聞いて", or asks for feedback on their approach.
Reference for generating Orekit cross-validation fixtures. Covers orekit-jpype setup, force model matching, CSSI space weather, and fixture generation patterns.
Guidelines for E2E testing the orts viewer with Playwright. Covers DuckDB query-level data verification, canvas pixel analysis, and common pitfalls.
| name | check-pkg-name |
| description | Check if package names are available on crates.io and npm. Use when naming a new library or crate. |
| argument-hint | name1 name2 name3 ... |
| allowed-tools | ["Bash"] |
Check whether package names are taken on crates.io and npm.
The user's argument is a space-separated list of candidate names. For each name, check both registries.
for name in <names>; do
crate_code=$(curl -s -o /dev/null -w "%{http_code}" "https://crates.io/api/v1/crates/$name")
npm_code=$(curl -s -o /dev/null -w "%{http_code}" "https://registry.npmjs.org/$name")
echo "$name crates.io=$crate_code npm=$npm_code"
done
For any name that returns HTTP 200 (taken), fetch the description:
curl -s "https://crates.io/api/v1/crates/$name" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['crate']['description'])"curl -s "https://registry.npmjs.org/$name" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('description','(no description)'))"Present results in a table:
| Name | crates.io | npm | Both free? |
|---|---|---|---|
| foo | free | free | Yes |
| bar | taken (description) | free | No |
sleep 0.3 between crates.io requests to avoid rate limiting