mcpField
P
portfolio-artifact

portfolio-artifact

github.com/scientiacapital生产力2859 次安装3 周前更新
代码仓库

关于 portfolio-artifact

portfolio-artifact 是面向 Go-To-Market Engineer 的开发指标追踪技能,可从开发会话记录交付量、成本和效率指标。它生成每周摘要与高管报告,指标保存在本地 JSONL 文件中。

主要功能

  1. 01记录提交、文件变更和代码行数
  2. 02统计功能、缺陷修复及测试变更
  3. 03计算功能和修复的成本指标
  4. 04生成每周摘要和高管报告
  5. 05将每日指标存入 JSONL

适用场景

  1. 01回顾每周功能交付与缺陷修复
  2. 02为利益相关方整理工程影响报告
  3. 03比较项目成本和交付趋势

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scientiacapital/skills --skill portfolio-artifact

安装后在 Claude Code 中输入/portfolio-artifact确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

config.json
reference/
metrics-guide.md
report-templates.md

详细介绍

自动从开发会话中提取 Go-To-Market Engineer 作品集指标。记录已交付的代码行数、变更的文件数、修复的错误数、新增的测试数、合并的 PR 数、节省的时间以及每项功能的成本。生成高管摘要和每周简报。

<quick_start> 记录今天的指标:

# Quick session stats
echo "Commits: $(git log --since='today 00:00' --oneline | wc -l | tr -d ' ')"
echo "Files changed: $(git diff --stat $(git log --since='today 00:00' --format='%H' | tail -1)..HEAD 2>/dev/null | tail -1)"

生成每周报告:

cat ~/.claude/portfolio/daily-metrics.jsonl | jq -s 'map(select(.date >= "'$(date -v-7d +%Y-%m-%d)'"))'

</quick_start>

<success_criteria>

  • 通过 End Day 协议自动记录每日指标(提交、功能、修复、成本)
  • 计算派生指标:每项功能的成本、每个错误修复的成本、每美元交付的代码行数
  • 生成每周简报,包含项目细分和逐日趋势
  • 准备好供利益相关者审阅的高管摘要,并附带环比比较
  • 指标持久化存储于 ~/.claude/portfolio/daily-metrics.jsonl </success_criteria>
- “记录指标”、“作品集报告”、“我交付了什么” - “每周摘要”、“高管摘要”、“迭代报告” - “展示影响”、“生产力指标”

记录的指标

每个会话(End Day 自动记录)
指标来源方式
提交git log --since="today"计数
变更的文件git diff --stat统计差异中的文件数
新增/删除的代码行数git diff --stat解析 +/-
新增的测试git diff --stat -- '*.test.*'统计测试文件数
创建的 PRgh pr list --author @meGitHub CLI
修复的错误匹配 fix: 的提交Conventional commits
交付的功能匹配 feat: 的提交Conventional commits
成本~/.claude/daily-cost.json每日支出
派生指标
指标公式重要性
每项功能的成本总成本 / feat: 提交数效率
每个错误修复的成本总成本 / fix: 提交数调试投资回报率
每美元交付的代码行数已交付的代码行数 / 总成本生产力
测试覆盖率变化新增的测试数 / 变更的文件数质量信号

收集

自动收集(End Day 协议)

workflow-orchestrator 的 End Day 协议会自动调用此功能:

#!/bin/bash
# Auto-capture at end of day
DATE=$(date +%Y-%m-%d)
COMMITS=$(git log --since="today 00:00" --oneline 2>/dev/null | wc -l | tr -d ' ')
FEATS=$(git log --since="today 00:00" --oneline --grep="^feat" 2>/dev/null | wc -l | tr -d ' ')
FIXES=$(git log --since="today 00:00" --oneline --grep="^fix" 2>/dev/null | wc -l | tr -d ' ')
COST=$(cat ~/.claude/daily-cost.json 2>/dev/null | jq '.spent // 0')

