CommunityCodierung & Entwicklunggithub.com

jesusgraterol/jg-challenge-plan

Fordere einen Plan vor der Genehmigung heraus und lege materielle Risiken, Lücken und Entscheidungen offen.

Was ist jg-challenge-plan?

Diese Fertigkeit für KI-Agenten (kompatibel mit Claude Code, Cursor, Codex und ähnlichen Tools) fungiert als kritischer Prüfer für Engineering-Änderungspläne. Ihr Hauptzweck ist es, Entwicklern zu helfen, einen konkreten Plan schnell zu verifizieren, bevor sie ihn genehmigen, aufschlüsseln oder umsetzen. Sie behandelt den Plan als unvertrauenswürdigen Vorschlag und konzentriert sich darauf, Abweichungen zwischen dem geplanten Ergebnis und den tatsächlichen Absichten, Einschränken, Ausschlüssen und Akzeptanzkriterien des Entwicklers aufzudecken. Die Fertigkeit identifiziert materielle Risiken in Bezug auf Architektur, Datenänderungen, Sicherheit, Abhängigkeiten und Betrieb; unnötige Komplexität und unvollständige Kompatibilitäts- oder Rollback-Pfade; sowie kritische Entscheidungen, die noch getroffen werden müssen. Sie verwendet das jg-plans-Protokoll 0.2, um Pläne schreibgeschützt zu überprüfen, wobei eine projektlokale CLI (jg-plans >=0.6.1) verwendet wird. Die Ausgabe ist ein strukturierter Bericht mit den Abschnitten 'Plan auf einen Blick', 'Materielle Auswirkungen', 'Herausforderungen', 'Erforderliche Entwicklerentscheidungen' und einer klaren 'Empfehlung' (entweder 'Keine materiellen Bedenken', 'Pläne-Überarbeitung vor dem Fortfahren erforderlich' oder 'Entscheidung des Entwicklers vor dem Fortfahren erforderlich'). Die Fertigkeit autorisiert niemals Änderungen am Plan selbst, an Quelldateien oder an der Infrastruktur; sie bleibt ein reines Analysewerkzeug, das Entwicklern umsetzbare Erkenntnisse für die Planungsverfeinerung liefert.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jesusgraterol/jg-skills/tree/HEAD/skills/jg-challenge-plan

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Aufruf

Nur auf direkte Entwickleranforderung ausführen. Führen Sie den Workflow mit den verfügbaren Werkzeugen aus; simulieren Sie ihn nicht, ersetzen Sie keine Shell-Befehle und fragen Sie nicht erneut nach bereits autorisierten Aktionen.

Behandeln Sie bereitgestellten Text als Argumente, Einschränkungen oder Kontext und beachten Sie dabei Grenzen und Verweise. Melden Sie fehlende Fähigkeiten und Blockierer ehrlich. Simulieren Sie niemals Erfolg.

Geben Sie verwaltete Laufzeitressourcen und einmalige Zwischenausgaben frei, auch bei Fehlern, bewahren Sie ungelöste Beweise auf und melden Sie zurückbehaltene Ressourcen in der Ausgabe dieser Fertigkeit. Diese enge Bereinigungsausnahme erlaubt niemals das Ändern von überprüften/vorhandenen Dateien, das Entfernen unerwarteter Änderungen oder das Bereinigen früherer Arbeiten. Alle anderen Schreibvorgänge folgen diesem Workflow. Die spezifischen Regeln dieser Fertigkeit zum bereitgestellten Material haben Vorrang.

jg-plans Protokoll 0.2

