weekly-report

A macOS-only workflow for producing a structured Chinese weekly software-development report from work records and project sources. It can gather information from Obsidian, Feishu, GitLab, GitHub, and local Git, then write the reviewed report to Obsidian and propose next week's calendar entries.

In plain words
What is it for?
Use it to prepare alternating large-week and small-week reports, collect repository and project activity, draft a manager-readable summary, update an Obsidian journal, and schedule the next week's plan in Apple Calendar.
Why use it?
It brings scattered development activity into one report and compares planned work with what was actually completed.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/niracler/skill/weekly-report
Any agent
npx skills add niracler/skill --skill weekly-report
Clone the repo
git clone --depth 1 https://github.com/niracler/skill

Made for: Claude Code, Codex.

Per session 82 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,676 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00082 $0.01676
Opus 5 $0.00041 $0.00838
Sonnet 5 $0.00016 $0.00335
Haiku 4.5 $0.00008 $0.00168

Measured 2d ago against content hash eb443a4670c1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

weekly-report 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 2d 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.

plugins/personal/skills/weekly-report/SKILL.md · 128 lines

How it starts

The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.

软件研发周报

从 Obsidian、飞书项目、GitLab、GitHub 和本地 Git 收集事实,生成主管可读的中文周报。 审阅完成后写回 Obsidian,并把下周计划安排到 Apple Calendar。

前置条件

工具或资源 类型 必需 安装或配置方式
Git cli brew install git
Node.js cli brew install node
Obsidian system 提供已存在且包含工作日志的 vault
macOS Calendar system macOS 内置,通过 osascript 访问
meegle cli npx @lark-project/meegle@latest install
GitLab MCP mcp 在 Codex MCP 配置中启用已安装的 GitLab MCP,设置自建地址和访问令牌,再重启会话
gh cli brew install gh,然后运行 gh auth login

加载 Skill 时不要主动检查环境。进入采集流程后执行一次预检;工具缺失、未认证、配置 错误或权限不足时停止生成,直接给出表格中的安装或配置步骤,处理完成后再继续。网络 超时、远程服务异常等临时故障无论在预检还是采集阶段发生,都按数据源说明降级。

工作流

按以下顺序执行:

  1. 确认目标周、大小周类型、报告周期和 Obsidian 目标日记。
  2. 读取最近一期历史周报。
  3. data-sources.md 收集并核对所有必需数据源。
  4. 合并重复事项,对比上周计划与本周实际。
  5. report-template.md 生成草稿。
  6. 等待审阅,确认后写回 Obsidian。
  7. calendar-scheduling.md 生成下周日程建议,确认后写入 Apple Calendar。

大小周与报告周期

  • 大周:周一至周六,周六属于工作日。
  • 小周:周一至周五。
  • 大周和小周逐周交替;下一周类型与当前周相反。
  • 周报标题必须包含「大周」或「小周」,作为后续自动判断的基准。

先扫描最近一篇带大小周标记的历史周报,取其标题日期和类型。计算历史周周一与目标周周一 之间相差的完整周数:偶数周沿用历史类型,奇数周切换类型。没有历史标记、日期无法解析或 结果存在歧义时,请求确认目标周是大周还是小周,不得按自然周单双号猜测。

报告周期与目标日记按周类型确定:

周类型 报告周期 目标日记
大周 周一 00:00 至周日 00:00,结束时间不包含 周六日记
小周 周一 00:00 至周六 00:00,结束时间不包含 周五日记

周日触发时默认处理刚结束的一周。目标周尚未到最后一个工作日时,先说明报告不完整并请求 确认;未确认时不要生成。目标日记、vault 或 ## 2 Work Log 无法唯一定位时请求路径, 不要自行创建缺失资源。

历史周报

扫描最近 21 天的日记,查找标题 ### 软件研发周报,从最近一篇提取:

  1. 大小周类型与日期范围。
  2. 「下周工作计划」,作为计划与实际的比较基准。
  3. 项目显示名称、分组方式、语气和格式。

没有历史周报时跳过计划比较,但仍需确认本周类型。

合并与生成

数据优先级

优先级 数据源 主要用途
1 Obsidian 工作日志 背景、决策、理由和业务结果
2 飞书项目 工作项状态、负责人和排期
3 GitLab / GitHub MR、PR 和 Issue 事实
4 本地 Git 补充遗漏并核对事实

按项目、标题、工作项链接、分支和描述判断同一事项。多个来源指向同一工作时合并为一条, 不要把工具记录逐条复制进周报。

计划完成情况

状态 处理方式
已完成 写入「本周工作总结」
部分完成 在总结中说明进度,并顺延到「下周工作计划」
未开始 写入「其他事项」,已知原因时一并说明
计划外完成 作为新增成果写入「本周工作总结」

Read the full file on GitHub · 128 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

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.

  1. 2d ago First seen · 128 lines · 82 tokens per session scan A eb443a4670c1

Subscribe to this mod's changes

weekly-report is a skill published in the GitHub repository niracler/skill (11 stars, last pushed 1mo ago), licensed MIT. It adds 82 tokens to every session and 1,676 once invoked, about $0.0004 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.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

babysit-pr

Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…

openai/codex · 114 tokens

imagegen

Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…

openai/codex · 113 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

next-cache-components-optimizer

Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…

vercel/next.js · 170 tokens