Plugin Manifests for Claude Code and Codex in the i-have-adhd Repository

The ayghri/i-have-adhd repository defines separate JSON manifests at .claude-plugin/plugin.json and .codex-plugin/plugin.json that declare the plugin's identity, version 0.2.0, author information, and runtime-specific capabilities for Claude Code and Codex environments.

The i-have-adhd project exposes its functionality through two distinct plugin manifest files tailored to each AI coding assistant runtime. These configuration files serve as the single source of truth for plugin registration, with each runtime automatically discovering and loading its respective manifest during initialization.

Claude Code Plugin Manifest Structure

The Claude Code runtime uses a minimal manifest located at .claude-plugin/plugin.json. This file contains the essential metadata required for the plugin to be recognized, deferring extended UI details to a companion configuration.

  • Name: "i-have-adhd"
  • Version: "0.2.0"
  • Author: "Ayoub G."
  • Dependencies: Relies on .claude-plugin/marketplace.json for additional UI metadata and marketplace presentation

The Claude Code runtime automatically reads this file during plugin discovery. No manual registration code is required; the runtime parses the JSON data directly to register the plugin and handle basic initialization.

Codex Plugin Manifest Structure

The Codex manifest at .codex-plugin/plugin.json provides a comprehensive configuration schema required by the Codex plugin system. Unlike the Claude Code version, this file contains complete UI branding specifications and skill path declarations.

Key fields include:

  • Metadata: homepage, repository, license, and keywords arrays
  • Skills Path: Points to "./skills/" to locate the canonical skill files
  • Interface Object: Defines displayName, longDescription, category, capabilities, defaultPrompt, and branding assets including color values and icon references
  • Skill Reference: Links to skills/i-have-adhd/SKILL.md for the detailed capability description

This richer structure enables the Codex marketplace to render the plugin with proper visual branding, categorized placement, and pre-configured prompt templates.

Comparing Claude Code and Codex Manifest Capabilities

While both manifests share common identity metadata—specifically the plugin name "i-have-adhd", version "0.2.0", and author "Ayoub G."—they differ significantly in scope and structure:

.claude-plugin/plugin.json provides minimal registration data and depends on external marketplace configuration for UI presentation.

.codex-plugin/plugin.json embeds complete interface definitions, including the skills directory location, detailed descriptions, category classifications, and visual branding elements required for marketplace rendering.

Accessing Manifest Data Programmatically

You can read and utilize these manifests in your own tooling by loading the JSON files directly or using the Codex SDK for runtime registration.

Reading the Codex Manifest with Node.js

import fs from 'fs';
import path from 'path';

const codexManifestPath = path.resolve('.codex-plugin', 'plugin.json');
const manifest = JSON.parse(fs.readFileSync(codexManifestPath, 'utf-8'));

console.log(`Plugin ${manifest.name} v${manifest.version}`);
console.log(`Description: ${manifest.interface.longDescription}`);

Registering via the Codex SDK

import { registerPlugin } from '@codex/plugin-sdk';

// Path is relative to the repository root
registerPlugin('./.codex-plugin/plugin.json');

Automatic Loading in Claude Code

Claude Code requires no manual registration; the runtime automatically discovers and loads .claude-plugin/plugin.json when the plugin is installed or activated.

Summary

  • The i-have-adhd repository maintains two separate manifest files: .claude-plugin/plugin.json for Claude Code and .codex-plugin/plugin.json for Codex.
  • Both files declare identical core metadata: plugin name "i-have-adhd", version "0.2.0", and author "Ayoub G.".
  • The Claude Code manifest is minimal and pairs with marketplace.json for UI metadata.
  • The Codex manifest includes rich interface definitions, skills paths ("./skills/"), and branding specifications required for marketplace rendering.
  • Runtime updates are automatic: modifying these files updates the plugin's registration on the next load without requiring code changes.

Frequently Asked Questions

What is the purpose of the plugin.json file in Claude Code?

The .claude-plugin/plugin.json file serves as the minimal registration descriptor for the Claude Code runtime. It provides essential identity metadata including the plugin name, version, and author. The file is intentionally lightweight because Claude Code derives extended UI information from the associated marketplace.json file located in the same directory.

How does the Codex manifest differ from the Claude Code manifest?

The Codex manifest at .codex-plugin/plugin.json contains significantly more configuration than its Claude Code counterpart. It includes the homepage, repository, license, and keywords fields, plus a detailed interface object that defines display names, descriptions, categories, capabilities, default prompts, and visual branding elements. It also explicitly declares the skills path ("./skills/") to locate the plugin's functional capabilities.

Where are the skill files located in the i-have-adhd repository?

The skill files are located in the skills/i-have-adhd/ directory, with the canonical description stored at skills/i-have-adhd/SKILL.md. The Codex manifest explicitly references this location through the "./skills/" path declaration in its configuration, while the Claude Code runtime discovers skills through its own convention-based resolution mechanism.

Do I need to manually register these manifests with the runtimes?

No manual registration is required for either runtime. Claude Code automatically discovers and parses .claude-plugin/plugin.json during plugin initialization. For Codex, while you can programmatically register the plugin using registerPlugin() from the @codex/plugin-sdk, the runtime also automatically loads the manifest when the plugin is installed according to Codex's standard directory conventions.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →