Agent skill

Framework Adapters

by hashgraph-online in hashgraph-online/awesome-codex-plugins

Official @dodopayments/ framework adapters that mount Checkout, CustomerPortal, and Webhooks route handlers.

Apache-2.0Auto-check: notesBackend & APIs

Install Framework Adapters

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill framework-adapters -a claude-code

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins framework-adapters --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/dodopayments/dodo-agent-plugin/skills/framework-adapters .claude/skills/framework-adapters && 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
framework-adapters
GitHub stars
1.3k
Token cost
~2.9k tokens
SKILL.md length
914 words
Files
11 (incl. references)
Skills in repo
714
Repo updated
First seen
Licence
Apache-2.0

At a glance

Official @dodopayments/ framework adapters that mount Checkout, CustomerPortal, and Webhooks route handlers.

  • Works in 8 steps: Duplicate POST handlers: Next.js and… → Wrong webhook variable name: Check… → Forgetting raw body preservation:… → …
  • Integrating Dodo Payments into Next.js
  • SKILL.md covers When to use this skill, What framework adapters do, Framework selection and… and Environment variables, plus 13 more sections
  • Calls npm and bun; needs DODO_PAYMENTS_API_KEY and DODO_PAYMENTS_WEBHOOK_KEY

What it does

Framework Adapters is an agent skill from hashgraph-online/awesome-codex-plugins. Official @dodopayments/ framework adapters that mount Checkout, CustomerPortal, and Webhooks route handlers. Use when integrating Dodo Payments into Next.js, Express, Fastify, Hono, Astro, Remix, SvelteKit, Nuxt, TanStack, Bun, or Convex, such as @dodopayments/nextjs; use domain skills for payment and subscription logic.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/astro.md`, `references/bun.md` and `references/convex.md`).

It sits in Backend & APIs, covering Webhooks and Static sites and blogs. It works with Next.js, Astro, Fastify and Hono. 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.

When your agent uses it

  • Integrating Dodo Payments into Next.js
  • Such as @dodopayments/nextjs
  • Use domain skills for payment and subscription logic

Example prompts

  • “/framework-adapters”

Requirements

  • Node.js
  • A credential in DODO_PAYMENTS_API_KEY
  • A credential in DODO_PAYMENTS_WEBHOOK_KEY

Workflow steps

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

  1. Duplicate POST handlers: Next.js and Astro docs show two export const POST declarations. Choose one checkout mode per route or add routing…
  2. Wrong webhook variable name: Check whether your adapter uses DODO_PAYMENTS_WEBHOOK_KEY or DODO_PAYMENTS_WEBHOOK_SECRET. The docs are…
  3. Forgetting raw body preservation: Webhook handlers must receive the raw request body, not a re-parsed JSON object. Fastify requires an…
  4. Mixing framework conventions: Each framework has its own request/response shape. Don't try to use a Next.js handler in Express or vice…
  5. Hardcoding secrets: Always read API keys and webhook secrets from environment variables, never from code or config files.
  6. Skipping environment setup: The adapters won't work without DODO_PAYMENTS_API_KEY and DODO_PAYMENTS_ENVIRONMENT. Set these before testing.
  7. Exposing CustomerPortal unauthenticated: The portal handlers trust ?customer_id= from the request. Resolve the ID from the signed-in…
  8. Using @dodopayments/core directly: The core package is an internal dependency, not a documented public entry point. Use the framework…

What it can do on your machine

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

    • npm
    • bun

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

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.dodopayments.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DODO_PAYMENTS_API_KEY
    • DODO_PAYMENTS_WEBHOOK_KEY
    • DODO_PAYMENTS_WEBHOOK_SECRET
    • NUXT_PRIVATE_BEARER_TOKEN
    • NUXT_PRIVATE_WEBHOOK_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Framework Adapters loads about 2.9k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 86 tokens; SKILL.md has 914 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~86
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.2k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:79
    hboard environment variables (not local `.env`):

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 hashgraph-online/awesome-codex-plugins at commit 9e7b281, republished under its Apache-2.0 licence (© hashgraph-online). 914 words, ~2,909 tokens.

Download SKILL.mdSave it as .claude/skills/framework-adapters/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
framework-adapters
description
Official @dodopayments/* framework adapters that mount Checkout, CustomerPortal, and Webhooks route handlers. Use when integrating Dodo Payments into Next.js, Express, Fastify, Hono, Astro, Remix, SvelteKit, Nuxt, TanStack, Bun, or Convex, such as @dodopayments/nextjs; use domain skills for payment and subscription logic.

Framework Adapters

Use this skill when you need to integrate Dodo Payments into a web framework using the official adapter packages. Framework adapters handle route plumbing, environment configuration, and handler setup so you don't build checkout, portal, and webhook routes from scratch.

When to use this skill

  • You're building a checkout flow in Next.js, Express, Fastify, Hono, Astro, Remix, SvelteKit, Nuxt, TanStack, Bun, or Convex.
  • You need to set up a customer portal session endpoint.
  • You're adding webhook handlers that verify signatures and dispatch events.
  • You want framework-idiomatic route placement and environment variable handling.
  • You need to choose between static, dynamic, or session checkout modes.

What framework adapters do

Dodo publishes @dodopayments/* packages that wrap the core SDK with framework-specific route handlers. Instead of writing your own HTTP handlers, you import the adapter's handlers and mount them directly in your routes.

Each adapter exposes three handler families:

  • Checkout: static (GET only), dynamic (POST, creates a payment or subscription via the deprecated POST /payments / POST /subscriptions endpoints - existing integrations only), or session (POST with a checkout session payload - use this for new integrations).
  • CustomerPortal: generates a time-bound portal session link.
  • Webhooks: verifies webhook signatures and dispatches typed events.

Security - CustomerPortal does not authenticate. Every CustomerPortal handler opens the portal for whatever ?customer_id= it receives. Mounted as-is, any visitor can open any customer's portal by guessing or enumerating IDs. Put the route behind your own authentication and resolve the customer ID server-side from the signed-in session; never accept it from the client. The portal examples below do this.

Export names are not uniform across adapters. Most export Checkout / CustomerPortal / Webhooks, but two differ, and the return shapes differ as well. Check this table before writing imports:

AdapterCheckout exportPortal exportHandler shape
nextjs, hono, astro, bun, remix, tanstackCheckoutCustomerPortalreturns a request handler
expresscheckoutHandler (lowercase)CustomerPortalreturns (req, res)
fastifyCheckoutCustomerPortalreturns { getHandler, postHandler }
sveltekitCheckoutCustomerPortalreturns { GET, POST } / { GET }
nuxtcheckoutHandler (auto-imported)customerPortalHandlerno import statement
convexcheckout (from dodo.api())customerPortal (from dodo.api(), uses identify)createDodoWebhookHandler

The adapters handle raw body preservation for webhook verification, environment variable mapping, and framework-specific request/response shapes. Checkout payload design belongs to the checkout-integration skill; webhook business logic belongs to webhook-integration; portal behavior belongs to customer-management.

Framework selection and installation

FrameworkPackageInstall
Next.js@dodopayments/nextjsnpm install @dodopayments/nextjs
Express@dodopayments/expressnpm install @dodopayments/express
Fastify@dodopayments/fastifynpm install @dodopayments/fastify
Hono@dodopayments/hononpm install @dodopayments/hono
Astro@dodopayments/astronpm install @dodopayments/astro
Remix@dodopayments/remixnpm install @dodopayments/remix
SvelteKit@dodopayments/sveltekitnpm install @dodopayments/sveltekit
Nuxt@dodopayments/nuxtnpm install @dodopayments/nuxt
TanStack Start@dodopayments/tanstacknpm install @dodopayments/tanstack
Bun@dodopayments/bunbun add @dodopayments/bun
Convex@dodopayments/convexnpm install @dodopayments/convex

Environment variables

Most adapters use these standard names:

env
DODO_PAYMENTS_API_KEY=dodo_test_...
DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
DODO_PAYMENTS_ENVIRONMENT=test_mode
DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success

Nuxt uses private runtime config prefixes:

env
NUXT_PRIVATE_BEARER_TOKEN=dodo_test_...
NUXT_PRIVATE_WEBHOOK_KEY=your-webhook-secret
NUXT_PRIVATE_ENVIRONMENT=test_mode
NUXT_PRIVATE_RETURN_URL=https://yourdomain.com/checkout/success

Convex uses dashboard environment variables (not local .env):

env
DODO_PAYMENTS_API_KEY=dodo_test_...
DODO_PAYMENTS_ENVIRONMENT=test_mode
DODO_PAYMENTS_WEBHOOK_SECRET=your-webhook-secret

Webhook key naming: Some adapters reference DODO_PAYMENTS_WEBHOOK_KEY, others use DODO_PAYMENTS_WEBHOOK_SECRET. Check your framework's adapter docs and dashboard configuration to use the correct variable name.

Narrowing environment

Adapter configs type environment as Pick<ClientOptions, "environment">, i.e. the literal union "test_mode" | "live_mode". process.env.X is string | undefined, which does not assign to it — passing it directly is a type error in every adapter.

Define this helper once and import it wherever you construct an adapter config:

typescript
// lib/dodo-env.ts
export const dodoEnvironment =
  process.env.DODO_PAYMENTS_ENVIRONMENT === "live_mode" ? "live_mode" : "test_mode";

Defaulting to test_mode is deliberate: a missing or misspelled variable must never silently resolve to live mode. Every example below uses dodoEnvironment.

Show full SKILL.md (360 more words)Show less

Next.js

Package: @dodopayments/nextjs
Route placement: app/api/checkout/route.ts, app/api/customer-portal/route.ts, app/api/webhook/route.ts

Checkout (choose one mode per route)
typescript
// app/api/checkout/route.ts
import { Checkout } from "@dodopayments/nextjs";
import { dodoEnvironment } from "@/lib/dodo-env";

export const GET = Checkout({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
  environment: dodoEnvironment,
  type: "static",
});

export const POST = Checkout({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
  environment: dodoEnvironment,
  type: "session",
});
Customer Portal
typescript
// app/api/customer-portal/route.ts
import { NextRequest } from "next/server";
import { CustomerPortal } from "@dodopayments/nextjs";
import { dodoEnvironment } from "@/lib/dodo-env";
// your auth helper
import { getSessionUser } from "@/lib/auth";

const portal = CustomerPortal({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  environment: dodoEnvironment,
});

export async function GET(req: NextRequest) {
  const user = await getSessionUser(req);
  if (!user?.dodoCustomerId) return new Response("Unauthorized", { status: 401 });

  // Overwrite any client-supplied ?customer_id= with the signed-in user's ID.
  const url = new URL(req.url);
  url.searchParams.set("customer_id", user.dodoCustomerId);
  return portal(new NextRequest(url, req));
}
Webhooks
typescript
// app/api/webhook/route.ts
import { Webhooks } from "@dodopayments/nextjs";

export const POST = Webhooks({
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
  onPayload: async (payload) => {
    console.log("Webhook received:", payload.type);
  },
});

Express

Full guide: references/express.md.

Covers:

  • Checkout
  • Customer Portal
  • Webhooks

Fastify

Full guide: references/fastify.md.

Covers:

  • Checkout
  • Webhooks

Hono

Full guide: references/hono.md.

Covers:

  • Checkout
  • Customer Portal
  • Webhooks

Astro

Full guide: references/astro.md.

Covers:

  • Checkout
  • Webhooks

Remix

Full guide: references/remix.md.

Covers:

  • Checkout
  • Customer Portal
  • Webhooks

SvelteKit

Full guide: references/sveltekit.md.

Covers:

  • Checkout
  • Webhooks

Nuxt

Full guide: references/nuxt.md.

Covers:

  • Checkout
  • Webhooks

TanStack Start

Full guide: references/tanstack-start.md.

Covers:

  • Checkout

Bun

Full guide: references/bun.md.

Covers:

  • Checkout and Portal

Convex

Full guide: references/convex.md.

Common mistakes

  1. Duplicate POST handlers: Next.js and Astro docs show two export const POST declarations. Choose one checkout mode per route or add routing logic to dispatch between them.

  2. Wrong webhook variable name: Check whether your adapter uses DODO_PAYMENTS_WEBHOOK_KEY or DODO_PAYMENTS_WEBHOOK_SECRET. The docs are inconsistent; use the name your adapter actually references.

  3. Forgetting raw body preservation: Webhook handlers must receive the raw request body, not a re-parsed JSON object. Fastify requires an explicit string body parser; other frameworks handle this automatically. Express is the exception: its Webhooks handler verifies against the parsed req.body, so register express.json() before the route and do not use express.raw(), which makes every verification fail. Webhook signature verification is covered in the webhook-integration skill.

  4. Mixing framework conventions: Each framework has its own request/response shape. Don't try to use a Next.js handler in Express or vice versa. Use the adapter for your framework.

  5. Hardcoding secrets: Always read API keys and webhook secrets from environment variables, never from code or config files.

  6. Skipping environment setup: The adapters won't work without DODO_PAYMENTS_API_KEY and DODO_PAYMENTS_ENVIRONMENT. Set these before testing.

  7. Exposing CustomerPortal unauthenticated: The portal handlers trust ?customer_id= from the request. Resolve the ID from the signed-in session on the server, as in the examples above, or anyone can open any customer's portal.

  8. Using @dodopayments/core directly: The core package is an internal dependency, not a documented public entry point. Use the framework adapter for your stack.

Resources

© 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

Files

SKILL.md and 10 other files (references) in plugins/dodopayments/dodo-agent-plugin/skills/framework-adapters of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • references/astro.md
  • references/bun.md
  • references/convex.md
  • references/express.md
  • references/fastify.md
  • references/hono.md
  • references/nuxt.md
  • references/remix.md
  • references/sveltekit.md
  • references/tanstack-start.md

Open the folder on GitHubat commit 9e7b281

Compare with similar skills

Framework Adapters 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.

Framework Adapters compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Framework Adapters this skillhashgraph-online/awesome-codex-plugins1.3k—~2.9kAutomated safety check: NotesApache-2.0
Sanity Best Practicessanity-io/agent-toolkit188—~1.3kAutomated safety check: PassMIT
Cloudflare Workers Frameworkssecondsky/claude-skills227—~1.4kAutomated safety check: PassMIT
Clerkgeekskai/blog1033 repos~1.5kAutomated safety check: PassMIT
Workflow Initusenotra/notra256—~821Automated safety check: PassAGPL-3.0
Sanity Best Practicesrobotostudio/turbo-start-sanity183—~940Automated safety check: PassMIT

Similar skills

  • Sanity Best Practices

    sanity-io/agent-toolkit

    Official

    Sanity development best practices for schema design, GROQ queries, TypeGen, Visual Editing, images, Portable Text, Studio structure, localization, migrations, Sanity Functions, webhooks, Blueprints…

    188 GitHub stars~1.3k tokensUpdated 3 days ago
    Backend & APIsAuto-check passed
  • Cloudflare Workers Frameworks

    secondsky/claude-skills

    Framework integration for Cloudflare Workers. An agent skill from secondsky/claude-skills.

    227 GitHub stars~1.4k tokensUpdated 11 days ago
    Frontend & DesignAuto-check passed
  • Clerk

    geekskai/blog

    Clerk authentication router. An agent skill from geekskai/blog.

    103 GitHub starsUsed in 3 repos~1.5k tokens
    Backend & APIsAuto-check passed
  • Workflow Init

    usenotra/notra

    Install and configure Vercel Workflow SDK before it exists in nodemodules.

    256 GitHub stars~821 tokensUpdated today
    Backend & APIsAuto-check passed
  • Sanity Best Practices

    robotostudio/turbo-start-sanity

    Sanity development best practices for schema design, GROQ queries, TypeGen, Visual Editing, images, Portable Text, Studio structure, localization, migrations, Sanity Functions, Blueprints, and…

    183 GitHub stars~940 tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed
  • Review code for logging patterns and suggest evlog adoption.

    1.9k GitHub stars~11k tokensUpdated today
    DatabasesAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 714 skills in this repo
  • Anime Reaction Gif

    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.

    1.3k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.3k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    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…

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    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…

    1.3k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.3k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.3k GitHub stars~618 tokensUpdated today
    Auto-check passed

Categories

Questions about Framework Adapters

What does Framework Adapters do?

Official @dodopayments/ framework adapters that mount Checkout, CustomerPortal, and Webhooks route handlers. Framework Adapters is an agent skill from hashgraph-online/awesome-codex-plugins. Official @dodopayments/ framework adapters that mount Checkout, CustomerPortal, and Webhooks route handlers.

When should I use Framework Adapters?

Framework Adapters fits situations like: integrating Dodo Payments into Next.js; such as @dodopayments/nextjs; use domain skills for payment and subscription logic.

How do I install Framework Adapters in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill framework-adapters -a claude-code`. Or copy the skill folder (plugins/dodopayments/dodo-agent-plugin/skills/framework-adapters in hashgraph-online/awesome-codex-plugins) into .claude/skills/framework-adapters in your project. Claude Code loads it when a task matches its description.

