Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

engineering-retro工程复古

Agent Skill

engineering-retro 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

915

周安装

37

GitHub Stars

216

下载量

287
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:engineering-retro(工程复古)
来源仓库:https://github.com/mathews-tom/armory
仓库路径:skills/engineering-retro
安装命令:
npx skills add https://github.com/mathews-tom/armory --skill engineering-retro
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/mathews-tom/armory --skill engineering-retro

简介

基于 Git 历史生成结构化工程复盘报告,支持时间窗口与目录范围筛选。

  • 仅读取不修改文件,可选输出 JSON 快照供后续分析使用。
  • 适用于追踪近期变更密度、合并冲突频率等技术健康度指标。
  • 执行前请确认仓库规模合理,避免过大导致分析超时或资源占用过高。
  • engineering-retro 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Engineering Retrospective

Generate a structured, git-based engineering retrospective for a configurable time window. This is a read-only analysis — no files are modified except the optional JSON snapshot.

Arguments

/engineering-retro [TIME_WINDOW] [PATH_SCOPE]
  • TIME_WINDOW (optional): 24h, 7d (default), 14d, 30d
  • PATH_SCOPE (optional): restrict analysis to a subdirectory (monorepo support), e.g. services/api

Examples:

  • /engineering-retro — last 7 days, full repo
  • /engineering-retro 30d — last 30 days, full repo
  • /engineering-retro 14d services/api — last 14 days, scoped to services/api/

Execution Steps

Step 1: Environment Detection

Detect runtime context before any analysis:

# Default branch
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
if [ -z "$DEFAULT_BRANCH" ]; then
  DEFAULT_BRANCH=$(git remote show origin 2>/dev/null | grep 'HEAD branch' | awk '{print $NF}')
fi

# System timezone
TZ_NAME=$(date +%Z)

# Time window — convert argument to --since format
# 24h → "24 hours ago", 7d → "7 days ago", 14d → "14 days ago", 30d → "30 days ago"

If DEFAULT_BRANCH detection fails, abort with an error — do not guess.

Step 2: Gather Raw Git Data

Collect commits within the time window on the detected default branch:

# All commits in window (with optional path scope)
git log origin/$DEFAULT_BRANCH --since="$SINCE" --format="%H|%aI|%aN|%s" -- $PATH_SCOPE

# Diff stats for the window
git log origin/$DEFAULT_BRANCH --since="$SINCE" --numstat --format="%H" -- $PATH_SCOPE

Capture: commit hash, author date (ISO), author name, subject line, files changed, insertions, deletions.

Step 3: Compute Aggregate Metrics

From the raw data, compute:

  • Total commits in window
  • Unique contributors (distinct author names)
  • Files changed (unique file paths across all commits)
  • Lines added (sum of insertions)
  • Lines removed (sum of deletions)
  • Net delta (added - removed)
  • Avg commit size (total lines changed / total commits)

Step 4: Time Distribution

Analyze commit timestamps (converted to system timezone $TZ_NAME):

  • Commits by day of week: Mon-Sun histogram
  • Commits by hour: 0-23 histogram
  • Peak day: day with most commits
  • Peak hours: hours with most activity

Present as a compact text histogram.

Step 5: Session Analysis

Group commits into work sessions using a >2 hour gap as a session boundary:

  1. Sort commits by author and timestamp
  2. For each author, iterate chronologically — if gap between consecutive commits exceeds 2 hours, start a new session
  3. Compute per-session: duration (first commit to last commit), commit count
  4. Aggregate: total sessions, average session length, longest session, average commits per session

Sessions with a single commit get a default duration of 0 (point-in-time).

Step 6: Commit Type Classification

Classify each commit using conventional commit prefixes from the subject line:

