ios-libs-contributelisted
Install: claude install-skill gioe/tusk
# iOS Libs Contribute Skill
Open a pull request against the iOS library repo configured by the current tusk client project, while keeping the upstream work linked to the originating local task. Use a fork-based PR by default because most client projects will not have direct push access to the shared library repo.
## Step 1: Resolve the Originating Local Task
Determine the local task that surfaced the library change:
1. If the user invoked `/ios-libs-contribute <id>`, use that task ID.
2. Otherwise parse it from the current branch:
```bash
TASK_ID=$(tusk branch-parse | python3 -c 'import json,sys; print(json.load(sys.stdin).get("task_id") or "")')
```
3. If neither produces a task ID, ask for one or stop.
Fetch the task:
```bash
tusk task-get "$TASK_ID"
```
Record `task.summary` for the PR body and progress note.
## Step 2: Resolve the Configured iOS Lib Repo
Never hard-code the library repo. Read it from `project_libs.<project_type>.repo`:
```bash
PROJECT_TYPE=$(tusk config project_type)
LIB_REPO=$(tusk config "project_libs.${PROJECT_TYPE}.repo")
LIB_REF=$(tusk config "project_libs.${PROJECT_TYPE}.ref")
```
Validate:
- If `PROJECT_TYPE` is not `ios_app`, stop with: `/ios-libs-contribute requires project_type=ios_app in tusk/config.json.`
- If `LIB_REPO` is empty, stop with: `project_libs.ios_app.repo is unset in tusk/config.json.`
`LIB_REF` is optional. Mention it in the PR body when present.
## Step 3: Confirm the Upstream Change
Ask the user to identi