Agentops push
Test, commit, and push in one atomic workflow. Runs Go and Python tests, commits with conventional message, pushes to current branch.
install
source · Clone the upstream repo
git clone https://github.com/boshu2/agentops
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/boshu2/agentops "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills-codex/push" ~/.claude/skills/boshu2-agentops-push && rm -rf "$T"
manifest:
skills-codex/push/SKILL.mdsource content
Push Skill
Atomic test-commit-push workflow. Catches failures before they reach the remote.
Steps
Step 1: Detect Project Type
Determine which test suites apply:
- Go: Check for
(orgo.mod
). If found, Go tests apply.cli/go.mod - Python: Check for
,requirements.txt
, orpyproject.toml
. If found, Python tests apply.setup.py - Shell: Check for modified
files. If found, shellcheck applies (if installed)..sh
Step 2: Run Tests
Run ALL applicable test suites. Do NOT skip any.
Go projects:
cd cli && go vet ./... cd cli && go test ./... -count=1 -short
Python projects:
python -m pytest --tb=short -q
Shell scripts (if shellcheck available):
shellcheck <modified .sh files>
If ANY test fails: STOP. Fix the failures before continuing. Do not commit broken code.
Step 3: Stage Changes
git add <specific files>
Stage only the files relevant to the current work. Do NOT use
git add -A unless the user explicitly requests it. Review untracked files and skip anything that looks like secrets, temp files, or build artifacts.
Step 4: Write Commit Message
Write a conventional commit message based on the diff:
- Use conventional commit format:
type(scope): description - Types:
,feat
,fix
,refactor
,docs
,test
,chore
,styleperf - Keep subject line under 72 characters
- Focus on WHY, not WHAT
Step 5: Commit
git commit -m "<message>"
Step 6: Sync with Remote
git pull --rebase origin $(git branch --show-current)
If rebase conflicts occur: resolve them, re-run tests, then continue.
Step 7: Push
git push origin $(git branch --show-current)
Step 8: Report
Output a summary:
- Files changed count
- Tests passed (with suite names)
- Commit hash
- Branch pushed to
Guardrails
- NEVER push to
ormain
without explicit user confirmationmaster - NEVER stage files matching:
,.env*
,*credentials*
,*secret*
,*.key*.pem - If tests were not run (no test suite found), WARN the user before committing
- If
fails, do NOT force push — ask the usergit pull --rebase - Do NOT run
after the remote push. If session closeout is needed, finish it throughao codex stop
,$validation
, or$post-mortem
before entering$handoff$push
Local Resources
scripts/
scripts/validate.sh