Agent skill

Ts1261 Filename Casing

by forcedotcom in forcedotcom/salesforcedx-vscode

Fix TS1261 when TypeScript reports two paths that differ only in casing (import vs include vs git index).

BSD-3-ClauseAuto-check passedDevelopment

Install Ts1261 Filename Casing

skills CLI
$ npx skills add forcedotcom/salesforcedx-vscode --skill ts1261-filename-casing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/salesforcedx-vscode ts1261-filename-casing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/salesforcedx-vscode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ts1261-filename-casing .claude/skills/ts1261-filename-casing && rm -rf skills-src

Use ~/.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/

Facts

Skill name
ts1261-filename-casing
GitHub stars
1k
Token cost
~473 tokens
SKILL.md length
208 words
Files
1
Skills in repo
37
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Fix TS1261 when TypeScript reports two paths that differ only in casing (import vs include vs git index).

  • Compile shows error 1261
  • SKILL.md covers Problem, Fix, Why not a single git mv? and git rm / index, plus 2 more sections
  • Calls git and npm
  • Already included file name ..

What it does

Ts1261 Filename Casing is an agent skill from forcedotcom/salesforcedx-vscode. Fix TS1261 when TypeScript reports two paths that differ only in casing (import vs include vs git index). Use when compile shows error 1261 or "Already included file name ... differs from file name ... only in casing".

Its SKILL.md is about 470 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git workflow. It works with Git and TypeScript. The repository describes itself as: Salesforce Extensions for VS Code. The licence is BSD-3-Clause.

When your agent uses it

  • Compile shows error 1261
  • Already included file name ..

Example prompts

  • “/ts1261-filename-casing”

What it can do on your machine

Read from SKILL.md and the folder at commit 5972473. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Ts1261 Filename Casing loads about 473 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 208 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~473

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from forcedotcom/salesforcedx-vscode at commit 5972473, republished under its BSD-3-Clause licence (© forcedotcom). 208 words, ~473 tokens.

