Agent skill

DDNS Provider Development

by NewFuture in NewFuture/DDNS

Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.

MITAuto-check passedDevelopment

Install DDNS Provider Development

skills CLI
$ npx skills add NewFuture/DDNS --skill provider-development -a claude-code

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

GitHub CLI
$ gh skill install NewFuture/DDNS provider-development --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/NewFuture/DDNS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/provider-development .claude/skills/provider-development && 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
provider-development
GitHub stars
4.7k
Token cost
~558 tokens
SKILL.md length
222 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent.

  • Works in 7 steps: Read the root AGENTS.md,… → Research the provider's official API… → Choose BaseProvider for APIs that query… → …
  • Adding support for a new DNS provider to DDNS
  • Calls ruff, python and npm
  • Changing how an existing provider authenticates or updates records

What it does

The agent first reads the root and provider AGENTS.md files, the nearest similar provider and its tests, then researches the provider's official API documentation. It records the authentication shape, permission scope, endpoints, zone and record lookup, create and update behavior, record types and TTL or route limits, without using credentials or changing any live DNS record.

It chooses BaseProvider for APIs that look up zones and records before writing, and SimpleProvider only for direct update-only APIs, reusing _http(), masking, response handling and standard-library patterns that stay compatible with Python 2.7. The provider ID and aliases are registered in ddns/provider/__init__.py, and ddns/config/field-model.json, both provider and dns enums in schema/v4.1.json and every --dns CLI choice are updated. Mocked tests cover requests, responses, matching and failures with no network.

Documentation goes under docs/providers and docs/en/providers in both languages, with provider indexes, locale navigation and llms.txt updated. Verification runs the provider's unittest module and ruff check and format, then the full test and lint run, and the docs build if its dependencies are already installed. The agent reports changed files and any check it skipped, and does not install dependencies, publish or change repository settings.

When your agent uses it

  • Adding support for a new DNS provider to DDNS
  • Changing how an existing provider authenticates or updates records
  • Keeping provider schemas, CLI choices and bilingual docs in step
  • Writing mocked provider tests that need no network or real credentials

Example prompts

  • “Add a DDNS provider for a new DNS service, starting from its official API docs.”
  • “Change how the Cloudflare provider updates records, then refresh its tests and docs.”
  • “Write the Chinese and English docs for the new provider and update the provider index.”

Requirements

  • A checkout of the NewFuture/DDNS repository
  • Python with unittest and ruff
  • npm for the optional docs build

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Read the root AGENTS.md, ddns/provider/AGENTS.md, the nearest similar
  2. Research the provider's official API documentation. Record the
  3. Choose BaseProvider for APIs that query zones and records before creating
  4. Register the canonical provider ID and intentional aliases in
  5. Add deterministic mocked provider tests. Cover the supported request and
  6. Add equivalent Chinese and English provider documentation under
  7. Verify with focused checks

What it can do on your machine

Read from SKILL.md and the folder at commit 1c17f4e. 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:

    • ruff
    • python
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use 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

DDNS Provider Development loads about 558 tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 222 words of instructions outside code blocks.

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

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 NewFuture/DDNS at commit 1c17f4e, republished under its MIT licence (© NewFuture). 222 words, ~558 tokens.

