← All skills
activity-report
50 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By delorenj/skills (GitHub) · coding · 17 stars · scanned at commit ff21323
Produce a periodic project update for one pjangler project and one declared audience (internal or external), from Candystore, git, the ticket board and Hindsight, rendered as plain text, markdown and a self-contained HTML artifact, and emitted as one bloodbank.project.activity.recorded event. Use for "daily update", "client update", "internal update", "what did we ship", "periodic update", "activity report", "portal update", the nightly 03:00 run, a catch-up for a skipped window, or re-writing …
Works with any agent that supports SKILL.md skills.
What this skill can do
Changes files outside its own folder
The author does not mention this.
Found in 3 places.
Connects to the internet
The author does not mention this.
Found in 19 places.
Show 16 more
- activity-report/scripts/ar/board.py, line 210
items = fetch() - activity-report/scripts/ar/candystore.py, line 27
import urllib.request - activity-report/scripts/ar/candystore.py, line 89
req = urllib.request.Request(url, headers={"Accept": "application/json", "User-Agent": "activity-report"}) - activity-report/scripts/ar/candystore.py, line 91
with urllib.request.urlopen(req, timeout=timeout) as resp: - activity-report/scripts/ar/portal.py, line 21
import urllib.request - activity-report/scripts/ar/portal.py, line 80
req = urllib.request.Request( - activity-report/scripts/ar/portal.py, line 89
with urllib.request.urlopen(req, timeout=TIMEOUT) as resp: - activity-report/scripts/ar/verify.py, line 14
import urllib.request - activity-report/scripts/ar/verify.py, line 36
with urllib.request.urlopen(events_url(), timeout=10) as resp: - activity-report/scripts/tests/test_board.py, line 410
with mock.patch.object(board.urllib.request, "urlopen", fake_urlopen): - activity-report/scripts/tests/test_board.py, line 427
with mock.patch.object(board.urllib.request, "urlopen", fake_urlopen): - activity-report/scripts/tests/test_board.py, line 435
with mock.patch.object(board.urllib.request, "urlopen", fake_urlopen): - activity-report/scripts/tests/test_portal.py, line 154
mock.patch("urllib.request.urlopen", side_effect=fake_urlopen): - activity-report/scripts/tests/test_portal.py, line 171
mock.patch("urllib.request.urlopen", return_value=Resp(json.dumps({"success": False, "errors": [{"code": 7}]}).encode())): - activity-report/scripts/tests/test_verify.py, line 64
with mock.patch("urllib.request.urlopen") as urlopen: - activity-report/scripts/tests/test_verify.py, line 65
urlopen.return_value.__enter__.return_value = fake
Runs commands on your computer
The author does not mention this. Expected for a coding skill.
Found in 31 places.
Show 17 more
- activity-report/scripts/ar/config.py, line 130
proc = subprocess.run( - activity-report/scripts/ar/config.py, line 136
except subprocess.TimeoutExpired as exc: - activity-report/scripts/ar/config.py, line 292
proc = subprocess.run(["git", "-C", root, "worktree", "list", "--porcelain"], - activity-report/scripts/ar/config.py, line 294
except (OSError, subprocess.TimeoutExpired): - activity-report/scripts/ar/config.py, line 387
check = subprocess.run(["git", "-C", project.repo_path, "check-ignore", "-q", probe], - activity-report/scripts/ar/emit.py, line 62
proc = subprocess.run(cmd, input=payload, capture_output=True, text=True, timeout=STEP_TIMEOUT) - activity-report/scripts/ar/emit.py, line 65
except subprocess.TimeoutExpired: - activity-report/scripts/ar/gitscan.py, line 39
proc = subprocess.run(["git", "-C", cwd, *args], capture_output=True, text=True, errors="replace", - activity-report/scripts/ar/gitscan.py, line 43
except subprocess.TimeoutExpired as exc: - activity-report/scripts/ar/hindsight.py, line 44
proc = subprocess.run(args, capture_output=True, text=True, errors="replace", timeout=timeout, check=False) - activity-report/scripts/ar/hindsight.py, line 47
except subprocess.TimeoutExpired as exc: - activity-report/scripts/ar/portal.py, line 64
proc = subprocess.run(["op", "read", ref], capture_output=True, text=True, timeout=60) - activity-report/scripts/ar/portal.py, line 67
except subprocess.TimeoutExpired as exc: - activity-report/scripts/ar/schedule.py, line 97
def _systemctl(*args: str) -> subprocess.CompletedProcess: - activity-report/scripts/ar/schedule.py, line 100
return subprocess.run(["systemctl", "--user", *args], capture_output=True, text=True, check=False) - activity-report/scripts/ar/schedule.py, line 107
proc = subprocess.run(["loginctl", "show-user", user, "--property=Linger"], - activity-report/scripts/ar/schedule.py, line 176
journal = subprocess.run(["journalctl", "--user", "-u", service, "-n", "20", "--no-pager"],
and 11 more places
Reads your saved credentials, such as SSH keys or .env files
The author does not mention this.
Found in 1 place.
Can call paid AI services billed to you
The author does not mention this.
Found in 1 place.
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'activity-report' ] || [ -L ~/.agents/skills/'activity-report' ]; then echo 'A skill folder named activity-report already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/delorenj/skills' "$d" && git -C "$d" checkout --quiet 'ff2132360c4a12602f752a491f896043cb60584a' -- 'activity-report' && mkdir -p ~/.agents/skills && cp -R "$d"/'activity-report' ~/.agents/skills/'activity-report' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'activity-report' ~/.claude/skills/'activity-report' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for delorenj/skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/delorenj/skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-09 | ff21323 | 50 |
| 2026-11-07 | f5cafc3 | 50 |