Deskcomm Contribuir
melgarafael/DeskcommCRM
Guia de contribuição ao DeskcommCRM para quem vai mexer no código e abrir um pull request, sobretudo de um fork.
Dodo Payments product catalog management, covering products with onetimeprice, recurringprice, or usagebasedprice, add-ons, product collections, product images, and digital file delivery.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins product-catalog-management --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management .claude/skills/product-catalog-management && 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 "product-catalog-management" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management into .claude/skills/product-catalog-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-catalog-management", 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/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-managementType 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 hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins product-catalog-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management .agents/skills/product-catalog-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "product-catalog-management" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management into .agents/skills/product-catalog-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-catalog-management", 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 hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins product-catalog-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management .cursor/skills/product-catalog-management && 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 "product-catalog-management" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management into .cursor/skills/product-catalog-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-catalog-management", 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/hashgraph-online/awesome-codex-plugins.git --path plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management--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 hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins product-catalog-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management .gemini/skills/product-catalog-management && 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 "product-catalog-management" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management into .gemini/skills/product-catalog-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-catalog-management", 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 hashgraph-online/awesome-codex-plugins product-catalog-managementInstalls 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 hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management .github/skills/product-catalog-management && 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 "product-catalog-management" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management into .github/skills/product-catalog-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-catalog-management", 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 hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins product-catalog-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management .opencode/skills/product-catalog-management && 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 "product-catalog-management" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management into .opencode/skills/product-catalog-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "product-catalog-management", 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.
product-catalog-managementDodo Payments product catalog management, covering products with onetimeprice, recurringprice, or usagebasedprice, add-ons, product collections, product images, and digital file delivery.
Product Catalog Management is an agent skill from hashgraph-online/awesome-codex-plugins. Dodo Payments product catalog management, covering products with onetimeprice, recurringprice, or usagebasedprice, add-ons, product collections, product images, and digital file delivery. Use when creating or updating products, plans, or prices, building a storefront, uploading images, attaching downloadable files, or debugging a failed product update.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 3e1456a. 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 (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
dodo.linkAlso links to:
docs.dodopayments.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DODO_PAYMENTS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Product Catalog Management loads about 3.1k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 797 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 hashgraph-online/awesome-codex-plugins at commit 3e1456a, republished under its Apache-2.0 licence (© hashgraph-online). 797 words, ~3,063 tokens.
.claude/skills/product-catalog-management/SKILL.md (or your agent's skills folder).This skill covers the full product lifecycle: creating products with pricing models, managing add-ons and collections, uploading product images, and delivering digital files to customers.
Product model: Every product has exactly one pricing model selected at creation. The three models are:
one_time_price: charge once per purchase.recurring_price: charge on a configurable payment frequency and subscription period.usage_based_price: charge per unit consumed (see usage-based-billing skill for meter setup).Pricing is nested inside the product object. There is no separate top-level Price resource.
Pricing structure: Each price object contains:
type: one of the three models above.currency: ISO 4217 code (e.g., USD, AED, INR).price: amount in the smallest currency unit (cents for USD).discount: optional discount amount in the same unit.Tax category: Required at product creation. Dodo uses this to calculate and collect sales tax. Supported values are digital_products, saas, e_book, and edtech.
Lifecycle: Products support list, retrieve, update, and archive/unarchive. There is no delete endpoint. Archived products remain in your history but don't appear in new checkouts.
Images: Presigned upload URLs expire after 60 seconds. Upload to the URL immediately after requesting it.
Digital delivery: Entitlements grant customers access to files. Download URLs expire after roughly 15 minutes.
All products require a name, a pricing model, and a tax category.
import DodoPayments from 'dodopayments';
const client = new DodoPayments({
bearerToken: process.env.DODO_PAYMENTS_API_KEY,
environment: 'test_mode',
});
// One-time purchase
const product = await client.products.create({
name: 'Pro Bundle',
tax_category: 'digital_products',
price: {
type: 'one_time_price',
currency: 'USD',
price: 9900, // $99.00
discount: 0,
purchasing_power_parity: false,
},
});
console.log(product.product_id); // pdt_...For recurring products, specify the billing cycle:
const subscription = await client.products.create({
name: 'Premium Plan',
tax_category: 'saas',
price: {
type: 'recurring_price',
currency: 'USD',
price: 2999, // $29.99/month
discount: 0,
payment_frequency_count: 1,
payment_frequency_interval: 'Month',
subscription_period_count: 1,
subscription_period_interval: 'Month',
purchasing_power_parity: false,
},
});This skill is the canonical source for product creation request shapes. For a usage-based product, create the meter as described in the usage-based-billing skill, then attach it through the singular price.meters array:
const metered = await client.products.create({
name: 'API Calls',
tax_category: 'saas',
price: {
type: 'usage_based_price',
currency: 'USD',
discount: 0,
fixed_price: 0, // No fixed monthly charge; amounts use the smallest currency unit
payment_frequency_count: 1,
payment_frequency_interval: 'Month',
subscription_period_count: 1,
subscription_period_interval: 'Month',
purchasing_power_parity: false,
meters: [
{
meter_id: 'mtr_api_calls',
price_per_unit: '0.01',
free_threshold: 1000,
},
],
},
});price_per_unit is a decimal string in the configured currency's smallest unit. The optional free_threshold excludes that many aggregated units before per-unit charging begins.
// List all products
const products = await client.products.list();
// Retrieve a single product
const product = await client.products.retrieve('pdt_pro_bundle');PATCH /products/{id} (client.products.update) accepts the name, description, and metadata, and also price, tax_category, and pricing_mode. Every field is optional; omitted fields stay unchanged.
Two limits apply. The pricing model is immutable: you can edit the amount, but you cannot turn a one-time product into a subscription or usage-based one (or back) - create a new product instead. And a price edit only changes what new customers pay: existing subscriptions keep the price they were created with, so move them explicitly with Change Plan (client.subscriptions.changePlan(...)).
await client.products.update('pdt_pro_bundle', {
name: 'Pro Bundle (Updated)',
description: 'Includes all pro features',
metadata: {
category: 'software',
tier: 'premium',
},
});Archive a product to hide it from new checkouts without deleting it:
await client.products.archive('pdt_pro_bundle');
// Restore it later
await client.products.unarchive('pdt_pro_bundle');Upload a product image via presigned URL. The URL is valid for 60 seconds.
import fs from 'node:fs';
// Request a presigned upload URL
const uploadUrl = await client.products.images.update('pdt_pro_bundle', {
force_update: true,
});
// Upload immediately (within 60 seconds)
const response = await fetch(uploadUrl.url, {
method: 'PUT',
body: fs.readFileSync('./product.png'),
headers: { 'Content-Type': 'image/png' },
});
if (!response.ok) {
throw new Error('Image upload failed');
}Add-ons are optional extras customers can purchase alongside a product. Create them independently, then reference them in checkout.
// Create an add-on
const addon = await client.addons.create({
name: 'Priority Support',
tax_category: 'saas',
currency: 'USD',
price: 4900, // $49.00
});
// Upload an image for the add-on
const addonImageUrl = await client.addons.updateImages(addon.id);
// List add-ons
const addons = await client.addons.list();Group products into collections for themed checkouts. Collections have nested groups and items.
// Create a collection
const collection = await client.productCollections.create({
name: 'Starter Bundle',
description: 'Everything you need to get started',
groups: [
{
group_name: 'Core Tools',
products: [
{ product_id: 'pdt_tool_a' },
{ product_id: 'pdt_tool_b' },
],
},
],
});
// Add another group later
await client.productCollections.groups.create(collection.id, {
group_name: 'Optional Tools',
products: [
{ product_id: 'pdt_tool_c' },
{ product_id: 'pdt_tool_d' },
],
});
// Server route (e.g. POST /api/checkout): create the checkout session and return its URL
export async function POST() {
const session = await client.checkoutSessions.create({
product_collection_id: collection.id,
product_cart: [], // Required: pass an empty array for collection checkout
return_url: 'https://yoursite.com/return',
});
return Response.json({ checkout_url: session.checkout_url });
}Never call the SDK or expose the API key in browser code. The browser only receives the URL from your server route and redirects:
// Browser
const res = await fetch('/api/checkout', { method: 'POST' });
const { checkout_url } = (await res.json()) as { checkout_url: string };
window.location.href = checkout_url;Entitlements grant customers access to downloadable files. Create an entitlement, upload files, and generate download links.
// openAsBlob requires Node.js 20 or later
import { openAsBlob } from 'node:fs';
// Create an entitlement
const entitlement = await client.entitlements.create({
name: 'Pro Bundle Files',
integration_type: 'digital_files',
integration_config: {
digital_file_ids: [],
},
});
// Upload and attach a file as multipart/form-data (append `filename` before `file`)
const form = new FormData();
form.append('filename', 'pro-bundle.zip');
form.append('file', await openAsBlob('./pro-bundle.zip'), 'pro-bundle.zip');
const { file_id } = await client.entitlements.files.upload(entitlement.id, { body: form });
// Attach the entitlement to a product.
// `entitlements` REPLACES every entitlement already attached to the product:
// include all of them, send [] to remove all, or omit the field to leave them unchanged.
await client.products.update('pdt_pro_bundle', {
entitlements: [{ entitlement_id: entitlement.id }],
});
// A grant is produced by fulfillment when the customer purchases the product.
// Grants can be listed, revoked, or fulfilled with a manually managed license key;
// they cannot be created directly through the SDK.
// List grants for a customer
const grants = await client.customers.listEntitlementGrants('cus_customer_123');
// Generate a download URL (valid for roughly 15 minutes)
const grant = grants.items[0];
const downloadUrl = grant?.digital_product_delivery?.files[0]?.download_url;Create short, shareable links to products:
const shortLink = await client.products.shortLinks.create('pdt_pro_bundle', {
slug: 'pro-bundle-deal',
});
console.log(shortLink.short_url); // https://dodo.link/pro-bundle-dealFor country or currency-specific pricing, use the localized-pricing skill. Do not hardcode prices in the client.
Expecting a delete endpoint: Products don't have a delete method. Archive them instead. Archived products remain in your history for reconciliation.
Trying to change the pricing model: You cannot switch a product between one-time, subscription, and usage-based pricing (for example one_time_price to recurring_price). Create a new product with the model you need.
Expecting a price edit to reprice existing subscribers: client.products.update(...) changes the amount for new customers only. Existing subscriptions renew at the price they were created with; move them with client.subscriptions.changePlan(...).
Hardcoding prices in the client: Always fetch the product catalog from the API. Prices change, and your client code will become stale. Read client.products.retrieve(id) to get the current price.
Forgetting the tax category: Every product requires a tax_category. Dodo uses this to calculate and remit sales tax. Omitting it will cause the create request to fail.
Uploading images after the 60-second window: Request the presigned URL and upload immediately. If the URL expires, request a new one.
Passing a non-empty product_cart for collection checkout: Collection checkout requires product_cart: []. The collection itself defines what's in the cart.
Confusing purchasing_power_parity with localized pricing: PPP is native. Set price.purchasing_power_parity: true to charge a business-wide, per-country percentage of the price (default false). It requires Adaptive Currency to be enabled, and a matching localized price always wins over PPP. See the localized-pricing skill.
© hashgraph-online, Apache-2.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 plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 3e1456a
Product Catalog Management 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 |
|---|---|---|---|---|---|---|
| Product Catalog Management this skillhashgraph-online/awesome-codex-plugins | 1.3k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Deskcomm Contribuirmelgarafael/DeskcommCRM | 4.5k | — | ~3.6k | Automated safety check: Notes | MIT | |
| Plan ArbiterBuilderIO/skills | 4.6k | — | ~1k | Automated safety check: Pass | MIT | |
| Gemini CLIforayconsulting/gemini_cli_skill | 191 | — | ~1.4k | Automated safety check: Notes | None | |
| Cabloy Domain Planningcabloy/cabloy | 982 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Doesitarm App ReviewThatGuySam/doesitarm | 3.8k | — | ~826 | Automated safety check: Pass | Custom licence |
melgarafael/DeskcommCRM
Guia de contribuição ao DeskcommCRM para quem vai mexer no código e abrir um pull request, sobretudo de um fork.
BuilderIO/skills
A skill your agent uses when asked to compare, cross-review, merge, judge, choose, or arbitrate competing plans from multiple agents such as Codex and Claude Code; when given two or more proposed…
forayconsulting/gemini_cli_skill
Wield Google's Gemini CLI as a powerful auxiliary tool for code generation, review, analysis, and web research.
cabloy/cabloy
A skill your agent uses whenever the user wants to plan a new business domain in this Cabloy repo, such as CRM, OA, training, ERP, or a similar long-lived domain.
ThatGuySam/doesitarm
Review Does It ARM app-listing pull requests and app-request or compatibility-update issues.
jetstreamapp/jetstream
Post GitHub PR/issue comments, reviews, and review replies as the Jetstream bot account instead of the user's personal account.
hashgraph-online/awesome-codex-plugins
Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.
hashgraph-online/awesome-codex-plugins
Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…
hashgraph-online/awesome-codex-plugins
Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…
hashgraph-online/awesome-codex-plugins
Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
Categories
Dodo Payments product catalog management, covering products with onetimeprice, recurringprice, or usagebasedprice, add-ons, product collections, product images, and digital file delivery. Product Catalog Management is an agent skill from hashgraph-online/awesome-codex-plugins. Dodo Payments product catalog management, covering products with onetimeprice, recurringprice, or usagebasedprice, add-ons, product collections, product images, and digital file delivery.
Product Catalog Management fits situations like: updating products; building a storefront; uploading images; attaching downloadable files.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a claude-code`. Or copy the skill folder (plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management in hashgraph-online/awesome-codex-plugins) into .claude/skills/product-catalog-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a codex`. Or copy the skill folder (plugins/dodopayments/dodo-agent-plugin/skills/product-catalog-management in hashgraph-online/awesome-codex-plugins) into .agents/skills/product-catalog-management 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 hashgraph-online/awesome-codex-plugins --skill product-catalog-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/product-catalog-management, .gemini/skills/product-catalog-management, .github/skills/product-catalog-management and .opencode/skills/product-catalog-management in your project.
Going by SKILL.md and its folder, Product Catalog Management needs credentials named DODO_PAYMENTS_API_KEY. Our summary lists: Node.js; A credential in DODO_PAYMENTS_API_KEY.
SKILL.md names 2 domains. In commands or code: dodo.link; the agent is likely to contact it when it follows the instructions. As links in the text: docs.dodopayments.com. 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.
Product Catalog Management is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k 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 Product Catalog Management: Deskcomm Contribuir (melgarafael/DeskcommCRM, 4.5k stars), Plan Arbiter (BuilderIO/skills, 4.6k stars), Gemini CLI (forayconsulting/gemini_cli_skill, 191 stars) and Cabloy Domain Planning (cabloy/cabloy, 982 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,267 GitHub stars. The repository holds 716 skills in this directory. The repository was last updated on October 10, 2026.
Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.