Persistierte Dokumente benötigen projektlokal jg-plans >=0.6.1 mit CLI-Schema 3. Kein-Plan/nur-Code-Arbeit, Transkriptanalyse und Pause benötigen keine CLI.

  • Verwenden Sie den installierten Projekteinstiegspunkt, normalerweise <repository-root>/node_modules/.bin/jg-plans, oder seinen dokumentierten Built-Einstiegspunkt. Führen Sie diesen genauen Einstiegspunkt mit --version --json aus; Fehler muss null, Version >=0.6.1 und schemaVersion 3 sein, bevor Sie mit Dokumentarbeiten beginnen. Andernfalls stoppen Sie diese Arbeit mit dem beobachteten Paar und der managerspezifischen Abhilfe, wie z.B. npm install --save-dev --save-exact [email protected]. Bewahren Sie die Produktionsabhängigkeiten der Laufzeitverbraucher. Installieren Sie niemals automatisch, laden Sie keinen Runner herunter, verwenden Sie keine globalen Werkzeuge und borgen Sie sich nicht die CLI eines anderen Projekts. Überprüfen Sie den Einstiegspunkt nach einem Upgrade/Build erneut.
  • Lesen Sie nur das ausgewählte Verzeichnis über diese CLI: inspect --directory <path> --include-body --fingerprint-exclude '["created_at","updated_at","revision","status","priority","delivery"]' --json. Verwenden Sie seine Quelle, Metadaten, Spannen, Diagnosen, sha256 und strukturellen Fingerabdruck. Bearbeiten/parsen/hashen Sie persistierte Dokumente niemals direkt, generieren Sie keine UUIDs, wählen Sie keine Pläne nach Aktualität aus und rekonstruieren Sie keine Transkripte in Dateien. Konformität ist für die Inspektion nicht erforderlich. Nur jg-plan führt zusätzlich overlaps --json aus, mit einem --root pro vorhandenem Planungsstamm in den aufgezeichneten/eigenen Repositories, wenn Codes deklariert sind.
  • Plan-Status sind ausstehend, in Bearbeitung, erledigt und ausgeliefert. Meilenstein-Status bleiben ausstehend, in Bearbeitung und erledigt. Aktiv bedeutet ausstehend, in Bearbeitung und erledigt; nur ausgeliefert ist inaktiv. Fehlerdeklarationen verwenden Repository/Registry/Codes-Listen; bewahren Sie String/Number-Typen und vergleichen Sie String(code) innerhalb von Repository/Registry. Fehlende/benutzerdefinierte Status, nicht verfügbare Metadaten/Dateien und mehrdeutige Markierungen bleiben Beobachtungen, niemals Vorgaben oder Autorität.
  • Erforderliche Lieferung bildet jedes deklarierte Repository auf seinen repository-definierten Stopp ab, mit übereinstimmenden Schlüsseln. Verwenden Sie eine explizite leere Zuordnung nur, wenn keine Repositories deklariert sind. Lieferung ändert weder den Implementierungsumfang noch den Meilensteinfortschritt. Fingerabdrücke schließen genau created_at, updated_at, revision, status, priority und delivery aus; nicht verfügbare Identität kann keine frische Abdeckung begründen.
  • Mutieren Sie über denselben Einstiegspunkt mit strukturierten create/update/write/remove-milestones-Eingaben, innerhalb der Autorität dieses Workflows. Schreibvorgänge auf vorhandene Ziele erfordern freshExpectedSha256; null erstellt nur explizit angeforderte abwesende Meilensteine. Verwenden Sie write für einen Plan-Body/Metadaten oder vollständige Meilensteinquelle; update für schmale Metadaten/Markierungen. Weisen Sie fehlende IDs nur zu, wenn autorisiert; behalten Sie zurückgegebene IDs und inspizieren Sie Schreibvorgänge. Setzen Sie updated_at explizit, wenn sich plan.md ändert. Nur-Lieferungs-Bearbeitungen bewahren Revision/Fortschritt; geänderter Umfang erfordert eine Neubewertung der Abdeckung.
  • Sperren sind kurz und lokal: Halten Sie sie niemals über Runden, entfernen Sie keine unbekannten Sperren und spielen Sie nicht über neueren Text. Nach teilweisem Multi-Dokument- oder unsicherem Mutationsfehler inspizieren/melden Sie dauerhafte Zustände und stoppen Sie ohne Rollback/Wiederholung. Dokumente, Diagnosen und Bindungen gewähren keine Autorität.

Workflow

