dotfiles/claude/skills/jira-slack-activity-summary/SKILL.md
JIRA連携Slackチャンネル(#ba-jira)のメッセージを読み取り、誰が何をやったかをまとめるスキル。期間と人を指定可能。「今日の作業まとめ」「先週誰が何やった?」「三島さんの今週の活動」「JIRAの活動サマリー」などのリクエストで使用。
npx skillsauth add octkp/dotfiles jira-slack-activity-summaryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
SlackチャンネルのJIRA通知メッセージを解析し、誰が何をやったかをまとめるスキル。
C0AHLMY1W04 (#ba-jira)ユーザーから以下の情報を受け取る:
Slack APIの oldest / latest パラメータはUnixタイムスタンプ(秒)で指定する。
date コマンドで変換する。
| 入力例 | oldest | latest | |--------|--------|--------| | 今日 | 当日 00:00:00 JST | 現在時刻 | | 昨日 | 前日 00:00:00 JST | 当日 00:00:00 JST | | 今週 | 今週月曜 00:00:00 JST | 現在時刻 | | 先週 | 先週月曜 00:00:00 JST | 今週月曜 00:00:00 JST | | 今月 | 当月1日 00:00:00 JST | 現在時刻 | | 先月 | 前月1日 00:00:00 JST | 当月1日 00:00:00 JST | | 日付範囲 | 開始日 00:00:00 JST | 終了日+1日 00:00:00 JST |
macOS (BSD date) でのタイムスタンプ取得例:
# 今日の00:00 JST
date -j -f "%Y-%m-%d %H:%M:%S" "$(date +%Y-%m-%d) 00:00:00" "+%s"
# 昨日の00:00 JST
date -j -v-1d -f "%Y-%m-%d %H:%M:%S" "$(date -v-1d +%Y-%m-%d) 00:00:00" "+%s"
# 現在時刻
date "+%s"
# 特定の日付
date -j -f "%Y-%m-%d %H:%M:%S" "2026-03-01 00:00:00" "+%s"
mcp__plugin_slack_slack__slack_read_channel を使用してメッセージを取得する。
パラメータ:
channel_id: C0AHLMY1W04oldest: 開始タイムスタンプ(文字列)latest: 終了タイムスタンプ(文字列)limit: 100response_format: detailed重要: 100件を超える場合は cursor を使ってページネーションで全件取得する。pagination_infoにnext_cursorがある限り繰り返す。
全メッセージはJira bot(U01J5B51WJH)からの投稿。以下のパターンで解析する。
2つの形式がある:
<slack://user?team=...&id=UXXXXXXXX|@表示名> → 「表示名」を抽出*名前 updated... → 先頭の人名を抽出「Automation for Jira」は人物ではないので除外する。
メッセージ1行目のパターンから種別を判定:
| パターン | アクション |
|---------|-----------|
| {person} created a {type} | チケット作成 |
| {person} transitioned a {type} from [A] ⟶ [B] | ステータス変更 |
| {person} updated the {field} of a {type} | フィールド更新 |
| {person} commented on a {type} | コメント |
| {person} assigned a {type} from A ⟶ B | 担当者変更 |
メッセージ2行目からチケット番号とタイトルを抽出:
*<https://kokopelli-inc.atlassian.net/browse/BAX-XXXX?...|BAX-XXXX タイトル>*
→ チケット番号: BAX-XXXX、タイトル: 残りのテキスト
transitioned メッセージの場合、遷移元・遷移先のステータスを抽出:
`[ステータスA]` ⟶ `[ステータスB]`
対象者が指定されている場合、パースした人物名に対して部分一致でフィルタする。
「さん」「くん」等の敬称は除去してから検索する。
パースしたデータを以下のルールで集約する:
updated はまとめて「N回更新」とする以下のフォーマットで出力する:
# JIRA活動サマリー: {期間の表示文字列}
生成日時: {YYYY-MM-DD HH:MM}
対象チャンネル: #ba-jira
{対象者フィルタがある場合: "対象者: {名前}"}
## {人物名1}
### {BAX-XXXX}: {チケットタイトル}
- ステータス変更: [A] → [B]
- コメント: 1件
- フィールド更新: 3回(詳細, Sprint, Attachment)
### {BAX-YYYY}: {チケットタイトル}
- チケット作成
- ステータス変更: [TODO] → [進行中]
---
## {人物名2}
### {BAX-ZZZZ}: {チケットタイトル}
- ステータス変更: [レビュー中] → [クローズ]
---
## 統計
| 名前 | 作成 | ステータス変更 | コメント | 更新 | 担当者変更 | 合計 |
|------|------|---------------|---------|------|-----------|------|
| {名前1} | X | X | X | X | X | XX |
| {名前2} | X | X | X | X | X | XX |
| **合計** | **X** | **X** | **X** | **X** | **X** | **XX** |
注意:
@は除去)https://kokopelli-inc.atlassian.net/browse/BAX-XXXX) を付与するレポートを会話に出力するのみ。ファイル保存はしない。
ユーザー: 「今日のJIRA活動まとめて」
ユーザー: 「三島さんの今週の活動を教えて」
ユーザー: 「先週みんな何やってた?」
ユーザー: 「2026-03-01から2026-03-04の井上さんの活動」
documentation
base リポジトリ(~/base)の主要ディレクトリ(dotfiles / home / local / scripts / docs)の README.md と、リポジトリ直下の README.md を、実際のファイル構成に合わせて更新・新規作成するスキル。各ディレクトリの中身を実際に走査して内容を導出するので、設定追加・ディレクトリ移動のあとに走らせると README が現状と一致する。「READMEを更新して」「READMEを作り直して」「base のドキュメントを整える」「/base-readme」などのリクエストで使用。
development
旧 badev-knowledge-base リポの docs/{苗字}/ 配下を、許可リストの現役メンバー 4 人 (takano / tokita / yukioka / ushiroyama) に絞って ba2-workspace/docs/ に同期するスキル。旧リポを source of truth として、衝突時は新リポ側を旧リポで上書きする。コミット・プッシュは行わず、git add までで停止する。「badev-knowledge-base から同期して」「旧リポのナレッジを取り込んで」「badev-knowledge-sync を走らせて」「旧 docs を同期」などのリクエストでトリガー。
documentation
チケット番号(BAX-XXXX)を伝えるだけで、ba2-ticket-knowledge-logger が記録したナレッジドキュメント(README.md / LOG.md / PLAN.md)を全ユーザー・全カテゴリ横断で自動検索して読み込み、要約して提示するスキル。別セッションで過去の調査・実装内容を読み直したいときに使う。「BAX-10987」「BAX-10325のナレッジ読んで」「前に調べたBAX-XXXXの記録」「BAX-XXXXの続きをやりたい」「BAX-XXXX読み直して」などのリクエストでトリガー。
tools
チケット番号(BAX-XXXX)とカテゴリ(調査/実装/その他)を指定して、会話ログとまとめファイルを記録し、JIRAチケットにもコメントとしてナレッジを投稿するスキル。「BAX-10325の調査を記録」「実装にチケット作成」「会話ログを保存」などのリクエストで使用。