VS Code extension
The New Tricks extension puts the source repo workflow in the editor: a Discover view for finding skills, a Source Repo view for your skills and their experiments, a Links view for what your agents load, lint results in the Problems panel, VS Code’s own diff and merge editors for upstream changes, and a publish pre-flight panel.
The extension is a thin client. It runs tricks serve --stdio and every action goes through the same core as the CLI, so anything you do in the editor you can also do with tricks, and the other way round.
Install
Section titled “Install”Install New Tricks (newtricks.new-tricks) from the VS Code Marketplace, or from Open VSX in Cursor, Windsurf and VSCodium:
code --install-extension newtricks.new-tricksThe platform builds bundle the tricks binary, so you don’t need to install the CLI separately. The extension looks for the binary in this order:
- The
tricks.pathsetting, if set. - The binary bundled with the extension.
trickson yourPATH.
The server starts in the first folder of your workspace. Open your source repo as the first folder, or on its own, to get the Source Repo view.
GitHub credentials are borrowed the same way as the CLI: GITHUB_TOKEN, then gh auth token. If neither is available, the extension passes VS Code’s GitHub session to the server, in memory only. Turn that off with tricks.useGitHubSession.
Settings
Section titled “Settings”| Setting | Default | Effect |
|---|---|---|
tricks.path |
empty | Path to the tricks binary. Empty uses the bundled binary, then tricks on PATH |
tricks.offline |
false |
Never touch the network (search the local index only) |
tricks.checkIntervalMinutes |
60 |
How often to check vendored skills for upstream changes while VS Code is open (at least 5). Fetches are still throttled by fetch_interval in your user config |
tricks.useGitHubSession |
true |
Pass VS Code’s GitHub session to tricks when gh isn’t signed in |
Changing tricks.path or tricks.offline restarts the server.
The extension adds a New Tricks view container to the activity bar with three views.
Discover
Section titled “Discover”Search across your catalogs and the live catalogs as you type, with facets for agent, trust, licence and no scripts. It’s the same search as tricks search. Each result card shows the skill’s name, ID and description, plus tags: trust, licence class, installs, stars, how many catalogs list it, identical copies, variants, Tessl quality, risk flags, and whether you’ve already linked or vendored it.
Each card has four actions:
- Preview opens the skill read-only (see below).
- Try… links it into a project without vendoring it, like
tricks try. - Vendor copies it into your source repo, like
tricks vendor. If the folder isn’t a source repo yet, the extension offers to initialize one. - Copy ID copies the skill ID.
Preview
Section titled “Preview”Preview Skill opens any skill, by ID or GitHub URL, in the Markdown preview without cloning anything, and then shows its trust, licence and risk summary with Try in Project…, Vendor and Files… buttons. Files… (Open Supporting File…) lists the skill’s other files. Scripts open as plain text, and nothing is ever run.
Source Repo
Section titled “Source Repo”The Source Repo view appears when the workspace has a source repo. It lists your skills with badges: updating, update <ref>, customized, lint errors, experiment <name> (or the number of experiments), uncommitted, and the number of branches. Clicking a skill opens its SKILL.md. Expand a skill to see:
- Where it came from: its upstream, or
local original. - upstream has … — update, when an update is ready, and continue or abort while an update is in progress.
- show changes… for vendored skills.
- Each experiment of the skill, with Commit Experiment… and Merge Experiment… inline. Clicking one opens its
SKILL.md. - Each other branch that changed the skill.
- The number of links.
The title bar has Refresh, Create Skill…, Link Source Repo Skills, Lint Source Repo and Publish…, plus Check Upstream Changes in its menu. Right-click a skill for the rest.
The Links view shows this source repo’s links under Source repo skills and all your trials under Trying. It’s the same information as tricks list --links and tricks list --trials --all. Each item shows the skill and agent, then where it is, what it deploys, the mode and any health problem:
changelog-writer · claude user scope · main (working tree, live) · linkchangelog-writer · claude my-app · experiment/changelog-writer/terse (worktree, live, pinned) · linkchangelog-writer · claude my-app · v0.1.0 @ 94bffc2 (snapshot, pinned) · linkanthropics/skills//skills/webapp-testing · claude my-app · linkAn item’s inline button unlinks it, or removes it with untry if it’s a trial. The title bar has Unlink This Source Repo’s Skills and Remove All Trials. When there’s nothing linked, the view offers Link Source Repo Skills and Initialize a source repo.
Link to a project
Section titled “Link to a project”Link to Project… (on a skill’s context menu) links one skill into a project folder. If the skill has experiments or branches, it first asks what the link should deploy:
- main checkout follows whatever branch the source repo is on, live, like
tricks link <skill>. - An experiment or a branch pins the link to it, like
tricks link <skill>@<name>.
Then you pick the agents: Claude Code, Codex, GitHub Copilot or Cursor, with Claude Code preselected. Try in a Project… asks for a project and agents the same way. If there’s exactly one workspace folder besides the source repo, both commands use it without asking. If a skill of the same name is already in the project, you’re offered Shadow, which backs up the existing skill and restores it when you unlink (--shadow). See What a link deploys.
Experiments
Section titled “Experiments”The skill context menu covers experiments:
- Start Experiment… asks for a name, starts
experiment/<skill>/<name>in.tricks/work/(or picks it up), and opens the skill’sSKILL.mdthere. Use Link to Project… with the experiment to test it. - Commit Experiment… commits everything changed in the experiment (
tricks experiment commit). - Merge Experiment… offers Merge locally, Merge and keep (the branch and worktree) or Pull request. If a merge stops on conflicts, the extension opens Source Control so you can resolve them and
git merge --continue. - Discard Experiment… throws it away, after asking if that loses work.
- Open Experiment Folder opens the experiment’s worktree in a new window.
Upstream changes
Section titled “Upstream changes”- Check Upstream Changes fetches every vendored skill’s upstream and lists those with changes, with their incoming commits and risk flags. Pick one to update it. The extension also checks in the background every
tricks.checkIntervalMinutes. - Show Changes… opens VS Code’s diff editor. For a vendored skill you can pick My customizations (base to working copy), Incoming upstream (base to latest upstream), Candidate merge (working copy to merge result, with nothing applied), Uncommitted (HEAD to working copy), Experiment <name> (HEAD to that experiment), or Branch <name> (HEAD to that branch). Local originals offer Uncommitted, their experiments and their branches.
- Update from Upstream runs
tricks updatefor one skill. A clean merge is left uncommitted, and Review in Source Control takes you there. Links to the main checkout load the result straight away. If there are conflicts, each text conflict opens in the three-way merge editor, with Yours and Upstream on either side of the base. Then run Continue Update, or Abort Update to restore your version. Binary and deleted-file conflicts are reported for you to resolve by hand. - Contribute Upstream… offers your change to a vendored skill upstream as a pull request (
tricks contribute).
See Upstream tracking.
Lint results appear in the Problems panel with source new-tricks and the rule code, for example NT305. The extension lints when it refreshes and whenever you save a file in the source repo. Lint Source Repo runs lint and opens the Problems panel, and Lint and Apply Safe Fixes runs tricks lint --fix. See Lint and the rule list.
Publish pre-flight
Section titled “Publish pre-flight”Publish… needs a [publish.targets.<name>] in tricks.toml. With more than one target, pick one. The panel runs a dry run first and shows:
- Each gate as passed, warning or failed, with details.
- The current version and the suggested bump, with untagged, patch, minor and major to choose from.
- push to the target or open a pull request on the target, and accept strong copyleft.
- The changes the target will receive, and a changelog preview.
Publish is disabled while a gate fails. See Publishing.
Status bar
Section titled “Status bar”One status bar item summarizes the source repo: pending upstream updates, an update in progress, lint errors (or warnings) and the number of links and trials, for example 3 upstream · 1 lint · 4, each with its icon. With nothing to report, it shows New Tricks. Click it for quick actions: search, link, check upstream changes, lint, publish, unlink, remove trials, doctor and refresh.
Editing assistance
Section titled “Editing assistance”tricks.toml: the extension contributes a JSON schema fortricks.toml, for completion and validation in TOML extensions that support schemas.SKILL.mdfrontmatter: completion for the Agent Skills keys (name,description,license,compatibility,metadata,allowed-tools) and the Claude Code keys (disable-model-invocation,argument-hint,model), with snippets and hover documentation. Hovering over a key that isn’t in the spec explains that it’s kept and reported as NT402.
Commands
Section titled “Commands”All commands are in the Command Palette under New Tricks.
| Task | Commands |
|---|---|
| Discover | Search Skills, Preview Skill, Open Supporting File…, Try in a Project…, Vendor into Source Repo |
| Source repo | Initialize Source Repo Here, Create Skill… (new or from a folder), Remove Skill…, Open SKILL.md |
| Links | Link Source Repo Skills, Link to Project…, Unlink / Untry, Unlink This Source Repo’s Skills, Remove All Trials |
| Experiments | Start Experiment…, Commit Experiment…, Merge Experiment…, Discard Experiment…, Open Experiment Folder |
| Upstream | Check Upstream Changes, Show Changes…, Update from Upstream, Continue Update, Abort Update, Contribute Upstream… |
| Lint and publish | Lint Source Repo, Lint and Apply Safe Fixes, Publish… |
| Maintenance | Refresh, Doctor (writes tricks doctor output to the New Tricks output channel), Status Actions |
When the core needs your confirmation, for example for a licence warning when vendoring, the extension shows it in a dialog with the details, and continues only if you choose Continue. Server messages and errors go to the New Tricks output channel.