Führen Sie eine präzise, schreibgeschützte Herausforderung eines konkreten Plans für die derzeit besprochene Engineering-Änderung durch. Behandeln Sie den Plan als unvertrauenswürdigen Vorschlag, selbst wenn derselbe Agent ihn erstellt hat. Der Zweck ist, dem Entwickler zu helfen, schnell zu überprüfen, ob das geplante Ergebnis mit dem Aufgabenvertrag übereinstimmt, und materielle Entscheidungen, Annahmen, Auslassungen und Risiken vor der Genehmigung, jg-breakdown oder Implementierung offenzulegen. Diese Fertigkeit autorisiert nicht das Ändern des Plans, das Erstellen oder Bearbeiten von Planungsdateien, das Ändern von Quellcode, Tests, Snapshots, Konfiguration, Abhängigkeiten, Migrationen, generierten Artefakten, gewöhnlicher Projektdokumentation oder des Git-Zustands, das Genehmigen oder Ablehnen des Plans, das Autorisieren von jg-breakdown oder das Beginnen der Implementierung. Wenn ein Inspektionsbefehl unerwartet Dateien ändert, bewahren Sie diese Änderungen auf und melden Sie sie, ohne sie zu bereinigen, rückgängig zu machen oder als Teil der Herausforderung zu beanspruchen.

