with one click
today
// Syncs daily working repos, resolves user-approved divergence, then walks through the current platform TODO file.
// Syncs daily working repos, resolves user-approved divergence, then walks through the current platform TODO file.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | today |
| description | Syncs daily working repos, resolves user-approved divergence, then walks through the current platform TODO file. |
Syncs daily working repos, resolves user-approved divergence, then walks through the current platform TODO file.
git pull and git pushRead required directives — before touching any repo, read and follow:
~/ai/directives/when-making-changes-in-a-directory-that-is-also-a-git-repo.md~/ai/directives/gitea.md~/ai/directives/resume-sh.md~/ai/directives/when-creating-or-cloning-a-git-repo.md~/ai/directives/storing-secrets.md, if it existsDetect the host OS — run uname -s and record the result:
Darwin → macOS; set $OS_LABEL=macLinux → check /etc/os-release for ID=fedora → $OS_LABEL=fedora; ID=debian → $OS_LABEL=rpiRun check-git-repos — discover repos that need attention:
$OS_LABEL=mac, run: ~/bin/check-git-repos --ignore-prefix~/bin/check-git-reposCheck repo state — for each path flagged by check-git-repos:
.git/ directories below the repo root. If found, warn the user and ask which repo should receive any changes before proceeding in that path.git status --short --branch and tell the user about modified, deleted, renamed, and untracked files before taking action.git add -A.Pull safely — fetch and inspect upstream before merging:
git fetch --prune.git rev-parse --abbrev-ref HEAD and git rev-parse --abbrev-ref --symbolic-full-name @{u}.git log --oneline @{u}..HEAD, if any.git log --oneline HEAD..@{u}, if any.git pull --ff-only.git diff --stat HEAD...@{u}
git diff HEAD...@{u}
Then ask whether to merge the remote changes into the local branch. Do not merge until the user confirms.Resolve divergence — when the user approves a merge:
git merge @{u}.git status --short and show conflict diffs with git diff.Merge remote changes for daily sync
Push when needed — after pull or merge handling:
git status --short --branch.git push.Open the platform TODO file — using $OS_LABEL detected in step 2, select:
mac -> ~/todo/mac/TODO.mdfedora -> ~/todo/fedora/TODO.mdrpi -> ~/todo/rpi/TODO.mdWalk through TODO items — read the selected TODO.md top-to-bottom. For each line:
TODO.md. Do not reorder or modify other lines.Commit TODO removals — if any lines were removed from the platform TODO file:
TODO.md.TODO.md and commit:
git -C ~/todo add <platform>/TODO.md
git -C ~/todo commit -m "todo: mark completed items done on <platform>"
~/todo.Final report — summarize:
check-git-repos was fetched and either pulled, merged with user approval, pushed with user approval, or explicitly reported as skipped because it lacked an upstream or had an unresolved issue.TODO.md.mac is macOS, rpi is Raspberry Pi Debian Linux, and fedora is Fedora Linux on Intel.run-through-my-os-todos.