CtrlK
BlogDocsLog inGet started
Tessl Logo

shogun-screenshot

スクリーンショットの取得・加工を行う。ローカルスクショから最新画像を取得、 PlaywrightでWebページをキャプチャ、画像のトリミング・リサイズ、機微情報を黒塗りマスキング。 記事執筆、レポート作成、UI確認、画像加工時に起動。 「スクショ」「スクリーンショット」「画面キャプチャ」「最新のスクショ」「画像加工」「トリミング」「マスク」「写メ」「写メ撮った」「スクショ撮った」で起動。 Do NOT use for: 画像生成(shogun-imagegenを使え)。

84

Quality

82%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

/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 で管理(優先順の配列):

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 skills/shogun-screenshot/scripts/capture_local.sh -n 3

手動で特定パスを指定する場合:

# 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. トリミング後の画像を保存
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キー、トピック名、個人情報等を矩形で黒塗りする。

# 単一領域
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/ ディレクトリ
Repository
yohey-w/multi-agent-shogun
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.