mkdir -p ~/.claude/portfolio
echo "{\"date\":\"$DATE\",\"commits\":$COMMITS,\"features\":$FEATS,\"fixes\":$FIXES,\"cost\":$COST}" >> ~/.claude/portfolio/daily-metrics.jsonl
手动收集(按需)
# Full session capture with git stats
STAT=$(git diff --stat $(git log --since="today 00:00" --format="%H" | tail -1)..HEAD 2>/dev/null | tail -1)
ADDED=$(echo "$STAT" | grep -oE '[0-9]+ insertion' | grep -oE '[0-9]+' || echo 0)
REMOVED=$(echo "$STAT" | grep -oE '[0-9]+ deletion' | grep -oE '[0-9]+' || echo 0)
echo "Today: +$ADDED/-$REMOVED lines, $COMMITS commits ($FEATS features, $FIXES fixes)"

报告模板

高管摘要(高管层)
## Engineering Impact — Week of [DATE]

**Headline:** Shipped [N] features, fixed [N] bugs across [N] projects

| Metric | This Week | Last Week | Trend |
|--------|-----------|-----------|-------|
| Features shipped | 5 | 3 | ↑ 67% |
| Bugs fixed | 8 | 12 | ↓ 33% |
| Lines shipped | 1,247 | 890 | ↑ 40% |
| Cost | $12.40 | $15.20 | ↓ 18% |
| Cost/feature | $2.48 | $5.07 | ↓ 51% |

**Key Deliverables:**
- [Feature 1]: [Impact]
- [Feature 2]: [Impact]

**Cost Optimization:** Shifted [N] tasks to Haiku, saving $[X] (Y% reduction)
每周简报
## Weekly Digest — [DATE RANGE]

### By Project
| Project | Commits | Features | Fixes | Cost |
|---------|---------|----------|-------|------|
| skills-library | 12 | 5 | 2 | $3.40 |
| netzero-bot | 8 | 2 | 4 | $5.20 |

### By Day
| Day | Commits | Lines | Cost |
|-----|---------|-------|------|
| Mon | 5 | +234/-45 | $1.80 |
| Tue | 8 | +567/-123 | $2.40 |
| ... | ... | ... | ... |

### Insights
- Most productive day: Tuesday (567 lines)
- Most expensive feature: [feature] ($X)
- Cheapest bug fix: [fix] ($0.12, Haiku)
迭代报告
## Sprint Report — [SPRINT NAME]

**Duration:** [START] → [END]
**Total Cost:** $[X]

### Deliverables
- [ ] Feature A (shipped, $X)
- [ ] Feature B (shipped, $X)
- [ ] Bug fix C (shipped, $X)

### Velocity
- Story points completed: [N]
- Cost per story point: $[X]
- Average cycle time: [N] hours

存储

~/.claude/portfolio/
├── daily-metrics.jsonl      # One JSON line per day
├── weekly-YYYY-WW.md        # Auto-generated weekly digest
└── monthly-YYYY-MM.md       # Auto-generated monthly summary

集成

系统集成方式
workflow-orchestratorEnd Day 自动记录每日指标
cost-metering提供每项功能成本所需的成本数据
git-workflowConventional commits 支持统计 feat/fix 数量
agent-teams跟踪多 Agent 会话成本

**深入了解:**参见 reference/metrics-guide.md、reference/report-templates.md

输出结果旁文件

作为最后一步,写入 ~/.claude/skill-analytics/last-outcome-portfolio-artifact.json:

{"ts":"[UTC ISO8601]","skill":"portfolio-artifact","version":"1.0.0","variant":"default",
 "status":"[success|partial|error]","runtime_ms":[estimated ms from start],
 "metrics":{"metrics_captured":[n],"artifacts_generated":[n],"reports_created":[n]},
 "error":null,"session_id":"[YYYY-MM-DD]"}

如果某些阶段失败但仍生成了结果,请使用状态 "partial"。只有在未生成任何输出时,才使用 "error"。

评论

支持 Markdown