← ClaudeAtlas

ios-libs-contributelisted

Contribute a client-discovered fix or improvement back to the configured iOS library repo from an ios_app tusk project.
gioe/tusk · ★ 1 · AI & Automation · score 60
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