request-refactor-plan

Buat rencana refaktor yang mendetail dengan komit kecil melalui wawancara pengguna, lalu simpan sebagai isu GitHub. Gunakan saat pengguna ingin merencanakan refaktor, membuat RFC refaktor, atau memecah refaktor menjadi langkah inkremental yang aman.

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.

Lebih banyak skill dari mattpocock

improve-codebase-architecture
mattpocock
Temukan peluang pendalaman dalam basis kode, berdasarkan bahasa domain di CONTEXT.md dan keputusan di docs/adr/. Gunakan ketika pengguna ingin meningkatkan arsitektur, menemukan peluang refactoring, mengonsolidasikan modul yang terikat erat, atau membuat basis kode lebih mudah diuji dan dinavigasi oleh AI.
developmentcode-reviewapi
tdd
mattpocock
Pengembangan berbasis pengujian dengan siklus merah-hijau-refaktor. Gunakan ketika pengguna ingin membangun fitur atau memperbaiki bug menggunakan TDD, menyebutkan "merah-hijau-refaktor", menginginkan pengujian integrasi, atau meminta pengembangan berbasis pengujian terlebih dahulu.
developmenttesting
handoff
mattpocock
Ringkas percakapan saat ini menjadi dokumen serah terima untuk diambil alih oleh agen lain.
communicationproject-managementdocument
prototype
mattpocock
Bangun prototipe sekali pakai untuk mengembangkan desain sebelum berkomitmen. Rute antara dua cabang — aplikasi terminal yang dapat dijalankan untuk pertanyaan status/logika bisnis, atau beberapa variasi UI yang sangat berbeda yang dapat dialihkan dari satu rute. Gunakan saat pengguna ingin membuat prototipe, memeriksa kewajaran model data atau mesin status, membuat tiruan UI, menjelajahi opsi desain, atau mengatakan "buat prototipe ini", "biarkan saya mencobanya", "coba beberapa desain".
developmentdesigncreative
triage
mattpocock
Memilah isu melalui mesin status yang digerakkan oleh peran triase. Gunakan saat pengguna ingin membuat isu, memilah isu, meninjau bug atau permintaan fitur yang masuk, menyiapkan isu untuk agen AFK, atau mengelola alur kerja isu.
developmentproject-managementcommunication
obsidian-vault
mattpocock
Cari, buat, dan kelola catatan di vault Obsidian dengan wikilink dan catatan indeks. Gunakan saat pengguna ingin menemukan, membuat, atau mengatur catatan di Obsidian.
productivitydocument
edit-article
mattpocock
Sunting dan tingkatkan artikel dengan merestrukturisasi bagian, memperjelas, dan memadatkan prosa. Gunakan saat pengguna ingin menyunting, merevisi, atau meningkatkan draf artikel.
documentcreative
writing-great-skills
mattpocock
Referensi untuk menulis dan menyunting skill dengan baik — kosakata dan prinsip yang membuat skill dapat diprediksi.
documentdevelopment