Ios teardown
A collection of Claude Code skills for iOS, MERN, NEAN, and shared development workflows
npx -y skills add edfenton/claude-skills --skill ios-teardownAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 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.
What its author says it does
Copied from the file, not written here
Tear down an iOS project created by /ios-kit. Removes local files, git hooks, and optionally deletes the GitHub repo.
SKILL.md
3.8 KB, as published. Nobody here has run it
Purpose
Reverse the setup performed by /ios-kit (/ios-scaffold → /github-hooks → /github-secure). Removes local project files, git hooks, and optionally deletes the GitHub repo.
Arguments
--keep-repo— Keep the GitHub repo (default: delete the repo)--keep-local— Keep local files, only clean up remote resources--dry-run— Show what would be deleted without doing it
Workflow
1. Detect project
Verify the current directory is an ios-kit project:
- Check for
project.yml,App/Sources/, andCLAUDE.md - Read
project.ymlto extract the project name - Detect GitHub remote:
git remote get-url origin - Extract
owner/repofrom the remote URL
If any check fails, abort with a clear message about what's missing.
2. Pre-flight safety checks
Before proceeding, check for uncommitted or unpushed work:
- Uncommitted changes — Run
git status --porcelain. If output is non-empty, warn the user and list the changes. Require explicit confirmation to continue. - Unpushed commits — Run
git log @{upstream}..HEAD --oneline 2>/dev/null. If there are unpushed commits, warn the user and list them. Require explicit confirmation to continue. ghauth — Rungh auth status. If not authenticated and repo deletion is needed (no--keep-repo), abort and instruct the user to rungh auth login.
3. Dry-run report
Always display this report before any destructive action, regardless of --dry-run:
=== Teardown Plan ===
Project: <project-name>
GitHub: <owner/repo>
Will delete:
☐ GitHub repo: <owner/repo> (skip: --keep-repo)
☐ Branch protection on main (skip: --keep-repo)
☐ Local project directory: <path> (skip: --keep-local)
☐ Git hooks path config (skip: --keep-local)
Will keep:
☐ <anything skipped by flags>
- If
--dry-run, print the report and stop here. - Otherwise, ask: "Proceed with teardown? (yes/no)" — require the user to confirm.
4. Remove GitHub resources (unless --keep-repo)
Execute in this order (protections must be removed before repo deletion):
- Remove branch protection:
gh api -X DELETE /repos/{owner}/{repo}/branches/main/protection - Delete the repo:
gh repo delete {owner}/{repo} --yes
If --keep-repo:
- Skip all repo operations
- Suggest archiving: "Consider archiving with
gh repo archive {owner}/{repo} --yes" - Print the GitHub URL for future reference
5. Clean up local (unless --keep-local)
- Reset git hooks path (if configured):
git config --unset core.hooksPath - Capture the project directory path and navigate to the parent:
PROJECT_DIR=$(pwd) cd .. - Delete the project directory:
rm -rf "$PROJECT_DIR"
6. Confirm
Print a summary of what was deleted:
=== Teardown Complete ===
Deleted:
✓ GitHub repo: <owner/repo>
✓ Local directory: <path>
✓ Git hooks config
Kept:
— <anything preserved by flags>
If the repo was kept, include: GitHub: https://github.com/<owner>/<repo>
Safety guardrails
- Never run without confirmation — always show the dry-run report and require explicit "yes"
- Check for uncommitted changes — warn and require override
- Check for unpushed commits — warn and require override
- Verify
gh authbefore GitHub operations - No
--forceflag — destructive actions always require confirmation - Order matters — remove branch protection before repo deletion
- No
Writetool — this skill only deletes, never creates files