mit einem Klick
github-workflow
// Standardized Git + GitHub workflows for AI agents. Branching, committing, PRs, reviews, CI checks.
// Standardized Git + GitHub workflows for AI agents. Branching, committing, PRs, reviews, CI checks.
Orchestrate specialized coding agents in isolated worktrees for parallel development tasks.
End-to-end skill for curated team news digests. Covers the full pipeline: team inbox (manual submissions & co-authored drafts), source aggregation (RSS, Twitter, GitHub, web search), research & fact-checking, relevance scoring, article formatting (5 templates), and scheduled delivery to Slack/Discord/WhatsApp. Handles the critical handoff between conversational sessions (where links are received) and isolated cron sessions (where digests are built).
Discover available tools, sub-agents, and skills at session start or when unsure about capabilities.
Foundational philosophy for autonomous agent work. Breaks analysis paralysis and enforces tangible output per interaction. Use when: a conversation feels circular, a session risks ending without an artifact, or an agent needs a reminder to act instead of plan. Generic -- applies to any domain or toolchain.
Qualified, critical code reviews using GitHub's pending review API. Inline comments, verification, and validation.
Periodic scan of GitHub repos for open issues. Classifies issues into actionable queues (new, needs-clarification, ready-to-implement, in-progress, blocked) and persists state across heartbeat cycles. Use when an engineering agent needs to autonomously discover and triage work.
| name | github-workflow |
| description | Standardized Git + GitHub workflows for AI agents. Branching, committing, PRs, reviews, CI checks. |
| metadata | {"category":"engineering"} |
Standardized Git + GitHub workflows for AI agents.
Use this skill for all Git operations: branching, committing, PRs, reviews, CI checks.
main โ Protected. Never push directly (shared repos).
โโโ feat/<name> โ Feature branches. One per task.
โโโ fix/<name> โ Bug fixes.
โโโ chore/<name> โ Maintenance, docs, config.
๐ก Using OpenClaw + symlinked skills? Work in the
-devworktree, not the stable copy. Seeopenclaw-skill-importskill for details.
cd <repo> # or <repo>-dev if using worktrees
git checkout main && git pull origin main
git checkout -b feat/<descriptive-name>
# Conventional Commits (required)
git add -A
git commit -m "feat: add BLE client provider
- Global keepAlive provider for connection persistence
- Scan, connect, disconnect lifecycle"
Commit message format:
feat: New featurefix: Bug fixchore: Maintenancedocs: Documentationrefactor: Code restructuringgit push origin feat/<name>
gh pr create \
--title "feat: Add BLE client provider" \
--body "## Summary
- What changed and why
## Testing
- How it was tested" \
--base main
After creating a PR, always assign yourself and apply relevant labels:
# Self-assign
gh api repos/<owner>/<repo>/issues/<pr-number>/assignees \
-X POST -f 'assignees[]=<your-github-username>'
# Check available labels
gh label list --repo <owner>/<repo>
# Apply matching labels (e.g. enhancement, bug, documentation)
gh api repos/<owner>/<repo>/issues/<pr-number>/labels \
-X POST -f 'labels[]=enhancement'
Label mapping:
| PR Type | Label |
|---|---|
feat: | enhancement |
fix: | bug |
docs: | documentation |
chore: / refactor: | (no default -- use best match if available) |
# Check PR status
gh pr checks <pr-number> --repo <owner/repo>
# View failed logs
gh run view <run-id> --repo <owner/repo> --log-failed
If a PR accidentally includes the wrong commits, edit the branch -- don't close and recreate:
# Remove the last N commits but keep changes staged
git reset --soft HEAD~N
# Or interactively pick which commits to keep
git rebase -i HEAD~N
# Force push the corrected branch -- ONLY if the branch is yours and no one else has pulled it
git push --force-with-lease origin <branch-name>
The PR stays open, history gets clean. Closing + recreating adds noise.
โ ๏ธ Force push is a last resort. Only use it on your own feature branches, never on main or shared branches. Prefer --force-with-lease over --force (safer: fails if someone else pushed in the meantime). If you find yourself force pushing often, something is wrong upstream.
# Push fixes to same branch
git add -A && git commit -m "fix: address review feedback"
git push origin feat/<name>
After pushing fixes:
Reply to each review comment -- explain what you changed, or ask a question if the finding is unclear:
# Reply to a specific review comment
gh api repos/<owner>/<repo>/pulls/<pr-number>/comments/<comment-id>/replies \
-X POST -f body="Fixed -- added null check as suggested."
Dispute findings when appropriate -- if a reviewer's conclusion is wrong, reply with reasoning directly on their comment. Don't silently ignore it.
Request re-review -- always @mention the reviewer so they know fixes are ready:
# Request re-review from the reviewer
gh api repos/<owner>/<repo>/pulls/<pr-number>/requested_reviewers \
-X POST -f 'reviewers[]=<reviewer-username>'
# Or leave a comment @mentioning them
gh pr comment <pr-number> --repo <owner>/<repo> \
--body "@<reviewer-username> Review feedback addressed -- ready for re-review. See replies on your comments for details."
gh pr merge <pr-number> --squash --delete-branch
| Task | Command |
|---|---|
| List open PRs | gh pr list --repo <owner/repo> |
| View PR details | gh pr view <number> --repo <owner/repo> |
| List issues | gh issue list --repo <owner/repo> |
| Create issue | gh issue create --title "..." --body "..." |
| Check CI runs | gh run list --repo <owner/repo> --limit 5 |
| View run logs | gh run view <id> --log-failed |
| Clone repo | gh repo clone <owner/repo> |
| Fork repo | gh repo fork <owner/repo> |
| Create repo | gh repo create <name> --public --source=. --push |
| API query | gh api repos/<owner>/<repo>/pulls --jq '.[].title' |
main on shared repos. Always PR. No exceptions -- not for docs, not for typos, not for "small" changes."fixed stuff" messages.git pull --rebase origin main to avoid merge commits.Closes #X in the PR body, but GitHub's auto-close only triggers on merge -- and the owner can always reopen if needed.feat/, fix/, docs/, chore/. Never work directly on main, even locally.Avoid Race Conditions: Before working on any PR (review, push, merge), agents MUST check if it's still open.
STATE=$(gh pr view <N> --json state --jq .state)
if [ "$STATE" != "OPEN" ]; then
echo "โ ๏ธ PR <N> is $STATE. Aborting to avoid conflicts."
exit 0
fi
ManniTheRaccoon/y-watch โ
Yesterday-AI/agentic-foundation ๐How to set up a GitHub account for a new AI agent:
Create a new GitHub account using the agent's email:
<yourname+agentname@yesterday-ai.de>
Example: alex+manni@yesterday-ai.de
ssh-keygen -t ed25519 -C "agentname@yesterday-ai.de" -f ~/.ssh/id_ed25519_agentname
~/.ssh/config:
Host github.com
IdentityFile ~/.ssh/id_ed25519_agentname
gh CLIgh auth login
ABCD-1234)gh auth statusWith a @Yesterday-AI org admin:
gh api user/repository_invitations --method GET then PATCHAuthored by ManniTheRaccoon. ๐ฆ