> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qredence.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Author a Qredence plugin

> Folder layout, Claude and Codex manifests, shared skills and agents, and the marketplace checklist for shipping a dual-target Qredence plugin bundle.

Use this repository when you want one plugin folder to be consumable by both Claude and Codex.

## Rules

1. Use `plugins/<plugin-name>/` for both installable plugin bundles and skill-library collections.
2. For installable dual-target bundles, keep the Claude manifest at `plugins/<plugin-name>/.claude-plugin/plugin.json`.
3. For installable dual-target bundles, keep the Codex manifest at `plugins/<plugin-name>/.codex-plugin/plugin.json`.
4. Keep shared bundle content at the plugin root:
   * `skills/`
   * `agents/`
   * `.mcp.json`
   * `assets/`
   * `scripts/` when the plugin ships local automation
   * `references/` when the plugin ships authoring or implementation guides
5. Skill-library collections may stop at `skills/` plus helpers, but they are not marketplace-ready until they also have both manifests and `.mcp.json`.
6. Keep manifest paths relative to the plugin root and start them with `./`.

## Marketplace plugin checklist

For every installable plugin bundle:

1. Pick a stable kebab-case plugin name.
2. Add both manifests.
3. Add at least one skill under `skills/<skill-name>/SKILL.md`.
4. Add `.mcp.json`, even if it starts empty.
5. Add assets only when the plugin needs install-surface branding.
6. Add any bundled `scripts/` and `references/` directories at the plugin root when they are part of the plugin's runtime or documentation surface.
7. Add the plugin to `.agents/plugins/marketplace.json` so Codex can discover it. Use a `policy.authentication` value supported by current Codex builds: `ON_INSTALL` or `ON_USE`.
8. Document at least one non-destructive validation command in the plugin README. If the plugin ships Python scripts or tests, make sure the command can be run from the repo root with `uv`.

## Validation

Run the smallest validation lane that matches the plugin you changed:

```bash theme={null}
# All Python tests
uv run pytest

# Marketplace and manifest wiring
uv run pytest tests/test_plugin_catalogue.py

# Per-plugin
uv run pytest plugins/harness-engineering/tests
uv run pytest plugins/meta-harness/tests/test_init_workspace.py
uv run pytest plugins/rlm-wiki/tests/test_bootstrap_daytona_volume.py
uv run pytest plugins/symphony/tests
```

## Included Python service plugins

`plugins/symphony` is a reference service plugin rather than only a prompt bundle. Keep its README, `references/implementation-notes.md`, and tests aligned with `scripts/symphony_service.py` whenever the Symphony workflow schema, validation lane, or safety posture changes.

## Notes on agents

Claude plugins support plugin-root `agents/` directories.

Codex plugin packaging centers on manifests, skills, apps, and MCP configuration. If you want Codex-specific agent behavior, keep the repo-level instructions and marketplace metadata clear, and model reusable workflows as skills unless you have a strong reason to introduce a platform-specific agent format.
