groove-utilities-stats
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<!-- groove:managed — do not edit; changes will be overwritten by groove update -->
<!-- groove:managed — do not edit; changes will be overwritten by groove update -->
groove-utilities-stats
groove-utilities-stats
Use $ARGUMENTS to specify the period: (default), , or .
weekmonthall使用$ARGUMENTS指定统计周期:(默认)、或。
weekmonthallBash fast-path
Bash快速路径
This skill has a bash script at . Run it directly for faster, model-free execution:
scripts/stats.shbash
bash .agents/skills/groove-utilities-stats/scripts/stats.sh week(Pass , , or to match $ARGUMENTS.) If the script exits 0, report its stdout and stop — do not continue with the steps below. If it exits non-zero, continue with the markdown steps (exit 3 means it printed the local metrics but the / task counts still need to be computed below; exit 1 means no ).
weekmonthalllineargithub.groove/该技能在路径下有一个bash脚本。直接运行它可实现更快的无模型执行:
scripts/stats.shbash
bash .agents/skills/groove-utilities-stats/scripts/stats.sh week(传入、或以匹配$ARGUMENTS。)如果脚本以状态码0退出,则报告其标准输出并停止——无需继续执行以下步骤。如果脚本以非零状态码退出,则继续执行以下Markdown步骤(状态码3表示已打印本地指标,但仍需计算下方的/任务数量;状态码1表示不存在目录)。
weekmonthalllineargithub.groove/Outcome
输出结果
A read-only dashboard is printed to the conversation quantifying compound-loop health for the period: the compound funnel (lessons captured vs graduated), adherence (daily-log coverage, streak, rollup freshness, ratings), and velocity (task open/closed, commits). No files are written. This answers "is the workflow compounding / am I keeping the rhythm" — for qualitative patterns, it points to .
/groove-utilities-memory-retrospective会在对话中打印一个只读仪表盘,量化指定周期内复合循环的健康状况:复合漏斗(已捕获与已进阶的经验)、坚持度(日志覆盖天数、连续记录天数、汇总报告新鲜度、评分)以及处理速度(任务的开启/关闭数量、提交次数)。不会写入任何文件。该仪表盘可回答“工作流是否在复合增长 / 我是否保持了节奏”的问题——如需了解定性模式,可查看。
/groove-utilities-memory-retrospectiveAcceptance Criteria
验收标准
- Compound funnel shown: lessons captured (total + in period), graduated (total + in period), graduation rate
- Adherence shown: daily-log coverage over the last business days, current streak, weekly/monthly rollup freshness, ratings count + average
memory.review_days - Velocity shown: task open/closed counts (if a task backend is configured) and commit count in the period
- Output goes to the conversation only; nothing is written
- Absent data sources are skipped with sensible "n/a"/"NA" placeholders rather than errors
- 显示复合漏斗:已捕获经验总数(含指定周期内数量)、已进阶经验总数(含指定周期内数量)、进阶率
- 显示坚持度:过去个工作日(周一至周五,截止到今日)的日志覆盖情况、当前连续记录天数、周/月汇总报告的新鲜度、评分数量及平均分
memory.review_days - 显示处理速度:(若配置了任务后端)指定周期内任务的开启/关闭数量,以及提交次数
- 仅在对话中输出结果;不写入任何内容
- 缺失的数据源会以合理的“n/a”/“NA”占位符跳过,而非抛出错误
Steps
步骤
(Model fallback — the bash fast-path above does this deterministically. Reproduce the same output format.)
-
Memory path is always. If
.groove/memory/is absent, stop with an install hint..groove/ -
Readfrontmatter:
.groove/index.md(backend; legacy keytasks.storage) andtasks.backend(default 5).memory.review_days -
Determine date range from $ARGUMENTS:= last 7 days,
week= last 30 days,month= everything. Call the startall.<since> -
Compound funnel:
- Captured: count dated entries across
## YYYY-MM-DD(exclude.groove/memory/learned/*.md) — total, and those with date ≥signals.md.<since> - Graduated: count markers across the same files — total, and those ≥
[graduated YYYY-MM-DD].<since> - Graduation rate = graduated_total / captured_total as a percentage (if none captured).
n/a
- Captured: count
-
Adherence:
- Daily-log coverage: of the last business days (Mon–Fri, ending today), how many have
review_days..groove/memory/daily/YYYY-MM-DD.md - Streak: consecutive most-recent business days (back from today) that have a daily log; stop at the first gap.
- Rollup freshness: is
weeklyif afreshexists for the current or previous week, else.groove/memory/weekly/<ISO-year>-W<ISO-week>.md;stalelikewise formonthly..groove/memory/monthly/YYYY-MM.md - Ratings: parse table rows (
.groove/memory/learned/signals.md) with date ≥| YYYY-MM-DD | N/5 | note |; report count and average (and a<since>sparkline if ≥ 3).▁▂▄▆█
- Daily-log coverage: of the last
-
Velocity:
- Commits: count.
git log --oneline --since=<since> - Tasks, by :
tasks.storage- : open =
beans; closed =beans list --json --no-status completed --no-status scrapped | jq length+--status completed; best-effort open mistakes/promises = count of non-terminal children under the "Mistakes"/"Promises" epics.--status scrapped - : via the linear CLI/MCP — assigned issues grouped into open vs done.
linear - :
githubgrouped into open vs closed.gh issue list --assignee @me --state all - : omit task counts (show commits only).
none
- Commits:
-
Print the dashboard in the Output format below.
(模型回退方案——上述Bash快速路径可确定性地完成此操作。需生成相同格式的输出。)
-
内存路径固定为。若
.groove/memory/目录不存在,则停止操作并给出安装提示。.groove/ -
读取的前置元数据:
.groove/index.md(后端;旧版键名为tasks.storage)和tasks.backend(默认值为5)。memory.review_days -
根据$ARGUMENTS确定日期范围:=过去7天,
week=过去30天,month=所有时间。将起始日期记为all。<since> -
复合漏斗:
- 已捕获经验:统计(排除
.groove/memory/learned/*.md)中所有带有signals.md日期标记的条目数量——总数,以及日期≥## YYYY-MM-DD的数量。<since> - 已进阶经验:统计同一文件中所有标记的数量——总数,以及日期≥
[graduated YYYY-MM-DD]的数量。<since> - 进阶率 = 已进阶经验总数 / 已捕获经验总数(以百分比表示;若未捕获任何经验则显示)。
n/a
- 已捕获经验:统计
-
坚持度:
- 日志覆盖情况:在过去个工作日(周一至周五,截止到今日)中,统计存在
review_days文件的天数。.groove/memory/daily/YYYY-MM-DD.md - 连续记录天数:从今日往前数,连续拥有日志的工作日数量;遇到第一个空缺即停止计数。
- 汇总报告新鲜度:若当前或上周存在文件,则
.groove/memory/weekly/<ISO-year>-W<ISO-week>.md状态为weekly,否则为fresh;stale状态同理,依据monthly文件是否存在判断。.groove/memory/monthly/YYYY-MM.md - 评分:解析中日期≥
.groove/memory/learned/signals.md的表格行(格式为<since>);报告评分数量及平均分(若数量≥3,还需显示| YYYY-MM-DD | N/5 | note |火花图)。▁▂▄▆█
- 日志覆盖情况:在过去
-
处理速度:
- 提交次数:通过统计数量。
git log --oneline --since=<since> - 任务数量,依据类型:
tasks.storage- :开启数量 =
beans;关闭数量 =beans list --json --no-status completed --no-status scrapped | jq length+--status completed;尽可能统计“Mistakes”/“Promises”主题下未完成子任务的数量。--status scrapped - :通过linear CLI/MCP——按开启与完成状态分组统计分配给自己的任务。
linear - :通过
github按开启与关闭状态分组统计。gh issue list --assignee @me --state all - :省略任务数量统计(仅显示提交次数)。
none
- 提交次数:通过
-
按照下方的输出格式打印仪表盘。
Output format
输出格式
undefinedundefinedGroove Stats — <period> (<start> to <today>)
Groove Stats — <period> (<start> to <today>)
🔁 Compound funnel
🔁 Compound funnel
Lessons captured: <N> (<n> this <period>) Graduated: <G> (<g> this <period>)
Graduation rate: <pct>
Lessons captured: <N> (<n> this <period>) Graduated: <G> (<g> this <period>)
Graduation rate: <pct>
📿 Adherence
📿 Adherence
Daily logs: <x>/<review_days> business days Streak: <s> days
Rollups: weekly <fresh|stale>, monthly <fresh|stale>
Ratings: <c> in period | avg <a>/5 <sparkline>
Daily logs: <x>/<review_days> business days Streak: <s> days
Rollups: weekly <fresh|stale>, monthly <fresh|stale>
Ratings: <c> in period | avg <a>/5 <sparkline>
🚀 Velocity
🚀 Velocity
Tasks: <open> open / <closed> closed Commits: <k> in period
Open: <m> mistakes, <p> promises
For qualitative patterns and learnings, run .
/groove-utilities-memory-retrospectiveundefinedTasks: <open> open / <closed> closed Commits: <k> in period
Open: <m> mistakes, <p> promises
For qualitative patterns and learnings, run .
/groove-utilities-memory-retrospectiveundefinedConstraints
约束条件
- Read only — never write to any file (no memory, no AGENTS.md, no config).
- Skip any absent data source with a one-line /
n/arather than erroring; parse tables and dates defensively.NA - Paths are hardcoded under (not configurable), consistent with the rest of groove.
.groove/memory/ - This skill complements (qualitative reflection) — do not duplicate its narrative; cross-link it.
/groove-utilities-memory-retrospective
- 仅读取——绝不写入任何文件(不修改内存、AGENTS.md或配置文件)。
- 跳过任何缺失的数据源,用一行/
n/a表示,而非抛出错误;需稳健地解析表格和日期。NA - 路径固定为(不可配置),与groove的其他部分保持一致。
.groove/memory/ - 该技能是(定性反思)的补充——不要重复其内容;需建立交叉链接。
/groove-utilities-memory-retrospective