Skip to content

This release adds 2 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-agents ai-memory anthropic artificial-intelligence claude
+12 more
claude-agent-sdk claude-agents claude-code-plugin claude-skills codex embeddings long-term-memory memory-engine openclaw openclaw-skills postgresql llm

Affected surfaces

auth rbac

ReleasePort's take

Light signal
editorial:auto 13d

Hivemind v0.7.20 fixes duplicate skills via Git URL normalization and prevents silent overwrites of shared skills by gating project vs global sources.

Why it matters: Upgrade to prevent silent overwrites of teammates' shared skills. This release normalizes Git URL variants for consistent project identification and gates project-scoped vs global-read-only skills.

Summary

AI summary

Fixed duplicate skills by preserving created_at, normalizing git remotes for project_key, and making the gate read both project and global skill directories.

Changes in this release

Feature Medium

Skills now include creation and modification timestamps for better tracking.

Skills now include creation and modification timestamps for better tracking.

Source: llm_adapter@2026-05-21

Confidence: high

Feature Medium

Enhanced existing skills display showing both project and global read-only skills with clear source labels.

Enhanced existing skills display showing both project and global read-only skills with clear source labels.

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Gate now reads both project and global skills, tagging entries as `[project]` or `[global, read-only]`, preventing silent overwriting of teammates' work.

Gate now reads both project and global skills, tagging entries as `[project]` or `[global, read-only]`, preventing silent overwriting of teammates' work.

Source: llm_adapter@2026-05-21

Confidence: high

Bugfix Medium

Preserve `created_at` across MERGE in skills table by threading v=1 value through `SkillWriteResult` instead of stamping `now()`.

Preserve `created_at` across MERGE in skills table by threading v=1 value through `SkillWriteResult` instead of stamping `now()`.

Source: llm_adapter@2026-05-21

Confidence: low

Bugfix Medium

Normalize Git remote URL before hashing for projectKey to unify variants like SSH/HTTPS/.git/credentials into canonical host/owner/repo form.

Normalize Git remote URL before hashing for projectKey to unify variants like SSH/HTTPS/.git/credentials into canonical host/owner/repo form.

Source: llm_adapter@2026-05-21

Confidence: low

Bugfix Medium

Preserve `created_at` across MERGE in the skills table.

Preserve `created_at` across MERGE in the skills table.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Bugfix Medium

Normalize Git remote URLs before hashing for projectKey to unify variants.

Normalize Git remote URLs before hashing for projectKey to unify variants.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Full changelog

Summary

Three tactical fixes for the cross-author and cross-project duplicate skills problem on the skills Deeplake table. Each commit is independent and focused; landing all three closes the gap that produced the duplicates we currently have in prod (e.g. meta-harness-continual-learningcontinual-learning-meta-harness, the three near-identical hivemind-*-testing skills).

What was actually broken

  1. created_at was reset on every MERGE. All 27 rows in the prod skills table have created_at == updated_at because the worker stamped now() on both fields at every INSERT. The local SKILL.md frontmatter already preserved the v=1 creation date correctly — only the DB row didn't see it.

  2. deriveProjectKey hashed the raw git remote URL. Five surface forms of the same repo (git@..., https://..., with/without .git, with embedded credentials) produced five different project_key values. Two devs cloning the same repo with different URL styles ended up with disjoint state.

  3. The gate only read <cwd>/.claude/skills/, never ~/.claude/skills/. Autopull lands skills under the global root regardless of scope-config; the worker only looked at the project root. With the default install=project, the gate saw zero existing skills no matter how many had been autopulled — so every mining run started from a blank slate and re-created near-identical skills.

Commits

  • fix(skilify): preserve created_at across MERGE in skills table — thread the v=1 created_at through SkillWriteResult instead of stamping now().
  • fix(skilify): normalize git remote URL before hashing for projectKey — collapse SSH/HTTPS/.git/cred variants to a canonical host/owner/repo form.
  • fix(skilify): gate reads project + global skills, only [project] mergeable — extract the existing-skills logic into a testable module, read both roots, tag entries [project] (MERGE-eligible) or [global, read-only] (reference only). Cross-author MERGE intentionally stays forbidden in this PR.

Out of scope (filed separately)

  • Cross-author MERGE with a contributors column and auto-promote me → team on cross-author edits — see activeloopai/hivemind#118. The interim restriction in this PR (MERGE only into your own project skills) avoids silently overwriting teammates' work until that lands.
  • Compaction of old version rows (e.g. 7 skills-autopull-fanout-symlinks versions) — purely a storage-bloat concern, not a correctness one.

Test plan

  • [x] npm run build clean
  • [x] npm test — 2189 passing (was 2175 before; +14 from new tests)
  • [x] New tests: skilify-state.test.ts (URL normalization, 4 cases), skilify-skill-writer.test.ts (createdAt threading through SkillWriteResult), skilify-existing-skills.test.ts (7 cases: both roots, dedupe project-wins, source tagging, char-cap placeholder)
  • [x] Bundle-scan tests updated for new gate-prompt heading
  • [ ] Manual smoke: run a session in a project with autopulled global skills, confirm the gate prompt now mentions them as [global, read-only]

Summary by CodeRabbit

Release Notes

  • New Features

    • Skills now include creation and modification timestamps for better tracking.
    • Enhanced existing skills display showing both project and global read-only skills with clear source labels.
  • Improvements

    • Clarified merge eligibility rules in skill curation prompts—only project skills are valid merge targets; global skills are reference-only references.
    • Improved project identification through consistent normalization of Git remote URLs.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Hivemind turns agent traces into skills and shares with your team

Get notified when new releases ship.

Sign up free

About Hivemind turns agent traces into skills and shares with your team

All releases →

Related context

Earlier breaking changes

  • v0.7.52 Removes `hivemind tasks` CLI and related code surfaces.
  • v0.7.51 Removes `hivemind tasks` CLI and related code surfaces.
  • v0.7.19 Module name skilify replaced with skillify; affects all imports
  • v0.7.19 CLI command skilify removed; renamed to skillify without deprecation alias
  • v0.7.18 CLI subcommand renamed from `skilify` to `skillify`; no deprecation alias.

Beta — feedback welcome: [email protected]