Skip to content

feat: add sync-forks skill for community fork maintainers#1085

Open
taslim wants to merge 1 commit intoqwibitai:mainfrom
taslim:feat/sync-forks
Open

feat: add sync-forks skill for community fork maintainers#1085
taslim wants to merge 1 commit intoqwibitai:mainfrom
taslim:feat/sync-forks

Conversation

@taslim
Copy link
Contributor

@taslim taslim commented Mar 15, 2026

Type of Change

  • Skill - adds a new skill in .claude/skills/
  • Fix - bug fix or security fix to source code
  • Simplification - reduces or simplifies source code

Description

Fork maintainers who customize NanoClaw (adding channels, personas, integrations) need a safe way to push improvements back to their public fork without leaking private data, and pull community contributions back. Today this is a manual, error-prone process.

/sync-forks is a bidirectional fork sync skill with a privacy-first design:

Push flow (private → public fork):

  • Optionally runs /update-nanoclaw first to sync your private fork with upstream before pushing — so the public fork gets both upstream updates and your improvements in one go
  • Creates a disposable staging branch from the public fork — never modifies your main
  • Merges upstream commits individually (preserves community attribution)
  • Squashes private fork commits into one (no private history leaks)
  • Privacy manifest: declarative config where users list their identifiers, private files, and replacement rules once. The skill auto-restores private files to public fork templates, then grep-scans the entire staged diff as a hard gate — push won't proceed until clean
  • Validates build, then opens a PR or pushes directly

Pull flow (public fork → private):

  • Creates backup branch + tag before merging
  • Merges or cherry-picks selected commits
  • Validates build
  • Provides rollback instructions (git reset --hard <backup-tag>)

Fork discovery: auto-detects public fork candidates from git remotes (anything that isn't origin or upstream). One fork auto-selects; multiple forks prompts a choice. Multi-fork pull supported.

The privacy manifest is a template — users fill in their own identifiers before first use. The skill file in this PR contains only placeholder examples.

Generic, bidirectional fork sync skill with privacy manifest template.
Supports push (sanitized) and pull, fork discovery from git remotes,
and multi-fork pull. Upstream ancestry preserved via individual merge
before squash, so future syncs self-heal.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Andy-NanoClaw-AI Andy-NanoClaw-AI added Status: Needs Review Ready for maintainer review PR: Skill Skill package or skill-related changes labels Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: Skill Skill package or skill-related changes Status: Needs Review Ready for maintainer review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants