agentsclimarketplace

Docs

Skill JunSuzuki1973/ftpSkill/docs

AI Agent Skill for SFTP deployment and server management. Works with Antigravity, Claude Desktop, and Claude Code.From the repository description

Install
npx -y skills add JunSuzuki1973/ftpSkill --skill docs

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.4 KB, ~3.1k tokens by cl100k_base, as published. Nobody here has run it

Agent Skill: sftp-deployer

概要

レンタルサーバーへの自動デプロイと管理を行う汎用的なスキルセットです。GUIベースのFTPクライアントと同等の機能をコマンドラインから利用でき、AIエージェントが自動的に操作できます。

対応サーバー

  • SSH/SFTP接続が可能な任意のサーバー
  • パスワード認証またはSSH公開鍵認証に対応
  • レンタルサーバー、VPS、クラウドサーバーなど

トリガー

  • ユーザーが「デプロイして」「サーバーにアップして」「ファイルを確認して」などと指示した場合

使用可能なツール

📤 アップロード・デプロイ

  • sftp_deploy.py - ファイル/ディレクトリのアップロード
  • sftp_mkdir.py - リモートディレクトリの作成

📥 ダウンロード・バックアップ

  • sftp_download.py - ファイル/ディレクトリのダウンロード

📋 確認・一覧表示

  • sftp_list.py - ファイル一覧表示(詳細情報付き)

🔧 管理・操作

  • sftp_chmod.py - パーミッション変更
  • sftp_delete.py - ファイル/ディレクトリの削除

🔍 その他

  • find_remote_path.py - リモートパス探索

主要な使用例

1. デプロイ(アップロード)

# デフォルトパスにデプロイ
python sftp_deploy.py my_website

# 特定のパスにデプロイ
python sftp_deploy.py my_website /var/www/html

# テスト実行(Mock モード)
python sftp_deploy.py my_website --mock

2. ダウンロード(バックアップ)

# デフォルトパスからダウンロード
python sftp_download.py ./backup

# 特定のファイルをダウンロード
python sftp_download.py /var/www/html/config.php ./config_backup.php

# ディレクトリ全体をバックアップ
python sftp_download.py /var/www/html ./website_backup

3. ファイル一覧表示

# シンプルな一覧表示
python sftp_list.py

# 詳細表示(権限、サイズ、日時)
python sftp_list.py -l

# 再帰的に表示
python sftp_list.py -r

# 特定のディレクトリを詳細表示
python sftp_list.py -l /var/www/html

4. 権限変更

# ファイルを実行可能に
python sftp_chmod.py /var/www/html/script.sh 755

# ディレクトリの権限変更
python sftp_chmod.py /var/www/html/uploads 777

# 再帰的に権限変更
python sftp_chmod.py /var/www/html 755 -r

5. ディレクトリ作成

# 単一ディレクトリ作成
python sftp_mkdir.py /var/www/html/uploads

# ネストしたディレクトリ作成
python sftp_mkdir.py /var/www/html/app/data/cache

# 特定の権限で作成
python sftp_mkdir.py /var/www/html/logs -m 777

6. 削除

# デフォルトパスを削除(確認プロンプトあり)
python sftp_delete.py

# 特定のパスを削除
python sftp_delete.py /var/www/html/old_files

自動パーミッション設定(デプロイ時)

ファイル/ディレクトリパーミッション説明
.cgi, .py, .pl, .sh755CGIスクリプト(実行権限)
data/ ディレクトリ707データディレクトリ(書き込み権限)
その他のファイル644標準ファイル
その他のディレクトリ755標準ディレクトリ

AIエージェント向けガイドライン

ユーザーの指示に応じた適切なツール選択

ユーザーの指示例使用するツール備考
「デプロイして」「アップロードして」sftp_deploy.pyデフォルトパスまたは指定パス
「ファイルを確認して」「何があるか見て」sftp_list.py-l オプションで詳細表示
「バックアップして」「ダウンロードして」sftp_download.pyローカルに保存
「実行権限を付けて」「権限を変更して」sftp_chmod.py適切なモード指定
「ディレクトリを作って」sftp_mkdir.py親ディレクトリも自動作成
「削除して」「クリアして」sftp_delete.py確認プロンプトあり

推奨ワークフロー