Download SKILL.mdSave it as .claude/skills/provider-development/SKILL.md (or your agent's skills folder).
name
provider-development
description
Implement or modify a DDNS DNS provider while keeping its code, metadata, schemas, tests, and bilingual documentation consistent.

Provider Development

  1. Read the root AGENTS.md, ddns/provider/AGENTS.md, the nearest similar provider, its tests, and the affected configuration and documentation files.

  2. Research the provider's official API documentation. Record the authentication shape, permission scope, endpoints, zone and record lookup behavior, record create/update behavior, supported record types, and TTL/route constraints. Do not use credentials or mutate a live DNS record.

  3. Choose BaseProvider for APIs that query zones and records before creating or updating them; choose SimpleProvider only for direct update-only APIs. Reuse _http(), masking, response handling, and Python 2.7-compatible standard-library patterns from adjacent providers.

  4. Register the canonical provider ID and intentional aliases in ddns/provider/__init__.py. Update ddns/config/field-model.json, both provider and dns enums in schema/v4.1.json, and every --dns CLI choice surface.

  5. Add deterministic mocked provider tests. Cover the supported request and response paths, matching behavior, and failures without network access or real credentials.

  6. Add equivalent Chinese and English provider documentation under docs/providers/ and docs/en/providers/. Keep configuration keys, provider IDs, permissions, and examples aligned. Update the provider indexes, locale navigation in docs/.vitepress/config.mts, and docs/llms.txt.

  7. Verify with focused checks:

    sh
    python -m unittest tests.test_provider_<provider> -v
    ruff check ddns/provider/<provider>.py tests/test_provider_<provider>.py
    ruff format --check ddns/provider/<provider>.py tests/test_provider_<provider>.py

    Then run python -m unittest discover tests -v, ruff check ., and ruff format --check .. When documentation dependencies are already available, run npm --prefix docs run build. Report changed files and any validation not run. Do not install dependencies, publish, or change repository settings.

© NewFuture, MIT. 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 .agents/skills/provider-development of NewFuture/DDNS.

Open the folder on GitHubat commit 1c17f4e

Compare with similar skills

DDNS Provider Development 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.

DDNS Provider Development compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
DDNS Provider Development this skillNewFuture/DDNS4.7k—~558Automated safety check: PassMIT
Adk Stylegoogle/adk-python22k—~748Automated safety check: PassApache-2.0
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence
Python ProJeffallan/claude-skills12k—~1.6kAutomated safety check: PassMIT
Modern Pythonantoinebou12/uml-mcp105—~1kAutomated safety check: PassMIT
Specx Project Toolingmaksimzayats/specx202—~965Automated safety check: PassMIT

Similar skills

  • Adk Style

    google/adk-python

    Official

    Python style and codebase conventions for ADK (Agent Development Kit): private-by-default file visibility, imports, type hints, Pydantic v2 models, formatting, docstrings, logging, async I/O, file…

    22k GitHub stars~748 tokensUpdated today
    DevelopmentAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Python Pro

    Jeffallan/claude-skills

    Writes type-annotated Python 3.11+ with async patterns, dataclasses and pytest suites, validated with mypy in strict mode, black and ruff.

    12k GitHub stars~1.6k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Modern Python

    antoinebou12/uml-mcp

    Modern Python tooling and best practices using uv, ruff, ty, and pytest.

    105 GitHub stars~1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Specx Project Tooling

    maksimzayats/specx

    Add strict Python project tooling for a specx service. An agent skill from maksimzayats/specx.

    202 GitHub stars~965 tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Python Code Style

    wshobson/agents

    Python code style, linting, formatting, naming conventions, and documentation standards.

    40k GitHub stars~2k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from NewFuture/DDNS

  • Maintain DDNS VitePress documentation with bilingual parity, correct navigation and links, safe executable-doc changes, and build verification.

    4.7k GitHub stars~324 tokensUpdated yesterday
    Auto-check passed
  • Maintains the DDNS project's GitHub Actions, Docker and Nuitka builds, packaging and release preparation without touching publishing credentials.

    4.7k GitHub stars~444 tokensUpdated yesterday
    Auto-check passed
  • CI Failure Triage

    NewFuture/DDNS

    Diagnose and fix required CI failures for the current DDNS branch without weakening tests, platform coverage, caches, or repository policy.

    4.7k GitHub stars~327 tokensUpdated yesterday
    Auto-check passed

Questions about DDNS Provider Development

What does DDNS Provider Development do?

Adds or changes a DNS provider in the DDNS project while keeping its code, schemas, tests and Chinese and English docs consistent. md files, the nearest similar provider and its tests, then researches the provider's official API documentation. It records the authentication shape, permission scope, endpoints, zone and record lookup, create and update behavior, record types and TTL or route limits, without using credentials or changing any live DNS record.

When should I use DDNS Provider Development?

DDNS Provider Development fits situations like: adding support for a new DNS provider to DDNS; changing how an existing provider authenticates or updates records; keeping provider schemas, CLI choices and bilingual docs in step; writing mocked provider tests that need no network or real credentials.

How do I install DDNS Provider Development in Claude Code?

Run `npx skills add NewFuture/DDNS --skill provider-development -a claude-code`. Or copy the skill folder (.agents/skills/provider-development in NewFuture/DDNS) into .claude/skills/provider-development in your project. Claude Code loads it when a task matches its description.

How do I install DDNS Provider Development in Codex?

Run `npx skills add NewFuture/DDNS --skill provider-development -a codex`. Or copy the skill folder (.agents/skills/provider-development in NewFuture/DDNS) into .agents/skills/provider-development in your project. Codex loads it when a task matches its description.

Can I use DDNS Provider Development 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 NewFuture/DDNS --skill provider-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/provider-development, .gemini/skills/provider-development, .github/skills/provider-development and .opencode/skills/provider-development in your project.

What does DDNS Provider Development need to run?

Going by SKILL.md and its folder, DDNS Provider Development needs the command-line tools its instructions call (ruff, python and npm). Our summary lists: A checkout of the NewFuture/DDNS repository; Python with unittest and ruff; npm for the optional docs build.

Does DDNS Provider Development access the network?

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

Is DDNS Provider Development 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 DDNS Provider Development use?

DDNS Provider Development is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does DDNS Provider Development use?

About 558 tokens (SKILL.md is roughly 2.2k 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 DDNS Provider Development?

Skills that share tags, products or a category with DDNS Provider Development: Adk Style (google/adk-python, 22k stars), Kedro Babysit (kedro-org/kedro, 11k stars), Python Pro (Jeffallan/claude-skills, 12k stars) and Modern Python (antoinebou12/uml-mcp, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains DDNS Provider Development?

NewFuture (a GitHub user) maintains it in NewFuture/DDNS, which has 4,696 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.

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