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 bartoszarendt/agenticloop --skill github-attributiongit clone --depth 1 https://github.com/bartoszarendt/agenticloopWrote 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/bartoszarendt/agenticloop/github-attribution)<a href="https://agentmods.dev/skills/bartoszarendt/agenticloop/github-attribution"><img src="https://agentmods.dev/badge/skills/bartoszarendt/agenticloop/github-attribution/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/bartoszarendt/agenticloop/github-attribution"><img src="https://agentmods.dev/badge/skills/bartoszarendt/agenticloop/github-attribution.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.00066 | $0.01189 |
| Opus 5.5 | $0.00026 | $0.00476 |
| Sonnet 5.5 | $0.00013 | $0.00238 |
| Haiku 4.5 | $0.00007 | $0.00119 |
Grade A, and why
github-attribution 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GitHub attribution
This skill applies only when task_backend: github is set. Files-backed
projects do not post GitHub bodies or comments and do not use these trailers; see
agenticloop/backends/files.md.
When multiple agent roles share one GitHub token, GitHub's author field cannot identify which role wrote a comment. Agentic Loop uses a cooperative text trailer for role attribution.
This is not cryptographic. Treat missing or malformed attribution as unknown.
Body trailer
End every agent-authored issue, pull request, or comment body with one final line:
[[agent: orchestrator]]
[[agent: maintainer]]
[[agent: engineer]]
Use exactly one actual authoring role. Put the trailer after a blank line at the
end of the body. The accepted forms are [[agent: engineer]],
[[agent: maintainer]], and [[agent: orchestrator]].
Commit trailer
End every agent-authored commit message with:
Task: T-001
Agent: engineer
Use the linked issue's non-empty frontmatter task_id when it exists. For a
legacy issue without task_id, use its number instead, for example:
Task: #42
Agent: engineer
The body role and Agent: value must agree exactly. The Agent: value must be
the exact lowercase canonical roleId; a capitalized spelling such as
Agent: Engineer is rejected. The repair shape is always one final body trailer
[[agent: <role>]] and one final commit trailer pair
Task: <resolved task id> / Agent: <role>.
Prospective commit flow
Do not hand-author the message. task commit-message writes it, with the
canonical trailer block already in place and the role derived from the commit
class:
npx agenticloop task commit-message <task-id> --class <commit-class> --subject <text> --output .agenticloop/tmp/<task>-commit-message.txt
npx agenticloop commit-attribution check --task <task-id> --message-file .agenticloop/tmp/<task>-commit-message.txt
git commit -F .agenticloop/tmp/<task>-commit-message.txt
npx agenticloop commit-attribution check --task <task-id>
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.
- 1mo ago First seen · 134 lines · 66 tokens per session scan A 49c0deba0630
github-attribution is a skill published in the GitHub repository bartoszarendt/agenticloop (2 stars, last pushed 1mo ago), licensed MIT. It adds 66 tokens to every session and 1,189 once invoked, about $0.0003 per session on Opus 5.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
01-commit
Create atomic conventional commits; safely retry scoped hook fixes; optionally push. Use when the user wants to commit changes, optionally pushing the branch. Not for amending, rebasing, opening a pull request, or tagging a release.
commit
Atomic git commit with conventional message. Use when the user says "commit", "save my changes", "commit this", or wants to create a git commit. Stages specific files, writes a conventional commit message with body explaining non-obvious decisions. Never uses git add -A.
akigitcommit
Analyze the working tree and commit changes in clean logical groups. Triages a long half-finished tree first (finished vs mid-edit vs abandoned vs accidental) before grouping. Auto-detects CHANGELOG to switch between domain-grouped mode (3–5 commits by object/feature) and type-grouped mode (feat/fix/refactor). Stages…
ship-change
Ship an OpenSpec change after openspec-apply completes. When only QA/manual tasks remain, marks them done (tested later), archives + syncs specs, commits, pushes, opens a PR against develop, watches CI, waits for CodeRabbit, auto-applies safe fixes and re-pushes, loops until CI green + no actionable review threads…
commit-all
Use this skill when the user asks to "commit all", "commit everything", or wants all outstanding changes committed. Groups unrelated changes into separate, well-described commits instead of one catch-all commit.
commit
Draft and create a git commit for staged changes. Use when asked to commit.