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 エンジニアのポートフォリオ指標を自動的に抽出します。出荷した行数、変更したファイル、修正したバグ、追加したテスト、マージした 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>
- "capture metrics"、"portfolio report"、"what did I ship" - "weekly summary"、"executive summary"、"sprint report" - "show impact"、"productivity metrics"

記録される指標

セッションごと(End Day による自動記録)
指標ソース方法
コミットgit log --since="today"件数をカウント
変更したファイルgit diff --statdiff からカウント
追加/削除した行数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: コミットデバッグの ROI
ドルあたりの行数出荷した行数 / 総コスト生産性
テストカバレッジの差分追加したテスト / 変更したファイル品質のシグナル

収集

自動(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マルチエージェントセッションのコストを追跡します

詳細: 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" を使用してください。

コメント