デプロイ前

  1. sftp_list.py -l で現在の状態確認
  2. 必要に応じて sftp_download.py でバックアップ
  3. sftp_deploy.py でデプロイ
  4. sftp_list.py で結果確認

トラブルシューティング

  1. sftp_list.py -l で権限確認
  2. sftp_chmod.py で権限修正
  3. 必要に応じて sftp_download.py でログ取得

重要な注意事項

⚠️ Pythonについて

  • レンタルサーバーではPythonスクリプトは推奨されません
  • .py ファイルは実行されず、ダウンロードされる可能性があります
  • CGIモードは古く、非効率的です
  • 推奨: HTML、PHP、JavaScriptを使用してください

✅ 推奨される技術スタック

  • HTML - 静的サイト
  • PHP - サーバーサイド処理(レンタルサーバーで標準サポート)
  • JavaScript - クライアントサイド処理

📁 リモートパスの設定

.envFTP_REMOTE_ROOT にデフォルトのデプロイ先を設定できます:

例(Xserver):

FTP_REMOTE_ROOT=./your_domain.com/public_html

例(一般的なレンタルサーバー):

FTP_REMOTE_ROOT=./public_html
FTP_REMOTE_ROOT=./www
FTP_REMOTE_ROOT=/var/www/html

セットアップ手順

1. 必須ファイル: .env

.env.example をコピーして .env を作成し、サーバー情報を設定:

# サーバー接続情報
FTP_HOST=your_server_host.com
FTP_USER=your_username
FTP_PORT=22

# 認証方式(どちらか一方を設定)
# パスワード認証の場合
FTP_PASS=your_password

# SSH鍵認証の場合
FTP_KEY_FILE=path/to/your_key.key

# その他の設定
FTP_TIMEOUT=30
FTP_REMOTE_ROOT=./public_html

2. 必須ライブラリのインストール

pip install -r requirements.txt

requirements.txt の内容:

  • paramiko - SFTP接続
  • python-dotenv - 環境変数管理

3. SSH鍵ファイル(鍵認証の場合)

  • SSH秘密鍵ファイルをプロジェクトルートに配置
  • サーバーの管理画面からダウンロード可能(Xserver、さくらなど)
  • .envFTP_KEY_FILE にファイル名を指定

トラブルシューティング

接続タイムアウト

  • タイムアウト設定は30秒(.envFTP_TIMEOUTで変更可能)
  • ホストキーは自動的に受け入れられます(AutoAddPolicy
  • ファイアウォールやポート設定を確認

ファイルが表示されない

  • デプロイ先パスが正しいか確認
  • Webルートディレクトリに index.html が存在するか確認
  • サーバーのドキュメントルート設定を確認

権限エラー

  • SSH鍵ファイルのパスが正しいか確認
  • .env の設定(ホスト、ユーザー名、ポート)を確認
  • パスワード認証と鍵認証が混在していないか確認

ポート番号

  • 一般的なSSH/SFTPポート: 22
  • Xserverなど一部のサーバー: 10022
  • サーバーのドキュメントで確認してください

サーバー別設定例

Xserver

FTP_HOST=xs123456.xsrv.jp
FTP_USER=xs123456
FTP_PORT=10022
FTP_KEY_FILE=xs123456.key
FTP_REMOTE_ROOT=./your_domain.com/public_html

さくらインターネット

FTP_HOST=your_server.sakura.ne.jp
FTP_USER=your_username
FTP_PORT=22
FTP_PASS=your_password
FTP_REMOTE_ROOT=./www

ロリポップ

FTP_HOST=your_server.lolipop.jp
FTP_USER=your_username
FTP_PORT=22
FTP_PASS=your_password
FTP_REMOTE_ROOT=.

VPS(一般的な設定)

FTP_HOST=123.456.789.012
FTP_USER=root
FTP_PORT=22
FTP_KEY_FILE=server_key.pem
FTP_REMOTE_ROOT=/var/www/html

ツール一覧クイックリファレンス

ツール機能主なオプション
sftp_deploy.pyアップロード--mock (テスト実行)
sftp_download.pyダウンロード-
sftp_list.py一覧表示-l (詳細), -r (再帰)
sftp_chmod.py権限変更-r (再帰)
sftp_mkdir.pyディレクトリ作成-m (モード指定)
sftp_delete.py削除(確認プロンプトあり)

What ships with it: 2 files

6.1 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,422. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.