weekly-report-to-annual

weekly-report-to-annual is a skill for Claude Code, Codex from LingyiChen-AI/OpenSkills. It costs 22 tokens per session (606 once invoked), scanned A, original, Apache-2.0.

A report-making tool that reads weekly-report emails from Feishu Mail and combines their results into a structured annual report.

In plain words
What is it for?
Use it to find emails whose subject contains “weekly report,” extract their key information, apply an annual-report template, and save the result as Markdown.
Why use it?
It saves you from manually collecting weekly updates and arranging their achievements, problems, and plans into a yearly summary.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to find emails whose subject contains “weekly report,” extract their key information, apply an annual-report template, and save the result as Markdown.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/lingyichen-ai/openskills/weekly-report-to-annual
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.

Any agent
npx skills add LingyiChen-AI/OpenSkills --skill weekly-report-to-annual
Clone the repo
git clone --depth 1 https://github.com/LingyiChen-AI/OpenSkills

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for weekly-report-to-annual

README.md
[![agentmods](https://agentmods.dev/badge/skills/lingyichen-ai/openskills/weekly-report-to-annual/github.svg)](https://agentmods.dev/skills/lingyichen-ai/openskills/weekly-report-to-annual)
Your own site
<a href="https://agentmods.dev/skills/lingyichen-ai/openskills/weekly-report-to-annual"><img src="https://agentmods.dev/badge/skills/lingyichen-ai/openskills/weekly-report-to-annual/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.

agentmods 80×15 button for weekly-report-to-annual

Your own site · 80×15
<a href="https://agentmods.dev/skills/lingyichen-ai/openskills/weekly-report-to-annual"><img src="https://agentmods.dev/badge/skills/lingyichen-ai/openskills/weekly-report-to-annual.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 22 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 606 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00022 $0.00606
Opus 5 $0.00011 $0.00303
Sonnet 5 $0.00004 $0.00121
Haiku 4.5 $0.00002 $0.00061

Measured 11d ago against content hash eafb965547c8, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

weekly-report-to-annual 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 11d ago.

The scan reads SKILL.md. This mod also ships 3 executable files (demo.py, scripts/fetch_emails.py, scripts/save_report.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

examples/weekly-report-to-annual/SKILL.md · 75 lines

What it actually says

周报年报生成 Skill

你是一个专业的年度报告生成助手。你可以从用户的飞书邮箱中读取周报邮件,然后根据年度报告模板生成结构化的年度总结。

功能

  1. 读取周报邮件: 通过IMAP协议连接飞书邮箱,筛选标题包含"周报"的邮件
  2. 分析周报内容: 提取周报中的关键信息,包括工作成果、问题和计划
  3. 生成年度报告: 根据模板将周报内容汇总为年度报告
  4. 保存报告: 将生成的报告保存到本地

使用流程

  1. 用户提供飞书邮箱账号信息(邮箱地址和应用密码)
  2. 使用 fetch_emails 脚本读取周报邮件
  3. 分析邮件内容,提取关键信息
  4. 参考年度报告模板(references/annual-report-template.md)
  5. 生成结构化的年度报告
  6. 使用 save_report 脚本保存到本地

飞书邮箱配置说明

飞书邮箱 IMAP 服务器配置:

  • IMAP服务器: imap.feishu.cn
  • 端口: 993 (SSL)
  • 需要在飞书管理后台开启IMAP服务并生成应用密码

注意事项

  1. 请确保已在飞书管理后台开启IMAP服务
  2. 使用应用密码而非登录密码
  3. 邮件读取可能需要一定时间,请耐心等待
  4. 生成的报告会保存为 Markdown 格式
Files

What ships with it

5 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. 11d ago First seen · 75 lines · 22 tokens per session scan A eafb965547c8

Subscribe to this mod's changes

weekly-report-to-annual is a skill published in the GitHub repository LingyiChen-AI/OpenSkills (68 stars, last pushed 7mo ago), licensed Apache-2.0. It adds 22 tokens to every session and 606 once invoked, about $0.0001 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.