APM-Packages/corentic-package-manager/skills/cpm-setup/SKILL.md
Tobias J. Endres 2af88b6493 refactor!: rename omos to Corentic Package Manager (CPM)
A CPM package is an agent package consisting of an APM manifest plus a
team configuration (team-profile.yaml). The manager translates such a
package into the native config of a target harness. First target:
oh-my-opencode-slim; oh-my-pi, codex, claude and copilot are planned.

- omos/ -> corentic-package-manager/, cpm.py as CLI entry point
- new commands: cpm init [--fill] and cpm setup (guided flow with
  interactive model selection from opencode.json(c))
- schema field omos_agent -> harness-neutral runtime_agent
- user mapping moved to ~/.config/cpm/model-mapping.yaml
- provenance suffix .cpm-provenance.json
- skill renamed to cpm-setup
2026-08-23 17:26:28 +02:00

3 KiB
Raw Blame History

name description allowed-tools
cpm-setup Activate when the user wants to set up, render, or troubleshoot a CPM package (APM package + team-profile). Use for cpm init, cpm setup, cpm render, team-profile, model-mapping, oh-my-opencode-slim preset, fehlende Modellklassen.
Bash(python3 corentic-package-manager/cpm.py *)
Read
Write
Edit
Glob

CPM Setup Skill

Führt den Nutzer durch: CPM-Package (APM-Manifest + Team-Profil) → lokales Modell-Mapping → gerendertes Harness-Preset (aktuell: oh-my-opencode-slim).

Der Ablauf (ResolveValidateRender)

1. Team-Profil finden

Prüfe, ob eine team-profile.yaml existiert (Package-Root oder corentic-package-manager/examples/package/team-profile.yaml). Lies sie und fasse dem Nutzer zusammen:

Profil: acme.job-applications
Rollen: orchestrator → strong-generalist, researcher → fast-research,
        writer → strong-writing, checker → high-reasoning, notifier → cheap-reliable
MCPs benötigt: openviking, sharelatex (+ websearch/webfetch als OpenCode-Native)

2. Mapping prüfen

Prüfe ~/.config/cpm/model-mapping.yaml. Für jede im Profil verwendete Modellklasse muss ein Eintrag existieren.

Wenn eine Modellklasse fehlt, biete dem Nutzer konkrete Optionen an (verfügbare Modelle aus ~/.config/opencode/opencode.jsonc auflisten):

Für 'high-reasoning' ist kein Modell zugeordnet.
1. Vorhandenes Modell wählen (z. B. ollama/qwen3.6:35b-a3b-q4_K_M)
2. Neues Provider/Modell in opencode.jsonc konfigurieren
3. Abbrechen

Nach Auswahl schreibe das Mapping und markiere optional # selected_by: user.

Alternativ die interaktiven Kommandos nutzen: cpm init --fill und cpm setup.

3. MCPs prüfen

Vergleiche die im Profil genannten MCPs mit der Sektion mcp in ~/.config/opencode/opencode.jsonc. Fehlende dem Nutzer melden nicht stillschweigend ignorieren. Native OpenCode-Tools (websearch, webfetch) sind keine MCPs und brauchen keinen Eintrag.

4. Rendern

python3 corentic-package-manager/cpm.py render --package <package-dir>

Zeige die Ausgabe inklusive Warnungen. Die Datei .opencode/oh-my-opencode-slim.json ist generiert nicht manuell editieren.

5. Aktivieren

Nutzer anleiten: opencode starten → /preset <team-id> → Reload. Preset-Wechsel greifen erst nach einem Reload (by Design).

Fehlerbehandlung

Fehler Lösung
„Modellklasse X ist nicht gemappt" Schritt 2: Mapping ergänzen
„MCP ... nicht in opencode.json konfiguriert" Schritt 3: MCP einrichten oder Rolle anpassen
„Kein Team-Profil gefunden" Pfad prüfen, --team-file verwenden
Ungültiges YAML Zeile aus Fehlermeldung zeigen

Regeln

  • Niemals selbst Modelle erraten oder zuordnen immer den Nutzer wählen lassen.
  • Niemals die generierte .opencode/oh-my-opencode-slim.json direkt editieren; Quelle sind Team-Profil + Mapping.
  • Sicherheitsgrenzen des Packages (MCP/Skill-Allowlists) nur verschärfen, nie aufweichen.