Skip to Content

Hình dạng của một skill

Đầu vào là một năng lực cần chạy, và đầu ra là một phase được ghi thêm vào workflow cùng sáu bảng kết quả. Mô-đun này quyết định mọi skill phải in gì, hỏi gì và ghi lại gì — không quyết định từng skill làm gì. Một skill tự bày ra định dạng báo cáo riêng thì không đối chiếu được với những skill khác, và một cây mà các bản ghi của nó không đồng ý với nhau về chính định dạng của mình thì thôi làm bằng chứng.

Luật

Skill khai mình đang ở đâu trước khi hành động, và đã ghi gì sau khi xong. Bảng CONTEXT đứng trước vì một lượt chạy không gọi được tên Source, project và biên giới ghi của nó thì chưa đủ điều kiện chạm vào bất cứ thứ gì; sáu bảng kết quả đứng sau vì một lượt chạy không tách được cái nó đã quyết với cái nó đã ghi với cái nó còn nợ thì chưa xong.

Phát hiện không phải là được phép. Thấy một thứ cần sửa không bao giờ là thẩm quyền để sửa nó.

Bảy năng lực

SkillHành trìnhSở hữu
starci-initplan → review → apply, nội bộbootstrap của Source: AGENTS.mdCLAUDE.md
starci-fe-design-layoutmở hoặc tiếp session, rồi các lượt layout3–4 phương án layout mỗi bề mặt, buộc theo hash
starci-fe-design-blockcác lượt block3–4 giải phẫu mỗi region, buộc theo hash
starci-fe-design-executethi hànhsource frontend, chỉ sau khi mọi hash đạt tới được đã được chấp nhận
starci-be-planplanbrief backend: file nào, biên giới nào, ca kiểm thử nào
starci-be-approveduyệt, rồi applysự chấp thuận, rồi source backend
starci-setup-workspaces-and-worktreesplan → review → apply, nội bộ.workspace/<project>/.worktrees/<project>/, tách nhau

Không có orchestrator. Hai việc mà orchestrator từng giữ vì thế được giao rõ: Layout mở session, và Execute từ chối chạy khi còn bất cứ hash layout hay block đạt tới được nào chưa được chấp nhận. Skill nào không tìm được tiền đề của mình thì dừng; nó không bao giờ chạy tiếp dựa trên giả định rằng ai đó đã duyệt cái gì.

CONTEXT — in trước mọi thứ khác

Dưới đúng tiêu đề ### CONTEXT. Một nhãn trơn là không hợp lệ: bộ kiểm nhận diện mục này bằng tiêu đề của nó.

TrườngGiá trị
Workdirthư mục làm việc tuyệt đối
Sourcerepository tuyệt đối chứa AGENTS.md và cây quy tắc
Projectproject do người khai, không bao giờ suy từ tên thư mục
Role targetscác repository giải ra từ .workspace/<project>/<role>/config.json
Trustcây quy tắc tuyệt đối
Purposemột câu nói phase này phải chốt được điều gì
Workflow<Source>/.workflows/<kind>/<app>/<name>.md
Phaselayout, block, execute, plan, approve hoặc apply
Touchingnhững đường dẫn chính xác phase này được ghi
Readcontract, source, schema hay runtime đã đọc, kèm trạng thái của nó
Missingbằng chứng bắt buộc còn thiếu và nó chặn gì — hoặc None

Project và các route vai trò của nó giải qua mô-đun workspace, và một route phải được xác minh trước khi đọc. Phase nào không giải được Workdir, Source, Project, các repository vai trò, Trust hay Workflow thì đã bị chặn trước cả khi bắt đầu việc riêng của mục tiêu.

Các trạng thái tiến trình

Trạng tháiNghĩaViệc kế tiếp
workingcòn bằng chứng hoặc còn việc an toàn để làmtiếp tục, không hỏi
needs approvalmột quyết định, lời hứa, giá hay biên giới ghi có thể saigộp vào NEED APPROVALS
phase completeđiều kiện kết thúc đã đạtghi thêm workflow, gọi phase sau

Một đường tool thất bại không làm lượt chạy bị chặn: thử đường an toàn thay thế trước. Mọi thứ cần duyệt đã biết tại thời điểm đó được gộp thành một lượt hỏi, không hỏi lắt nhắt. Sau phản hồi, vẫn phase đó tiếp tục, ghi thêm bản sửa, rồi trình lại brief đã sửa.

Các phase

Các lượt design chính là mặt để rà soát. Mỗi lượt ghi đúng prompt, các phương án, phản hồi và phán quyết của người chủ, và sự chấp nhận buộc theo hash. Phản hồi mở một lượt mới; nó không bao giờ sửa một lượt đã được chấp nhận.

Plan đọc canon, hợp đồng và source sống, rồi ra một brief: mục tiêu, bằng chứng, biên giới, quyết định, phương án thay thế, bằng chứng nghiệm thu. Nó không viết code sản phẩm.

Approve lặp cho tới khi người dùng chấp thuận tường minh, và giữ một điểm dừng cứng trước lần ghi sản phẩm đầu tiên. Mọi lần từ chối được ghi kèm cái thay thế và lý do của người dùng.

Apply xác nhận biên giới ghi, ghi một baseline commit lấy trước khi sửa, rồi thi hành đúng bản đã duyệt và chứng minh tại biên sản phẩm bằng đúng bằng chứng mà lần duyệt đã nêu tên. Một đường dẫn ngoài Touching được trả về cho chủ của nó, không được lặng lẽ xuất hiện trong diff.

