request-refactor-plan

Erstellen Sie einen detaillierten Refactoring-Plan mit kleinen Commits durch ein Benutzergespräch und legen Sie ihn als GitHub-Issue ab. Verwenden Sie dies, wenn der Benutzer einen Refactoring planen, ein Refactoring-RFC erstellen oder einen Refactoring in sichere, schrittweise Schritte aufteilen möchte.

npx skills add https://github.com/mattpocock/skills --skill request-refactor-plan

This skill will be invoked when the user wants to create a refactor request. You should go through the steps below. You may skip steps if you don't consider them necessary.

  1. Ask the user for a long, detailed description of the problem they want to solve and any potential ideas for solutions.

  2. Explore the repo to verify their assertions and understand the current state of the codebase.

  3. Ask whether they have considered other options, and present other options to them.

  4. Interview the user about the implementation. Be extremely detailed and thorough.

  5. Hammer out the exact scope of the implementation. Work out what you plan to change and what you plan not to change.

  6. Look in the codebase to check for test coverage of this area of the codebase. If there is insufficient test coverage, ask the user what their plans for testing are.

  7. Break the implementation into a plan of tiny commits. Remember Martin Fowler's advice to "make each refactoring step as small as possible, so that you can always see the program working."

  8. Create a GitHub issue with the refactor plan. Use the following template for the issue description:

Problem Statement

The problem that the developer is facing, from the developer's perspective.

Solution

The solution to the problem, from the developer's perspective.

Commits

A LONG, detailed implementation plan. Write the plan in plain English, breaking down the implementation into the tiniest commits possible. Each commit should leave the codebase in a working state.

Decision Document

A list of implementation decisions that were made. This can include:

  • The modules that will be built/modified
  • The interfaces of those modules that will be modified
  • Technical clarifications from the developer
  • Architectural decisions
  • Schema changes
  • API contracts
  • Specific interactions

Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.

Testing Decisions

A list of testing decisions that were made. Include:

  • A description of what makes a good test (only test external behavior, not implementation details)
  • Which modules will be tested
  • Prior art for the tests (i.e. similar types of tests in the codebase)

Out of Scope

A description of the things that are out of scope for this refactor.

Further Notes (optional)

Any further notes about the refactor.

Mehr Skills von mattpocock

improve-codebase-architecture
mattpocock
Finde Möglichkeiten zur Vertiefung in einer Codebasis, informiert durch die Domänensprache in CONTEXT.md und die Entscheidungen in docs/adr/. Verwende dies, wenn der Benutzer die Architektur verbessern, Refactoring-Möglichkeiten finden, eng gekoppelte Module konsolidieren oder eine Codebasis testbarer und KI-navigierbarer machen möchte.
developmentcode-reviewapi
tdd
mattpocock
Testgetriebene Entwicklung mit dem Rot-Grün-Refaktor-Zyklus. Verwenden, wenn der Benutzer Funktionen entwickeln oder Fehler mit TDD beheben möchte, "Rot-Grün-Refaktor" erwähnt, Integrationstests wünscht oder nach testgetriebener Entwicklung fragt.
developmenttesting
handoff
mattpocock
Fasse das aktuelle Gespräch zu einem Übergabedokument für einen anderen Agenten zusammen.
communicationproject-managementdocument
prototype
mattpocock
Erstelle einen Wegwerf-Prototypen, um ein Design auszuarbeiten, bevor du dich darauf festlegst. Leitet zwischen zwei Zweigen weiter – einer ausführbaren Terminal-App für Fragen zu Zustand/Geschäftslogik oder mehreren radikal unterschiedlichen UI-Varianten, die von einem Zweig aus umschaltbar sind. Verwende dies, wenn der Benutzer prototypisieren, ein Datenmodell oder einen Zustandsautomaten auf Plausibilität prüfen, eine UI skizzieren, Designoptionen erkunden möchte oder sagt: „Prototypisiere das“, „Lass mich damit spielen“, „Probiere ein paar Designs aus“.
developmentdesigncreative
triage
mattpocock
Probleme durch einen Zustandsautomaten triagen, der von Triage-Rollen gesteuert wird. Verwenden, wenn der Benutzer ein Problem erstellen, Probleme triagen, eingehende Fehler oder Funktionsanfragen überprüfen, Probleme für einen AFK-Agenten vorbereiten oder den Problem-Workflow verwalten möchte.
developmentproject-managementcommunication
obsidian-vault
mattpocock
Notizen im Obsidian-Vault mit Wikilinks und Indexnotizen suchen, erstellen und verwalten. Verwenden, wenn der Benutzer Notizen in Obsidian finden, erstellen oder organisieren möchte.
productivitydocument
edit-article
mattpocock
Artikel bearbeiten und verbessern, indem Abschnitte umstrukturiert, die Klarheit erhöht und der Text gestrafft wird. Verwenden, wenn der Benutzer einen Artikelentwurf bearbeiten, überarbeiten oder verbessern möchte.
documentcreative
writing-great-skills
mattpocock
Referenz zum Schreiben und Bearbeiten von Skills — das Vokabular und die Prinzipien, die einen Skill vorhersagbar machen.
documentdevelopment