Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/decodingai-magazine/building-a-coding-agent-from-scratch-coursenpx agentmods add skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-3-repo-pulseWrote 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/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-3-repo-pulse)<a href="https://agentmods.dev/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-3-repo-pulse"><img src="https://agentmods.dev/badge/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-3-repo-pulse/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/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-3-repo-pulse"><img src="https://agentmods.dev/badge/skills/decodingai-magazine/building-a-coding-agent-from-scratch-course/demo-3-repo-pulse.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 18 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 36 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 37 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 40 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00052 | $0.00867 |
| Opus 5 | $0.00026 | $0.00434 |
| Sonnet 5 | $0.00010 | $0.00173 |
| Haiku 4.5 | $0.00005 | $0.00087 |
Grade A, and why
demo-3-repo-pulse 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 12d 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 — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Build a repo pulse dashboard from live data: probe the GitHub API, pull a repository's last
52 weeks of activity, analyse it, and render everything into one self-contained
.decode/outputs/dashboard.html the human can open in a browser. All files this demo produces
live under .decode/outputs/ (unless the human named a different path).
Default target repository: pydantic/pydantic-ai. If the human named a different owner/repo,
use that instead.
1. Probe the data source
Use web_fetch to look at the live API and learn the exact field names before writing any code:
https://api.github.com/repos/pydantic/pydantic-ai— notestargazers_count,forks_count,open_issues_count,description.
That one probe is enough — do not fetch the big endpoints with web_fetch; the analysis script
will pull those.
2. Write the analysis script
Write .decode/outputs/pulse.py and run it with the one dependency brought in just for the run
(do NOT add project dependencies):
uv run --with requests python .decode/outputs/pulse.py
The script must:
- GET these three endpoints (plain
requests, no auth token needed):https://api.github.com/repos/{owner}/{repo}— the headline stats.https://api.github.com/repos/{owner}/{repo}/stats/commit_activity— the last 52 weeks of commit counts, one entry per week (totalcommits + a Unixweektimestamp). The whole year arrives in this ONE request — never page through/commitsfor it.https://api.github.com/repos/{owner}/{repo}/contributors?per_page=10— top contributors with their commit counts.
- The stats endpoint answers 202 while GitHub computes the data: retry a few times with a short sleep until it answers 200 with the 52-entry list.
- Aggregate: commits per week across the 52 weeks (label each week with the ISO date of its
weektimestamp), the busiest week of the year, and the top-10 contributor leaderboard. - If the API answers 403 (rate limit), say so plainly; if
GITHUB_TOKENis set in the environment, send it as aBearerheader.
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.
- 12d ago First seen · 72 lines · 52 tokens per session scan A 82230d3419ee
demo-3-repo-pulse is a skill published in the GitHub repository decodingai-magazine/building-a-coding-agent-from-scratch-course (383 stars, last pushed 2d ago), licensed Apache-2.0. It adds 52 tokens to every session and 867 once invoked, about $0.0003 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-30.
Other skills, from other repositories
review
Review a change for correctness, security, and missing tests.
hooks
Create and manage lifecycle hooks that vixd fires automatically on agent-loop events (a tool about to run, a prompt submitted, a thread starting, a turn finishing). Use when the user wants to enforce a rule, block or rewrite a tool call, validate prompts, auto-format, notify, or react to what the agent does.
jobs
Create and manage scheduled jobs (cron tasks, reminders, heartbeat checks, polling watchers) that vixd runs automatically. Use when the user asks to schedule, automate, monitor, watch, or be reminded about something.
workflow
Author and edit vix workflows — declarative multi-step pipelines (agent/bash/tool/if/fanout/fanin nodes) stored in config/workflow.json or embedded inline in a job/hook. Use when the user asks to create, modify, or understand a workflow, or to fan work out across many items and join the results.
review-pr
Deeply review a GitHub pull request.
vix-help
Answer questions about vix itself — the TUI (keybindings, tabs, threads, slash commands), configuration (settings.json, deny lists, permissions), agents & tools, models & providers, jobs, hooks, skills, workflows, MCP servers, the brain/code intelligence, headless/CLI usage, and installation. Use whenever the user…