Loading...
Loading...
Given a freshly-cloned external repo/tool, run clone→explore→verify→write to produce a bundle of RUNNABLE workflow skills under .overstack/doyourmagic/<repo>/skills/ — one hub skill /dym-<repo> (1 dòng context, chỉ nạp workflow con khi được gọi) + N sub-skills dạng SKILL.md promote thẳng lên repo chính (npx skills add) — plus workflows.md (index + bảng kiểm chứng) and flow.html (docs-site-macos, sơ đồ luồng skill→sản phẩm→skill kế). Trigger on 'kéo repo mới về', 'clone tool này làm workflow', 'doyourmagic', 'onboard external tool/repo', 'generate workflow docs/skills for this repo', or /doyourmagic. Options: --name <prefix> · --humanize.
npx skill4agent add rheinmir/setup doyourmagic/dym-<repo>workflows.mdflow.html--helpclone (sandbox, read-only) → manifest → README = giả thuyết → đối chiếu parser/--help/exit thật → chạy thật (scope pin) → workflow chia theo ĐỐI TƯỢNG → sub-skill + hub → workflows.md + flow.html → verdict adapt-modes → (tuỳ) dym-sync push / install / promote| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | repo/URL tool ngoài | có | thứ cần làm workflow |
| In | | không | chế độ đặt tên (mặc định |
| In | bản tích hợp thật trên máy | không | có thì thắng fixture trong clone |
| Out | | có | hub có |
| Out | | có | bảng kiểm chứng (khẳng định → file:dòng / ca chạy / rc); flow mở thật trước khi giao |
| Out | verdict adapt-modes | có | HÒA TAN · KÉO NGOÀI · NHÚNG-SỞ-HỮU · KHÔNG LẤY |
--help.github/workflows/*.ymlnpx impeccable install --help$HOMEHOME.overstack/doyourmagic/<repo>/flow.htmlfile://.overstack/doyourmagic/<repo>/--help--humanizerheinmir/dym| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | effect | repo | Clone vào sandbox (bước 1); xem | clone read-only | đã có bundle → B03 |
| W02 | deterministic | clone | Manifest trước, README là giả thuyết, đối chiếu parser/ | danh sách lệnh đã đối chiếu | không đối chiếu được → "chưa kiểm chứng" |
| W03 | effect | lệnh | Chạy thật trong sandbox, scope pin; đọc bản tích hợp thật nếu có (bước 4–5) | rc từng ca | không pin được scope → bỏ ca đó |
| W04 | judgment | kết quả | Chia workflow theo đối tượng, chốt tên (bước 6–7) | danh sách hub/slug | trùng tên |
| W05 | effect | workflow | Viết sub-skill + hub + | bundle trên đĩa | |
| W06 | effect | bundle | Sinh | flow.html đã verify | lỗi hiển thị → sửa, mở lại |
| W07 | judgment | bundle | Gate adapt-modes: MỘT verdict (bước 12) | verdict | HÒA TAN/NHÚNG → hỏi trước khi scaffold |
package.jsonpyproject.tomlCargo.tomlgo.mod--helpprocess.exit(...)sys.exit(...)HOME--scope=project--no-verifyworkflows.md/x--humanize.overstack/doyourmagic/<repo>/skills/<hub>-<slug>/SKILL.mdname: <hub>-<slug>descriptiondisable-model-invocation: truenpx skills add## When to use## Steps## Rules.overstack/doyourmagic/<repo>/skills/<hub>/SKILL.md---
name: <hub>
disable-model-invocation: true
domains: [<domain-1>, <domain-2>] # bắt buộc — /dym định tuyến theo đây (chart · frontend · diagram · security · …)
source: <url repo gốc>
description: "<một dòng: tool gì · gõ /<hub> <slug> · slugs: a · b · c>"
---
## Steps
1. Đọc ARGUMENTS → <slug>. Không có slug → in bảng slug + một dòng mục đích, dừng.
2. Tìm file con theo thứ tự, lấy file ĐẦU TIÊN tồn tại rồi đọc ĐÚNG MỘT file:
(1) `.claude/skills/<hub>-<slug>/SKILL.md` — đã cài qua `npx skills add rheinmir/dym`;
(2) `.overstack/doyourmagic/<repo>/skills/<hub>-<slug>/SKILL.md` — bundle nằm trong dự án, hub symlink;
(3) `doyourmagic-bundles/<repo>/skills/<hub>-<slug>/SKILL.md` — clone `rheinmir/dym` cạnh dự án.
Làm theo Steps/Rules của file đó; không đọc file con khác; không thấy cả 3 → nói rõ, dừng.workflows.mdflow.htmldocs-site-macosskill → sản phẩm → skill kếgetBoundingClientRect/playwright-verify| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | user_optional | | đặt tên theo bảng Naming; | trùng → rơi về mặc định, nói rõ | W05 |
| B02 | capability_optional | máy đã có bản tích hợp thật (config commit ở dự án khác) | đọc nó, ưu tiên hơn fixture trong clone; tái hiện lỗi trên bản thật | không có → bỏ qua | W04 |
| B03 | conditional_required | | kéo về ( | user muốn chạy lại → W02 | kết thúc |
| B04 | user_optional | sau khi bundle xong, muốn chia sẻ/dùng | | thiếu | kết thúc |
workflows.mdpython3 harness/scripts/dym-sync.py lintdomains:flow.html/doyourmagic https://github.com/Rheinmir/setup--helpdym-setupworkflows.mdflow.htmlreferences/example-setup/npx <tool> install--help$HOME.overstack/doyourmagic/<repo>/
workflows.md # chỉ mục + thứ tự chạy + bảng "kiểm chứng thế nào" (thứ không thuộc về một skill nào)
flow.html # docs-site-macos: sidebar · mind map · SƠ ĐỒ LUỒNG skill→sản phẩm→skill kế · toggle sáng/tối
skills/
<hub>/SKILL.md # /<hub> <slug> — 1 dòng description, disable-model-invocation, đọc ĐÚNG file con được gọi
<hub>-<slug-1>/SKILL.md # mỗi workflow = một skill đầy đủ (frontmatter + When/Steps/Rules), tự chứa, promote được
<hub>-<slug-2>/SKILL.md.claude/skills//<hub> <slug>/fdkskills/npx skills addNN-*.mdworkflows.md| Chế độ | Hub | Sub-skill | Khi nào |
|---|---|---|---|
| mặc định | | | user không nói gì. Không bao giờ trùng, nhìn tên biết nguồn; đổi tên lúc promote |
| | | user tự đặt |
| agent đặt tên ngắn gõ được bằng cơ bắp (vd | | phải |
|
harness/scripts/dym-sync.pyS=harness/scripts/dym-sync.py
python3 $S lint # mọi bundle phải ở DẠNG SKILL (hub có `domains:`); dạng cũ NN-*.md → `migrate <repo> --domains chart,report`
python3 $S index # sinh meta-hub .overstack/doyourmagic/dym/SKILL.md: bảng domain → hub → slug
python3 $S install [dym|<repo>] [--auto slug,slug] # symlink vào .claude/skills; --auto = bỏ disable-model-invocation, agent tự nạp theo description
python3 $S check [--yes] # đĩa ↔ baseline ↔ dym: NEW-LOCAL/SAME/LOCAL/REMOTE-AHEAD/CONFLICT; hỏi y/N rồi push. Hook Stop tự nhắc khi phiên đụng bundle.
python3 $S push <repo> [--yes] # copy vào clone dym → nhánh dym/<repo> → PR (gh); ghi .dym-baseline.jsondomains: [a, b]/dymdisable-model-invocationrheinmir/dymdym-sync.py push <repo>.overstack/doyourmagic/<repo>/<repo>/npx skills add rheinmir/dym-ggit clone --depth 1 https://github.com/Rheinmir/dym.git doyourmagic-bundles/doyourmagic <repo>mkdir -p .claude/skills && ln -sfn ../../.overstack/doyourmagic/<repo>/skills/<hub> .claude/skills/<hub>/<hub>/<hub> <slug>/<hub>-<slug>/fdkbash <(curl -fsSL https://raw.githubusercontent.com/Rheinmir/setup/orca/fdk/tools/fdk-kit.sh) pull # lần đầu
cp -R .overstack/doyourmagic/<repo>/skills/<hub>-<slug> .overstack/kit/skills/<tên-mới> # đổi tên nếu bỏ tiền tố dym-
cd .overstack/kit && python3 fdk/tools/new-skill.py <tên-mới> --dry-run # in checklist register
# register: LOOP_MAP (sync-skills.py) · LOOP_GROUPS · marketplace.json · bảng AGENT.md+CLAUDE.md · provenance
bash fdk/tools/fdk-kit.sh check && bash fdk/tools/fdk-kit.sh submit skill/<tên-mới> "<mô tả>"name:descriptionreferences/example-setup/rheinmir/setupdym-setup<tên>.skill.mdworkflows.mdflow.html