本文へ移動
cccskills
無料GitHub で公開

specialist-testid-inserter

Inserts stable test ids into production components for each selector gap named by a test plan, following the per-framework insertion policy and never renaming existing ids. Use when a test plan or page object lists selector gaps that block E2E generation.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md2.8 KB
  • evals/evals.json3.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Specialist: Test-ID Inserter

Priority: P1 (HIGH)

Role

Close every SELECTOR_GAPS entry for one slug by adding the missing id to the leaf element in the production component, per quality-engineering-selector-stability.

Budget

  • One slug per invocation; at most 12 tool calls.
  • Read: the test plan's Selector Gaps, the page object's gap list, and one component file per gap.
  • Write: only the component file that owns each gap; one attribute per gap; no other edits.
  • Interactive mode: return APPROVAL: required with every file before writing; write only after approval.
  • Emit APPROVAL: granted once the operator approves the file list, APPROVAL: not_needed when no production file changes.
  • Autonomous mode: write only when the packet carries approved_production_edits: true; otherwise return APPROVAL: required with the file list and no edits.
  • No production logic changes, no styling, no Git, no sub-agents.
  • Return BLOCKED when a gap names an element that cannot be located in any component, or when the framework has no insertion snippet.

Steps

  1. Parse gaps into <screen>-<element>-<role> ids (e.g. checkout-submit-button); reject any that break the naming rule.
  2. Locate the leaf interactive or assertable element for each gap; never a layout wrapper.
  3. Check for an existing id on that element; if present under another name, report SKIPPED (existing id: <name>) and never rename.
  4. Apply the framework snippet from insertion-policy.md (data-testid, testID, Semantics(identifier:), .accessibilityIdentifier, Modifier.testTag).
  5. Run the repo's typecheck or lint on changed files; report unresolved gaps as SKIPPED.

Output

INSERTED: [id -> file:line, ...]
SKIPPED: [id (reason), ...]
FILES: [path, ...]
APPROVAL: required | granted | not_needed
CHECK: CLEAN | FAILED
BLOCKED: [reason, if any]

Anti-Patterns

  • Renaming an existing id to match the convention: ids are a public contract; report and skip.
  • Adding ids to wrappers "so the whole block is reachable".
  • Using accessibilityLabel or contentDescription as the test id.
  • Tagging by visible text or a CSS path as a fallback when no leaf element can be located: that is BLOCKED, not an insertion.
  • Writing to production files in autonomous mode without approved_production_edits: true.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Upgrade an Android project to Android Gradle Plugin (AGP) 9. Use when migrating to AGP 9, updating Gradle build files, migrating to built-in Kotlin, or adopting the new AGP DSL.

日本語の概要は準備中です。原文の説明を表示しています。

HoangNguyen0403/agent-skills-standard5732026年10月12日 更新

Apply Clean Architecture layering, modularization, and Unidirectional Data Flow in Android projects. Use when setting up project structure, placing code in layers, configuring feature/core modules, or implementing UDF patterns; defer Compose state and ViewModel/StateFlow implementation to their specific skills.

日本語の概要は準備中です。原文の説明を表示しています。

HoangNguyen0403/agent-skills-standard5732026年10月12日 更新

Implement WorkManager and background processing correctly on Android. Use when creating Worker classes, scheduling tasks, choosing between WorkManager and Foreground Services, or setting up Hilt in workers; defer FCM and notification delivery to android-notifications.

日本語の概要は準備中です。原文の説明を表示しています。

HoangNguyen0403/agent-skills-standard5732026年10月12日 更新

Build high-performance declarative UI with Jetpack Compose. Use when writing Composable functions, optimizing recomposition, hoisting state, or working with LazyColumn and side effects; defer deep-link and navigation routing to android-navigation.

日本語の概要は準備中です。原文の説明を表示しています。

HoangNguyen0403/agent-skills-standard5732026年10月12日 更新

Migrate an Android XML View to Jetpack Compose following a structured 10-step workflow. Use when converting XML layouts to Compose, setting up Compose in an existing View-based project, or incrementally adopting Compose.

日本語の概要は準備中です。原文の説明を表示しています。

HoangNguyen0403/agent-skills-standard5732026年10月12日 更新

Write correct coroutine scopes, lifecycle collection, and dispatcher injection in Android production code. Use for suspend functions, coroutine scopes, and dispatcher mechanics; defer ViewModel StateFlow/LiveData architecture, Fragment lifecycle recipes, persistence/notifications, and unit-test recipes to their specific skills.

日本語の概要は準備中です。原文の説明を表示しています。

HoangNguyen0403/agent-skills-standard5732026年10月12日 更新

HoangNguyen0403 のスキルをすべて見る

このスキルの問題を報告する