ln-724-artifact-cleaner について
ln-724-artifact-cleanerは、オンラインプラットフォームから書き出したプロジェクトを本番デプロイ向けに整えるスキルです。Replit、StackBlitz、CodeSandbox、Glitchの固有ファイルや依存関係を検出し、変更内容を提示して確認後に削除します。
主な機能
- 014つのプラットフォームを検出
- 02固有ファイルと依存関係をスキャン
- 03削除・変更内容を事前表示
- 04確認後にクリーンアップして報告
- 05Glitchの.data/データを保護
活用シーン
- 01Replitの書き出しプロジェクトを整理
- 02StackBlitzやCodeSandboxの設定を除去
- 03Glitchプロジェクトをデプロイ向けに準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-724-artifact-cleanerインストール後、Claude Code で/ln-724-artifact-cleanerを入力して読み込まれたか確認します。
同梱ファイルreferences/platform_artifacts.md
詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
ln-724-artifact-cleaner
タイプ: L3 ワーカー カテゴリ: 7XX プロジェクトのブートストラップ
オンラインプラットフォームからエクスポートされたプロジェクトからプラットフォーム固有のアーティファクトを削除し、本番環境へのデプロイに備えます。
概要
| 項目 | 詳細 |
|---|---|
| 入力 | プロジェクトディレクトリ、プラットフォーム(自動検出または手動指定) |
| 出力 | プラットフォームへの依存関係がないクリーンなプロジェクト |
| プラットフォーム | Replit、StackBlitz、CodeSandbox、Glitch |
| 所要時間 | 約2~5分 |
| 呼び出し | ln-720 から呼び出し(TRANSFORM モード、条件付き)、またはユーザーが呼び出し |
呼び出し条件:
- TRANSFORM モードのみ(CREATE モードではスキップ)
- 少なくとも1つのプラットフォームが検出されていること
- クリーンアップ前にユーザーの確認を得ること
プラットフォームのサポート一覧
| プラットフォーム | 設定ファイル | ディレクトリ | NPM パッケージ | ビルド設定 | コメント |
|---|---|---|---|---|---|
| Replit | .replit、replit.nix | .local/、.cache/、.upm/ | @replit/* | REPL_ID チェック | // @replit |
| StackBlitz | .stackblitzrc | .turbo/ | -- | ポートの上書き | -- |
| CodeSandbox | sandbox.config.json | .codesandbox/ | -- | CSB 環境チェック | -- |
| Glitch | glitch.json、.glitch-assets | .glitch/、.data/ | -- | Glitch 環境変数 | -- |
リファレンス: platform_artifacts.md
ワークフロー
Phase 1: Detect & Scan
|
+---> 1.0 Detect platforms (auto-detect by config files)
+---> 1.1 Scan platform-specific artifacts
|
v
Phase 2: Preview
|
v
Phase 3: Confirm
|
v
Phase 4: Execute (per detected platform)
|
+---> 4.1 Delete files/directories
+---> 4.2 Modify package.json
+---> 4.3 Modify build config (vite/webpack)
+---> 4.4 Remove platform comments
+---> 4.5 Modify .gitignore
|
v
Phase 5: Verify & Report
フェーズ1:検出とスキャン
ステップ1.0:プラットフォームの検出
| プラットフォーム | 主な識別情報 | 信頼度 |
|---|---|---|
| Replit | .replit ファイル | 100% |
| StackBlitz | .stackblitzrc | 100% |
| CodeSandbox | sandbox.config.json | 100% |
| Glitch | glitch.json | 100% |
出力:
Detected Platforms:
- replit (confidence: 100%)
ステップ1.1:アーティファクトのスキャン
検出されたプラットフォームごとに、プラットフォーム固有の検出ルールを使ってアーティファクトをスキャンします。
Replit の検出ルール:
Files:
- Glob: .replit, replit.nix, .replit.nix
- Glob: vite-plugin-meta-images.ts (if uses REPLIT_* env vars)
Directories:
- Glob: .local/, .cache/, .upm/, .breakpoints
Package.json:
- Grep: "@replit/" in devDependencies
Vite Config:
- Grep: "@replit/" imports
- Grep: "REPL_ID" or "REPLIT_" environment checks
Code:
- Grep: "// @replit" comments in *.tsx, *.ts, *.jsx, *.js
.gitignore:
- Grep: "^\.replit$" line
StackBlitz/CodeSandbox/Glitch: 必須の読み込み: 検出ルールを確認するため、platform_artifacts.md を読み込みます。
スキャン結果の形式
Scan Results:
Platform: Replit
Files Found: 2
- .replit (729 bytes)
- vite-plugin-meta-images.ts (2333 bytes)
Directories Found: 1
- .local/ (6 files, 589KB)
Package Dependencies: 3
- @replit/vite-plugin-cartographer
- @replit/vite-plugin-dev-banner
- @replit/vite-plugin-runtime-error-modal
Build Config Modifications: 4
- Import: runtimeErrorOverlay
- Import: metaImagesPlugin
- Plugin: runtimeErrorOverlay()
- Block: REPL_ID conditional (lines 14-24)
Code Comments: 10
- button.tsx: 5 comments
- badge.tsx: 5 comments
Gitignore Entries: 1
- .replit
フェーズ2:プレビュー
プラットフォームごとに、変更内容の詳細なプレビューを表示します。
Will DELETE files:
- .replit (729 bytes)
- vite-plugin-meta-images.ts (2333 bytes)
Will DELETE directories:
- .local/ (6 files, 589KB)
Will MODIFY files:
- package.json: Remove 3 @replit/* devDependencies
- vite.config.ts: Remove 4 imports/plugins/blocks
- 2 UI files: Remove 10 @replit comments
- .gitignore: Remove ".replit" line
Summary: 2 files deleted, 1 directory deleted, 5 files modified
フェーズ3:確認
Proceed with platform cleanup (Replit)? [Y/n]
選択肢:
- Y(デフォルト): クリーンアップを実行
- n: 操作をキャンセル
- カスタム除外: スキップするファイルをユーザーが指定できます
フェーズ4:実行
プラットフォームルーター
検出されたプラットフォームに基づき、プラットフォーム固有のクリーンアップを実行します。複数のプラットフォームが検出された場合は、順番に実行します。
4.1 Replit のクリーンアップ(主)
ファイル/ディレクトリの削除:
rm -f .replit replit.nix .replit.nix
rm -f vite-plugin-meta-images.ts
rm -rf .local/ .cache/ .upm/ .breakpoints
package.json の変更: devDependencies から、@replit/ で始まるキーを削除します。
vite.config.ts の変更:
@replit/*のインポートを削除- plugins 配列から Replit プラグインを削除
REPL_IDの条件ブロックを削除
// @replit コメントの削除: **/*.tsx、**/*.ts、**/*.jsx、**/*.js 内の // @replit.*$ を Grep します。
.gitignore の変更: .replit の行を削除します。
4.2 StackBlitz のクリーンアップ
rm -f .stackblitzrc
rm -rf .turbo/ # Only if not used in production
4.3 CodeSandbox のクリーンアップ
rm -f sandbox.config.json
rm -rf .codesandbox/
package.json から "sandbox" フィールドを削除します(存在する場合)。
4.4 Glitch のクリーンアップ
rm -f glitch.json .glitch-assets
rm -rf .glitch/
# .data/ - ASK USER before deleting (may contain important data)
サーバーコードから Glitch の環境変数チェック(PROJECT_DOMAIN、ASSETS_URL)を削除します。
フェーズ5:検証とレポート
Cleanup Complete!
Platforms Cleaned: Replit
Deleted:
- .replit
- vite-plugin-meta-images.ts
- .local/ (6 files)
Modified:
- package.json (removed 3 dependencies)
- vite.config.ts (removed 4 imports/plugins)
- button.tsx (removed 5 comments)
- badge.tsx (removed 5 comments)
- .gitignore (removed 1 line)
Next Steps:
1. Run `npm install` to update package-lock.json
2. Run `npm run build` to verify build works
3. Commit: git add . && git commit -m "chore: remove platform artifacts"
エッジケース
| ケース | 対応 |
|---|---|
| プラットフォームのアーティファクトが見つからない | 「プロジェクトはクリーンです」と報告して終了 |
| 複数のプラットフォームが検出された | 順番にクリーンアップし、個別にレポート |
| プロジェクトが Webpack(Vite ではない)を使用している | 代わりに webpack.config.* を検索 |
| package.json がない | NPM クリーンアップのフェーズをスキップ |
.data/ ディレクトリ(Glitch) | 削除前にユーザーに確認(データが含まれている可能性があります) |
エラー処理
| エラー | 対応 |
|---|---|
| 権限が拒否された | エラーをログに記録し、chmod または管理者権限を提案します |
| ファイルが使用中 | 時間を置いて再試行し、その後ユーザーに警告します |
| JSON の解析エラー | エラーをログに記録し、手動での修正を提案します |
| ビルド設定の構文エラー | エラーをログに記録し、手動での修正を提案します |
統合
ln-720-structure-migrator との連携
TRANSFORM モードで条件付きで呼び出されます:
ln-720-structure-migrator:
Phase 1: Detect project type + platform
Phase 2: Clean artifacts (ln-724-artifact-cleaner) # CONDITIONAL
Condition: Platform detected (Replit/StackBlitz/CodeSandbox/Glitch)
Skipped if: CREATE mode OR no platform markers
Phase 3: Restructure frontend (ln-721)
Phase 4: Generate backend (ln-722)
Phase 5: Generate seed data (ln-723)
単独での使用
User: Clean my project from platform artifacts
Claude: Invokes ln-724-artifact-cleaner
重要なルール
- 条件付き呼び出し: プラットフォームのアーティファクトが検出された場合にのみ実行し、CREATE モードではスキップします
- ユーザーの確認: 削除前に必ず内容をプレビューして確認を求めます
- データ損失の防止: ユーザーデータが含まれている可能性のあるディレクトリ(.data/)を削除する前に、ユーザーに確認します
- ビルドの検証: クリーンアップ後に
npm run buildを実行するよう推奨します - 冪等性: クリーンなプロジェクトで再実行すると、「アーティファクトが見つかりません」と報告します
参考資料
- platform_artifacts.md - プラットフォーム別のアーティファクトカタログ
完了の定義
- 少なくとも 1 つのプラットフォームが検出されている(Replit/StackBlitz/CodeSandbox/Glitch)
- すべてのプラットフォームアーティファクトがスキャンされ、ユーザーにプレビューされている
- 削除の前にユーザーの確認を受けている
- プラットフォームのファイル、ディレクトリ、依存関係、ビルド設定、コメントがクリーンアップされている
- プラットフォームファイルに関する .gitignore の項目が削除されている
- 削除・変更されたファイル数を含むクリーンアップレポートが生成されている
バージョン: 2.0.0 最終更新日: 2026-02-07