certd-online-plugin-dev

Develops and saves Certd online plugins via the Certd HTTP API using complete YAML documents.

5.0k|586|Updated Dec 13, 2020
One-click install
npx skills add https://github.com/certd/certd --skill certd-online-plugin-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: certd-online-plugin-dev
Source: https://github.com/certd/certd/tree/main/.trae/skills/certd-online-plugin-dev
Command: npx skills add https://github.com/certd/certd --skill certd-online-plugin-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Developing Certd plugins (Task, DNS Provider, Access) normally requires editing TypeScript source files inside the certd-server codebase. This Skill lets an AI agent create, read, modify, and save online plugins directly through the Certd API, using a restricted token and complete YAML documents, without touching the backend source tree.

Core Features & Use Cases

  • API-driven plugin lifecycle: Query plugins with /scoped/sys/ai/plugin/find, export full YAML, and save changes through /scoped/sys/ai/plugin/import with override control and editable permission checks.
  • Three plugin types with templates: Access plugins extending BaseAccess, Task/deploy plugins extending AbstractTaskPlugin, and DNS Provider plugins extending AbstractDnsProvider, each with ready-made YAML examples and content script templates.
  • Local history and safety rules: Backs up complete YAML to .plugin-dev/{plugin-name}/history/ before every edit, enforces UTF-8 handling on Windows via Node.js fetch, and forbids leaking tokens, certificates, or credentials.
  • Use Case: A user asks the agent to build a DNS Provider plugin for a new DNS vendor; the agent checks for an existing Access plugin, creates one if missing, writes the provider YAML with createRecord/removeRecord implementations, saves it through the import API, and verifies the result.

Quick Start

Ask the agent to create a Certd DNS Provider plugin for your DNS vendor using the API address and token from the generated prompt, and have it save the plugin through the Certd import API.

Frequently Asked Questions about certd-online-plugin-dev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Certd plugin through the API?

Query existing plugins with POST /scoped/sys/ai/plugin/find, then save a complete YAML document via POST /scoped/sys/ai/plugin/import with override set to false for new plugins. Verify the result by calling find or info again after saving.

How do I write a Certd DNS Provider plugin?

Set pluginType to dnsProvider and return a class extending AbstractDnsProvider in the content field. Implement createRecord to add the TXT record and return its data, and removeRecord to clean it up using options.recordReq and options.recordRes.

What is the difference between builtIn, store, and local Certd plugins?

BuiltIn plugins ship with Certd and cannot be modified through this API. Store plugins with an appId or developerId come from the marketplace, while store plugins without those fields are local. Only the editable field in query results determines whether a plugin can be modified.

Why does saving Certd plugin YAML fail or corrupt Chinese text on Windows?

PowerShell cmdlets like Invoke-RestMethod can corrupt UTF-8 Chinese characters or hang on large YAML bodies. Use Node.js fetch with JSON.stringify and a charset=utf-8 content type header, then verify saved Chinese fields contain no question marks.

Can I modify a Certd Access plugin that my Task plugin depends on?

Only if the Access plugin's query result shows editable: true, and you must back up its full YAML to local history first. If editable is false, implement the needed API calls inside your own business plugin instead.