Apps & Extensions
Everything you plug TDSPRO into
One hub for it all: get a key, wire it into your editor or SDK, add MCP servers, grab Skills and prompt recipes, and reach the CLI and design studio. One key, every place you build.
Quick start
The three things every client needs — your base URL, your key, and a model name. Beginner? Start here.
The essentials
- Base URL
- https://api.tdspro.lol/v1
- API key
- YOUR_KEY
- Model
- fast · smart · code · vision · reasoning · creative
What is an API key?
An API key is a secret password that lets your tool talk to TDSPRO on your behalf. Create one in your dashboard, keep it private, and paste it wherever you see YOUR_KEY. Revoke it anytime.
Editor & tool setup
Ready-to-copy configs for Claude Code, Cursor, OpenCode, the OpenAI SDK and MCP — plus downloadable IDE configs and one-line installers.
Plain step-by-step, everything explained.
Download a ready IDE config
Already points at TDSPRO — just paste your key.
MCP servers
A curated pack of Model Context Protocol servers, each wired with the correct command. One-click add, plus the exact place to paste it per client.
What's in the pack
Up-to-date docs for any library, pulled into the model on demand. npx; optional --api-key.
Official REMOTE GitHub MCP (http). Repos, issues, PRs. The old npm server is deprecated.
Drive a real browser — navigate, click, fill forms, take screenshots. npx.
Fetch any URL and turn the page into clean markdown. Python — runs via uvx.
Safe, scoped read/write access to a project folder you choose. npx; pass a path.
Read history, diffs and commits of a local repo. Python — runs via uvx.
Structured step-by-step reasoning for harder, multi-step tasks. npx.
A persistent knowledge graph so the assistant remembers across chats. npx.
Web search via Brave. Use the NEW vendor-official @brave package — the old one is archived.
One-liners, no JSON editing
Pick your OS, copy the commands. They register the TDSPRO gateway plus the whole pack.
claude mcp add --transport http tdspro https://api.tdspro.lol/mcp --header "Authorization: Bearer YOUR_KEY"
claude mcp add context7 --env CONTEXT7_API_KEY=<CONTEXT7_API_KEY> -- npx -y @upstash/context7-mcp
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ --header "Authorization: Bearer <GITHUB_PAT>"
claude mcp add playwright -- npx -y @playwright/mcp@latest
claude mcp add fetch -- uvx mcp-server-fetch
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem .
claude mcp add git -- uvx mcp-server-git --repository .
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequentialthinking
claude mcp add memory -- npx -y @modelcontextprotocol/server-memory
claude mcp add brave-search --env BRAVE_API_KEY=<BRAVE_API_KEY> -- npx -y @brave/brave-search-mcp-server --transport stdioThese use Claude Code’s built-in `claude mcp add`. Run them in your project. Servers needing a token show a <PLACEHOLDER> — swap in your own.
Or paste this one portable block
Already filled with your gateway URL and key. Works in Claude Desktop, Cursor and Cline / VS Code.
{
"mcpServers": {
"tdspro": {
"type": "http",
"url": "https://api.tdspro.lol/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
},
"context7": {
"command": "npx",
"args": [
"-y",
"@upstash/context7-mcp"
],
"env": {
"CONTEXT7_API_KEY": "<CONTEXT7_API_KEY>"
}
},
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer <GITHUB_PAT>"
}
},
"playwright": {
"command": "npx",
"args": [
"-y",
"@playwright/mcp@latest"
]
},
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
]
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"."
]
},
"git": {
"command": "uvx",
"args": [
"mcp-server-git",
"--repository",
"."
]
},
"sequential-thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequentialthinking"
]
},
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
},
"brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server",
"--transport",
"stdio"
],
"env": {
"BRAVE_API_KEY": "<BRAVE_API_KEY>"
}
}
}
}Transport is http — SSE is deprecated across MCP clients.
Where to paste it
Skills
Agent Skills — folders with a SKILL.md whose description is the trigger. Copy one, or grab the whole pack.
test-driven-development/SKILL.mdRed → green → refactor, enforced. Stops the model from shipping untested code.
Triggers when: Use when implementing any new feature or fixing a bug — write a failing test first, then the minimal code to pass it, then refactor.
systematic-debugging/SKILL.mdReproduce, isolate, prove the root cause — then the smallest fix.
Triggers when: Use when encountering any bug, test failure, or unexpected behaviour, before proposing a fix — find the root cause first.
verification-before-completion/SKILL.mdNo "should work". Run it, observe it, then say done.
Triggers when: Use before claiming any task is complete — actually run the build, tests, and the affected path, and report real output.
brainstorming/SKILL.mdUnderstand the real goal and the options before committing to one.
Triggers when: Use before any creative or build work — explore intent, requirements, and design options with the user before writing code.
writing-plans/SKILL.mdA crisp, checkable plan so multi-step work stays on the rails.
Triggers when: Use when a task spans multiple files or steps — write a short, ordered, verifiable implementation plan before coding.
review-my-diff/SKILL.mdA focused code review: correctness bugs first, then simplifications.
Triggers when: Use when asked to review a code change or pull request — check correctness, edge cases, security, and simplicity, and report findings by severity.
writing-skills/SKILL.mdBuild new skills the right way: a sharp trigger and progressive disclosure.
Triggers when: Use when the user wants to create a new Agent Skill — scaffold a SKILL.md with a sharp name and trigger description, and structure references and scripts.
frontend-design/SKILL.mdPremium, intentional UI — not the default template look.
Triggers when: Use when designing a web page, landing page, dashboard, or UI component — produce distinctive, production-grade interfaces that avoid generic AI aesthetics.
using-git-worktrees/SKILL.mdParallel branches in separate folders — no stash juggling.
Triggers when: Use when working on multiple branches at once or wanting an isolated workspace — create and manage git worktrees without stashing.
mcp-builder/SKILL.mdStand up a correct MCP server with well-described tools.
Triggers when: Use when building a new MCP server or tool — scaffold a stdio or http MCP server, define tools with clear schemas, and test it against a client.
webapp-testing/SKILL.mdProve the app works by driving it like a user would.
Triggers when: Use when verifying a web app actually works — drive a real browser to navigate, fill forms, click, and assert on what renders.
plain-language-writing/SKILL.mdClear, concrete copy a real human understands on the first read.
Triggers when: Use when writing or editing user-facing copy, docs, or UX text — make it clear, concrete, and free of jargon.
How to install
Option A — official marketplace (recommended)
- 1In Claude Code, add the official marketplace: /plugin marketplace add anthropics/skills
- 2Install a bundle, e.g. document skills: /plugin install document-skills@anthropic-agent-skills
- 3For workflow skills, add the community one: /plugin marketplace add obra/superpowers
- 4Skills load automatically — each fires when its description trigger matches your task.
Option B — drop folders (this pack)
- 1Download tdspro-skills.zip below and unzip it.
- 2Copy the skill folders into ~/.claude/skills (all your projects) or .claude/skills (this project only).
- 3Each folder holds a SKILL.md — that is the whole skill.
- 4Restart Claude Code; the skills are picked up and triggered by their descriptions.
Plugins
Versioned bundles of skills + an MCP config. Unzip one into your project and tdspro loads everything — skills and tools — automatically.
First-party bundles
Frontend & React skills + a browser and fetch MCP for live testing.
Schema-design & query-tuning skills + a Postgres/filesystem MCP for real data.
Docker & CI skills + shell/git recipes for shipping safely.
Git workflow & PR skills + the official remote GitHub MCP.
Plain-language copy, docs and UX-writing skills + a fetch MCP for research.
Web-research & source-checking skills + fetch and web-search MCP.
Prompt recipes
Reusable prompts that just work. Copy one, fill the blanks, paste it into your editor or the TDSPRO chat.
smartA complete, responsive marketing page from one description.
You are a senior frontend engineer. Build a modern, responsive landing page for the product below.
Product: <describe your product in one or two sentences>
Audience: <who is it for>
Vibe: clean, premium, trustworthy.
Requirements:
- A single self-contained page (HTML + CSS, or React + Tailwind if the project already uses it).
- Sections: hero with a clear headline and CTA, 3-feature grid, social-proof strip, pricing or sign-up block, footer.
- Mobile-first and accessible (semantic tags, good contrast, focus states).
- No lorem ipsum — write real, concise marketing copy.
Return the full code in one block, then a short list of what to tweak next.codeFind the root cause, then a minimal, safe fix.
Act as a careful debugging partner. I have a bug.
Symptom: <what goes wrong>
Expected: <what should happen>
Code / file:
```
<paste the relevant code>
```
Error / logs (if any):
```
<paste the error>
```
Steps:
1. State the most likely root cause and why (don't guess wildly).
2. Show the smallest correct fix as a diff.
3. List 1-2 edge cases the fix should also cover.
Do not refactor unrelated code.codeCover the important paths, not just the happy one.
Write tests for the code below.
Code:
```
<paste the function or module>
```
Test framework: <e.g. Vitest / Jest / Pytest — or pick the project's one>
Requirements:
- Cover the happy path, edge cases, and at least one failure case.
- Use clear, descriptive test names.
- Mock external calls; tests must be deterministic and fast.
- No network or real I/O.
Return only the test file, ready to run, plus a one-line note on anything left untested.smartCleaner and clearer — without changing behaviour.
Refactor the code below for readability and maintainability.
Code:
```
<paste the code>
```
Rules:
- Keep behaviour identical — no functional changes.
- Improve naming, remove duplication, simplify control flow, add types where helpful.
- Keep the public API the same unless I explicitly allow a change.
- Explain each meaningful change in one short line.
Return the refactored code, then the change list.smartUnderstand an unfamiliar file fast.
Explain the code below as if to a competent developer new to this project.
Code:
```
<paste the code>
```
Cover:
1. What it does, in 2-3 sentences.
2. A walk-through of the key parts, top to bottom.
3. Any non-obvious behaviour, gotchas, or assumptions.
4. One question I should ask the author before changing it.
Be concrete and concise. No filler.smartPlan first, then implement — fitting your codebase.
Add a feature to my project. Plan before you code.
Feature: <describe what it should do>
Stack / context:
```
<paste relevant files or describe the structure>
```
Do this:
1. Propose a short plan (files to touch, new functions, data flow).
2. Wait — actually, go ahead and implement it, matching the existing style and conventions.
3. Show the full changes as diffs.
4. Note anything I need to do manually (migrations, env vars, installs).
Keep it minimal and consistent with the codebase.smartA clear title and body a reviewer can approve fast.
Write a pull request description for the change below.
Diff / summary of changes:
```
<paste the diff or describe what changed>
```
Produce:
- A concise, imperative title (max ~70 chars).
- "What & why": 2-4 sentences on the change and the motivation.
- "How to test": exact steps a reviewer runs to verify it.
- "Risks / notes": anything to watch (migrations, breaking changes, follow-ups).
Keep it factual — no hype. Use short bullet points.codeCatch bugs and risks before they ship.
Review this change like a careful senior reviewer. Bugs over style.
Diff:
```
<paste the diff>
```
Check, in order: correctness (null/async/off-by-one), edge cases, security (injection, authz, secrets in logs), simplicity, and missing tests.
Output findings grouped by severity (blocker / should-fix / nit). For each: file:line, what's wrong, and the concrete fix. Lead with blockers. If it's clean, say so plainly.codeA production-ready API route with validation and errors.
Scaffold a new API endpoint, matching this project's framework and conventions.
Endpoint: <method + path, e.g. POST /api/orders>
Does: <what it should do>
Input: <body / query params>
Output: <success shape + status>
Requirements:
- Validate and sanitize all input; reject bad requests with clear 4xx errors.
- Handle the failure paths (not found, unauthorized, downstream error) explicitly.
- No secrets in responses or logs.
- Follow the existing file/route structure — show where the file goes.
Return the full handler plus a one-line curl to test it.codeRemove what nothing uses — safely, with proof.
Find and remove dead code in the file/module below — safely.
Code / context:
```
<paste the code or describe the module>
```
Do this:
1. List each unused thing (function, export, import, branch, variable) and HOW you know it's unused (no references / unreachable).
2. Flag anything that only *looks* dead but might be used via reflection, dynamic import, public API, or tests — do NOT remove those; ask.
3. Show the cleaned code as a diff.
4. Note which tests / typecheck to run to confirm nothing broke.
Be conservative: when unsure, leave it and say why.smartMeasure first, then fix the real bottleneck.
Help me make this faster — measure before you optimise.
Code / scenario:
```
<paste the slow code and describe the workload>
```
Do this:
1. Identify the most likely bottleneck and WHY (algorithmic cost, N+1 queries, re-renders, sync I/O…). Don't micro-optimise the wrong thing.
2. Suggest how to measure it (which metric / tool) so we confirm before and after.
3. Propose the highest-impact change first, as a diff, keeping behaviour identical.
4. Note the trade-offs (memory, readability, complexity).
No premature optimisation — justify each change with the cost it removes.smartA README that gets someone running in 5 minutes.
Write a clear README for this project.
Project:
```
<paste package.json / file tree / a short description>
```
Include, in this order:
- One-line description of what it is and who it's for.
- Quick start: install, configure (env vars), run — exact commands.
- Key features, briefly.
- Project structure (only the folders that matter).
- Common scripts / commands.
- License line.
Plain language, no marketing fluff. Use real commands, not placeholders, where you can infer them.CLI & SDK
A one-line TDSPRO CLI is on the way. The OpenAI-compatible SDK works right now — change two lines.
Install (planned)
Sooncurl -fsSL https://tdspro.lol/cli/install.sh | shbrew install tdspro/tap/tdsproirm https://tdspro.lol/cli/install.ps1 | iexnpm i -g @tdspro/cliThe CLI is not out yet — save this page; the commands will work soon.
What you will be able to do
tdspro loginSave your key oncetdspro chat "ship it"Talk to any model from the terminaltdspro run smart prompt.mdRun a prompt file through a tiertdspro mcp addWire the MCP pack into your clienttdspro modelsList every model behind your key
SDK — works today
Livefrom openai import OpenAI
client = OpenAI(
base_url="https://api.tdspro.lol/v1",
api_key="sk-hub-...", # your key from the dashboard
)
r = client.chat.completions.create(
model="smart", # fast / smart / code / vision / chat
messages=[{"role": "user", "content": "Hello from TDSPRO!"}],
)
print(r.choices[0].message.content)Already OpenAI-compatible. Point the base URL at TDSPRO and use the same code you already have.
Design studio
Describe a screen, get something you can click and share. Built on the same one-key endpoint as everything else.
TDSPRO Design Studio
Beta- ✓Prompt → a real, clickable page
- ✓Iterate by chatting, not redrawing
- ✓Export clean HTML / React
More surfaces
What is coming next — browser, collaborative spaces, docs and office.
Use your key from a browser extension and inside collaborative "Cowork" spaces.
Draft, summarize and rewrite right inside your docs and spreadsheets.