shogun-screenshot
The shogun-screenshot skill captures, processes, and manages screenshots for content enhancement. It operates in four modes: retrieving the latest screenshot from local folders with fallback path support, capturing web pages via Playwright at specified URLs, cropping and resizing existing images, and masking sensitive information like API keys and personal data with black rectangles. Use this skill when articles or reports need visual assets, when users request screenshots, when UI documentation is required, or when sensitive data in images must be obscured before publication.
git clone --depth 1 https://github.com/yohey-w/multi-agent-shogun /tmp/shogun-screenshot && cp -r /tmp/shogun-screenshot/skills/shogun-screenshot ~/.claude/skills/shogun-screenshotSKILL.md
# /shogun-screenshot - スクリーンショット取得・加工スキル
## North Star(全判断の最上位基準)
このスキルの北極星は**記事・報告書のビジュアル品質向上によるコンテンツ差別化**。
高品質な画像(マスク済み・適切にトリミング済み)を記事・レポートに挿入することで、
テキスト単体の競合コンテンツとの差別化を実現する。
## Input
`$ARGUMENTS` = 操作対象の指定(URLまたはモードキーワード)
- URL(`https://...`)→ Mode 2: Webキャプチャ
- `latest`(省略可)→ Mode 1: ローカルスクショ取得
- 引数なし → ユーザーの意図に応じて最適なモードを選択
## Overview
スクリーンショットの取得・加工を行う。4つのモードがある:
1. **ローカル取得**: ユーザーのスクショフォルダから最新画像を取得
2. **Webキャプチャ**: URLを指定してPlaywright MCPでページをキャプチャ
3. **トリミング**: 既存画像の一部を切り出し・リサイズ
4. **マスキング**: 機微情報(APIキー、個人情報等)を黒塗り
## When to Use
- 「最新のスクショを見せて」「スクショ取って」と言われた時
- 記事やレポートに画像を挿入する時
- UI画面のキャプチャが必要な時
- 画像のトリミング・切り出しが必要な時
- スクショ内の機密情報をマスクする時
## Configuration
スクショフォルダのパスは `config/settings.yaml` で管理(優先順の配列):
```yaml
screenshot:
paths:
- "/path/to/your/Screenshots/" # OS のスクショ保存先
- "queue/screenshots/" # モバイルアプリ等からの受信先
capture_dir: "images/" # Webキャプチャの保存先
trim_dir: "images/trimmed/" # トリミング後の保存先
```
`paths` 配列を上から順に探索し、ディレクトリが存在+画像ファイルがあるものを使う。
全パスが存在しない場合はエラーを返す。
## Instructions
### Mode 1: ローカルスクショ取得(複数パスフォールバック)
**手順**:
1. config/settings.yaml から `screenshot.paths` 配列を読む
2. **優先順に各パスを探索**:
a. `ls <path>` でディレクトリ存在を確認(存在しなければ次へ)
b. 存在するパスで `ls -lt <path>/*.png <path>/*.jpg 2>/dev/null | head -5` で最新画像を取得
3. 最も新しい画像ファイルを Read ツールで表示
4. 複数パスに画像がある場合、**全パスの最新を比較して最も新しいもの**を表示
**ヘルパースクリプト** (全パスを自動探索):
```bash
bash skills/shogun-screenshot/scripts/capture_local.sh -n 3
```
**手動で特定パスを指定する場合**:
```bash
# config/settings.yaml の screenshot.paths に設定されたパスを使用
ls -lt "/path/to/Screenshots/"*.png 2>/dev/null | head -3
```
**注意**: ディレクトリ自体が存在しない可能性がある(ドライブ未マウント等)。
`2>/dev/null` で存在しないパスのエラーを抑制すること。
### Mode 2: Webキャプチャ(Playwright MCP)
1. Playwright MCP の `playwright_navigate` でURLに遷移
2. `playwright_screenshot` でキャプチャ
- fullPage: true(ページ全体)
- selector: 指定(要素のみ)
- savePng: true, downloadsDir: 保存先
3. 保存されたPNGのパスを返す
### Mode 3: トリミング
1. 対象画像のパスを受け取る
2. Python (PIL/Pillow) でトリミング実行
3. トリミング後の画像を保存
```bash
python3 skills/shogun-screenshot/scripts/trim_image.py \
--input /path/to/image.png \
--output /path/to/trimmed.png \
--crop "x1,y1,x2,y2"
```
オプション: `--resize "width,height"` でリサイズも同時に行える。
### Mode 4: 機微情報マスキング
スクショ内のAPIキー、トピック名、個人情報等を矩形で黒塗りする。
```bash
# 単一領域
python3 skills/shogun-screenshot/scripts/mask_sensitive.py \
--input /path/to/image.png \
--output /path/to/masked.png \
--regions "100,50,400,80"
# 複数領域
python3 skills/shogun-screenshot/scripts/mask_sensitive.py \
--input /path/to/image.png \
--output /path/to/masked.png \
--regions "100,50,400,80" "500,200,800,230"
# 位置確認(赤枠プレビュー、塗りつぶさない)
python3 skills/shogun-screenshot/scripts/mask_sensitive.py \
--input /path/to/image.png \
--output /path/to/preview.png \
--regions "100,50,400,80" --preview
```
オプション:
- `--color "R,G,B"` — 塗りつぶし色(デフォルト: 黒 `0,0,0`)
- `--preview` — 赤枠表示のみ(塗りつぶさない。座標確認用)
**手順**:
1. Read ツールで画像を確認し、マスクすべき領域を特定
2. `--preview` で座標が正しいか確認
3. プレビューOKなら `--preview` を外して実行
## Guidelines
- APIキーや認証情報を画像に含めないよう注意。公開前に必ず Mode 4 でマスキング
- Playwright MCPが利用不可の場合は、ローカルモードのみで動作
- 大量のスクショを一度に処理する場合は、バッチ処理スクリプトを使用
- トリミング・マスキング座標は左上(0,0)基準のピクセル値
- 保存先のデフォルト: プロジェクトの images/ ディレクトリ別エージェントのinboxにメッセージを送信する。agent-to-agent通信の唯一の手段。
全エージェント(家老・足軽1-7・軍師)の稼働状態を一覧表示するスキル。tmux pane状態(稼働中/待機中/不在)とタスクYAML状態(task_id, status)と未読inbox数を統合表示。「稼働確認」「エージェント状態」「布陣確認」「agent status」で起動。
>
>
|
README.md(英語)とREADME_ja.md(日本語)の同期を確認・実行するスキル。README変更時に両言語版を必ず同時更新するために使用。「README更新」「README同期」「readme sync」で起動。
|