blogminhquy/javis-os/.claude/skills/javis-builder/SKILL.md
Javis Builder
Tạo hoặc sửa năng lực của Javis: agent, skill, workflow, loop, plugin. Kèm mẫu file chuẩn và luật chống trùng.
- Source repository stars
- 129
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-07-28
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
Tạo hoặc sửa năng lực của Javis: agent, skill, workflow, loop, plugin. Kèm mẫu file chuẩn và luật chống trùng.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/blogminhquy/javis-os --skill ".claude/skills/javis-builder"Inspect the Agent Skill "Javis Builder" from https://github.com/blogminhquy/javis-os/blob/920e0d4a33be46f522850da546944af4a89788e3/.claude/skills/javis-builder/SKILL.md at commit 920e0d4a33be46f522850da546944af4a89788e3. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Workflow - Javis/workflows/.md
Nếu workflow tham chiếu agent chưa tồn tại - TẠO agent đó trước.
Nếu workflow tham chiếu agent chưa tồn tại - TẠO agent đó trước. - 02
Khi nào dùng
Kích hoạt khi người dùng nói những câu như: "tạo agent chuyên X", "thêm kỹ năng Y", "dựng workflow nghiên cứu rồi viết", "tạo loop mỗi 2 tiếng làm Z", "viết tool/plugin tính ...", "làm cho Javis biết làm ...".
Kích hoạt khi người dùng nói những câu như: "tạo agent chuyên X", "thêm kỹ năng Y", "dựng workflow nghiên cứu rồi viết", "tạo loop mỗi 2 tiếng làm Z", "viết tool/plugin tính ...", "làm cho Javis biết làm ...".Khi người dùng muốn Javis có thêm một năng lực, bạn TỰ GHI FILE .md đúng chuẩn dưới đây vào vault (brain đang chọn). Studio / trang tương ứng tự nhận file mới. Luôn báo cáo ngắn sau khi tạo. - 03
Quy trình (làm đúng thứ tự)
1. Hiểu nhu cầu. Nếu mô tả đủ rõ thì làm luôn; thiếu điểm cốt lõi (mục tiêu, đầu ra mong muốn) thì hỏi 1 câu ngắn rồi làm. Đừng hỏi lan man. 2. Chọn đúng LOẠI năng lực: - Việc trả lời/kiến thức cách-làm tái dùng nhiều lần - skill. - Một "vai" chuyên môn có system prompt riêng -…
Hiểu nhu cầu. Nếu mô tả đủ rõ thì làm luôn; thiếu điểm cốt lõi (mục tiêu, đầu ra mongChọn đúng LOẠI năng lực:Việc trả lời/kiến thức cách-làm tái dùng nhiều lần - skill. - 04
Mẫu file (ghi CHÍNH XÁC theo đây)
Viết system prompt cho agent theo khung metaprompt (rút từ metaprompt của Anthropic - ĐỪNG viết 1-2 câu chung chung kiểu "bạn là chuyên gia X"): 1. Vai + mục tiêu: 1 câu nêu vai, 1 câu nêu kết quả tốt trông như thế nào. 2. Bối cảnh nghiệp vụ: 2-3 dòng về sản phẩm/khách/lĩnh vực,…
Vai + mục tiêu: 1 câu nêu vai, 1 câu nêu kết quả tốt trông như thế nào.Bối cảnh nghiệp vụ: 2-3 dòng về sản phẩm/khách/lĩnh vực, lấy từ Memory nếu liên quan.Quy trình: các bước làm việc đánh số, đúng thứ tự agent nên làm thật. - 05
Agent - Javis/agents/.md
Viết system prompt cho agent theo khung metaprompt (rút từ metaprompt của Anthropic - ĐỪNG viết 1-2 câu chung chung kiểu "bạn là chuyên gia X"): 1. Vai + mục tiêu: 1 câu nêu vai, 1 câu nêu kết quả tốt trông như thế nào. 2. Bối cảnh nghiệp vụ: 2-3 dòng về sản phẩm/khách/lĩnh vực,…
Vai + mục tiêu: 1 câu nêu vai, 1 câu nêu kết quả tốt trông như thế nào.Bối cảnh nghiệp vụ: 2-3 dòng về sản phẩm/khách/lĩnh vực, lấy từ Memory nếu liên quan.Quy trình: các bước làm việc đánh số, đúng thứ tự agent nên làm thật.
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 77/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 129 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- blogminhquy/javis-os
- Skill path
- .claude/skills/javis-builder/SKILL.md
- Commit
- 920e0d4a33be46f522850da546944af4a89788e3
- License
- Not declared
- Collected
- 2026-07-28
- Default branch
- main
View the original SKILL.md
Javis Builder - tạo agent / skill / workflow / loop
Khi nào dùng
Kích hoạt khi người dùng nói những câu như: "tạo agent chuyên X", "thêm kỹ năng Y", "dựng workflow nghiên cứu rồi viết", "tạo loop mỗi 2 tiếng làm Z", "viết tool/plugin tính ...", "làm cho Javis biết làm ...".
Khi người dùng muốn Javis có thêm một năng lực, bạn TỰ GHI FILE .md đúng chuẩn dưới đây vào vault (brain đang chọn). Studio / trang tương ứng tự nhận file mới. Luôn báo cáo ngắn sau khi tạo.
Quy trình (làm đúng thứ tự)
- Hiểu nhu cầu. Nếu mô tả đủ rõ thì làm luôn; thiếu điểm cốt lõi (mục tiêu, đầu ra mong muốn) thì hỏi 1 câu ngắn rồi làm. Đừng hỏi lan man.
- Chọn đúng LOẠI năng lực:
- Việc trả lời/kiến thức cách-làm tái dùng nhiều lần -> skill.
- Một "vai" chuyên môn có system prompt riêng -> agent.
- Chuỗi nhiều bước, nhiều vai nối nhau -> workflow (tạo trước các agent còn thiếu).
- Việc LẶP theo chu kỳ, tự chạy nền -> loop.
- Cần một TOOL native mới (làm được bằng Python, tái dùng, mọi engine gọi được) mà chưa có MCP -> plugin. Chỉ là hướng dẫn cách làm bằng tool sẵn -> skill. Nguồn dữ liệu ngoài có sẵn MCP -> đấu MCP.
- Việc làm 1 lần -> KHÔNG tạo gì, cứ làm luôn hoặc đề xuất task Kanban.
- Chống trùng. TRƯỚC khi tạo, đọc folder tương ứng (agents/ workflows/ skills/ loops/). Nếu đã có cái gần giống -> cập nhật cái cũ, đừng đẻ bản sao.
- Ghi file đúng frontmatter (mẫu bên dưới). slug = ASCII không dấu, gạch nối. Tên hiển thị tiếng Việt. TUYỆT ĐỐI không dùng ký tự em dash, dùng "-".
- Báo cáo ngắn bằng văn nói: đã tạo loại gì, tên/đường dẫn file, dùng ở đâu.
Mẫu file (ghi CHÍNH XÁC theo đây)
Agent -> Javis/agents/<slug>.md
---
type: agent
name: <Tên tiếng Việt>
slug: <ascii>
role: <vai trò 1 câu>
skills: [slug-skill] # [] nếu chưa gán; chỉ gán skill đã có trong skills/
model: "" # "" mặc định | sonnet|opus|haiku|fable (Claude) | gpt-5.5|gpt-5.4|gpt-5.3-codex (ChatGPT/Codex)
updated: <YYYY-MM-DD>
---
<system prompt: cách làm việc, nguyên tắc, định dạng đầu ra mong muốn>
Viết system prompt cho agent theo khung metaprompt (rút từ metaprompt của Anthropic - ĐỪNG viết 1-2 câu chung chung kiểu "bạn là chuyên gia X"):
- Vai + mục tiêu: 1 câu nêu vai, 1 câu nêu kết quả tốt trông như thế nào.
- Bối cảnh nghiệp vụ: 2-3 dòng về sản phẩm/khách/lĩnh vực, lấy từ Memory nếu liên quan.
- Quy trình: các bước làm việc đánh số, đúng thứ tự agent nên làm thật.
- Định dạng đầu ra: nêu CỤ THỂ (độ dài, cấu trúc, giọng, ngôn ngữ); đầu ra có khuôn cố định thì kèm 1 ví dụ mẫu ngắn.
- Trường hợp khó: thiếu dữ liệu / yêu cầu mơ hồ / ngoài phạm vi thì agent làm gì (nêu giả định rồi làm tiếp, hỏi lại 1 câu, hay từ chối).
- Điều cấm: chỉ cấm CỤ THỂ kèm lý do (vd không bịa số liệu, không em dash), đừng viết cả tràng "không được". Prompt tốt thường 10-25 dòng. Viết xong tự đọc lại bằng mắt một agent mới: có đủ để làm việc mà không phải hỏi thêm không? Thân skill cũng áp khung này (bỏ mục 1, thay bằng mô tả trigger).
Skill -> skills/<slug>/SKILL.md
---
name: <Tên skill>
description: <nêu THẲNG năng lực, TỐI ĐA 150 ký tự - vd "Chuyển HTML sang file Webcake .pke.">
group: <Marketing|Bán hàng|Nội dung|Vận hành|Tài chính|AI|Năng suất|Cá nhân>
---
<hướng dẫn chi tiết cho AI khi skill kích hoạt>
Chuẩn viết skill (bắt buộc - KHÔNG có ai gác, tự bạn phải giữ)
Không có lưới an toàn. Skill viết theo tài liệu này là GHI THẲNG RA ĐĨA: không qua
POST /skills nên không có kiểm tra phía server, và lint CI chỉ soi skill HỆ THỐNG, không
soi skill trong skills/ của brain. Vi phạm chuẩn dưới đây sẽ KHÔNG có thông báo lỗi nào -
skill cứ thế hỏng âm thầm lúc chạy. Bạn là lớp phòng thủ duy nhất.
descriptionTỐI ĐA 150 ký tự. Viết xong hãy ĐẾM, đừng ước lượng - đây là việc bắt buộc, không phải lời khuyên. Router cắt đúng ở đó (skill_router.SKILL_DESC_MAX) ở cả system prompt lẫn mô tả tool, nên viết dài hơn là phần đuôi MẤT IM LẶNG và skill không route được. Không ai cảnh báo bạn: không đếm là hỏng mà không biết.descriptionnêu THẲNG năng lực. KHÔNG mở đầu bằng "Kích hoạt khi...", "Sử dụng skill này khi..." - mọi skill đều mở như vậy nên nó đốt 29 ký tự mà không phân biệt gì. Tốt:Chuyển HTML sang file Webcake .pke.Xấu:Kích hoạt khi người dùng muốn chuyển...descriptioncó dấu hai chấm thì phải bọc cả giá trị trong nháy kép, kẻo YAML hiểu nhầm thành mapping.- Ví dụ trigger đầy đủ đưa vào THÂN file, mục
## Khi nào dùng- nơi không bị cắt và chỉ đọc khi skill đã nạp. Index để TÌM, thân file để LÀM. - Thứ tự mục trong thân:
## Khi nào dùng/## Chuẩn bị/## Cách chạy/## Quy trình/## Bẫy/## Kiểm chứng. Mục nào không có nội dung thật thì bỏ, đừng bịa cho đủ. - KHÔNG bịa flag, đường dẫn, API chưa thấy trong nguồn. Không thấy thì đừng viết.
- Thân file khoảng 100 dòng cho skill đơn giản, 200 cho skill phức tạp. Dài hơn thì tách
nội dung xuống
skills/<slug>/references/<chủ-đề>.md, script xuốngskills/<slug>/scripts/, và trỏ tới bằng đường dẫn tương đối. Từ bản 0.9.64: bản mirror sang.claude/skills(đường Claude Code nạp NATIVE) copy ĐỆ QUY cả cây, nên với skill trong brain,references//scripts/tới được CẢ đường router lẫn đường native. Ngoại lệ còn lại: skill HỆ THỐNG (bundled sẵn theo app, cài vào brain qua system sync) vẫn chỉ ship mỗiSKILL.md- cây con của chúng (vdtools//examples/củahtml-to-webcake) CHƯA tới brain nào, đây là lỗ ở tầng cài đặt khác, chưa được vá. - KHÔNG viết skill kiểu router chỉ trỏ sang skill khác.
Workflow -> Javis/workflows/<slug>.md
---
type: workflow
name: <Tên>
slug: <ascii>
status: off # tạo mới để 'off' cho user xem trước rồi bật
description: <mô tả ngắn>
steps:
- agent: <agent-slug>
task: "<việc; {{input}}=đầu vào user, {{prev}}=kết quả bước trước>"
verify_agent: <agent-slug> # tùy chọn: agent soi lỗi
max_retries: 1 # tùy chọn
updated: <YYYY-MM-DD>
---
<mô tả>
Nếu workflow tham chiếu agent chưa tồn tại -> TẠO agent đó trước.
Loop -> Javis/loops/<slug>.md
Việc LẶP MỚI: ưu tiên GỌI TOOL javis_schedule (op=create, name/prompt/schedule - vd
schedule="120m" hoặc "mỗi 2 tiếng") thay vì tự ghi file. Tool tự đặt đúng slug, đúng frontmatter
(kể cả goal: custom bên dưới - thiếu field này là lỗi thật đã xảy ra: self_improve.py mặc định
goal: business, loop chỉ đọc số liệu MCP và BỎ QUA HOÀN TOÀN nhiệm vụ ở thân file), và chặn
trùng tên. CHỈ tự ghi file tay (mẫu dưới) khi: (a) SỬA loop ĐÃ CÓ, hoặc (b) cần trường nâng
cao mà tool chưa nhận - quiet_hours (giờ im lặng, vd "23-07"), max_runs_per_day, workspace
(+ tools_profile: code khi loop sửa mã trên thư mục ngoài - có Bash/Web, KHÔNG MCP),
ambient_mcp (cho loop THẤY connector claude.ai của máy - Gmail/Drive/lịch; MẶC ĐỊNH tắt để bản
fork sạch, chỉ bật khi user yêu cầu rõ; vẫn chặn cứng Bash/Web), notify: false (loop quá ồn thì
ngừng báo mỗi vòng), hoặc goal khác custom (business/brain/product).
---
type: loop
name: <Tên>
slug: <ascii>
enabled: false # LUÔN tạo ở trạng thái TẮT
mode: suggest # suggest=chỉ đọc/đề xuất | auto=tự ghi nháp an toàn | full=toàn quyền
goal: custom # BẮT BUỘC khi ghi tay - thiếu dòng này self_improve.py mặc định
# 'business' (chỉ đọc số liệu MCP, bỏ qua hoàn toàn thân file dưới đây)
interval_min: 120 # tối thiểu 5
owner_chat: "<chat_id>" # chat_id NGƯỜI YÊU CẦU (tạo qua chat Telegram) - để báo đúng người;
# bỏ trống nếu tạo trên web (báo về ID Telegram đầu tiên)
updated: <YYYY-MM-DD>
---
<mô tả nhiệm vụ: mỗi vòng loop làm ĐÚNG việc này - đây chính là prompt của loop, viết tự-đủ>
Plugin -> mặc định TOÀN CỤC <JAVIS_STATE_DIR>/plugins/<slug>/ (chung mọi brain); riêng 1 brain thì <vault>/plugins/<slug>/. 2 file: plugin.yaml + plugin.py
plugin.yaml:
name: <Tên tiếng Việt>
slug: <ascii>
version: 1.0.0
description: <tool này làm gì, khi nào engine nên gọi>
author: <ai tạo>
enabled: false # LUÔN tạo ở trạng thái TẮT
min_mode: readonly # readonly=chỉ đọc/tính (mặc định) | safe=có ghi | full=hành động thật
tools: [<ten_tool>]
hooks: [] # vd [post_tool_call] nếu dùng hook
plugin.py:
def register(ctx):
def handler(args, ctx): # args=dict; trả str (hoặc dict). Lỗi -> "ERROR: ...". Có thể async.
return "..."
ctx.register_tool(
name="ten_tool", description="mô tả cho engine + tham số",
handler=handler, min_mode="readonly",
schema={"type":"object","properties":{},"required":[]})
# tuỳ chọn hook: ctx.register_hook("post_tool_call", lambda tool_name="", **_: None)
ctx có ctx.vault_root, ctx.data_dir (state riêng plugin, không đụng vault), ctx.slug.
Rào an toàn (BẮT BUỘC)
- Loop tạo qua chat LUÔN
enabled: false+mode: suggest. Chỉ nângmode: auto/fullhoặc bật ngay khi user yêu cầu RÕ RÀNG, và phải cảnh báo rủi ro (full = tự tạo đơn/tiêu tiền/đăng bài). - KHÔNG tạo năng lực tự làm hành động tiền/đơn/quảng cáo/gửi tin/đăng bài mà không có người duyệt.
- KHÔNG bao giờ để một loop/automation tự tạo hoặc tự bật loop khác (chống phình vô hạn) - chỉ ĐỀ XUẤT.
- Skill do engine TỰ HỌC sinh ra -> tạo BẬT sẵn (đánh dấu
origin: javis-learned), nhưng KHÔNG ghi đè skill đã có và KHÔNG hồi sinh skill user đã tắt; agent tự động -> để nháp chờ duyệt. Skill do user yêu cầu trực tiếp -> tạo bật luôn nhưng phải kiểm trùng +descriptionnêu rõ năng lực, phân biệt được với skill khác (mô tả mơ hồ làm Javis chọn skill sai). Đừng tạo skill trùng chức năng skill đã có. - Plugin user (toàn cục lẫn vault) chạy CODE PYTHON THẬT trong tiến trình server -> tạo
enabled: false,min_mode: readonly, và NÓI RÕ với user: plugin chỉ chạy khi họ đặt envJAVIS_ENABLE_USER_PLUGINS=truerồi khởi động lại (rào chống chạy code lạ). KHÔNG viết plugin làm hành động tiền/đơn/gửi tin; việc đó để MCP + mức quyền lo. - Sau khi tạo, KHÔNG tự chạy thứ có side-effect; để user xem trước.
Alternatives
Compare before choosing
event4u-app/agent-config
design-review
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
K-Dense-AI/scientific-agent-skills
dask
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
medchem
Medicinal chemistry filters for compound triage. Apply drug-likeness rules (Lipinski, Veber, CNS), structural alert catalogs (PAINS, NIBR, ChEMBL), complexity metrics, and the medchem query language for library filtering.
K-Dense-AI/scientific-agent-skills
neurokit2
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.