DDNS Provider Development
NewFuture/DDNS
Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.
Explains how debrid download providers are structured in the pipensx C++ app and what to touch when adding or changing one.
$ npx skills add i3sey/pipensx --skill debrid -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install i3sey/pipensx debrid --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/i3sey/pipensx.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/debrid .claude/skills/debrid && 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 "debrid" agent skill from https://github.com/i3sey/pipensx/tree/main/.agents/skills/debrid into .claude/skills/debrid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debrid", 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/i3sey/pipensx/tree/main/.agents/skills/debridType 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 i3sey/pipensx --skill debrid -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install i3sey/pipensx debrid --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/i3sey/pipensx.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/debrid .agents/skills/debrid && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "debrid" agent skill from https://github.com/i3sey/pipensx/tree/main/.agents/skills/debrid into .agents/skills/debrid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debrid", 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 i3sey/pipensx --skill debrid -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install i3sey/pipensx debrid --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/i3sey/pipensx.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/debrid .cursor/skills/debrid && 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 "debrid" agent skill from https://github.com/i3sey/pipensx/tree/main/.agents/skills/debrid into .cursor/skills/debrid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debrid", 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/i3sey/pipensx.git --path .agents/skills/debrid--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 i3sey/pipensx --skill debrid -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install i3sey/pipensx debrid --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/i3sey/pipensx.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/debrid .gemini/skills/debrid && 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 "debrid" agent skill from https://github.com/i3sey/pipensx/tree/main/.agents/skills/debrid into .gemini/skills/debrid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debrid", 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 i3sey/pipensx debridInstalls 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 i3sey/pipensx --skill debrid -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/i3sey/pipensx.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/debrid .github/skills/debrid && 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 "debrid" agent skill from https://github.com/i3sey/pipensx/tree/main/.agents/skills/debrid into .github/skills/debrid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debrid", 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 i3sey/pipensx --skill debrid -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install i3sey/pipensx debrid --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/i3sey/pipensx.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/debrid .opencode/skills/debrid && 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 "debrid" agent skill from https://github.com/i3sey/pipensx/tree/main/.agents/skills/debrid into .opencode/skills/debrid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "debrid", 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.
debridExplains how debrid download providers are structured in the pipensx C++ app and what to touch when adding or changing one.
The pipensx C++ app has four download sources, TorBox, TorrServer, Real-Debrid and AllDebrid, and each implements the DebridProvider interface in src/app/debrid_provider.hpp, a pure-virtual interface with eight methods: validate, createFromMagnet, createFromFile, fetchInfo, selectFiles, resolveDownloadUrl, remove and name.
Adding a provider follows the TorBox pattern across a table of touchpoints: the provider kind enum, a client and provider pair, settings fields and their serialization, download manager keys and the provider factory, UI helpers, the settings and first-run views, startup wiring, CMake and Makefile entries, locale strings and tests. Tests inject a Transport functor that returns canned JSON so no real HTTP calls happen, and removing a task cleans the remote account on a detached thread so callers never block on HTTPS while a mutex may be held.
Read from SKILL.md and the folder at commit 21cb83d. 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.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Debrid Providers in pipensx loads about 900 tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 361 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 i3sey/pipensx at commit 21cb83d, republished under its GPL-3.0 licence (© i3sey). 361 words, ~900 tokens.
.claude/skills/debrid/SKILL.md (or your agent's skills folder).Four download sources: TorBox (cloud), TorrServer (self-hosted LAN),
Real-Debrid (cloud), and AllDebrid (cloud). Each implements DebridProvider (src/app/debrid_provider.hpp),
a pure-virtual interface with eight required methods: validate, createFromMagnet, createFromFile, fetchInfo, selectFiles, resolveDownloadUrl, remove, and name.
Follow the existing pattern (TorboxProvider + TorboxClient). Touchpoints:
| Layer | Files |
|---|---|
| Provider interface | src/app/debrid_provider.hpp — add to DebridProviderKind enum |
| Client + provider | src/app/<name>_client.{hpp,cpp}, src/app/<name>_provider.{hpp,cpp} |
| Settings | src/app/app_settings.hpp — add key field; app_settings.cpp — serialize/deserialize field and provider kind string |
| Download manager | download_manager.{hpp,cpp} — setXxxKey(), apiKeyFor() branch, makeProvider() branch, saveLocked/load provider name |
| UI helpers | src/ui/debrid_ui.hpp — activeDebridKey(), makeDebridProvider(), debridProviderName(), DebridLinkView members |
| Settings UI | src/ui/settings/settings_view.hpp — selector list and applyValues() |
| First-run | src/ui/first_run_view.hpp — option card, diagram kind, updateSelection() case |
| Switch init | src/main_switch.cpp — call setXxxKey() on the manager after settings load |
| Build | CMakeLists.txt — add to APP_SERVICE_SOURCES; Makefile.pc — object rule, test targets, link into test_manager |
| Locale | resources/i18n/*/pipensx.json — first-run and diagram strings |
| Tests | tests/test_<name>_client.cpp (static parsers), tests/test_<name>_provider.cpp (mock transport) |
Tests inject a Transport functor (e.g. RdTransport) that returns canned JSON
responses instead of making real HTTP calls. The provider and its client both
accept a transport in their constructors so the curl path is never hit during
testing. The transport matches requests by URL substring (endpoint name) and
returns pre-baked JSON.
When a debrid task is removed, DownloadManager::removeFromDebridAsync fires
a detached thread that calls makeProvider(…)->remove(id) to clean the account.
A detached thread is used because the caller must never block on the HTTPS
round-trip — mutex_ may be held. TorrServer also rems the torrent (memory +
DB + disk cache) from DebridTransfer when the job finishes, so completed
downloads do not sit in the LAN server's list until the user clears the queue.
src/app/app_settings.cpp): kSettingsVersion (currently 3).
Adding a new stored field that requires migration needs a version bump and a
rule in parseSettings(). The old field comment "realdebrid" was a provider we no longer ship was written before Real-Debrid was added — do not cargo-cult it.src/app/download_manager.cpp): saveLocked writes
version 6 (bencode 7:versioni6e). The load() function gates optional
fields behind
version.ival >= N. Adding a new persisted task field requires bumping to 7,
adding a version.ival >= 7 load gate, and writing the new key to saveLocked.© i3sey, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/debrid of i3sey/pipensx.
Open the folder on GitHubat commit 21cb83d
Debrid Providers in pipensx 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 |
|---|---|---|---|---|---|---|
| Debrid Providers in pipensx this skilli3sey/pipensx | 220 | — | ~900 | Automated safety check: Pass | GPL-3.0 | |
| DDNS Provider DevelopmentNewFuture/DDNS | 4.7k | — | ~558 | Automated safety check: Pass | MIT | |
| WxJava API Contributorbinarywang/WxJava | 33k | — | ~154 | Automated safety check: Pass | Apache-2.0 | |
| OpenROAD Module Test AdderThe-OpenROAD-Project/OpenROAD | 3.2k | — | ~1.8k | Automated safety check: Pass | BSD-3-Clause | |
| LexGuard MCP Developer GuideSeoNaRu/lexguard-mcp | 131 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Tiger Brokers C++ OpenAPI SDKqusong0627/QuantMind | 1.7k | — | ~942 | Automated safety check: Pass | Apache-2.0 |
NewFuture/DDNS
Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.
binarywang/WxJava
Steps for adding or maintaining a WeChat official API in the WxJava SDK, following its Maven multi-module layout, Java 8 compatibility and TestNG test conventions.
The-OpenROAD-Project/OpenROAD
Adds integration or unit tests to an OpenROAD module: writes the Tcl test, generates golden files and registers it in both CMake and Bazel.
SeoNaRu/lexguard-mcp
Developer guide for the LexGuard Korean law MCP server: layer rules, adding tools and repositories, JSON-RPC responses, law API handling, answer rules and tests.
qusong0627/QuantMind
Guides an agent through the Tiger Brokers OpenAPI C++ SDK for build setup, market data, orders and real-time push, defaulting to paper trading.
GPlates/GPlates
Configure, build and test the GPlates desktop application. An agent skill from GPlates/GPlates.
i3sey/pipensx
Decodes QR-code bug report photos and screenshots from the pipensx app into a log, then triages crashes and update, download or install failures.
i3sey/pipensx
Repo rules for editing libnx and Nintendo Switch homebrew code in pipensx: read the real headers first and keep shared code building for both Switch and PC.
Works with
Categories
Explains how debrid download providers are structured in the pipensx C++ app and what to touch when adding or changing one. hpp, a pure-virtual interface with eight methods: validate, createFromMagnet, createFromFile, fetchInfo, selectFiles, resolveDownloadUrl, remove and name.
Debrid Providers in pipensx fits situations like: adding a new debrid provider to the app; changing a provider client or the DebridProvider interface; editing the first-run debrid cards or debrid settings UI; changing how settings or download state are versioned and persisted.
Run `npx skills add i3sey/pipensx --skill debrid -a claude-code`. Or copy the skill folder (.agents/skills/debrid in i3sey/pipensx) into .claude/skills/debrid in your project. Claude Code loads it when a task matches its description.
Run `npx skills add i3sey/pipensx --skill debrid -a codex`. Or copy the skill folder (.agents/skills/debrid in i3sey/pipensx) into .agents/skills/debrid 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 i3sey/pipensx --skill debrid -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/debrid, .gemini/skills/debrid, .github/skills/debrid and .opencode/skills/debrid in your project.
SKILL.md names no scripts, command-line tools or credentials: Debrid Providers in pipensx is instructions for the agent only. Our summary lists: The pipensx source tree and a C++ build setup.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Debrid Providers in pipensx is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 900 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Debrid Providers in pipensx: DDNS Provider Development (NewFuture/DDNS, 4.7k stars), WxJava API Contributor (binarywang/WxJava, 33k stars), OpenROAD Module Test Adder (The-OpenROAD-Project/OpenROAD, 3.2k stars) and LexGuard MCP Developer Guide (SeoNaRu/lexguard-mcp, 131 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
i3sey (a GitHub user) maintains it in i3sey/pipensx, which has 220 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 2, 2026.
Source: i3sey/pipensx on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.