Download SKILL.mdSave it as .claude/skills/ts1261-filename-casing/SKILL.md (or your agent's skills folder).
name
ts1261-filename-casing
description
Fix TS1261 when TypeScript reports two paths that differ only in casing (import vs include vs git index). Use when compile shows error 1261 or "Already included file name ... differs from file name ... only in casing".
review
never

TS1261 (filename casing)

Problem

Diagnostic 1261 in typescript (Already_included_file_name_0_differs_from_file_name_1_only_in_casing): one path comes from an import, another from include / program — same file on a case-insensitive disk, different casing in the string.

Typical cause: git tracks fooBar.ts but imports ./FooBar; or a case-only rename left the index with old casing.

Fix

Canonical name = what imports use (and consistent Pascal/camel across repo).

Case-insensitive FS (macOS default, Windows): case-only renames need a temporary middle name so git and the filesystem both update.

bash
cd path/to/dir
git mv WrongCaseName.ts _tmp_rename.ts
git mv _tmp_rename.ts RightCaseName.ts

Then npm run compile.

Why not a single git mv?

git mv a.ts A.ts often no-ops or fails when a and A resolve to the same path — the two-step move is the reliable fix.

git rm / index

Goal is an index entry whose path string matches imports. git rm --cached <wrong-cased-path> removes that index entry; you still must put content on disk under the right cased name (again: use intermediate mv on case-insensitive FS). Two-step git mv updates index + working tree in one workflow without a detached delete step.

Verify

  • npm run compile
  • git ls-files path/to/dir | grep -i <basename> shows one line, casing matches imports

Checklist

  • Read TS1261 lines: identify both casing spellings
  • Choose spelling that matches existing imports
  • Two-step git mv if case-only change on case-insensitive FS
  • Re-run compile

© forcedotcom, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/ts1261-filename-casing of forcedotcom/salesforcedx-vscode.

Open the folder on GitHubat commit 5972473

Compare with similar skills

Ts1261 Filename Casing 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.

Ts1261 Filename Casing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ts1261 Filename Casing this skillforcedotcom/salesforcedx-vscode1k—~473Automated safety check: PassBSD-3-Clause
Convert Internal Package to TypeScriptTryGhost/Ghost56k—~1.2kAutomated safety check: PassMIT
Skyvern Version BumpSkyvern-AI/skyvern23k—~1kAutomated safety check: NotesAGPL-3.0
Markbind Typescript MigrationMarkBind/markbind158—~2kAutomated safety check: PassMIT
Add Tauri Commanddevlint/GitWand180—~1.5kAutomated safety check: PassMIT
Trace And Isolaterohitg00/skillkit1.5k—~1.8kAutomated safety check: PassApache-2.0

Similar skills

  • Moves a legacy internal Ghost package from JavaScript and CommonJS to TypeScript and ESM in three focused commits that keep git file history intact.

    56k GitHub stars~1.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Skyvern Version Bump

    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.

    23k GitHub stars~1k tokensUpdated today
    DevelopmentAuto-check: notes
  • Complete guide for migrating JavaScript files to TypeScript in the MarkBind project, including the two-commit strategy, import/export syntax conversion, and best practices.

    158 GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Add Tauri Command

    devlint/GitWand

    A skill your agent uses when the user wants to expose a Rust feature to the Vue frontend, add a Tauri IPC command, invoke something from a Vue component, or wire up any backend/frontend…

    180 GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Trace And Isolate

    rohitg00/skillkit

    Applies systematic tracing and isolation techniques to pinpoint exactly where a bug originates in code.

    1.5k GitHub stars~1.8k tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Project Init

    athola/claude-night-market

    Scaffolds new projects with git, CI/CD workflows, pre-commit hooks, and build config.

    341 GitHub stars~1.2k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from forcedotcom/salesforcedx-vscode

All 37 skills in this repo
  • Command UI

    forcedotcom/salesforcedx-vscode

    Command palette, CodeLens, context menus, package.nls titles, and NotificationModeService.

    1k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Services Extension Consumption

    forcedotcom/salesforcedx-vscode

    Consume the salesforcedx-vscode-services extension API. An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~5k tokensUpdated today
    Auto-check passed
  • Changelog

    forcedotcom/salesforcedx-vscode

    Polish the automated CHANGELOG on develop before the next stable build.

    1k GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Core Extension API

    forcedotcom/salesforcedx-vscode

    Public API exported by salesforcedx-vscode-core activate(). An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~842 tokensUpdated today
    Auto-check passed
  • Drivable Vscode

    forcedotcom/salesforcedx-vscode

    Operate a real VS Code instance through drivable-vscode. An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Effect Best Practices

    forcedotcom/salesforcedx-vscode

    Enforces Effect-TS patterns for services, errors, layers, atoms, and Effect.pipe composition.

    1k GitHub stars~6.2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Ts1261 Filename Casing

What does Ts1261 Filename Casing do?

Fix TS1261 when TypeScript reports two paths that differ only in casing (import vs include vs git index). Ts1261 Filename Casing is an agent skill from forcedotcom/salesforcedx-vscode. Fix TS1261 when TypeScript reports two paths that differ only in casing (import vs include vs git index).

When should I use Ts1261 Filename Casing?

Ts1261 Filename Casing fits situations like: compile shows error 1261; already included file name ..

How do I install Ts1261 Filename Casing in Claude Code?

Run `npx skills add forcedotcom/salesforcedx-vscode --skill ts1261-filename-casing -a claude-code`. Or copy the skill folder (.claude/skills/ts1261-filename-casing in forcedotcom/salesforcedx-vscode) into .claude/skills/ts1261-filename-casing in your project. Claude Code loads it when a task matches its description.

How do I install Ts1261 Filename Casing in Codex?

Run `npx skills add forcedotcom/salesforcedx-vscode --skill ts1261-filename-casing -a codex`. Or copy the skill folder (.claude/skills/ts1261-filename-casing in forcedotcom/salesforcedx-vscode) into .agents/skills/ts1261-filename-casing in your project. Codex loads it when a task matches its description.

Can I use Ts1261 Filename Casing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/salesforcedx-vscode --skill ts1261-filename-casing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ts1261-filename-casing, .gemini/skills/ts1261-filename-casing, .github/skills/ts1261-filename-casing and .opencode/skills/ts1261-filename-casing in your project.

What does Ts1261 Filename Casing need to run?

Going by SKILL.md and its folder, Ts1261 Filename Casing needs the command-line tools its instructions call (git and npm).

Does Ts1261 Filename Casing access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Ts1261 Filename Casing safe to install?

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.

What licence does Ts1261 Filename Casing use?

Ts1261 Filename Casing is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ts1261 Filename Casing use?

About 473 tokens (SKILL.md is roughly 1.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Ts1261 Filename Casing?

Skills that share tags, products or a category with Ts1261 Filename Casing: Convert Internal Package to TypeScript (TryGhost/Ghost, 56k stars), Skyvern Version Bump (Skyvern-AI/skyvern, 23k stars), Markbind Typescript Migration (MarkBind/markbind, 158 stars) and Add Tauri Command (devlint/GitWand, 180 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ts1261 Filename Casing?

forcedotcom (a GitHub organization) maintains it in forcedotcom/salesforcedx-vscode, which has 1,035 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 9, 2026.

Source: forcedotcom/salesforcedx-vscode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.