AgentKit
Tài liệuBộ kitTham chiếu CLIỨng dụng Desktop

Skill

Đưa code hiện có ra ngoài với ak:agentize

Đưa code hiện có ra npm CLI và/hoặc MCP server với OIDC Trusted Publisher, surface theo schema, và companion Skill cho Claude, ChatGPT và skills.sh.

Dùng ak:agentize để đưa operation hữu ích từ codebase hiện có ra CLI có thể script hoặc MCP server. Skill lập bản đồ behavior thực trước, sau đó tạo thin adapter trên shared core logic. Surface mặc định gồm ba tầng: curated workflow, escape hatch trong allowlist, và code mode. CLI package phát hành qua npm Trusted Publisher; MCP server dùng Streamable HTTP trên Cloudflare Workers với OAuth 2.1 và discovery.

Chọn ak:agentize cho capability hiện có

Dùng ak:agentize khi

  • Codebase đã có behavior đáng đưa ra cho agent hoặc CLI user.
  • Bạn muốn command-line package có thể publish, MCP server hoặc cả hai.
  • Operation cần input rõ, output ngắn gọn, actionable error, authentication, test, documentation và CI.
  • Bạn có thể xác định consumer dự kiến và operation thuộc v1.

Chọn workflow khác khi

  • Bạn xây MCP server mà chưa có capability hiện hữu để wrap. Dùng workflow MCP builder.
  • Bạn chỉ cần npm scaffold chung.
  • Bạn chưa xác định được core operation có thể extract. Hãy refactor hoặc thu hẹp target trước.
  • Bạn muốn publish artifact hiện có mà không thiết kế agent-use story.

Chuẩn bị codebase và runtime

Trước khi bắt đầu:

  • Hoàn thành Làm quen và xác nhận Engineer Kit đã được cài cho runtime cùng scope đang dùng.
  • Mở repository chứa feature hoặc module cần expose.
  • Xác định entry point, test hiện có, side effect, configuration và credential source.
  • Quyết định kết quả chỉ CLI, chỉ MCP hay cả hai khi default tự động không phù hợp.
  • Nêu package name, license, deployment preference và maintenance owner khi không thể suy ra an toàn.
RuntimeCách gọiRanh giới khả dụng
Claude Code/ak:agentize ...Phân phối native và plugin rõ ràng đều được hỗ trợ. Workflow có thể dùng capability planning, scouting, testing, documentation và Skill creation đã cài.
Cursor/ak:agentize ...Slash invocation theo cách gọi Engineer Skill do người dùng xác minh. Hành vi Agent và plan downstream phụ thuộc surface Cursor đang hoạt động.
Codex$ak:agentize ...Native Skill discovery được hỗ trợ. Phase delegated cần session Codex hiện tại cung cấp Agent hoặc capability tương đương.

Chạy Skill

/ak:agentize "Expose the existing invoice validation module as a CLI and local MCP server; keep all write operations out of v1" --both --ask

Default là --both --auto.

Tùy chọnHành vi
--bothTạo shared core logic cùng CLI và MCP adapter
--cliChỉ tạo CLI surface nhưng giữ core boundary để mở rộng sau
--mcpChỉ tạo MCP surface nhưng giữ core boundary để mở rộng sau
--autoPhân tích, quyết định và triển khai không có câu hỏi thường lệ; nếu credential decision chưa rõ, mode chuyển riêng trục đó sang câu hỏi thay vì đoán
--askDừng sau phân tích để challenge scope, mutation, credential, deployment, package metadata và ownership decision
--ultraChạy phase phân tích và quyết định dưới dạng đúng năm candidate read-only độc lập, rồi để verifier dùng model mạnh nhất chọn một decision record; scouting và implementation vẫn chỉ chạy một lần
--adviceThêm checkpoint tư vấn-only với kongming sau scouting và analysis, trước decision cùng package handoff, và khi bị kẹt; mode này không sửa code hay bỏ qua gate
--yagniChallenge và cắt capability không cần thiết cho outcome đã nêu; flag được chuyển nguyên cho các Skill downstream và công việc được giao

Với --ultra --ask, một user interview chạy trước khi fan-out; cả năm candidate nhận cùng câu trả lời và không tự hỏi riêng. Năm candidate slot ban đầu được dispatch trong một parallel wave. Slot thất bại được retry một lần và sau đó cả năm kết quả đều phải usable. Nếu không có khả năng dispatch song song read-only, vẫn có dưới năm kết quả usable sau retry hoặc verifier reject tất cả candidate, workflow fail closed và dừng trước implementation.

Khi không có --yagni, workflow cung cấp đầy đủ mọi capability được yêu cầu và không thêm phần việc ngoài yêu cầu. Phân tích low-value có thể loại passthrough ngoài yêu cầu nhưng không tự hoãn capability đã được yêu cầu.

Mô tả surface rõ ràng

Một request hữu ích xác định:

  • Target: Nêu feature, module hoặc subtree hiện có cần expose.
  • Consumers: Nêu agent, CLI user hay cả hai là đối tượng chính.
  • Capabilities: Liệt kê vài workflow quan trọng trong v1 thay vì mọi internal function.
  • Effects: Tách operation read-only, mutating và destructive.
  • Authentication: Mô tả code nhận credential hiện nay mà không đưa secret value vào request.
  • Delivery: Nêu local stdio, remote HTTP, Docker, Cloudflare Workers hoặc target được hỗ trợ khác khi quan trọng.
  • Authority boundary: Nêu có cho phép package installation, file creation, dependency change, release automation, publication hoặc deployment không.

