Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Viết kế hoạch

Viết kế hoạch thực hiện: nhiệm vụ, đường dẫn, mã quy mô nhỏ.

Siêu dữ liệu kỹ năng

NguồnĐi kèm (được cài đặt theo mặc định)
Đường dẫn

skills/software-development/writing-plans ` | | Phiên bản |

1.1.0 ` | | Tác giả | Đặc vụ Hermes (chuyển thể từ obra/siêu năng lực) | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |

planning

, `design

, `implementation

, `workflow

, documentation | | Kỹ năng liên quan | XPROTECTX19XPROTECTX, XPROTECTX20XPROTECTX, XPROTECTX21XPROTECTX |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Viết kế hoạch thực hiện

Tổng quan

Viết các kế hoạch triển khai toàn diện với giả định rằng người triển khai không có ngữ cảnh nào về cơ sở mã và sở thích đáng nghi vấn. Ghi lại mọi thứ họ cần: tệp nào cần chạm, mã hoàn chỉnh, lệnh kiểm tra, tài liệu cần kiểm tra, cách xác minh. Giao cho họ những nhiệm vụ vừa phải. KHÔ. YAGNI. TDD. Cam kết thường xuyên.

Giả sử người triển khai là một nhà phát triển lành nghề nhưng hầu như không biết gì về bộ công cụ hoặc miền vấn đề. Giả sử họ không biết rõ về thiết kế thử nghiệm tốt.

Nguyên tắc cốt lõi: Một kế hoạch tốt giúp việc thực hiện trở nên rõ ràng. Nếu ai đó phải đoán thì kế hoạch đó chưa hoàn chỉnh.

Khi nào nên sử dụng`Luôn sử dụng trước:

  • Thực hiện các tính năng nhiều bước
  • Phá vỡ các yêu cầu phức tạp
  • Ủy quyền cho các đại lý phụ thông qua phát triển theo định hướng đại lý phụ`Đừng bỏ qua khi:
  • Tính năng có vẻ đơn giản (giả định gây ra lỗi)
  • Bạn dự định tự mình thực hiện (tương lai bạn cần được hướng dẫn)
  • Làm việc một mình (vấn đề tài liệu)

Mức độ chi tiết của nhiệm vụ có kích thước nhỏ`Mỗi nhiệm vụ = 2-5 phút tập trung làm việc.

Mỗi bước là một hành động:

  • "Viết bài kiểm tra thất bại" — bước
  • "Chạy nó để đảm bảo nó thất bại" — bước
  • "Triển khai mã tối thiểu để vượt qua bài kiểm tra" — bước
  • "Chạy thử nghiệm và đảm bảo chúng vượt qua" — bước
  • "Cam kết" - bước`Quá lớn:

markdown

Task 1: Build authentication system

[50 lines of code across 5 files]

` ``Kích thước phù hợp:

markdown

Task 1: Create User model with email field

[10 lines, 1 file]

Task 2: Add password hash field to User

[8 lines, 1 file]

Task 3: Create password hashing utility

[15 lines, 1 file]

`

Cấu trúc tài liệu kế hoạch

Tiêu đề (Bắt buộc)

Mọi kế hoạch PHẢI bắt đầu với:

`markdown

[Feature Name] Implementation Plan`> For Hermes: Use subagent-driven-development skill to implement this plan task-by-task.

Goal: [One sentence describing what this builds]

Architecture: [2-3 sentences about approach]

Tech Stack: [Key technologies/libraries]


Cấu trúc nhiệm vụ

Mỗi nhiệm vụ tuân theo định dạng này:

markdown

Task N: [Descriptive Name]

Objective: What this task accomplishes (one sentence)

Files:

  • Create: `exact/path/to/new_file.py

  • Modify: exact/path/to/existing.py:45-67 (line numbers if known)

  • Test: `tests/path/to/test_file.py ``Step 1: Write failing test

def test_spec_behavior():
kết quả = hàm (đầu vào)
khẳng định kết quả == dự kiến

`
``**Step 2: Run test to verify failure**

Run:
`pytest tests/path/test.py::test_specific_behavior -v

Expected: FAIL — "function not defined"`**Step 3: Write minimal implementation**

`Python
hàm def (đầu vào):
mong đợi trở lại

`
``**Step 4: Run test to verify pass**

Run:
`pytest tests/path/test.py::test_specific_behavior -v

Expected: PASS`**Step 5: Commit**

`bash
git thêm test/path/test.py src/path/file.py
git commit -m "feat: thêm tính năng cụ thể"

`

`

`
``##Quy trình viết

### Bước 1: Tìm hiểu yêu cầu

Đọc và hiểu:

- Yêu cầu về tính năng
- Tài liệu thiết kế hoặc mô tả người dùng
- Tiêu chí chấp nhận
- Ràng buộc

### Bước 2: Khám phá Codebase

Sử dụng các công cụ của Hermes để hiểu dự án:

``` python

# Understand project structure
search_files("*.py", target="files", path="src/")

# Look at similar features
search_files("similar_pattern", path="src/", file_glob="*.py")

# Check existing tests
search_files("*.py", target="files", path="tests/")

# Read key files
read_file("src/app.py")

`

