Paytm Developer Assistant — VS Code Chat Participant
@paytm is a VS Code chat participant that uses VS Code's built-in language model API (Copilot or any installed provider) and ships with a bundled Paytm skill — SKILL.md, references/, sample projects under scripts/. When paytm.mcpTools is enabled (default), @paytm runs a tool loop: the model can call bundled MCP-backed tools to pull gateway docs on demand, so compound prompts (e.g. scaffold an app and wire Paytm) keep general structure in-context while Paytm facts stay authoritative.
Requirements
- VS Code
>= 1.102.0
- A language model provider installed and signed in (e.g. GitHub Copilot Chat)
Slash commands
@paytm /generate <task> — generate code for a Paytm integration
@paytm /edit <change> — modify the active selection/file (with diff preview)
@paytm /explain <topic> — step-by-step explanation
@paytm /skills — list bundled skills
@paytm /reload — reload skills from disk
Code answers include action buttons: Apply edit (diff preview + write), Create file, Copy.
Settings
| Setting |
Description |
paytm.model.vendor |
LM vendor (default copilot). |
paytm.model.family |
Optional model family (e.g. claude-sonnet-4, gpt-4o). Empty = auto. |
paytm.skillsPaths |
Extra folders to scan for skills. Absolute, ~, or workspace-relative. |
paytm.mcpTools |
When true, @paytm uses MCP tools (paytm_fetch_flow, paytm_fetch_reference) for Paytm excerpts instead of loading the whole skill text up front. Set false to always use embedded skill injection (legacy router + full SKILL.md / references in the prompt). |
paytm_fetch_flow (flow): checkout (JS Checkout), subscription (UPI Autopay), payment_link, qr (dynamic QR), troubleshooting, checksum, overview.
paytm_fetch_reference (topic): full text of one file under references/ (e.g. troubleshooting, js-checkout).
@paytm tool loop: The participant passes tool definitions into vscode.lm and executes the bundled Paytm MCP server over stdio for each tool invocation.
- Copilot Agent mode: The extension also registers
Paytm bundled integration MCP (see MCP server list / tools picker). That is the same server process and skill files—useful when you chat in Agent mode instead of @paytm.
Bundled skills
The extension scans the skills/ folder shipped with the extension: each immediate subfolder that contains a SKILL.md counts as one skill. Right now there is one such skill:
| Folder |
Skill id (name in SKILL.md) |
What it covers |
skills/paytm-integration/ |
paytm-integration |
Paytm Payment Gateway — JS Checkout, UPI Autopay subscriptions, payment links, dynamic QR, checksums, Initiate/Status APIs, troubleshooting (see references/). Reference implementations live under scripts/ (Node, Python, Spring, frontend HTML). |
Updating the bundled skill from upstream
The bundled paytm-integration skill can be refreshed from the upstream repo paytm-integration-skills using the sync script. It shallow-clones (or updates) a local cache and copies SKILL.md, references/*.md, and scripts/ into skills/paytm-integration/.
From the extension repo root:
npm run sync:paytm-integration-skills
Or run the shell script directly:
bash ./scripts/sync-paytm-integration-skills.sh
Optional environment variables:
| Variable |
Meaning |
PAYTM_SKILLS_REPO |
Git remote (default: https://github.com/paytm/paytm-integration-skills.git). Point this at your fork to pull from there. |
PAYTM_SKILLS_BRANCH |
Branch to sync (default: main). |
PAYTM_SKILLS_CACHE |
Where the script keeps its git clone (default: .paytm-integration-skills-cache in the repo root). |
PAYTM_SKILLS_OFFLINE |
Set to 1 to skip git fetch and copy only from an existing cache (useful with no network). |
After a successful run, reload the extension’s skills in the editor: @paytm /reload or reload the VS Code window.
Adding your own skill
Drop a folder into skills/ (or any path listed in paytm.skillsPaths):
my-skill/
SKILL.md # frontmatter + body
snippets/
node.js
java.java
python.py
references/
api-spec.md
SKILL.md frontmatter:
---
name: my-skill
description: One-liner the router uses to decide when to load this skill.
triggers: [keyword1, keyword2]
languages: [node, java, python]
---
The router auto-picks 0–2 skills per request based on the description, then loads the matching language snippet.
Run and debug locally
npm install
npm run compile # extension + paytm-mcp (out/ and out-mcp/)
# F5 in VS Code → Extension Development Host
Use npm run compile:ext or npm run compile:mcp to build one side only.
Packaging
Packaging must include runtime dependencies (this extension ships @modelcontextprotocol/sdk for the MCP client):
npx @vscode/vsce package