Đầu ra — sáu bảng, đúng thứ tự này

Đúng tiêu đề ### OUTPUTS, ### CHANGES, ### NEED APPROVALS, ### WARNINGS, ### REJECTED, ### OWED. Bảng rỗng vẫn phải có một dòng ghi None.

BảngChứaKhông bao giờ chứa
OUTPUTScái đã quyết hoặc đã chứng minh, ở mức khái niệmđường dẫn file
CHANGESmọi đường dẫn đã ghi và chuyện gì xảy ra với nókhái niệm
NEED APPROVALSmột quyết định có thể sai, mặc định có bằng chứng đứng trướcphán đoán thi hành thông thường
WARNINGSmột giả định, xung đột, tham chiếu cũ hay rủi ro không đảo đượcthứ đang chặn tiến độ — cái đó là approval
REJECTEDđề xuất thật đã bị từ chối, cái thay thế, lý do của người dùngmột lần từ chối dựng lại từ ký ức
OWEDviệc hoặc bằng chứng đã không xảy rarủi ro, vì rủi ro là warning

OWED, WARNINGSNEED APPROVALSba lời khai khác nhau — việc còn dở, rủi ro, và một cái chặn cần người dùng. Gộp chúng lại chính là cách một lượt chạy chưa xong đọc ra như đã xong.

File workflow

Một bản ghi chỉ-ghi-thêm tại <Source>/.workflows/<kind>/<app>/<name>.md:

kindnăng lực
designsbề mặt, layout, block và overlay của frontend
featurenăng lực backend
setuproute workspace và state worktree

Mỗi phase ghi thêm tiêu đề của nó, đúng bảng CONTEXT đã in cho lượt đó, các bảng bằng chứng của nó, rồi sáu bảng kết quả theo thứ tự. Phase được duyệt ghi Approved revision: <identity>, và Apply trích đúng identity đó cùng baseline commit của nó, để bản ghi chứng minh được cái gì đã đổi sau khi Apply bắt đầu.

Phần tường thuật, bằng chứng và giá trị trong bảng viết bằng tiếng Việt. Tiêu đề, nhãn schema, đường dẫn, câu lệnh và tên định danh trong code giữ nguyên, vì dịch chúng là làm hỏng bộ kiểm.

Phase cũ không bị viết lại cho khớp định dạng mới. Bản ghi lịch sử là bằng chứng; muốn sửa thì ghi thêm.

Quy tắc

  1. CONTEXT in trước khi hành động, và nó gọi tên Touching trước mọi lần ghi.
  2. Phát hiện không phải là được phép.
  3. Việc cần duyệt thì gộp lại, không nhỏ giọt.
  4. Một session, một bản ghi. Không skill nào mở bản ghi song song cho cùng một việc.
  5. Sự chấp nhận buộc theo hash; lượt đã chấp nhận không bao giờ bị sửa tại chỗ.
  6. Execute chỉ chạy khi mọi hash đạt tới được đã được chấp nhận.
  7. Baseline commit lấy trước lần ghi sản phẩm đầu tiên, không lấy từ một cây đã sửa nửa vời.
  8. Đường dẫn ngoài Touching được trả về cho chủ của nó.
  9. Mọi phase kết thúc bằng đủ sáu bảng, kể cả bảng chỉ có None.

Ngoại lệ

  • Setup sở hữu hai root. .workspace/<project>/.worktrees/<project>/ hỏng theo hai chiều ngược nhau — một cái làm lượt chạy đọc sai repository, cái kia làm nó ghi vào chỗ bị cấm ghi. Một lần duyệt không bao giờ phủ cả hai; mỗi root được duyệt như biên giới riêng của nó.
  • Năng lực chỉ đọc. Apply của nó chốt một phán quyết và chuyển việc sửa về cho chủ. Nó không bao giờ biến việc đo thành một lần sửa source chưa khai báo.
  • Session được tiếp tục. Layout được phép tiếp thay vì mở. Session id và mọi hash đã chấp nhận sống sót qua lần tiếp đó, không đổi.

Ví dụ đã giải

Lượt chạy. “Thiết kế trang kết quả bài luyện coding.”

### CONTEXT Phase: layout Project: starci-academy Role targets: fe -> <disk>\starci-academy-fe (đã xác minh: contract có mặt) Touching: .workflows/designs/starci-academy/coding-drill-result.md Purpose: chốt 3-4 phương án layout cho một bề mặt mới Read: contract key + why + host (74KB trên 192KB), danh sách branch, bảng route Missing: None

Layout mở session vì không có orchestrator, chạy một lượt, rồi kết thúc bằng sáu bảng — NEED APPROVALS mang đúng một quyết định sản phẩm mà yêu cầu không nói ra, OWED mang các lượt block chưa xảy ra.

Nếu gọi starci-fe-design-execute ở đúng thời điểm này thì nó dừng, không chạy: hash layout đang ở trạng thái đề xuất, chưa được chấp nhận, và không có gì khác trong cây làm cho nó thành được chấp nhận.

Phạm vi

Mô-đun này quyết định hình dạng mà mọi skill báo cáo theo. Nó không quyết định một layout được chứa gì, class nào là đúng, hay repository nào được đọc — ba chuyện đó thuộc mô-đun brainstorm, compiler và context.