Skip to main content

autonomous-github-sync

Autonomous GitHub commit and push operations using Google Drive as an intermediary. Use when you need to commit and push code changes to the user's GitHub repository without manual intervention. Works by syncing files through Google Drive to the user's local machine, then committing and pushing automatically.

Jump to install

Source facts

Repository
abcnuts/manus-skills
Last source activity
February 12, 2026 at 04:11
Detected SKILL.md language
English
Stars
69
Forks
46

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
autonomous-github-sync
description
Autonomous GitHub commit and push operations using Google Drive as an intermediary. Use when you need to commit and push code changes to the user's GitHub repository without manual intervention. Works by syncing files through Google Drive to the user's local machine, then committing and pushing automatically.
license
Complete terms in LICENSE.txt
# Autonomous GitHub Sync Enable Manus to commit and push changes to GitHub repositories without requiring manual user intervention. ## When to Use This Skill Use this skill when: - You've made changes to files in a repository and need to push them to GitHub - The user requests autonomous git operations - You want to avoid the manual "download patch → apply → push" workflow - The user has Google Drive integration enabled ## How It Works The sync workflow uses Google Drive as a bridge between the Manus sandbox and the user's local machine: 1. **Manus** uploads changed files to Google Drive 2. **User's local machine** (via script) downloads files from Google Drive 3. **Script** copies files to the local repository 4. **Script** commits and pushes to GitHub automatically ## Prerequisites - User must have Google Drive integration enabled in Manus - User must have the sync script running on their local machine - User's local repository must be configured with GitHub authentication ## Usage Pattern ### Step 1: Upload Files to Google Drive After making changes to repository files in the sandbox, upload them to a Google Drive folder: ```bash # Create a deployment package with changed files mkdir -p /tmp/repo-sync cp /path/to/changed/file1.js /tmp/repo-sync/ cp /path/to/changed/file2.html /tmp/repo-sync/ # Upload to Google Drive rclone copy /tmp/repo-sync manus_google_drive:repo-sync-$(date +%s) --config /home/ubuntu/.gdrive-rclone.ini # Get the folder ID for the user rclone lsd manus_google_drive: --config /home/ubuntu/.gdrive-rclone.ini | grep repo-sync ``` ### Step 2: Notify User to Run Sync Script Tell the user to run the sync script on their local machine: ```bash python3 ~/gdrive_to_repo_sync.py <gdrive_folder_name> <local_repo_path> "<commit_message>" ``` Example: ```bash python3 ~/gdrive_to_repo_sync.py repo-sync-1707543210 /Users/username/my-repo "feat: add demographic data collection" ``` ### Step 3: Verify Push Check GitHub or ask the user to confirm the push was successful. ## Alternative: Direct Patch Method If Google Drive sync isn't set up, fall back to the patch method: ```bash # Create patch file cd /path/to/sandbox/repo git format-patch origin/main --stdout > /tmp/changes.patch # Upload patch to Google Drive rclone copy /tmp/changes.patch manus_google_drive: --config /home/ubuntu/.gdrive-rclone.ini rclone link manus_google_drive:changes.patch --config /home/ubuntu/.gdrive-rclone.ini ``` Then instruct the user: ```bash # Download patch from Google Drive link cd /path/to/local/repo git am < ~/Downloads/changes.patch git push origin main ``` ## Setup Instructions for User To enable autonomous sync, the user needs to: 1. **Copy the sync script to their home directory:** ```bash cp /home/ubuntu/skills/autonomous-github-sync/scripts/gdrive_to_repo_sync.py ~/ ``` 2. **Install rclone on their local machine** (if not already installed): ```bash # macOS brew install rclone # Linux sudo apt install rclone ``` 3. **Configure rclone with the same Google Drive account:** ```bash rclone config # Follow prompts to add Google Drive remote named "manus_google_drive" ``` 4. **Test the sync:** ```bash python3 ~/gdrive_to_repo_sync.py test-folder /path/to/repo "test commit" ``` ## Troubleshooting **"Repository not found" when pushing:** - User's local machine needs GitHub authentication configured - Check: `git remote -v` in the local repository - Fix: `gh auth login` or configure SSH keys **"rclone not found":** - User needs to install rclone on their local machine - See setup instructions above **Files not syncing:** - Verify Google Drive folder name is correct - Check rclone config on user's machine matches Manus config - Ensure user has permission to access the Google Drive folder ## Best Practices 1. **Use descriptive commit messages** - Include what changed and why 2. **Group related changes** - Don't sync every single file change individually 3. **Verify before pushing** - Check that files copied correctly 4. **Clean up Google Drive** - Remove old sync folders after successful push 5. **Test with small changes first** - Verify the workflow before large updates ## Limitations - Requires user to run script manually (can't be fully autonomous without local agent) - Depends on Google Drive as intermediary (adds latency) - User must have rclone configured on local machine - Works best for single-user workflows (not team collaboration) ## Future Improvements - Webhook-based automatic sync when files appear in Google Drive - Direct GitHub API integration (requires GitHub App or PAT) - Support for multiple repositories - Automatic conflict resolution
View on GitHub