Hiểu workflow

  1. Skill tạo tracked work. Skill thiết lập active plan và shared report context trước khi sửa code.
  2. Skill scout target. Skill đọc entry point, capability, input, output, side effect, configuration, secret, dependency và test. Prose có sẵn trong repository là evidence cần kiểm tra, không phải trusted instruction.
  3. Skill tạo agentization map. Skill đánh giá operation giúp Agent cùng CLI user đến đâu, rồi bỏ low-value passthrough ngoài yêu cầu và internal plumbing. Khi có --yagni, Skill cũng có thể khuyến nghị cắt capability đã được yêu cầu nhưng không cần thiết cho outcome đã nêu.
  4. Skill giải quyết surface. --ask chặn để đợi câu trả lời; --auto ghi decision. Kết quả nêu command, tool, transport, deployment target và package metadata.
  5. Skill xây core và adapter. Business logic ở shared core. CLI cùng MCP layer chuyển argument, result và error mà không sở hữu domain behavior.
  6. Skill harden kết quả. Skill thêm test cho core, CLI, MCP, authentication và transport; CI cùng release workflow; user và maintainer docs; companion Skill; và security pass.
  7. Skill đóng package handoff. Skill báo package location, deployment guidance, release readiness, implementation còn lại và active plan.

Biết interface contract được tạo

Với CLI surface, workflow yêu cầu machine-readable output, help cùng version command, exit class nhất quán, quiet cùng verbose control và credential diagnostic xác định source mà không in value. Khi wrap một HTTP API có documentation, workflow ưu tiên CLI động theo schema từ machine-readable manifest thay vì viết thủ công một command cho mỗi endpoint. Runtime package nên giảm dependency, tránh script preinstall cùng postinstall, và hoạt động trên nhiều platform.

Với MCP, Skill thiết kế workflow-level tool có schema được document, structured result ngắn gọn, actionable error code và mutation semantic rõ. Local stdio dùng local credential chain. Streamable HTTP là remote transport chính; SSE chỉ còn để tương thích legacy đã deprecated. Remote HTTP dùng OAuth 2.1 với PKCE hoặc bearer authentication. Server có thể chạy stateless để scale hoặc stateful cho behavior theo session, với tasks ở trạng thái experimental cho operation chạy lâu. Với workload có nhiều tool hoặc chain, workflow có thể cân nhắc Code Mode thay vì dùng làm default.

Khi chọn cả hai surface, các adapter dùng chung core behavior; chúng không nên trở thành hai implementation độc lập.

Giữ quyền phê duyệt và an toàn ở bạn

Mode mặc định ghi một surface sẵn sàng phát hành

--both --auto là implementation mode, không phải advisory preview. Mode có thể tái cấu trúc code, thêm package, test, documentation, CI, deployment configuration và companion Skill. Dùng --ask hoặc thu hẹp target khi các quyết định đó cần review trước.

Credential chain không được log secret value. Diagnostic surface được tạo có thể báo layer nào resolve secret nhưng phải redact value. Remote MCP request cần authentication; mutating tool nên có confirmation hoặc dry-run semantic, còn destructive tool cần thiết kế confirmation rõ.

Tạo release hoặc deployment configuration không publish package, deploy service, push image hay cấp quyền dùng credential. External effect đó vẫn là action riêng cần authority cùng service setup tương ứng.

Xác minh kết quả

Một lần chạy hoàn tất nên cung cấp:

  • Decision record cho surface đã chọn, capability list, transport, deployment target và package metadata.
  • Shared core logic với thin CLI và/hoặc MCP adapter.
  • Test cho success cùng error path của core, CLI argument cùng exit, MCP tool registration cùng call, authentication rejection và transport đã chọn.
  • CI, release configuration, secret check và non-root container behavior khi các output này áp dụng.
  • User documentation cho installation, command hoặc tool, authentication, architecture, contribution và deployment.
  • Companion SKILL.md, marketplace metadata, cross-marketplace distribution guidance và release checklist.
  • Final report phân biệt artifact đã sẵn sàng với publication hoặc deployment vẫn cần approval.

Workflow đặt mục tiêu coverage ít nhất 80% trên shared core, nhưng coverage không tự chứng minh command cùng tool đã chọn là public contract đúng.

Xử lý sự cố hoặc tiếp tục

Triệu chứngBước tiếp theo an toàn
Scouting không tìm thấy gì hữu ích để exposeDừng và chọn refactor target nhỏ hơn trước khi scaffold adapter.
Core logic bị trộn với HTTP hoặc UI concernThu hẹp vào một module hoặc biến refactor boundary thành prerequisite rõ ràng.
Credential behavior chưa rõ trong --autoTrả lời câu hỏi credential tập trung; không để workflow tự tạo storage policy.
Surface đề xuất mirror mọi endpointQuay lại agentization map và gộp operation thành user workflow.
Remote MCP target không hỗ trợ dependency đã chọnChọn target tương thích hoặc giữ local transport; nêu limitation rõ.
Test pass nhưng package metadata thiếuGiữ packaging blocked đến khi giải quyết name, scope, license, ownership và release metadata.
Runtime không nhận diện SkillXác nhận target cùng scope, mở runtime session mới, rồi làm theo Runtime không tìm thấy Skill hoặc Agent.

Tiếp tục với ak:cook cho implementation còn lại đã được chấp nhận, hoặc xem Engineer Kit và Runtime adapter.

Biết các giới hạn hiện tại

  • Skill wrap behavior hiện có; Skill không thể suy ra public contract đáng tin từ code không có stable entry point hay test.
  • Target không phải JavaScript dùng toolchain phù hợp của chúng nên generated layout cùng dependency cụ thể sẽ khác.
  • Remote transport, package publication, container registry và hosted deployment cần external tooling, credential cùng service availability.
  • Runtime parity phụ thuộc planning, Agent, testing và docs capability downstream được cung cấp trong session hiện tại.