### Bước 3: Phương pháp thiết kế

Quyết định:
- Mẫu kiến trúc
- Tổ chức tập tin
- Sự phụ thuộc cần thiết
- Chiến lược thử nghiệm

### Bước 4: Viết task

Tạo nhiệm vụ theo thứ tự:
1. Thiết lập/cơ sở hạ tầng
2. Chức năng cốt lõi (TDD cho từng chức năng)
3. Vỏ cạnh
4. Tích hợp
5. Dọn dẹp/tài liệu

### Bước 5: Thêm chi tiết đầy đủ

Đối với mỗi nhiệm vụ, bao gồm:
- **Đường dẫn tệp chính xác** (không phải "tệp cấu hình" mà là
`src/config/settings.py

)
- **Ví dụ mã hoàn chỉnh** (không phải "thêm xác thực" mà là mã thực tế)
- **Lệnh chính xác** với kết quả mong đợi
- **Các bước xác minh** chứng minh tác vụ hoạt động

### Bước 6: Xem lại kế hoạch

Kiểm tra:
- [] Nhiệm vụ có tính tuần tự và logic
- [ ] Mỗi nhiệm vụ có thời lượng ngắn (2-5 phút)
- [] Đường dẫn tệp chính xác
- [ ] Ví dụ về mã đã hoàn tất (có thể sao chép và dán)
- [ ] Các lệnh chính xác với kết quả mong đợi
- [ ] Không thiếu bối cảnh
- [] Áp dụng nguyên tắc DRY, YAGNI, TDD

### Bước 7: Lưu kế hoạch

``` bash
mkdir -p docs/plans

# Save plan to docs/plans/YYYY-MM-DD-feature-name.md
git add docs/plans/
git commit -m "docs: add implementation plan for [feature]"

`

## Nguyên tắc

### KHÔ (Đừng lặp lại chính mình)

**Xấu:** Xác thực sao chép-dán ở 3 vị trí
**Tốt:** Chức năng xác thực trích xuất, sử dụng mọi nơi

### YAGNI (Bạn sẽ không cần nó)

**Xấu:** Thêm "tính linh hoạt" cho các yêu cầu trong tương lai
**Tốt:** Chỉ triển khai những gì cần thiết ngay bây giờ

``` python

# Bad — YAGNI violation
class User:
def __init__(self, name, email):
self.name = name
self.email = email
self.preferences = \{} # Not needed yet!
self.metadata = \{} # Not needed yet!

# Good — YAGNI
class User:
def __init__(self, name, email):
self.name = name
self.email = email

`

### TDD (Phát triển dựa trên thử nghiệm)

Mọi tác vụ tạo mã phải bao gồm chu trình TDD đầy đủ:
1. Viết bài kiểm tra thất bại
2. Chạy để xác minh lỗi
3. Viết mã tối thiểu
4. Chạy để xác minh pass

Xem kỹ năng
`test-driven-development
` để biết chi tiết.### Cam kết thường xuyên

Cam kết sau mỗi nhiệm vụ:

`
``` bash
git add [files]
git commit -m "type: description"

`

## Những lỗi thường gặp

### Nhiệm vụ mơ hồ`**Xấu:** "Thêm xác thực"

**Tốt:** "Tạo mô hình Người dùng với các trường email và mật khẩu_hash"

### Mã không đầy đủ`**Xấu:** "Bước 1: Thêm chức năng xác thực"
**Tốt:** "Bước 1: Thêm chức năng xác thực" theo sau là mã chức năng hoàn chỉnh

### Thiếu xác minh`**Xấu:** "Bước 3: Kiểm tra xem nó có hoạt động không"
**Tốt:** "Bước 3: Chạy
`pytest tests/test_auth.py -v

, dự kiến: 3 pass"

### Thiếu đường dẫn tệp`**Xấu:** "Tạo tệp mô hình"
**Tốt:** "Tạo:
`src/models/user.py

"

## Bàn giao thực thi

Sau khi lưu kế hoạch, hãy đưa ra phương pháp thực hiện:

**"Kế hoạch đã hoàn tất và được lưu. Sẵn sàng thực hiện bằng cách sử dụng tính năng phát triển dựa trên tác nhân phụ — Tôi sẽ gửi một tác nhân phụ mới cho mỗi nhiệm vụ với quá trình xem xét hai giai đoạn (tuân thủ thông số kỹ thuật rồi đến chất lượng mã). Tôi tiếp tục nhé?"**

Khi thực thi sử dụng kỹ năng
`subagent-driven-development

:
-
`delegate_task
` mới cho mỗi tác vụ với ngữ cảnh đầy đủ
- Đánh giá tuân thủ thông số kỹ thuật sau mỗi công việc
- Đánh giá chất lượng mã sau khi thông số kỹ thuật vượt qua
- Chỉ tiến hành khi cả hai đánh giá đều chấp thuận

## Ghi nhớ

`
Bite-siZed tasks (2-5 min each)
Exact file paths
Complete code (copy-pasteable)
Exact commands with expected output
Verification steps
DRY, YAGNI, TDD
Frequent commits

`
``**Một kế hoạch tốt giúp việc thực hiện trở nên rõ ràng.**