Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add attentiondotnet/davidondrej-skills --skill push-skill-to-githubgit clone --depth 1 https://github.com/attentiondotnet/davidondrej-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/attentiondotnet/davidondrej-skills/push-skill-to-github)<a href="https://agentmods.dev/skills/attentiondotnet/davidondrej-skills/push-skill-to-github"><img src="https://agentmods.dev/badge/skills/attentiondotnet/davidondrej-skills/push-skill-to-github/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/attentiondotnet/davidondrej-skills/push-skill-to-github"><img src="https://agentmods.dev/badge/skills/attentiondotnet/davidondrej-skills/push-skill-to-github.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00091 | $0.00579 |
| Opus 5 | $0.00046 | $0.00290 |
| Sonnet 5 | $0.00018 | $0.00116 |
| Haiku 4.5 | $0.00009 | $0.00058 |
Grade A, and why
push-skill-to-github scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Push Skills to GitHub
For committing any skill change to the user's private skills repo: your-org/private-skills, git root ~/.agents (this is also the canonical skill folder; .claude and .pi/agent/skills symlink to ~/.agents/skills). Pushes here auto-publish a sanitized public mirror to your-org/skills — never push directly to that public repo.
Use this after creating or editing a skill. If the skill is distributed to all agents, do that first (distribute-skill-to-all-agents), then run this to push the canonical copy.
Steps
Not in cmux? (no $CMUX_WORKSPACE_ID): skip the cmux pane steps — just run the git commands from step 2 directly in any available terminal, then verify the push output.
- Open a fresh cmux pane in the current workspace, no focus steal:
cmux new-pane --type terminal --direction right --workspace "$CMUX_WORKSPACE_ID" --focus false cmux list-panes --workspace "$CMUX_WORKSPACE_ID" # note the NEW pane + its surface ref - Stage, commit, push in
~/.agents(send to the new pane's surface):cmux send --surface surface:NEW 'cd ~/.agents && git add -A && git commit -m "<concise message>" && git push' cmux send-key --surface surface:NEW enter - Verify the push landed:
sleep 2 cmux read-screen --surface surface:NEW | tail -15 # expect "main -> main" - Close the pane once confirmed:
cmux close-surface --surface surface:NEW cmux list-panes --workspace "$CMUX_WORKSPACE_ID" # confirm the pane is gone
Notes
- Always run git from
~/.agents(the repo root), not~/.agents/skills. - Write a concise, specific commit message describing the skill change.
- Only push to GitHub when the user asks. Don't push speculatively.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 41 lines · 91 tokens per session scan A 260495ed4634
push-skill-to-github is a skill published in the GitHub repository attentiondotnet/davidondrej-skills (11 stars, last pushed 2mo ago), licensed MIT. It adds 91 tokens to every session and 579 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
prowler-commit
Creates professional git commits following conventional-commits format. Trigger: When creating commits, after completing code changes, when user asks to commit.
gh-auth-isolation
Safely manage multiple GitHub identities (EMU + personal) in agent workflows.
comet-github
A routing guide for Comet-related GitHub work. It directs requests about pull requests, issues, CI failures, ideas, and fixes to the appropriate review or implementation process.
github-skill
Work with GitHub via the gh CLI — clone repositories, create/list/merge pull requests, create/list issues, and run any other gh command (API calls, workflow runs, releases, repo administration). List operations return parsed JSON.
re0-merge
Review and land an external contribution the way this suite does: gate it against the thesis, land it with the author's credit intact, complete a new skill rather than merging it raw, then approve, credit, and explain before closing. Use when reviewing a pull request, as any collaborator or maintainer, not only the…
codex-autoresearch
Run autonomous, measurable experiments in a Git repository: change one hypothesis, verify a numeric metric, keep improvements, and revert failures. Use when the user wants Codex to keep iterating toward a numeric target in the foreground or as a detached background run. Do not use for ordinary one-shot coding…