ast-grep Codemod Reference
warp-drive-data/warp-drive
Reference for writing and debugging TypeScript and JavaScript codemods with @ast-grep/napi: parsing, node queries, meta-variables, rule objects and editing.
Core best practices for the Dinero.js money library. An agent skill from dinerojs/dinero.js.
$ npx skills add dinerojs/dinero.js --skill dinero-best-practices -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dinerojs/dinero.js dinero-best-practices --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/dinerojs/dinero.js.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/dinero-best-practices .claude/skills/dinero-best-practices && 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 "dinero-best-practices" agent skill from https://github.com/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practices into .claude/skills/dinero-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dinero-best-practices", 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/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practicesType 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 dinerojs/dinero.js --skill dinero-best-practices -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dinerojs/dinero.js dinero-best-practices --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dinerojs/dinero.js.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/dinero-best-practices .agents/skills/dinero-best-practices && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dinero-best-practices" agent skill from https://github.com/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practices into .agents/skills/dinero-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dinero-best-practices", 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 dinerojs/dinero.js --skill dinero-best-practices -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dinerojs/dinero.js dinero-best-practices --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dinerojs/dinero.js.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/dinero-best-practices .cursor/skills/dinero-best-practices && 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 "dinero-best-practices" agent skill from https://github.com/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practices into .cursor/skills/dinero-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dinero-best-practices", 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/dinerojs/dinero.js.git --path .agents/skills/dinero-best-practices--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 dinerojs/dinero.js --skill dinero-best-practices -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dinerojs/dinero.js dinero-best-practices --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dinerojs/dinero.js.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/dinero-best-practices .gemini/skills/dinero-best-practices && 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 "dinero-best-practices" agent skill from https://github.com/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practices into .gemini/skills/dinero-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dinero-best-practices", 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 dinerojs/dinero.js dinero-best-practicesInstalls 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 dinerojs/dinero.js --skill dinero-best-practices -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dinerojs/dinero.js.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/dinero-best-practices .github/skills/dinero-best-practices && 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 "dinero-best-practices" agent skill from https://github.com/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practices into .github/skills/dinero-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dinero-best-practices", 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 dinerojs/dinero.js --skill dinero-best-practices -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dinerojs/dinero.js dinero-best-practices --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dinerojs/dinero.js.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/dinero-best-practices .opencode/skills/dinero-best-practices && 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 "dinero-best-practices" agent skill from https://github.com/dinerojs/dinero.js/tree/main/.agents/skills/dinero-best-practices into .opencode/skills/dinero-best-practices/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dinero-best-practices", 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.
dinero-best-practicesCore best practices for the Dinero.js money library. An agent skill from dinerojs/dinero.js.
Dinero Best Practices is an agent skill from dinerojs/dinero.js. Core best practices for the Dinero.js money library. Use when writing, reviewing, or refactoring code that creates Dinero objects, performs arithmetic on monetary values, or handles money in JavaScript/TypeScript. Triggers on imports from 'dinero.js', monetary calculations, or price/cost handling logic.
Its SKILL.md is about 760 tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files (for example `rules/arithmetic-allocate-not-divide.md`, `rules/arithmetic-immutability.md` and `rules/arithmetic-percentages.md`).
It sits in Development, covering Refactoring. It works with JavaScript and TypeScript. The repository describes itself as: Create, calculate, and format money in JavaScript and TypeScript. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 76b969e. 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.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
v2.dinerojs.comFrom 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.
Dinero Best Practices loads about 756 tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 263 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 dinerojs/dinero.js at commit 76b969e, republished under its MIT licence (© dinerojs). 263 words, ~756 tokens.
.claude/skills/dinero-best-practices/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.Core rules for working with Dinero.js, the JavaScript/TypeScript library for creating, calculating, and formatting money safely. Contains rules across 4 categories, prioritized by impact.
Reference these guidelines when:
number and bigint calculatorsdinero.js, dinero.js/currencies, or dinero.js/bigint| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Object Creation | CRITICAL | creation- |
| 2 | Arithmetic | CRITICAL | arithmetic- |
| 3 | Precision | HIGH | precision- |
| 4 | Imports | MEDIUM | imports- |
creation-minor-units - Always pass amounts as integers in minor currency unitscreation-from-floats - Use a helper to convert float inputs to minor unitscreation-zero-exponent - Currencies with exponent 0 (e.g., JPY) take major units directlyarithmetic-immutability - All operations return new objects; capture the return valuearithmetic-allocate-not-divide - Use allocate for splitting money, not manual divisionarithmetic-scaled-amounts - Never multiply by a raw decimal; use scaled amountsarithmetic-percentages - Calculate percentages with allocate or scaled multiplyprecision-bigint - Use dinero.js/bigint for amounts exceeding Number.MAX_SAFE_INTEGERprecision-crypto - Cryptocurrencies require bigint due to high exponentsprecision-trim-scale - Use trimScale to remove trailing zeros after chained operationsimports-tree-shaking - Import only what you use; standalone functions enable tree-shakingimports-bigint-currencies - Match calculator type: use dinero.js/bigint/currencies with dinero.js/bigintRead individual rule files for detailed explanations and code examples:
rules/creation-minor-units.md
rules/arithmetic-allocate-not-divide.mdEach rule file contains:
© dinerojs, 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 12 other files in .agents/skills/dinero-best-practices of dinerojs/dinero.js.
Open the folder on GitHubat commit 76b969e
Dinero Best Practices 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 |
|---|---|---|---|---|---|---|
| Dinero Best Practices this skilldinerojs/dinero.js | 6.8k | — | ~756 | Automated safety check: Pass | MIT | |
| ast-grep Codemod Referencewarp-drive-data/warp-drive | 3.2k | — | ~2.6k | Automated safety check: Pass | MIT | |
| DRY Refactoring With jscpdkucherenko/jscpd | 6.4k | — | ~2.1k | Automated safety check: Pass | MIT | |
| Coding Agentmastra-ai/mastra | 29k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| jscpd Duplicate Code Detectorkucherenko/jscpd | 6.4k | — | ~4.5k | Automated safety check: Pass | MIT | |
| Crowdin API Clientcrowdin/crowdin-cli | 320 | — | ~1.1k | Automated safety check: Pass | MIT |
warp-drive-data/warp-drive
Reference for writing and debugging TypeScript and JavaScript codemods with @ast-grep/napi: parsing, node queries, meta-variables, rule objects and editing.
kucherenko/jscpd
Removes copy-paste duplication found by jscpd, starting with exact clones and hotspots, then renamed and near-miss copies, using proven refactoring strategies.
mastra-ai/mastra
Authoring playbook for building agents that write, edit, review, or refactor code.
kucherenko/jscpd
Finds duplicated code in 220+ languages with jscpd, reports exact, renamed and near-miss clones in a compact agent-friendly format and measures duplication.
crowdin/crowdin-cli
A skill your agent uses when implementing, refactoring, or reviewing @crowdin/crowdin-api-client usage in any JavaScript or TypeScript project, especially for endpoint selection, request/response…
jwynia/agent-skills
Guide AI agents through TypeScript coding best practices including type safety, error handling, code organization, and architecture patterns.
dinerojs/dinero.js
Create a git commit with optional automatic Linear issue linking.
dinerojs/dinero.js
Currency handling patterns for the Dinero.js money library. An agent skill from dinerojs/dinero.js.
dinerojs/dinero.js
Formatting patterns for the Dinero.js money library. An agent skill from dinerojs/dinero.js.
Works with
Categories
Core best practices for the Dinero.js money library. An agent skill from dinerojs/dinero.js. js.js money library.
Dinero Best Practices fits situations like: refactoring code that creates Dinero objects; performs arithmetic on monetary values; handles money in JavaScript/TypeScript; imports from dinero.js.
Run `npx skills add dinerojs/dinero.js --skill dinero-best-practices -a claude-code`. Or copy the skill folder (.agents/skills/dinero-best-practices in dinerojs/dinero.js) into .claude/skills/dinero-best-practices in your project. Claude Code loads it when a task matches its description.
Run `npx skills add dinerojs/dinero.js --skill dinero-best-practices -a codex`. Or copy the skill folder (.agents/skills/dinero-best-practices in dinerojs/dinero.js) into .agents/skills/dinero-best-practices 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 dinerojs/dinero.js --skill dinero-best-practices -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dinero-best-practices, .gemini/skills/dinero-best-practices, .github/skills/dinero-best-practices and .opencode/skills/dinero-best-practices in your project.
SKILL.md names no scripts, command-line tools or credentials: Dinero Best Practices is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: v2.dinerojs.com. 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.
Dinero Best Practices is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 756 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dinero Best Practices: ast-grep Codemod Reference (warp-drive-data/warp-drive, 3.2k stars), DRY Refactoring With jscpd (kucherenko/jscpd, 6.4k stars), Coding Agent (mastra-ai/mastra, 29k stars) and jscpd Duplicate Code Detector (kucherenko/jscpd, 6.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
dinerojs (a GitHub organization) maintains it in dinerojs/dinero.js, which has 6,804 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 5, 2026.
Source: dinerojs/dinero.js on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.