Prefix patternCategory
feat:, feat(feature
fix:, fix(, bugfixfix
refactor:, refactor(refactor
chore:, chore(, build:, ci:chore
docs:, doc:docs
test:, tests:test
perf:perf
style:style

For commits without conventional prefixes, apply diff heuristics:

  • Primarily new files added → feature
  • Primarily deletions → refactor
  • Test files only → test
  • Config/CI files only → chore
  • Documentation files only → docs
  • Otherwise → uncategorized

Report counts and percentages per category.

Step 7: Hotspot Analysis

Identify the top 10 most-modified files by number of commits touching them:

git log origin/$DEFAULT_BRANCH --since="$SINCE" --name-only --format="" -- $PATH_SCOPE | sort | uniq -c | sort -rn | head -20

Flag any file modified in >50% of total commits as a hotspot. Hotspots indicate:

  • Active area of development (expected during feature work)
  • Potential coupling issues (if unrelated commits keep touching the same file)
  • Possible need for decomposition (if the file is large)

Step 8: PR Analysis

If the remote is GitHub (check git remote get-url origin for github.com):

# Merged PRs in window
gh pr list --state merged --base $DEFAULT_BRANCH --search "merged:>=$SINCE_DATE" --json number,title,author,mergedAt,additions,deletions,changedFiles,reviews

Compute:

  • Total merged PRs
  • Size distribution: S (<50 lines), M (50-200), L (200-500), XL (>500)
  • Review turnaround: time from PR creation to first review (median, p90)
  • Merge turnaround: time from PR creation to merge (median, p90)

If not a GitHub remote or gh is unavailable, skip this step and note it in the output.

Step 9: Focus Score

Compute the ratio of focused commits (touching 3 or fewer files) to total commits:

focus_score = commits_touching_le_3_files / total_commits

Interpretation:

  • >0.8: highly focused, small incremental changes
  • 0.5-0.8: moderate focus, mix of targeted and broad changes
  • <0.5: broad changes dominating, may indicate large refactors or low commit discipline

Step 10: Per-Author Breakdown

For each contributor, report:

  • Commit count
  • Lines added / removed
  • Top 3 most-touched files
  • Primary commit types (from Step 6)
  • Number of sessions and average session length (from Step 5)

Frame this as contributor highlights — recognition of work done, not a ranking or performance metric. Order alphabetically by author name.

Step 11: Week-over-Week Comparison

Check for a prior snapshot in .engineering-retros/:

  • Find the most recent *.json file
  • If it exists and covers the adjacent prior window, compute deltas:

- Commit count delta (%) - Lines changed delta (%) - Contributor count delta - Focus score delta - Category distribution shift

If no prior snapshot exists, note this is the first retrospective and skip comparison.

Step 12: Save Snapshot

Save a JSON snapshot for future comparisons:

.engineering-retros/<YYYY-MM-DD>.json

Schema:

{
  "date": "YYYY-MM-DD",
  "window": "7d",
  "path_scope": null,
  "branch": "main",
  "timezone": "PST",
  "metrics": {
    "commits": 0,
    "contributors": 0,
    "files_changed": 0,
    "lines_added": 0,
    "lines_removed": 0,
    "net_delta": 0,
    "focus_score": 0.0
  },
  "categories": {},
  "hotspots": [],
  "sessions": {
    "total": 0,
    "avg_length_minutes": 0
  },
  "authors": {},
  "pr_stats": null
}

Create the .engineering-retros/ directory if it does not exist. Ensure .engineering-retros/ is in .gitignore (add it if missing — this is the one permitted file modification).

Step 13: Generate Narrative Summary

Produce the final output in this structure:


Engineering Retrospective — [DATE_RANGE] ([TIMEZONE]) Branch: [DEFAULT_BRANCH] | Scope: [PATH_SCOPE or "full repo"]

Metrics

  • Commits: N | Contributors: N | Files changed: N
  • Lines: +N / -N (net: +/-N)
  • Avg commit size: N lines | Focus score: N.NN

Time Patterns

  • Peak day: [DAY] | Peak hours: [RANGE]
  • [compact histogram]
  • Sessions: N total | Avg length: Nm | Longest: Nm

Work Breakdown

  • [category]: N commits (NN%)
  • ...

Hotspots

  • path/to/file — N commits [HOTSPOT if >50%]
  • ...

Contributor Highlights

  • [Author]: N commits, +N/-N lines, focused on [top files], primarily [categories]
  • ...

PR Summary (if available)

  • Merged: N | Size dist: S/M/L/XL | Median review turnaround: Xh

Week-over-Week (if available)

  • Commits: +/-N% | Lines: +/-N% | Focus: +/-N.NN

Observations

  • [2-4 bullet points identifying patterns, achievements, and areas worth attention]
  • Based on data only — no speculation about intent or quality judgments about individuals

Constraints

  • Read-only: no code modifications, no branch changes, no git operations that alter state
  • No hardcoded timezone: always detect from date +%Z
  • No hardcoded branch: always detect dynamically via git symbolic-ref or git remote show
  • No individual performance judgments: author breakdown is for recognition, not evaluation
  • Path scope respected: all git commands must include -- $PATH_SCOPE when a scope is provided
  • Snapshot storage: .engineering-retros/ only, never .context/retros/

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.12%
按下载量换算95

Claude

30.52%
按下载量换算88

Cursor

18.42%
按下载量换算53

Gemini CLI

8.88%
按下载量换算25

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills