agentleFS
grasscaograssgrasscaograss/AwesomeWeldoneSkills/periodic-review/SKILL.md

periodic-review

Skill2 starsChanged 6 months agoApache-2.0View on GitHub

Generate monthly or yearly project review summaries with domain-aware knowledge evolution tracking. Collects from archive/records/, git log, archive/knowledge/ (grouped by domain), and archive/adr/ for the given period. Use when user says "monthly review", "yearly summary", "quarterly review", calls /periodic-review, or mentions "总结", "回顾", "月报", "年报".

2 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No argument: previous calendar month

    line 20
  2. Distinctive:

    Run these collections simultaneously:

    line 26
  3. Very specific:

    Create archive/reviews/YYYY-MM.md (monthly) or archive/reviews/YYYY.md (yearly).

    line 100
  4. Very specific:

    Add the review entry under ## Reviews:

    line 147

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Periodic Review

Quick start

/periodic-review              → default: previous calendar month
/periodic-review 2026-05      → specific month
/periodic-review 2026         → full year (Jan–Dec)

Workflow

1. Determine time range

  • No argument: previous calendar month
  • YYYY-MM: that specific month
  • YYYY: January–December of that year

2. Collect materials (parallel)

Run these collections simultaneously:

SourceMethodPurpose
RecordsList files under archive/records/ with date within range设计决策和实现记录
Git loggit log --after=<start> --before=<end> --oneline --stat变更统计
KnowledgeList files under archive/knowledge/ modified in range, grouped by subdirectory领域知识演进
ADRsFiles under archive/adr/ or docs/adr/ created or modified in range架构决策

3. Domain-grouped knowledge collection

Knowledge 目录按领域子文件夹组织。统计每个领域的变化情况:

archive/knowledge/
├── dual-arm/           双臂系统
├── weld-template/      焊接模板
├── weld-seam/          焊缝规划
├── coarse-positioning/ 粗定位
├── scanning/           精定位与扫描
├── capacity/           产能统计
├── weld-tracking/      焊接跟踪
├── coordinate/         坐标与矩阵
├── workflow/           状态机与工作流
├── frontend/           前端界面
├── device-robot/       设备与机器人
└── tools/              工具与其他

对每个领域子文件夹,收集以下信息:

  1. 当前文件数 — 列出目录下所有 .md 文件
  2. 期内的变化 — 通过 git log --diff-filter=ACDMR -- <path> 获取新增(A)、修改(M)、删除(D)、重命名(R)的文件
  3. 变化摘要 — 读取每个变更文件的 TL;DR 行(标题后的 blockquote)

4. Domain health assessment

对每个领域计算健康指标:

指标阈值状态
文件数 ≤ 5基线—
文件数 > 10可能膨胀⚠️ Bloat
文件数 > 15强烈建议拆分🔴 Oversized
期内新增 > 3快速增长📈 Growth
期内无变化稳定Stable
单文件目录疏离⚠️ Isolated

5. Deep analysis for active domains

对期内变化 ≥ 3 个文件的领域,spawn 一个子 agent 进行深度分析:

Prompt 模板:

分析 archive/knowledge/<domain>/ 目录下近期(<period>)的变化趋势。

读取该目录下所有文件的 TL;DR,结合 archive/records/ 中与该领域相关的记录。

回答:
1. 这个领域在做什么方向上的演进?
2. 是否有反复修改同一概念的情况?(暗示设计不稳定)
3. 是否有知识碎片化的迹象?(多个文件描述同一子主题)
4. 对该领域的下一步建议。

如果任意领域文件数 > 15,或变化 ≥ 5 个文件,在 Open items 中添加建议:

⚠️ <domain>/ 文件数达到 N,增长过快。建议执行 /knowledge-reorg 检查是否需要拆分。

6. Generate review document

Create archive/reviews/YYYY-MM.md (monthly) or archive/reviews/YYYY.md (yearly).

Structure:

# Review: <period>

> **TL;DR**: <one-paragraph summary of the period>

## Key decisions

<Major decisions made this period, with links to records/ADRs.
每个决策一行,附关键 tag。>

## Completed work

<Summary from records + git log. Group by theme/topic.
保留 commit 统计摘要(文件数、增删行数)。>

## Knowledge evolution by domain

### <domain>/(+N 文件)
- 新增 <filename>.md — <TL;DR 摘要>
- 修改 <filename>.md — <变更要点>
- 删除 <filename>.md — <原因>

(仅列出有变化的领域,按变化量降序排列。无变化的领域省略。)

## Domain health

| Domain | Files | Changes | Status |
|--------|-------|---------|--------|
| dual-arm | 5 | +2 | 📈 Growth |
| workflow | 7 | 0 | Stable |
| weld-seam | 5 | +5 | ⚠️ Bloat |
| ... | ... | ... | ... |

(列出全部领域,按活跃度降序排列。活跃度 = 变化文件数,同排名按文件数降序。)

## Open items

<Work started but not completed. Decisions deferred. Risks to watch.
包含来自步骤 5 的深度分析结论和 /knowledge-reorg 建议。>

7. Update archive/INDEX.md

Add the review entry under ## Reviews:

- [YYYY-MM](archive/reviews/YYYY-MM.md) — <one-line summary>

For yearly: - [YYYY](archive/reviews/YYYY.md) — <one-line summary>

Execution checklist

完成 review 后确认以下步骤均已完成:

  • 时间范围已确定
  • Records / Git log / Knowledge / ADRs 四类材料已收集
  • 领域变化统计已完成
  • Domain health 表已生成
  • 变化 ≥ 3 的领域已触发深度分析
  • 文件数 > 15 的领域已标记 /knowledge-reorg 建议
  • Review 文档已写入 archive/reviews/
  • archive/INDEX.md 的 ## Reviews 已更新

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.