← All skills
ios-qa
74 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a coding skill usually runs build and test commands.
By charlieviettq/awesome-agent-skill (GitHub) · coding · 27 stars · scanned at commit c567ae4
Live-device iOS QA for SwiftUI apps. (gstack).
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 26 places.
Show 17 more
- .claude/skills/gstack-ios-qa/SKILL.md, line 219
touch ~/.gstack/.telemetry-prompted - .claude/skills/gstack-ios-qa/SKILL.md, line 237
touch ~/.gstack/.proactive-prompted - .claude/skills/gstack-ios-qa/SKILL.md, line 246
~/.claude/skills/gstack/bin/gstack-telemetry-log --event-type first_task_scaffold_shown --skill "TASK_TOKEN" --outcome shown 2>/dev/null || true - .claude/skills/gstack-ios-qa/SKILL.md, line 321
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)" 2>/dev/null || true - .claude/skills/gstack-ios-qa/SKILL.md, line 462
_GSTACK_HOME="${GSTACK_HOME:-$HOME/.gstack}" - .claude/skills/gstack-ios-qa/SKILL.md, line 571
"$_BRAIN_CONFIG_BIN" set artifacts_sync_mode <choice> - .claude/skills/gstack-ios-qa/SKILL.md, line 580
"~/.claude/skills/gstack/bin/gstack-brain-sync" --discover-new 2>/dev/null || true - .claude/skills/gstack-ios-qa/SKILL.md, line 624
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)" - .claude/skills/gstack-ios-qa/SKILL.md, line 717
~/.claude/skills/gstack/bin/gstack-question-log '{"skill":"ios-qa","question_id":"<id>","question_summary":"<short>","category":"<approval|clarification|routing - .claude/skills/gstack-ios-qa/SKILL.md, line 726
~/.claude/skills/gstack/bin/gstack-question-preference --write '{"question_id":"<id>","preference":"<pref>","source":"inline-user","free_text":"<optional origin - .claude/skills/gstack-ios-qa/SKILL.md, line 746
jq -n --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" --arg skill "SKILL_NAME" --arg branch "$(git branch --show-current 2>/dev/null)" --arg insight "ONE_LINE_SUMMARY - .claude/skills/gstack-ios-qa/SKILL.md, line 764
~/.claude/skills/gstack/bin/gstack-learnings-log '{"skill":"SKILL_NAME","type":"operational","key":"SHORT_KEY","insight":"DESCRIPTION","confidence":N,"source":" - .claude/skills/gstack-ios-qa/SKILL.md, line 779
_TEL_END=$(date +%s) - .claude/skills/gstack-ios-qa/SKILL.md, line 852
SESSION="$HOME/.gstack/ios-qa-session.json" - .claude/skills/gstack-ios-qa/daemon/src/devicectl.ts, line 7
import { spawnSync, type SpawnSyncReturns } from 'child_process'; - .claude/skills/gstack-ios-qa/daemon/src/devicectl.ts, line 28
const defaultSpawn: SpawnImpl = (cmd, args) => spawnSync(cmd, args, { stdio: 'pipe', timeout: 60_000 }); - .claude/skills/gstack-ios-qa/daemon/src/single-instance.ts, line 12
import { spawn } from 'child_process';
and 6 more places
Changes files outside its own folder
This is disclosed by the author in the skill's SKILL.md or README.
Found in 16 places.
Show 13 more
- .claude/skills/gstack-ios-qa/SKILL.md, line 88
echo '{"skill":"ios-qa","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(_repo=$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null | tr -cd - .claude/skills/gstack-ios-qa/SKILL.md, line 181
rm -f ~/.gstack/.writing-style-prompt-pending - .claude/skills/gstack-ios-qa/SKILL.md, line 182
touch ~/.gstack/.writing-style-prompted - .claude/skills/gstack-ios-qa/SKILL.md, line 191
touch ~/.gstack/.completeness-intro-seen - .claude/skills/gstack-ios-qa/SKILL.md, line 219
touch ~/.gstack/.telemetry-prompted - .claude/skills/gstack-ios-qa/SKILL.md, line 237
touch ~/.gstack/.proactive-prompted - .claude/skills/gstack-ios-qa/SKILL.md, line 247
touch ~/.gstack/.activated 2>/dev/null || true - .claude/skills/gstack-ios-qa/SKILL.md, line 250
If `ACTIVATED` is `no` but `FIRST_TASK:` is empty or `nongit` (headless, non-git, or nothing actionable): show nothing, just run `touch ~/.gstack/.activated 2>/ - .claude/skills/gstack-ios-qa/SKILL.md, line 256
Then run `touch ~/.gstack/.first-loop-tip-shown 2>/dev/null || true`. - .claude/skills/gstack-ios-qa/SKILL.md, line 322
touch ~/.gstack/.vendoring-warned-${SLUG:-unknown} - .claude/skills/gstack-ios-qa/SKILL.md, line 746
jq -n --arg ts "$(date -u +%Y-%m-%dT%H:%M:%SZ)" --arg skill "SKILL_NAME" --arg branch "$(git branch --show-current 2>/dev/null)" --arg insight "ONE_LINE_SUMMARY - .claude/skills/gstack-ios-qa/SKILL.md, line 781
rm -f ~/.gstack/analytics/.pending-"$_SESSION_ID" 2>/dev/null || true - .claude/skills/gstack-ios-qa/SKILL.md, line 786
echo '{"skill":"SKILL_NAME","duration_s":"'"$_TEL_DUR"'","outcome":"OUTCOME","browse":"USED_BROWSE","session":"'"$_SESSION_ID"'","ts":"'$(date -u +%Y-%m-%dT%H:%
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README.
Found in 3 places.
Downloads and installs other software
The author does not mention this.
Found in 1 place.
Safer alternatives
Low-risk skills in the same category (coding) that look related. Check that one does what you need.
Other copies in this repository
charlieviettq/awesome-agent-skill has 1 more folder with a skill named ios-qa. This page shows the lowest-scoring copy.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'ios-qa' ] || [ -L ~/.agents/skills/'ios-qa' ]; then echo 'A skill folder named ios-qa already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/charlieviettq/awesome-agent-skill' "$d" && git -C "$d" checkout --quiet 'c567ae426d55fa498e919fc0f5a37c582d5c7a2c' -- '.claude/skills/gstack-ios-qa' && mkdir -p ~/.agents/skills && cp -R "$d"/'.claude/skills/gstack-ios-qa' ~/.agents/skills/'ios-qa' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'ios-qa' ~/.claude/skills/'ios-qa' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for charlieviettq/awesome-agent-skill shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/charlieviettq/awesome-agent-skill/)
Score history
| Date | Version | Score |
|---|
| 2026-11-07 | c567ae4 | 89 |