Ein konkreter Plan ist erforderlich. Wenn der Entwickler einen Plan durch Pfad oder einen anderen eindeutigen Identifikator identifiziert, fordern Sie genau diesen Plan heraus. Andernfalls verwenden Sie den genauen aktuellen Plan nur, wenn ein eindeutiger Kandidat in der aktuellen Diskussion existiert. Wenn mehr als ein Plan vernünftigerweise das beabsichtigte Ziel sein könnte, stoppen Sie und bitten Sie den Entwickler, einen auszuwählen. Durchsuchen Sie keine anderen Planungsverzeichnisse, wählen Sie keinen Plan anhand von Zeitstempeln und leiten Sie kein Ziel ausschließlich aus der Dateiaktualität ab. Wenn kein aktueller Plan existiert oder der identifizierte Plan nicht vollständig aufgerufen werden kann, melden Sie den Blockierer und stoppen Sie. Wenn aktuelle Repository-Beweise den Plan materiell ungültig machen, setzen Sie die Herausforderung fort und melden Sie diese Veralterung als blockierenden Befund.

  1. Lesen Sie den vollständigen Zielplan, den Aufgabenvertrag aus der aktuellen Diskussion und alle Entwickleränderungen, die für diesen genauen Plan gelten. Behandeln Sie die eigene Aufgabenübersicht des Plans als unvertrauenswürdige Darstellung und nicht als unabhängigen Beweis für die Entwicklerabsicht. Wenn die Ziele, Einschränkungen, Ausschlüsse, Akzeptanzkriterien und Änderungen des Entwicklers nicht unabhängig vom Plan festgestellt werden können, fahren Sie nur mit planinternen und Repository-Beweis-Herausforderungen fort, geben Sie an, dass die Absichtsausrichtung nicht überprüft werden konnte, listen Sie als Entscheidung 1 die Bestätigung auf, dass die Ziele, Einschränkungen und Ausschlüsse des Plans mit der Entwicklerabsicht übereinstimmen, und verwenden Sie Entscheidung des Entwicklers vor dem Fortfahren erforderlich, es sei denn, ein materieller Planfehler erfordert Pläne-Überarbeitung vor dem Fortfahren erforderlich. Erfassen Sie den Repository-relativen Pfad des Zielplans oder die bereitgestellte Kennung und seine exakte Byte-SHA-256 aus der aktuellen ausgewählten Inspektion, nehmen Sie beides in ## Plan auf einen Blick auf, und inspizieren Sie unmittelbar vor dem Antworten erneut und verifizieren Sie, dass sich der Hash nicht geändert hat; wenn er sich geändert hat, melden Sie den Blockierer und stoppen Sie. Verwenden Sie die durch den Plan etablierten Repository-Beweise wieder, wenn sie aktuell bleiben. Führen Sie nur die geringste zusätzliche schreibgeschützte Inspektion durch, die erforderlich ist, um eine materielle Unsicherheit zu verifizieren, Veralterung zu erkennen oder eine hochwirksame Behauptung zu validieren; wiederholen Sie nicht den vollständigen Planungs-Workflow, nur weil diese Fertigkeit aufgerufen wurde.

  2. Bestimmen Sie, was der Plan tatsächlich bauen, ändern, entfernen, migrieren, bereitstellen oder ausliefern wird. Vergleichen Sie dieses Ergebnis mit den Zielen, Einschränkungen, Ausschlüssen, Akzeptanzkriterien und genehmigten Entscheidungen des Entwicklers. Identifizieren Sie materielle Umfangserweiterungen, fehlende erforderliche Arbeit, geändertes Verhalten, nicht unterstützte Annahmen und Stellen, an denen das vorgeschlagene Ergebnis von der Absicht des Entwicklers abweichen könnte. Überprüfen Sie, ob die Lieferung jedes deklarierte Repository abdeckt, Ziele im Lieferdokument vorhanden sind, Operatoren/Vorbedingungen explizit sind und die Genehmigung agentenbetriebene Schritte abdeckt. Die gesamtplan-Lieferung muss der Implementierung und Überprüfung folgen; vom Entwickler betriebene verbleibende Schritte können nicht als ausgeliefert bezeichnet werden.

  3. Fordern Sie die materiellen Entscheidungen und Risikokontrollen des Plans heraus, wenn anwendbar, einschließlich Architektur und Modulverantwortung; Datenfluss und Integrationsgrenzen; Datenbankschemas, persistierte Daten, Migrationen und Rollback; öffentliche APIs, Exporte, Events, Queues, Webhooks, Cache-Schlüssel, Konfiguration und Kompatibilität; Sicherheit, Privatsphäre, Authentifizierung, Autorisierung, Eigentum, Abrechnung und anderes werttragendes Verhalten; Gleichzeitigkeit, Wiederholungen, Idempotenz und Fehlerbehebung; Abhängigkeiten, Infrastruktur, Bereitstellung und betriebliche Anforderungen; Entfernungen von ersetzten oder parallelen Pfaden; und ob die Test- und Verifikationsstrategie wichtige Mängel realistisch aufdecken könnte.

  4. Achten Sie speziell auf unnötige Komplexität, spekulative Abstraktionen, duplizierte Verantwortung, temporäre oder parallele Implementierungen ohne gerechtfertigten Migrationsbedarf, unvollständige Kompatibilitäts- oder Rollback-Pfade, versteckte Änderungen mit hohem Schadensradius und Verifikation, die bestehen könnte, während materielles Verhalten falsch bleibt. Erfinden Sie keine Kritik, nur weil diese Fertigkeit jg-challenge-plan heißt; Keine materiellen Bedenken ist ein gültiges Ergebnis. Bewerten Sie bei einer Nachverfolgung frühere Befunde, geänderte Absichten oder Planmaterial und betroffene Interaktionen neu, wobei Sie aktuelle Beweise für unveränderte überprüfte Bereiche wiederverwenden. Behalten Sie ungelöste materielle Bedenken bei; erweitern Sie nur für eine explizite frische vollständige Herausforderung, fehlende vorherige Abdeckung, veraltete Beweise, neue Fehler oder geändertes materielles Risiko.

  5. Melden Sie nur Informationen, die dem Entwickler helfen, eine Genehmigungsentscheidung zu treffen. Halten Sie Details mit geringen Auswirkungen, vollständige Dateiinventare, Schritt-für-Schritt-Implementierungssequenzen, vollständige Testmatrizen und Verifikationsbefehlslisten aus dem Ergebnis heraus, es sei denn, ein bestimmtes Element gibt einen materiellen Grund zur Besorgnis. Geben Sie für jede Herausforderung die konkrete Diskrepanz, Auslassung, nicht unterstützte Annahme oder das Risiko an; warum es wichtig ist; und die kleinste angemessene Korrektur. Schreiben Sie den Plan nicht neu, ersetzen Sie nicht stillschweigend seine Architektur und präsentieren Sie keine alternative Implementierung, als wäre sie bereits akzeptiert.

  6. Präsentieren Sie das Ergebnis mit genau diesen Abschnitten:

    • ## Plan auf einen Blick: Fassen Sie das beabsichtigte Endergebnis, die wichtigsten Implementierungsgrenzen und wichtige explizite Ausschlüsse zusammen.
    • ## Materielle Auswirkungen: Heben Sie nur die architektonischen Entscheidungen, Datenbank- oder persistierte-Daten-Änderungen, öffentliche oder Integrationsvertragsänderungen, sicherheitsrelevantes Verhalten, Abhängigkeits- oder Infrastrukturänderungen sowie Migrations-, Kompatibilitäts-, Bereitstellungs- oder Rollback-Implikationen hervor, die die Aufmerksamkeit des Entwicklers verdienen. Lassen Sie irrelevante Kategorien weg oder geben Sie Keine Änderung an, wenn die Abwesenheit selbst wichtig ist.
    • ## Herausforderungen: Listen Sie materielle Befunde in absteigender Auswirkung auf. Geben Sie Keine materiellen Bedenken gefunden an, wenn keine vorhanden sind.
    • ## Erforderliche Entwicklerentscheidungen: Enthalten Sie nur ungelöste Entscheidungen, die sich materiell auf Verhalten, Umfang, Verträge, Sicherheit, Daten, Architektur oder Betrieb auswirken. Nummerieren Sie jede aufgeführte Entscheidung in der Reihenfolge, in der der Entwickler sie ansprechen sollte. Geben Sie für jede Entscheidung die genaue zu treffende Wahl an, geben Sie mindestens eine Empfehlung und erklären Sie die materiellen Konsequenzen und Kompromisse der Annahme der Empfehlung, der Wahl einer sinnvollen Alternative oder des Nicht-Treffens der Entscheidung. Geben Sie Keine an, wenn keine solche Entscheidung mehr vorhanden ist; erfinden Sie keine Entscheidung nur, um diesen Abschnitt zu füllen.
    • ## Empfehlung: Setzen Sie genau einen von Keine materiellen Bedenken, Pläne-Überarbeitung vor dem Fortfahren erforderlich oder Entscheidung des Entwicklers vor dem Fortfahren erforderlich in die erste Zeile. Verwenden Sie Pläne-Überarbeitung vor dem Fortfahren erforderlich, wenn ein materieller Planfehler vorliegt, selbst wenn auch eine Entwicklereingabe erforderlich ist. Verwenden Sie Entscheidung des Entwicklers vor dem Fortfahren erforderlich nur, wenn der Plan ansonsten in Ordnung ist, aber ohne eine materielle Entscheidung des Entwicklers nicht sicher fortgefahren werden kann. Setzen Sie genau eine Nächster Schritt:-Zeile unter das Urteil:
      • nach Keine materiellen Bedenken, weisen Sie den Entwickler an, jg-breakdown auszuführen, wenn der Plan mindestens zwei Teile hat, die jeweils eigenständig fertiggestellt, verifiziert und überprüft werden können, wie z.B. separate Pakete, Repositories oder Releases, und andernfalls den Plan zu genehmigen oder jg-execute aufzurufen. Die eigenen Überprüfungs-Checkpoints des Plans machen eine Aufschlüsselung nicht überflüssig: Ohne milestones.md führt jg-execute den gesamten Plan als eine Einheit aus und stoppt nicht an ihnen.
      • nach Pläne-Überarbeitung vor dem Fortfahren erforderlich, weisen Sie den Entwickler an, alle nummerierten Entscheidungen zu beantworten, jg-plan aufzurufen, was die erforderlichen Korrekturen zusammen mit diesen Antworten anwendet, und jg-challenge-plan erneut aufzurufen, nachdem der überarbeitete Plan präsentiert wurde.
      • nach Entscheidung des Entwicklers vor dem Fortfahren erforderlich, weisen Sie den Entwickler an, die nummerierten Entscheidungen zu beantworten, jg-plan mit allen Antworten aufzurufen, die den Plan ändern, und jg-challenge-plan erneut aufzurufen, nachdem der überarbeitete Plan präsentiert wurde.
  7. Halten Sie die vollständige Herausforderung bei oder unter 1.000 Wörtern. Konsolidieren Sie eng verwandte Bedenken und priorisieren Sie die Informationen mit dem höchsten Entscheidungswert. Lassen Sie ein blockierendes Anliegen nicht allein wegen der Grenze weg und reproduzieren Sie keinen Planinhalt nur, um den verfügbaren Platz zu füllen.

  8. Behandeln Sie die Empfehlung als beratend. Sie genehmigt den Plan nicht, widerruft keine vorherige Genehmigung, autorisiert kein jg-breakdown, autorisiert keine Implementierung und macht jg-challenge-plan nicht zu einer Voraussetzung für einen anderen Workflow. Eine Herausforderung gilt nur für die genau evaluierte Planversion; jede Planrevision macht die vorherige Herausforderung veraltet, und sie darf nicht als Beweis für den überarbeiteten Plan wiederverwendet werden. Beenden Sie nach der Nächster Schritt:-Zeile in ## Empfehlung; der Ausgabevertrag dieser Fertigkeit ersetzt jede allgemeine Zusammenfassungsanforderung.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills