Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Step-by-step guide for adding support for a new AI editor format to PRPM - covers types, converters, schemas, CLI, webapp, and testing
Adding a New AI Format to PRPM
Complete process for adding support for a new AI editor format (like OpenCode, Cursor, Claude, etc.) to PRPM.
Overview
This skill documents the systematic process for adding a new AI format to PRPM, based on the OpenCode integration. Follow these steps in order to ensure complete integration across all packages.
Prerequisites
Format documentation (understand file structure, frontmatter, directory conventions)
Example files from the format
Understanding of format-specific features (tools, agents, commands, etc.)
Step 1: Types Package (packages/types/)
File: src/package.ts
Add the format to the Format type and FORMATS array:
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://registry.prpm.dev/api/v1/schemas/opencode.json","title":"OpenCode Agent Format","description":"JSON Schema for OpenCode Agents","type":"object","required":["frontmatter","content"],"properties":{"frontmatter":{"type":"object","required":["description"],"properties":{"description":{"type":"string"},
CRITICAL Schema Requirements:
$id must use new URL pattern: https://registry.prpm.dev/api/v1/schemas/{format}.json for base schemas
For subtypes: https://registry.prpm.dev/api/v1/schemas/{format}/{subtype}.json
Add "additionalProperties": false to frontmatter object to catch invalid fields
String fields requiring slugs (like name) should use pattern: "pattern": "^[a-z0-9-]+$"
If the format has subtypes (like Claude with agents/skills/commands), create separate schema files:
{format}-agent.schema.json
{format}-skill.schema.json
{format}-slash-command.schema.json
etc.
IMPORTANT: When creating subtype schemas, you MUST update the validation logic to map them.
Step 3: Converters Package - Format Documentation (packages/converters/docs/)
CRITICAL: Create comprehensive format documentation file: {format}.md
This documentation serves as the source of truth for:
Package authors creating packages in this format
PRPM contributors implementing converters
Users understanding format capabilities and limitations
Required sections:
# {Format Name} Format Specification**File Locations:**- {Type 1}: `{path}`- {Type 2}: `{path}`**Format:** {Markdown/JSON/etc.} with {YAML frontmatter/etc.}
**Official Docs:** {link to official documentation}
## Overview
Brief description of the format and its purpose.
## Frontmatter Fields### Required Fields-**`field-name`** (type): Description
### Optional Fields-**`field-name`** (type): Description
## Content Format
Describe the body/content structure.
## Best Practices1. Practice 1
2. Practice 2
## Conversion Notes### From {Format} to Canonical
How the converter parses this format.
### From Canonical to {Format}
How the converter generates this format.
## Limitations- Limitation 1
- Limitation 2
## Examples### Example 1```markdown
{example content}
**Add to README.md**:
1. **Format Matrix table**: Add row(s) with subtypes, official docs, and OpenCode docs links
2. **Available Formats table**: Add row with link to your new `.md` file
3. **Schema Validation section**: Add schema filename(s) to appropriate list
4. **Frontmatter Support table**: Add row with frontmatter requirements
5. **File Organization table**: Add row with file paths and structure
See `packages/converters/docs/README.md` for examples of how other formats are documented.
## Step 4: Converters Package - Canonical Types
**File**: `packages/converters/src/types/canonical.ts`
### 3a. Add format to CanonicalPackage.format union:
```typescript
format: 'cursor' | 'claude' | ... | 'opencode' | 'ruler' | 'generic' | 'mcp';
Why this matters: Without adding subtypes to subtypeSchemaMap, validation will fall back to the base format schema and won't validate subtype-specific fields. This causes validation to fail or pass incorrectly.
Why this matters: Without these additions, the registry will reject API requests with 400 validation errors when users try to download or filter by the new format.
Step 12: Testing and Validation
11a. Build types package first:
npm run build --workspace=@pr-pm/types
This is critical because other packages depend on the updated Format type.
11b. Build registry and webapp:
npm run build --workspace=@pr-pm/registry
npm run build --workspace=@pr-pm/webapp