Paths: File paths (shared/ , references/ , ../ln-* ) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. If shared/ is missing, fetch files via WebFetch from https://raw.githubusercontent.com/levnikolaevich/claude-code-skills/master/skills/{path} .
ln-724-artifact-cleaner
Type: L3 Worker Category: 7XX Project Bootstrap
Removes platform-specific artifacts from projects exported from online platforms, preparing them for production deployment.
Overview
Aspect Details
Input Project directory, platform (auto-detect or manual)
Output Clean project without platform dependencies
Platforms Replit, StackBlitz, CodeSandbox, Glitch
Duration ~2-5 minutes
Invocation Called from ln-720 (TRANSFORM mode, conditional) or user-invocable
Invocation conditions:
-
TRANSFORM mode only (SKIP in CREATE mode)
-
At least one platform detected
-
User confirmation before cleanup
Platform Support Matrix
Platform Config Files Directories NPM Packages Build Config Comments
Replit .replit , replit.nix
.local/ , .cache/ , .upm/
@replit/*
REPL_ID checks // @replit
StackBlitz .stackblitzrc
.turbo/
-- Port overrides
CodeSandbox sandbox.config.json
.codesandbox/
-- CSB env checks
Glitch glitch.json , .glitch-assets
.glitch/ , .data/
-- Glitch env vars
Reference: platform_artifacts.md
Workflow
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
Phase 1: Detect & Scan
Step 1.0: Platform Detection
Platform Primary Indicator Confidence
Replit .replit file 100%
StackBlitz .stackblitzrc
100%
CodeSandbox sandbox.config.json
100%
Glitch glitch.json
100%
Output:
Detected Platforms:
- replit (confidence: 100%)
Step 1.1: Scan Artifacts
Per detected platform, scan for artifacts using platform-specific detection rules.
Replit Detection Rules:
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: MANDATORY READ: Load platform_artifacts.md for detection rules.
Scan Output Format
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
Phase 2: Preview
Show detailed preview of changes per platform.
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
Phase 3: Confirm
Proceed with platform cleanup (Replit)? [Y/n]
Options:
-
Y (default): Execute cleanup
-
n: Cancel operation
-
Custom exclusions: User can specify files to skip
Phase 4: Execute
Platform Router
Based on detected platforms, dispatch to platform-specific cleanup. Execute sequentially if multiple platforms detected.
4.1 Replit Cleanup (Primary)
Delete files/directories:
rm -f .replit replit.nix .replit.nix rm -f vite-plugin-meta-images.ts rm -rf .local/ .cache/ .upm/ .breakpoints
Modify package.json: Remove keys starting with @replit/ from devDependencies.
Modify vite.config.ts:
-
Remove @replit/* imports
-
Remove Replit plugins from plugins array
-
Remove REPL_ID conditional blocks
Remove // @replit comments: Grep // @replit.$ in **/.tsx , **/.ts , **/.jsx , **/*.js .
Modify .gitignore: Remove .replit line.
4.2 StackBlitz Cleanup
rm -f .stackblitzrc rm -rf .turbo/ # Only if not used in production
4.3 CodeSandbox Cleanup
rm -f sandbox.config.json rm -rf .codesandbox/
Remove "sandbox" field from package.json (if exists).
4.4 Glitch Cleanup
rm -f glitch.json .glitch-assets rm -rf .glitch/
.data/ - ASK USER before deleting (may contain important data)
Remove Glitch env var checks (PROJECT_DOMAIN , ASSETS_URL ) from server code.
Phase 5: Verify & Report
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:
- Run
npm installto update package-lock.json - Run
npm run buildto verify build works - Commit: git add . && git commit -m "chore: remove platform artifacts"
Edge Cases
Case Handling
No platform artifacts found Report "Project is clean" and exit
Multiple platforms detected Clean each sequentially, separate reports
Project uses Webpack (not Vite) Search webpack.config.* instead
No package.json Skip NPM cleanup phase
.data/ directory (Glitch) Ask user before deleting (may contain data)
Error Handling
Error Action
Permission denied Log error, suggest chmod or admin rights
File in use Retry after delay, then warn user
JSON parse error Log error, suggest manual fix
Build config syntax error Log error, suggest manual fix
Integration
With ln-720-structure-migrator
Called conditionally in TRANSFORM mode:
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)
Standalone Usage
User: Clean my project from platform artifacts Claude: Invokes ln-724-artifact-cleaner
Critical Rules
-
Conditional Invocation: Only run when platform artifacts detected, SKIP in CREATE mode
-
User Confirmation: Always preview and confirm before deleting
-
No Data Loss: Ask user before deleting directories that may contain user data (.data/)
-
Build Verification: Recommend npm run build after cleanup
-
Idempotent: Re-running on clean project reports "no artifacts found"
References
- platform_artifacts.md - Per-platform artifact catalog
Definition of Done
-
At least one platform detected (Replit/StackBlitz/CodeSandbox/Glitch)
-
All platform artifacts scanned and previewed to user
-
User confirmation received before any deletions
-
Platform files, directories, dependencies, build config, and comments cleaned
-
.gitignore entries for platform files removed
-
Cleanup report generated with deleted/modified file counts
Version: 2.0.0 Last Updated: 2026-02-07