Centralize skillify command list in SKILL.md via build-step generator
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 64/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- node.js, typescript
- Lĩnh vực
- documentation
Hướng nghiên cứu
Bắt đầu bằng cách đọc src/cli/skillify-spec.ts để xác nhận nguồn SKILLIFY_COMMANDS và định dạng đầu ra của renderSkillifyCommands(). Xem lại tests/pi/skillify-spec-drift.test.ts và các build script trong package.json để khớp với các pattern drift-test và build-step hiện có. Sau đó thêm hoặc xác minh các command marker trong ba tệp SKILL.md, triển khai scripts/sync-md-commands.mjs, chạy npm run build và đảm bảo các test trong tests/ phát hiện mọi drift thủ công của SKILL.md.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
PR #129 introduced SKILLIFY_COMMANDS in src/cli/skillify-spec.ts — the single source of truth for the hivemind skillify ... command list. As part of #129 we centralized all TypeScript-side consumers of that list:
- 4 per-agent SessionStart inject blocks (claude-code, codex, cursor, hermes) via
renderSkillifyCommands() - The pi inline mirror in
pi/extension-source/hivemind.ts(guarded by a drift test intests/pi/skillify-spec-drift.test.ts) hivemind --helptop-level output insrc/cli/index.ts(centralized in #129 as part of the kaghni feedback)hivemind skillify --helpusage()insrc/commands/skillify.ts(centralized in #129)
What remains hand-typed are the 3 shipped SKILL.md files:
claude-code/skills/hivemind-memory/SKILL.md—## Skill Management (skillify)sectioncodex/skills/deeplake-memory/SKILL.md— same blockopenclaw/skills/SKILL.md— same block (pre-dates #129, onmainsince April)
These can't be solved the same way as the TS callers because SKILL.md is shipped Markdown — it can't import TypeScript at runtime. We need a build-step generator.
Proposed approach
-
Markers in each SKILL.md — wrap the command block in HTML-comment markers so the generator can locate it deterministically without ambiguity:
<!-- SKILLIFY_COMMANDS_START --> - `hivemind skillify` — show current scope... ... <!-- SKILLIFY_COMMANDS_END --> -
Generator script — add
scripts/sync-md-commands.mjsthat:- Imports the compiled
SKILLIFY_COMMANDSfrombundle/cli.js(ordist/skillify-spec.js) - Renders the block in the same bullet format the SKILL.md files use today
- Rewrites the content between
<!-- SKILLIFY_COMMANDS_START -->/ENDin all 3 files
- Imports the compiled
-
Wire into
npm run build— appendnode scripts/sync-md-commands.mjsto the build pipeline so the markdown can't drift in CI. -
Drift detection test — under
tests/, mirror the structure oftests/pi/skillify-spec-drift.test.ts: read each SKILL.md, parse the block between markers, assert it matches whatrenderSkillifyCommands()would produce. Fails CI if a developer edits the markdown by hand and skips the build. -
Same pattern for
ORG_COMMANDS(optional, can be a separate sub-task) — the org/auth command list (hivemind login,whoami,org list, …) is hand-typed in the same 3 SKILL.md files plus the per-agent SessionStart hooks. Extracting anORG_COMMANDSconstant and applying the same generator closes the symmetric debt.
Why a separate PR
- Scope: #129 ships the
hivemind skillify mine-localuser-facing feature. Wiring a Markdown generator + drift test would tangle the build pipeline with the feature work and expand the review surface significantly. - Risk surface: A
scripts/sync-md-commands.mjs+npm run buildchange touches CI and can break the release flow. Worth landing on its own branch where it's the focus. - Independence: This change has zero behavior impact on the mine-local feature — it's pure documentation upkeep.
Acceptance criteria
- All 3 SKILL.md files have the skillify command block generated from
SKILLIFY_COMMANDS -
npm run buildregenerates the blocks deterministically - Drift test fails if a SKILL.md block is edited by hand and not regenerated
- Optionally: same applied to org/auth commands via
ORG_COMMANDS
Reference
- Original observation: PR #129 review comment by @kaghni
- Ngôn ngữ chính
- TypeScript
- Star
- 1.6k
- Fork
- 112
- Merge trung bình
- 19 giờ 9 phút
- Pull request đã merge (30 ngày)
- 11
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của activeloopai/hivemind
-
Transcript parsing aborts on a non-record JSON lineCó thể đã có người làm @DivyamTalwar đã nhận 14 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
activeloopai/hivemind#411 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
activeloopai/hivemind#330 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
activeloopai/hivemind#200 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Embeddings silently disabled for upgrading users (HIVEMIND_EMBEDDINGS unset → enabled=false)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
activeloopai/hivemind#184 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
embeddings: alternation patterns (a|b|c) skip the embedding daemon and fall back to lexical-onlyCó thể đã có người làm @eastagiletracker đã nhận 8 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
activeloopai/hivemind#86 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của activeloopai/hivemind
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/chore priority/must
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
sidereal-io/sidereal#380 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Mend: dependency security vulnerability
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
opfab/operatorfabric-core#10653 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backend bug size:sm
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
chrisbenincasa/tunarr#2237 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 69/100
Lam30ne/regulate-app#39 ·