[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71HCRBZAKBVKG4Z5CF1MAMK":3,"skill-same:01M71HCRBZAKBVKG4Z5CF1MAMK":80},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M71HCRBZAKBVKG4Z5CF1MAMK","qa-device-management",null,"Boot and control iOS Simulators and Android Emulators for QA testing using agent-device CLI. Manage sessions, capture screenshots, launch apps, and control devices across platforms. Invoke when user says \"bring up simulators\", \"boot the device\", \"take a screenshot\", \"launch the app\", \"compare iOS and Android\", \"test both platforms\", \"visual parity check\", or any task requiring device\u002Fsimulator lifecycle management.","runecraftai\u002Farcanum","runecraftai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F279098826?v=4","01M71HBGS1RCAJ490RAYST7M00","01M71HBGT1CB94MNS6T6SGAZKW",1,"MIT","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Ffamiliar\u002Fskills\u002Fqa-automation\u002Fqa-device-management\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"qa","device management","management","device","qa device management","screenshot","take","read","cli","across","Bash","when","apps","invoke","take a screenshot","open","qa testing","up","testing","app","2026-11-10 10:12:30",false,"---\nname: qa-device-management\ndescription: >\n  Boot and control iOS Simulators and Android Emulators for QA testing using agent-device CLI.\n  Manage sessions, capture screenshots, launch apps, and control devices across platforms.\n  Invoke when user says \"bring up simulators\", \"boot the device\", \"take a screenshot\",\n  \"launch the app\", \"compare iOS and Android\", \"test both platforms\", \"visual parity check\",\n  or any task requiring device\u002Fsimulator lifecycle management.\nallowed-tools: Bash(agent-device:*) Bash(xcrun:*) Bash(adb:*) Bash(open:*) Bash(find:*) Bash(npx:*) Read\n---\n\n# qa-device-management\n\nSide-by-side iOS Simulator and Android Emulator control using the `agent-device` CLI. Manages the device lifecycle for all QA Automation skills.\n\n## When to Use\n\n- Bringing up simulators\u002Femulators for testing\n- Launching your app on one or both platforms\n- Capturing baseline or comparison screenshots\n- Checking device state, app state, or accessibility tree\n- Managing agent-device sessions across platforms\n\n## Configuration\n\nAll device settings are in `qa.config.sh`. Set these before using:\n\n```bash\n# In qa.config.sh or qa.config.local.sh:\nexport APP_BUNDLE_ID=\"com.yourapp.dev\"          # Your app's bundle\u002Fpackage ID\nexport SIMULATOR_UDID=\"auto\"                      # \"auto\" or specific UDID\nexport SIMULATOR_DEVICE_NAME=\"iPhone 16 Pro\"      # For creating simulators\nexport ANDROID_AVD=\"Pixel_8\"                       # Android AVD name\nexport ANDROID_SERIAL=\"emulator-5554\"              # Android serial\n```\n\n## Quick Start — Full Startup Sequence\n\n### Boot iOS Simulator\n\n```bash\n# Auto-detect a booted simulator, or boot one\nsource .pi\u002Fskills\u002Fqa-automation\u002Fqa.config.sh\nUDID=$(qa_detect_simulator_udid)\n\n# Or boot a specific one\nxcrun simctl boot \"$SIMULATOR_UDID\" 2>&1 || true\nopen -a Simulator\n```\n\n### Boot Android Emulator\n\n```bash\nnohup $EMULATOR_PATH -avd \"$ANDROID_AVD\" -no-snapshot-load > \u002Ftmp\u002Fqa-emu.log 2>&1 &\n\n# Wait for boot\nfor i in $(seq 1 30); do\n    BOOT=$($ADB_PATH shell getprop sys.boot_completed 2>\u002Fdev\u002Fnull | tr -d '\\r')\n    if [ \"$BOOT\" = \"1\" ]; then\n        echo \"Android emulator booted after ~$((i*2))s\"\n        break\n    fi\n    sleep 2\ndone\n```\n\n### Verify Both Devices\n\n```bash\nagent-device devices --json\n```\n\n### Launch App on iOS\n\n```bash\nagent-device open \"$APP_BUNDLE_ID\" --platform ios --session default\n```\n\n### Launch App on Android\n\n```bash\nagent-device open \"$APP_BUNDLE_ID\" --platform android --serial \"$ANDROID_SERIAL\" --session android\n```\n\n### Capture Baseline Screenshots\n\n```bash\nagent-device screenshot \u002Ftmp\u002Fqa-ios-baseline.png --session default\nagent-device screenshot \u002Ftmp\u002Fqa-android-baseline.png --session android\n```\n\n## Session Management\n\nagent-device binds each session to one platform. Use the correct session flag:\n\n| Platform | Session Flag | Example |\n|----------|-------------|---------|\n| iOS | `--session default` (or omit) | `agent-device snapshot --session default` |\n| Android | `--session android` | `agent-device snapshot --session android` |\n\n```bash\n# List active sessions\nagent-device session list\n\n# Release a session\nagent-device close --session default\n```\n\n## Common Operations\n\n### Screenshots (Both Platforms)\n\n```bash\nagent-device screenshot \u002Ftmp\u002Fqa-ios.png --session default\nagent-device screenshot \u002Ftmp\u002Fqa-android.png --session android\n```\n\n### Accessibility Snapshots\n\n```bash\nagent-device snapshot --session default      # iOS\nagent-device snapshot --session android      # Android\n\n# With options\nagent-device snapshot -i --session default   # Interactive elements only\nagent-device snapshot --depth 3              # Limit depth\n```\n\n### Navigate and Interact\n\n```bash\n# Tap\nagent-device click 200 400 --session default\n\n# Swipe\nagent-device swipe 200 800 200 200 --session default\n\n# Scroll\nagent-device scroll down --session default\n\n# Type\nagent-device fill @e3 \"hello world\" --session default\n```\n\n### Go Home \u002F Go Back\n\n```bash\nagent-device home --session default\nagent-device back --session android\n```\n\n### Check Foreground App\n\n```bash\nagent-device appstate --session default\nagent-device appstate --session android\n```\n\n### Relaunch App (Fresh State)\n\n```bash\nagent-device open \"$APP_BUNDLE_ID\" --session default --relaunch\n```\n\n## Building and Installing Your App\n\n### iOS — Expo\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx expo run:ios --device \"$SIMULATOR_DEVICE_NAME\"\n```\n\n### iOS — React Native CLI\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx react-native run-ios --simulator \"$SIMULATOR_DEVICE_NAME\"\n```\n\n### Android — Expo\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx expo run:android\n```\n\n### Android — React Native CLI\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx react-native run-android\n```\n\n### Check If App Is Installed\n\n```bash\n# iOS\nxcrun simctl listapps booted 2>\u002Fdev\u002Fnull | grep \"$APP_BUNDLE_ID\"\n\n# Android\n$ADB_PATH shell pm list packages | grep \"$APP_BUNDLE_ID\"\n```\n\n## Shutdown Sequence\n\n```bash\n# Close agent-device sessions\nagent-device close --session default\nagent-device close --session android\n\n# Shutdown simulators\nxcrun simctl shutdown \"$SIMULATOR_UDID\"\n$ADB_PATH emu kill\n```\n\n## CDP Connection (for React Native apps)\n\nWhen coordinate-based tapping fails (e.g., full-screen video players intercept touches), use CDP to control navigation directly via the React Native Hermes runtime.\n\n### Prerequisites\n- Dev server running (e.g., `npx expo start`)\n- `ws` npm package available\n\n### Discover CDP Endpoints\n\n```bash\n# List available debug targets\ncurl -s http:\u002F\u002Flocalhost:$METRO_PORT\u002Fjson\n\n# Get WebSocket URL (auto-detected by qa.config.sh)\nsource qa.config.sh\nqa_detect_cdp_ws_url\n```\n\n### Navigate via CDP\n\n```bash\nsource .pi\u002Fskills\u002Fqa-automation\u002Fqa-test-flows\u002Flib\u002Fcdp-helpers.sh\n\n# Navigate to a screen\ncdp_navigate \"SettingsScreen\"\n\n# Navigate to a tab\ncdp_navigate_tab \"ProfileScreen\"\n\n# Get current route\ncdp_get_route\n```\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| \"No device found\" | Verify simulator is booted: `xcrun simctl list devices \\| grep Booted` |\n| Session bound to wrong platform | Use `--session android` for Android, close session and rebind |\n| Simulator already booted (error 149) | Safe to ignore — simulator is already running |\n| App not installed | Build and install: `npx expo run:ios` or `npx expo run:android` |\n| agent-device click hangs | Wrap with timeout: `timeout 5 agent-device click 100 200` |\n| CDP \"Connection refused\" | Ensure dev server is running: `curl http:\u002F\u002Flocalhost:$METRO_PORT\u002Fstatus` |\n","# qa-device-management\n\nSide-by-side iOS Simulator and Android Emulator control using the `agent-device` CLI. Manages the device lifecycle for all QA Automation skills.\n\n## When to Use\n\n- Bringing up simulators\u002Femulators for testing\n- Launching your app on one or both platforms\n- Capturing baseline or comparison screenshots\n- Checking device state, app state, or accessibility tree\n- Managing agent-device sessions across platforms\n\n## Configuration\n\nAll device settings are in `qa.config.sh`. Set these before using:\n\n```bash\n# In qa.config.sh or qa.config.local.sh:\nexport APP_BUNDLE_ID=\"com.yourapp.dev\"          # Your app's bundle\u002Fpackage ID\nexport SIMULATOR_UDID=\"auto\"                      # \"auto\" or specific UDID\nexport SIMULATOR_DEVICE_NAME=\"iPhone 16 Pro\"      # For creating simulators\nexport ANDROID_AVD=\"Pixel_8\"                       # Android AVD name\nexport ANDROID_SERIAL=\"emulator-5554\"              # Android serial\n```\n\n## Quick Start — Full Startup Sequence\n\n### Boot iOS Simulator\n\n```bash\n# Auto-detect a booted simulator, or boot one\nsource .pi\u002Fskills\u002Fqa-automation\u002Fqa.config.sh\nUDID=$(qa_detect_simulator_udid)\n\n# Or boot a specific one\nxcrun simctl boot \"$SIMULATOR_UDID\" 2>&1 || true\nopen -a Simulator\n```\n\n### Boot Android Emulator\n\n```bash\nnohup $EMULATOR_PATH -avd \"$ANDROID_AVD\" -no-snapshot-load > \u002Ftmp\u002Fqa-emu.log 2>&1 &\n\n# Wait for boot\nfor i in $(seq 1 30); do\n    BOOT=$($ADB_PATH shell getprop sys.boot_completed 2>\u002Fdev\u002Fnull | tr -d '\\r')\n    if [ \"$BOOT\" = \"1\" ]; then\n        echo \"Android emulator booted after ~$((i*2))s\"\n        break\n    fi\n    sleep 2\ndone\n```\n\n### Verify Both Devices\n\n```bash\nagent-device devices --json\n```\n\n### Launch App on iOS\n\n```bash\nagent-device open \"$APP_BUNDLE_ID\" --platform ios --session default\n```\n\n### Launch App on Android\n\n```bash\nagent-device open \"$APP_BUNDLE_ID\" --platform android --serial \"$ANDROID_SERIAL\" --session android\n```\n\n### Capture Baseline Screenshots\n\n```bash\nagent-device screenshot \u002Ftmp\u002Fqa-ios-baseline.png --session default\nagent-device screenshot \u002Ftmp\u002Fqa-android-baseline.png --session android\n```\n\n## Session Management\n\nagent-device binds each session to one platform. Use the correct session flag:\n\n| Platform | Session Flag | Example |\n|----------|-------------|---------|\n| iOS | `--session default` (or omit) | `agent-device snapshot --session default` |\n| Android | `--session android` | `agent-device snapshot --session android` |\n\n```bash\n# List active sessions\nagent-device session list\n\n# Release a session\nagent-device close --session default\n```\n\n## Common Operations\n\n### Screenshots (Both Platforms)\n\n```bash\nagent-device screenshot \u002Ftmp\u002Fqa-ios.png --session default\nagent-device screenshot \u002Ftmp\u002Fqa-android.png --session android\n```\n\n### Accessibility Snapshots\n\n```bash\nagent-device snapshot --session default      # iOS\nagent-device snapshot --session android      # Android\n\n# With options\nagent-device snapshot -i --session default   # Interactive elements only\nagent-device snapshot --depth 3              # Limit depth\n```\n\n### Navigate and Interact\n\n```bash\n# Tap\nagent-device click 200 400 --session default\n\n# Swipe\nagent-device swipe 200 800 200 200 --session default\n\n# Scroll\nagent-device scroll down --session default\n\n# Type\nagent-device fill @e3 \"hello world\" --session default\n```\n\n### Go Home \u002F Go Back\n\n```bash\nagent-device home --session default\nagent-device back --session android\n```\n\n### Check Foreground App\n\n```bash\nagent-device appstate --session default\nagent-device appstate --session android\n```\n\n### Relaunch App (Fresh State)\n\n```bash\nagent-device open \"$APP_BUNDLE_ID\" --session default --relaunch\n```\n\n## Building and Installing Your App\n\n### iOS — Expo\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx expo run:ios --device \"$SIMULATOR_DEVICE_NAME\"\n```\n\n### iOS — React Native CLI\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx react-native run-ios --simulator \"$SIMULATOR_DEVICE_NAME\"\n```\n\n### Android — Expo\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx expo run:android\n```\n\n### Android — React Native CLI\n\n```bash\ncd \"$PROJECT_DIR\"\nnpx react-native run-android\n```\n\n### Check If App Is Installed\n\n```bash\n# iOS\nxcrun simctl listapps booted 2>\u002Fdev\u002Fnull | grep \"$APP_BUNDLE_ID\"\n\n# Android\n$ADB_PATH shell pm list packages | grep \"$APP_BUNDLE_ID\"\n```\n\n## Shutdown Sequence\n\n```bash\n# Close agent-device sessions\nagent-device close --session default\nagent-device close --session android\n\n# Shutdown simulators\nxcrun simctl shutdown \"$SIMULATOR_UDID\"\n$ADB_PATH emu kill\n```\n\n## CDP Connection (for React Native apps)\n\nWhen coordinate-based tapping fails (e.g., full-screen video players intercept touches), use CDP to control navigation directly via the React Native Hermes runtime.\n\n### Prerequisites\n- Dev server running (e.g., `npx expo start`)\n- `ws` npm package available\n\n### Discover CDP Endpoints\n\n```bash\n# List available debug targets\ncurl -s http:\u002F\u002Flocalhost:$METRO_PORT\u002Fjson\n\n# Get WebSocket URL (auto-detected by qa.config.sh)\nsource qa.config.sh\nqa_detect_cdp_ws_url\n```\n\n### Navigate via CDP\n\n```bash\nsource .pi\u002Fskills\u002Fqa-automation\u002Fqa-test-flows\u002Flib\u002Fcdp-helpers.sh\n\n# Navigate to a screen\ncdp_navigate \"SettingsScreen\"\n\n# Navigate to a tab\ncdp_navigate_tab \"ProfileScreen\"\n\n# Get current route\ncdp_get_route\n```\n\n## Troubleshooting\n\n| Problem | Solution |\n|---------|----------|\n| \"No device found\" | Verify simulator is booted: `xcrun simctl list devices \\| grep Booted` |\n| Session bound to wrong platform | Use `--session android` for Android, close session and rebind |\n| Simulator already booted (error 149) | Safe to ignore — simulator is already running |\n| App not installed | Build and install: `npx expo run:ios` or `npx expo run:android` |\n| agent-device click hangs | Wrap with timeout: `timeout 5 agent-device click 100 200` |\n| CDP \"Connection refused\" | Ensure dev server is running: `curl http:\u002F\u002Flocalhost:$METRO_PORT\u002Fstatus` |\n",{"name":5,"description":51,"allowed-tools":52},"Boot and control iOS Simulators and Android Emulators for QA testing using agent-device CLI. Manage sessions, capture screenshots, launch apps, and control devices across platforms. Invoke when user says \"bring up simulators\", \"boot the device\", \"take a screenshot\", \"launch the app\", \"compare iOS and Android\", \"test both platforms\", \"visual parity check\", or any task requiring device\u002Fsimulator lifecycle management.\n","Bash(agent-device:*) Bash(xcrun:*) Bash(adb:*) Bash(open:*) Bash(find:*) Bash(npx:*) Read","main","33b040feb49e126600394272a8e321a3cd279e8b","packages\u002Ffamiliar\u002Fskills\u002Fqa-automation\u002Fqa-device-management",0,"https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum","https:\u002F\u002Fgithub.com\u002Frunecraftai","2026-07-29 22:08:52",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add runecraftai\u002Farcanum --skill qa-device-management",{"tool":66,"command":67},"bunx","bunx skills add runecraftai\u002Farcanum --skill qa-device-management",{"tool":69,"command":70},"pnpm","pnpm dlx skills add runecraftai\u002Farcanum --skill qa-device-management","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Ffamiliar\u002Fskills\u002Fqa-automation\u002Fqa-device-management\u002FSKILL.md",true,[74],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"COORDINATE-MAP.md","REFERENCE","参考文档",3128,"https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Ffamiliar\u002Fskills\u002Fqa-automation\u002Fqa-device-management\u002FCOORDINATE-MAP.md",[81,109,134,158,179,202],{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":46},"01M71HGTN9FRQ3WEZMVVX7C3VZ","using-agent-skills","Discovers and invokes the right @runecraft\u002Fspells skill for the current task. Use when starting a session, when a request is ambiguous about which workflow to apply, or when you need to pick among the 13-skill Arcanum catalog. EN triggers: \u002Fskill, which skill, pick a skill, what skill should I use, skill discovery, meta skill. PT triggers: qual skill, qual habilidade, descobrir skill, qual fluxo usar. Do NOT use for: actual implementation work (route to the specific skill instead), unrelated standalone tasks outside the Arcanum catalog, or runtime-specific configuration (e.g., opencode.json \u002F Claude Code plugin paths).","CC-BY-4.0","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Fspells\u002Fskills\u002Fusing-agent-skills\u002FSKILL.md",[88],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[90,91,92,93,94,95,37,96,97,98,99,100,101,102,103,104,105,106,107,108],"using agent skills","standalone","which","pt","pick","Meta","workflow","you","code","tasks","skill discovery","route","work","unrelated","opencode","request","paths","a skill","ambiguous",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":46},"01M71HGPD6N9JH2G8EVBXJR77X","typescript-patterns","TypeScript best practices and patterns for type-safe, maintainable code. Covers discriminated unions, generics, const assertions, type narrowing, and common anti-patterns. Extends (does not override) project tsconfig. EN triggers: \u002Ftypescript, TypeScript patterns, TS best practices, type safety, discriminated unions, generics, type narrowing. PT triggers: \u002Ftypescript, padrões TypeScript, boas práticas TS, segurança de tipos, unions discriminadas, genéricos. Do NOT use for: JavaScript-only projects, runtime performance, or replacing project tsconfig rules.","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Fspells\u002Fskills\u002Ftypescript-patterns\u002FSKILL.md",[],[116,117,118,119,120,121,93,122,123,124,125,126,127,128,129,130,131,132,98,133],"typescript","patterns","typescript patterns","do","projects","for","runtime","project","performance","en","maintainable code","triggers","only","use","assertions","Rules","best practices","common",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":144,"publishedAt":46},"01M71HGJAKX4TFN0PECYPJ9S38","test-driven-development","Drives development with tests — fail first, then make them pass, then refactor. Use when implementing any logic, fixing any bug, or changing any behavior. EN triggers: \u002Ftest, write tests first, TDD, prove it, 80\u002F15\u002F5 pyramid, Beyonce Rule. PT triggers: \u002Fteste, testes primeiro, provar com teste, pirâmide 80\u002F15\u002F5. Do NOT use for: production incident triage (use \u002Fdebug), or cosmetic-only changes with no behavioral surface.","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Fspells\u002Fskills\u002Ftest-driven-development\u002FSKILL.md",[140,143],{"categoryNo":141,"categoryName":142,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[145,146,147,148,93,149,150,151,128,37,152,153,154,155,156,119,121,125,127,157],"test driven development","development","test","driven","incident","implementing","write tests","write","bug","refactor","behavioral","make","tests",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":46},"01M71HGC1H4JQFJWH613XTJC59","spec-driven","Feature planning and implementation with 4 adaptive phases — Specify, Design, Tasks, Execute. Auto-sizes depth by complexity. Creates atomic tasks with verification criteria, atomic git commits, and requirement traceability. Features an independent Verifier (author != verifier, evidence-or-zero), persistent decision log (STATE.md), and test-coverage-matrix-driven tests, plus a self-improving lessons layer that turns verification failures into reusable project-local guidance. Stack-agnostic. Use when planning features (requirements, design, task breakdown), implementing with verification and atomic commits, or validating\u002Fverifying an implementation against a spec. Triggers (PT\u002FEN): \"specify feature\", \"vamos especificar\", \"discutir feature\", \"discutir este caso\", \"design\", \"design da feature\", \"tarefas\", \"quebrar em tarefas\", \"implementar\", \"build\", \"validar\", \"verify work\", \"UAT\", \"validar implementação\", \"record decision\", \"pause work\", \"pausar trabalho\", \"resume work\", \"retomar trabalho\". Do NOT use for architecture decomposition analysis (use architecture skills) or technical design docs (treat as Complex scope: discuss gray areas + architecture-focused design).","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Fspells\u002Fskills\u002Fspec-driven\u002FSKILL.md",[],[165,166,148,167,168,169,170,93,123,171,150,172,173,174,175,176,37,177,99,178],"spec driven","spec","coverage","complexity","task breakdown","scope","decision","local","design","self-improving","auto","atomic commits","analysis","architecture",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":189,"publishedAt":46},"01M71HG5CSP04F29HRAG7XVYKG","skill-forge","Designs, authors, validates, and optimizes new Agent Skills from scratch. Use when creating a new skill, packaging a workflow as a skill, improving a skill's triggering accuracy, or evaluating whether a skill improves output quality. Covers the full lifecycle: DISCOVER, DESIGN, AUTHOR, VALIDATE, OPTIMIZE, DELIVER. Produces skills that follow the open SKILL.md format (YAML frontmatter + Markdown body, progressive disclosure, validation loops). EN triggers: \u002Fforge, create a skill, write a skill, build a skill, new skill, author a skill, package this as a skill, validate a skill, improve skill triggering, optimize skill description, evaluate skill quality. PT triggers: \u002Fforge, criar uma skill, escrever uma skill, construir uma skill, nova skill, empacotar como skill, validar skill, melhorar disparo, otimizar descrição de skill. Do NOT use for: discovering which existing skill to apply (use a dispatch\u002Fmeta skill), planning feature implementation, or designing software architecture.","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Fspells\u002Fskills\u002Fskill-forge\u002FSKILL.md",[185,188],{"categoryNo":186,"categoryName":187,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[190,191,192,92,193,194,93,195,95,196,41,173,178,197,198,152,199,107,200,201],"forge","skill forge","deliver","new agent","feature implementation","packaging","improve","create","de","software","new skill","full",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":85,"licenseFileUrl":6,"sourceHtmlUrl":206,"categories":207,"keywords":208,"publishedAt":46},"01M71HG1RAQY3GXX0Q5TMW0XD6","shipping-and-launch","Prepares production launches with a pre-launch checklist, staged rollout, monitoring, and a rollback strategy — plus feature flag lifecycle (off → internal → beta → GA). Use when deploying a feature to production for the first time, releasing a significant change, or planning a rollout. EN triggers: \u002Fship, pre-launch checklist, staged rollout, feature flag, rollback plan, monitoring. PT triggers: \u002Fshippar, checklist pré-lançamento, rollout gradual, feature flag, plano de rollback. Do NOT use for: pre-production development work, or one-off internal tools with no user exposure.","https:\u002F\u002Fgithub.com\u002Frunecraftai\u002Farcanum\u002Fblob\u002Fmain\u002Fpackages\u002Fspells\u002Fskills\u002Fshipping-and-launch\u002FSKILL.md",[],[209,210,211,93,212,213,37,214,215,216,217,102,218,219,220,221,198,222,223,224],"shipping and launch","shipping","launch","time","beta","rollout","rollback plan","monitoring","rollback strategy","plan","change","exposure","plano","ship","Tools","pre-launch"]