Abgeschlossene Aufgaben mit Detail und Begründung. Neueste oben.
Was entstanden ist (Plugin 0.4.0):
- update-conventions — bidirektionaler Konventions-Sync mit drei Ästen:
- Abwärts mit Stempel: Projekte via Marker-Topic (
gh search repos … topic:coding-kit) plus lokale Checkouts finden; CHANGELOG-Fenster zwischen Stempel und aktueller VERSION zeigen; Soll-Fassung jeder managed Datei (Core + Modul-Parts) mit rückaufgelösten Projektwerten instanziieren und gegen den Ist-Stand diffen; je Datei: übernehmen / so lassen / als Override registrieren / promoten. Override-Schutz greift vor dem Diffen (convention-overrides.md+ Inline-Marker); seed-Dateien und public-only-Regeln werden respektiert; Abschluss: Stempel auf neue VERSION,just checkgrün, Commit-Frage. - Abwärts ohne Stempel (Altprojekte): heuristischer Abgleich + Migrationen als einzeln bestätigte Schritte — instructions.md→CLAUDE.md, Entfernen lokaler Core-Skill-Kopien (nur bei installiertem Plugin; durch den Kollisionstest aus F-001 abgesichert, projektspezifische Skills bleiben immer), Renovate-Onboarding, Tooling-Nachrüstung, abschließend Stempel-Angebot.
- Aufwärts („promote"): projektlokale Änderung generalisieren (Werte → Platzhalter, englisch, personendatenfrei) und in den Kern heben — Template-Sync-Invariante im selben Commit (VERSION + CHANGELOG + ggf. MANIFEST), danach optional Abwärts-Lauf; alternativ Registrierung als Override. Pro Änderung genau eine Entscheidung.
- Abwärts mit Stempel: Projekte via Marker-Topic (
- check-upstreams — Watchliste
upstreams.jsonim Kit-Repo (bewusst nicht im Plugin-Install-Verzeichnis: sie wird geschrieben und committed). Je Eintrag: Erstprüfung (Ist-Zustand) oder Folgeprüfung (gh api compare <ref>...HEAD+ Releases), Bewertung gegen den hinterlegten Zweck, Übernahme-Vorschläge (Umsetzung via add-feature als F-Nummer), Ref-/Datums-Update nach Bestätigung. /loop-tauglich (dann nur berichten). - Watchliste initial:
AlexPEClub/ai-coding-starter-kitmit Ref auf Analysestand (HEAD21a97bb…, letzter Push 2026-06-03 — Analyse vom 2026-07-07 deckt ihn ab) undbetterleaks/betterleaks(verifiziert: existiert, MIT, vom gitleaks-Autor; gitleaks erhält nur noch Security-Patches) mitlast_checked_ref: null— die Erstprüfung bewertet Reifegrad und Migrationsaufwand für den Scanner-Wechsel.
Entscheidungen:
- update-conventions diffe instanziierte Soll-Fassung vs. Ist statt Drei-Wege-Merge über historische Template-Stände — robuster, und der Stempel liefert trotzdem Determinismus (Update-Fenster + CHANGELOG-Kontext).
- Beide Skills
disable-model-invocation: true— Pflegeläufe startet nur der Nutzer.
Was entstanden ist: templates/global-CLAUDE.md — die schlanke Vorlage der globalen
House-Defaults (Sprache & Stil, Git-/Commit-Regeln inkl. Laufzeit-Auflösung der
Noreply-E-Mail, Graphiti-Regeln mit group_id-Quelle Root-CLAUDE.md + main für
Übergreifendes, Arbeitsweise mit Write-then-Verify, F-Nummern-Workflow, private/-
Konvention, Verweis auf die Plugin-Skills). Die Datei ist bewusst schlank (lädt in jede
Session) und identisch mit ~/.claude/CLAUDE.md auf dem Rechner — dadurch funktioniert
der bestehende Installer-Schritt (cp bei Neueinrichtung, diff-Hinweis bei Abgleich) ohne
Code-Änderung; er war ab F-001 vorbereitet und ist jetzt aktiv.
Migration (einmalige Nutzeraktion, erledigt): Inhalte der Legacy-Datei
~/.claude/instructions.md überführt und modernisiert — group_id-Quelle ist jetzt die
Root-CLAUDE.md des Projekts (nicht mehr .claude/instructions.md); hartkodierte
E-Mail-Adressen durch Laufzeit-Auflösung via gh api ersetzt (die Vorlage ist public —
keine Identität im Text). Die Legacy-Datei wurde nach Backup in private/ gelöscht
(sie wurde von Claude Code ohnehin nicht geladen).
Entscheidungen:
- Vorlage und lokale Datei bleiben byte-identisch und generisch (keine persönlichen Werte nötig — alles Persönliche kommt zur Laufzeit oder aus der Personal-Config).
- Kein plugin.json-Bump:
templates/und Installer sind Repo-, nicht Plugin-Inhalt; die Sync-Invariante (Version + CHANGELOG) gilt nur für Skills/Hooks.
Was entstanden ist: plugins/coding-kit/skills/new-project/SKILL.md (Plugin 0.3.0) —
der Orchestrator über dem project-template, nach dem Muster des bewährten
Maschinen-Anlage-Skills (Inputs sammeln statt raten, nichts ungefragt, Templates aus
der Quelle statt inline):
- Schritt 0 (M1): „Was soll das Projekt können?" → Short-Info (ein Satz, publishbar), mehrfach wiederverwendet (Repo-Beschreibung, CLAUDE.md, README, Graphiti, Namensfindung); bei Projekten aus einem Quelldokument (z. B. STARTPROMPT-Datei) wird die Short-Info daraus vorgeschlagen.
- Abfragen mit Defaults, Sub-Skills aufrufbar, Aufschieben erlaubt: Name (/name-it), Sichtbarkeit (privat), Lizenz (/choose-license; TBD nur bei privat), Modul (/choose-stack; offen → docs-only), Doku-Sprache (Deutsch bei privat, Englisch bei public), group_id (= Name; „kein Graphiti" möglich), Anforderungen jetzt (/define-requirements) oder später.
- Plan → Bestätigung → Ausführung, jeder außenwirksame Schritt einzeln bestätigt:
gh repo create --template --clone(kein git init) + lokale Autor-Config via gh api; Instanziierung streng nach den MANIFEST-Tabellen (Platzhalter-Registry, template:adapt konkretisieren, template:optional graphiti/security-tool, public-only-Dateien, LICENSE-Handling inkl. TBD); Modul-Einbau nach Modul-Kontrakt; Aufräumen aller Template-eigenen Dateien mit git-status-Gegenprüfung;.claude/template-version-Stempel; Repo-Settings (Beschreibung = Short-Info, Topics mit Markercoding-kit, Squash-Merge, Push-Protection mit Feature-Detection); Verifikationmise trust && mise install && just setup && just check; Personendaten-grep + Verschieben von Quelldokumenten nachprivate/; Erst-Commit nur nach OK; Graphiti-Seeding falls MCP läuft. - Robustheit: Trockenlauf via Argument
dry-run(zeigt Fragen, Plan und Ziel-Dateiliste, führt nichts aus), Kontext-Recovery-Block,manifest-format-Check (kann Format 1, bricht sonst mit Hinweis auf Kit-Update ab), Fehlerpfad bei belegtem Repo-Namen.
Entscheidungen:
disable-model-invocation: true— Repo-Anlage darf nie spontan vom Modell ausgelöst werden; nur der Nutzer startet den Orchestrator.- Instanziierung koppelt an die MANIFEST-Tabellen zur Laufzeit statt an einkopierte
Dateilisten — Template-Änderungen brechen den Skill nicht (Kopplung nur über die
manifest-format-Version). - Quell-STARTPROMPTs wandern nach
private/des neuen Projekts (gitignored) — die publishbare Essenz steckt bereits in Short-Info/REQUIREMENTS.
Was entstanden ist: Fünf Skills unter plugins/coding-kit/skills/ (Plugin 0.2.0) —
einzeln nutzbar und von /new-project (F-003) aufrufbar; jede SKILL.md definiert dafür
explizit ihre „Rückgabe an den Aufrufer":
- name-it — Kandidaten nach Kriterien (kurz, sprechend, kollisionsarm, lowercase-kebab-tauglich), Verfügbarkeits-Checks zur Laufzeit (GitHub via gh, npm-Registry, PyPI-JSON-API; Domain nur auf Wunsch via RDAP), Websuche gegen Namensvettern. Rückgabe: gewählter Name.
- choose-license — M1-Kurzinterview (Sichtbarkeit, kommerzielle Nutzung, Copyleft, Dependency-Lage), Empfehlung Default Apache-2.0, Alternativen MIT/MPL-2.0, GPL/AGPL nur als bewusste Entscheidung, „TBD" gültig (nur privat). Standalone schreibt es LICENSE + Paket-Metadaten nach Bestätigung. Rückgabe: SPDX-Id oder TBD.
- choose-stack — Modus A Neuanlage (Bedarf aus Short-Info, aktuelle Framework-Lage
per Websuche verifiziert, Stubs klar ausgewiesen, „offen" → docs-only); Modus B
Bestandsprojekt (EIN Modul nachrüsten/wechseln nach MANIFEST-Modul-Kontrakt, Diff +
Bestätigung je Datei, Override-Schutz, Verifikation via mise install + just setup +
just check). Template-Repo wird zur Laufzeit aufgelöst (lokaler Checkout, sonst
gh clone von
<login>/project-template; OverrideCODING_KIT_TEMPLATE_REPO). Grenze dokumentiert: laufende Modul-Updates =/update-conventions. Rückgabe: Modulname (+ CODEQL-Sprache, geschriebene Dateien). - define-requirements — M1-Interview aus der Short-Info (Ziele, Kern-Features,
Nicht-Ziele, Constraints; Vorschläge bestätigen lassen statt offen fragen) →
REQUIREMENTS.md in M5-Struktur (= Template-Skelett
core/REQUIREMENTS.md) → initiale PROGRESS.md mit einer F-Nummer je Anforderung + FEATURE-INDEX. Verwaltet den Auflöse-Trigger (vollständig überführt + Nutzer bestätigt → Kurzfassung in CLAUDE.md, Entscheidungen als ADR sichern, Datei löschen). - refine-requirements — M2-Diagnose „Was führt dich zurück zur Spec?" mit drei Pfaden (Änderung von außen / Implementierungs-Lücke / Grundsatz-Challenge); darf Features splitten (neue Nummern via FEATURE-INDEX); immer datierte Decision-Log- Einträge (Product/Technical getrennt, Historie supersedieren statt umschreiben); arbeitet nach Auflösung der REQUIREMENTS.md auf PROGRESS + ADRs weiter.
Entscheidungen:
- Alle fünf mit
disable-model-invocation: false, damit der/new-project-Orchestrator (F-003) sie als Sub-Skills aufrufen kann; präzise descriptions verhindern Spontanfeuer. - Neuer optionaler Personal-Config-Schlüssel
CODING_KIT_TEMPLATE_REPO(Default bleibt Laufzeit-Auflösung<github-login>/project-template— kein Hardcode).
Was entstanden ist:
- Marketplace
.claude-plugin/marketplace.json— Namexnyzer, Plugin per relativemsource: "./plugins/coding-kit"→/plugin marketplace add xnyzer/coding-kitund/plugin install coding-kit@xnyzerfunktionieren direkt. - Plugin
plugins/coding-kit/—plugin.json(Version 0.1.0), vier Core-Skills, Stop-Hook. - Skills (generalisiert aus erprobten projektlokalen Vorlagen, personendatenfrei,
stack-agnostisch):
add-feature,prep-step,step-done,audit-code. Gemeinsame Bausteine: Projektkontext aus der Projekt-CLAUDE.md (group_id, Doku-Sprache, Sicherheits-Postur), Checks nur über just-Standardrezepte, F-Nummern-Toleranz (alt lesen, F-NNN schreiben), Kontext-Recovery-Block (M4), Write-then-Verify (M3) in step-done, Privacy-Scan der lebenden Doku in step-done, Commit-E-Mail-Check zur Laufzeit viagh api(kein Hardcode). - Stop-Hook
hooks/stop-reminder.sh— projekterkennend (PROGRESS.md mit FEATURE-INDEX oder.claude/template-version), blockt einen Stopp höchstens einmal (stop_hook_active-Schutz) und verweist auf/coding-kit:step-done; in fremden Repos vollständig still. - Renovate-Preset
default.json(Root):config:recommended+helpers:pinGitHubActionDigests+ Labeldependencies; Doku indocs/renovate-preset.md. Kit und project-template extenden es selbst (Dogfooding). - Installer
install.sh— idempotent: prüft gh/claude, richtet Marketplace + Plugin ein, legt~/.claude/coding-kit.envan (viagh apivorbefüllt, chmod 600), bietet Toolchain-Installation an; globale CLAUDE.md-Einrichtung folgt mit F-004. - Doku: deutsches
README.md,docs/skill-authoring.md(verbindliche Authoring-Konvention),CLAUDE.md(Dogfooding), Governance auf Englisch (LICENSE Apache-2.0, CODE_OF_CONDUCT CC 3.0, SECURITY, CONTRIBUTING, AI-DISCLOSURE). - Qualität:
scripts/validate.py(JSON/YAML/TOML-Syntax, Plugin-/Marketplace-/ Skill-Frontmatter-Checks, Privacy-Lint) viajust check, lefthook (gitleaks + Validator), gehärtete CI (permissions minimal, Actions SHA-gepinnt, Concurrency).
Entscheidungen:
- Stop-Hook blockt (JSON
decision: block) statt nur zu echoen — die Erinnerung erreicht das Modell zuverlässig; derstop_hook_active-Schutz verhindert Schleifen. Hook-Ausgabe auf Englisch, weil sie in beliebigen (oft öffentlichen) Projekten wirkt. - Kit versioniert über
plugin.json+CHANGELOG.md(keine separate VERSION-Datei wie im Template — die Skills koppeln an die MANIFEST-Formatversion des Templates, nicht an Kit-Versionen). project-template/renovate.json(Root) im Zuge dessen aufs Preset umgestellt (TODO(D3) dort erledigt; Root-Datei ist nicht manifest-verwaltet → kein VERSION-Bump).