Check npm
grafana/skills
Audit a JavaScript/TypeScript repo's npm, yarn, or pnpm configuration for supply-chain hardening: tool version, lifecycle scripts, unsafe dependency protocols, and minimum release age ≥3 days.
Complete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices.
$ npx skills add MarkBind/markbind --skill markbind-typescript-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install MarkBind/markbind markbind-typescript-migration --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/MarkBind/markbind.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/markbind-typescript-migration .claude/skills/markbind-typescript-migration && 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 "markbind-typescript-migration" agent skill from https://github.com/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migration into .claude/skills/markbind-typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "markbind-typescript-migration", 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/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migrationType 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 MarkBind/markbind --skill markbind-typescript-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install MarkBind/markbind markbind-typescript-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MarkBind/markbind.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/markbind-typescript-migration .agents/skills/markbind-typescript-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "markbind-typescript-migration" agent skill from https://github.com/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migration into .agents/skills/markbind-typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "markbind-typescript-migration", 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 MarkBind/markbind --skill markbind-typescript-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install MarkBind/markbind markbind-typescript-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MarkBind/markbind.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/markbind-typescript-migration .cursor/skills/markbind-typescript-migration && 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 "markbind-typescript-migration" agent skill from https://github.com/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migration into .cursor/skills/markbind-typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "markbind-typescript-migration", 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/MarkBind/markbind.git --path .github/skills/markbind-typescript-migration--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 MarkBind/markbind --skill markbind-typescript-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install MarkBind/markbind markbind-typescript-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MarkBind/markbind.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/markbind-typescript-migration .gemini/skills/markbind-typescript-migration && 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 "markbind-typescript-migration" agent skill from https://github.com/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migration into .gemini/skills/markbind-typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "markbind-typescript-migration", 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 MarkBind/markbind markbind-typescript-migrationInstalls 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 MarkBind/markbind --skill markbind-typescript-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/MarkBind/markbind.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/markbind-typescript-migration .github/skills/markbind-typescript-migration && 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 "markbind-typescript-migration" agent skill from https://github.com/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migration into .github/skills/markbind-typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "markbind-typescript-migration", 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 MarkBind/markbind --skill markbind-typescript-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install MarkBind/markbind markbind-typescript-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/MarkBind/markbind.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/markbind-typescript-migration .opencode/skills/markbind-typescript-migration && 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 "markbind-typescript-migration" agent skill from https://github.com/MarkBind/markbind/tree/master/.github/skills/markbind-typescript-migration into .opencode/skills/markbind-typescript-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "markbind-typescript-migration", 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.
markbind-typescript-migrationComplete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices.
Markbind Typescript Migration is an agent skill from MarkBind/markbind. Complete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices. Use when migrating .js files to .ts in MarkBind's core package, preparing TypeScript migration pull requests, or understanding the Rename+Adapt commit workflow required for preserving git history.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/adapt-commit.md`, `references/import-export-syntax.md` and `references/preparation.md`).
It sits in Development, covering Git workflow and Pull requests. It works with TypeScript, JavaScript, npm and Git. The repository describes itself as: MarkBind is a tool for generating content-heavy websites from source files in Markdown format. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit dab9fc7. 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.
Shell commands in SKILL.md call:
npmgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.
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.
Markbind Typescript Migration loads about 2k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 100 tokens; SKILL.md has 797 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 MarkBind/markbind at commit dab9fc7, republished under its MIT licence (© MarkBind). 797 words, ~1,962 tokens.
.claude/skills/markbind-typescript-migration/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.MarkBind is progressively migrating backend code from JavaScript to TypeScript. This skill provides a complete guide for performing migrations that preserve git file history.
Two-Commit Strategy Required: TypeScript migrations MUST use two separate commits:
.js to .ts onlyUpdate files incrementally: Migrate one component/directory in each commit to keep PRs focused and reviewable.
PR Merge Strategy: Use rebase-merge (not squash-merge) to keep both commits in target branch.
Strict TypeScript Settings: Migrations must adhere to existing strict TypeScript settings (no any types/disable linting without justification, etc.).
Before starting migration:
npm run dev or IDE)@types/* packagesif @types/* are not available, assess if stand-in types should be created, or explore alternative packages that are actively maintained as replacements.
.js paths to .gitignore and .eslintignore.js files to .ts--no-verify (code doesn't compile yet)npm run dev)For complete instructions with examples and troubleshooting, see:
| CommonJS | TypeScript Equivalent | ES6 |
|---|---|---|
module.exports = X | export = X | Avoid: export default (don't use) |
module.exports = { a, b } | export = { a, b } | Preferred: export { a, b } |
| CommonJS | TypeScript Equivalent | ES6 |
|---|---|---|
const X = require('a') | import X = require('a') | import X from 'a' |
const { a, b } = require('x') | Import whole object | import { a, b } from 'x' |
Rule: Match import syntax with export syntax.
export default during migrationany type without justification--no-verify@types/* packages before starting# Full test suite
npm run test
# Core package only
cd packages/core && npm run test
# CLI package (uses compiled core)
cd packages/cli && npm run testBoth must pass: Core tests verify .ts compilation, CLI tests verify compiled .js output.
any types (or justified with comments)Reference these PRs for migration patterns:
After your migration is merged:
If you created stand-in types for dependencies still in JavaScript:
If you migrated a major component:
# Find all .js files in core package
find packages/core/src -name "*.js" -type f
# Count .js vs .ts files
find packages/core/src -name "*.js" | wc -l
find packages/core/src -name "*.ts" | wc -l# After rename, before commit
git diff --cached --stat
# Should show "renamed" not "deleted/added"# Rename all .js files in a directory
find packages/core/src/html -name "*.js" -exec bash -c 'mv "$0" "${0%.js}.ts"' {} \;references/TypeScript configuration is in root tsconfig.json. Don't modify without team discussion.
Current settings:
A successful migration:
any types (or justified)Your migration is ready when you can confidently say: "This TypeScript code provides better type safety without changing runtime behavior."
© MarkBind, 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 5 other files (references) in .github/skills/markbind-typescript-migration of MarkBind/markbind.
Open the folder on GitHubat commit dab9fc7
Markbind Typescript Migration 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 |
|---|---|---|---|---|---|---|
| Markbind Typescript Migration this skillMarkBind/markbind | 158 | — | ~2k | Automated safety check: Pass | MIT | |
| Check npmgrafana/skills | 278 | — | ~1.3k | Automated safety check: Warn | Apache-2.0 | |
| Convert Internal Package to TypeScriptTryGhost/Ghost | 55k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Skyvern Version BumpSkyvern-AI/skyvern | 23k | — | ~1k | Automated safety check: Notes | AGPL-3.0 | |
| AionUi Version BumpiOfficeAI/AionUi | 33k | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT |
grafana/skills
Audit a JavaScript/TypeScript repo's npm, yarn, or pnpm configuration for supply-chain hardening: tool version, lifecycle scripts, unsafe dependency protocols, and minimum release age ≥3 days.
TryGhost/Ghost
Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.
Skyvern-AI/skyvern
Walks through a Skyvern open-source release bump: update the version, rebuild the Python and TypeScript SDKs with Fern, commit, and open a pull request.
iOfficeAI/AionUi
Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
microsoft/beachball
Create and validate Beachball change files. An agent skill from microsoft/beachball.
Works with
Categories
Complete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices. Markbind Typescript Migration is an agent skill from MarkBind/markbind. Complete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices.
Markbind Typescript Migration fits situations like: migrating .js files to .ts in MarkBinds core package; preparing TypeScript migration pull requests; understanding the Rename+Adapt commit workflow required for preserving git history.
Run `npx skills add MarkBind/markbind --skill markbind-typescript-migration -a claude-code`. Or copy the skill folder (.github/skills/markbind-typescript-migration in MarkBind/markbind) into .claude/skills/markbind-typescript-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add MarkBind/markbind --skill markbind-typescript-migration -a codex`. Or copy the skill folder (.github/skills/markbind-typescript-migration in MarkBind/markbind) into .agents/skills/markbind-typescript-migration 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 MarkBind/markbind --skill markbind-typescript-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/markbind-typescript-migration, .gemini/skills/markbind-typescript-migration, .github/skills/markbind-typescript-migration and .opencode/skills/markbind-typescript-migration in your project.
Going by SKILL.md and its folder, Markbind Typescript Migration needs the command-line tools its instructions call (npm and git).
SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. 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.
Markbind Typescript Migration is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.8k 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 11k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Markbind Typescript Migration: Check npm (grafana/skills, 278 stars), Convert Internal Package to TypeScript (TryGhost/Ghost, 55k stars), Skyvern Version Bump (Skyvern-AI/skyvern, 23k stars) and AionUi Version Bump (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
MarkBind (a GitHub organization) maintains it in MarkBind/markbind, which has 158 GitHub stars. The repository was last updated on August 27, 2026.
Source: MarkBind/markbind on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.