How do I install Framework Adapters in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill framework-adapters -a codex`. Or copy the skill folder (plugins/dodopayments/dodo-agent-plugin/skills/framework-adapters in hashgraph-online/awesome-codex-plugins) into .agents/skills/framework-adapters in your project. Codex loads it when a task matches its description.

Can I use Framework Adapters 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 hashgraph-online/awesome-codex-plugins --skill framework-adapters -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/framework-adapters, .gemini/skills/framework-adapters, .github/skills/framework-adapters and .opencode/skills/framework-adapters in your project.

What does Framework Adapters need to run?

Going by SKILL.md and its folder, Framework Adapters needs the command-line tools its instructions call (npm and bun) and credentials named DODO_PAYMENTS_API_KEY, DODO_PAYMENTS_WEBHOOK_KEY, DODO_PAYMENTS_WEBHOOK_SECRET and NUXT_PRIVATE_BEARER_TOKEN. Our summary lists: Node.js; A credential in DODO_PAYMENTS_API_KEY; A credential in DODO_PAYMENTS_WEBHOOK_KEY.

Does Framework Adapters access the network?

SKILL.md names 1 domain. As links in the text: docs.dodopayments.com. This is read from the text; nothing was executed.

Is Framework Adapters safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Framework Adapters use?

Framework Adapters 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.

How many tokens does Framework Adapters use?

About 2.9k 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. Its references folder adds about 4.3k tokens, read only when the agent opens those files.

What are the alternatives to Framework Adapters?

Skills that share tags, products or a category with Framework Adapters: Sanity Best Practices (sanity-io/agent-toolkit, 188 stars), Cloudflare Workers Frameworks (secondsky/claude-skills, 227 stars), Clerk (geekskai/blog, 103 stars) and Workflow Init (usenotra/notra, 256 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Framework Adapters?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,255 GitHub stars. The repository holds 714 skills in this directory. The repository was last updated on October 9, 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.