Testing Lazy Lists
Use this skill to test `LazyColumn`, `LazyRow`, and `LazyVerticalGrid` correctly — tag the container with `Modifier.testTag(...)`, tag each item by its key, scroll via the semantic action (`hasScrollAction()`, `performScrollToIndex`, `performScrollToKey`) or via `Modifier.testTag` plus `performTouchInput { swipeUp() }`, and verify visibility with `assertIsDisplayed` (NOT `assertExists`, since off-screen lazy items still exist as semantic nodes in some configurations). Covers `LazyListState.layoutInfo.visibleItemsInfo` as the highest-signal probe, `mainClock.autoAdvance = false` for animated item placement, and the parameterized vertical/horizontal base-class pattern. Use when the developer asks "how do I scroll a LazyColumn in a test", "assertExists vs assertIsDisplayed", "scroll to a key", "test item placement animation", or sees a test pass when an item is off-screen.
Security AStatic scan found no risk patternsHow grading works ›
From the source SKILL.md
LazyColumn / LazyRow / LazyVerticalGrid only compose items that are or were near the viewport. That breaks the naive "find by text and assert" flow because off-screen items may not exist, may exist as detached semantic nodes, or may exist with wrong bounds. This skill encodes the patterns androidx itself uses — tag the container, scroll via the semantic action or via testTag + a swipe gesture, verify with assertIsDisplayed, and read LazyListState.layoutInfo for ground truth.
What this skill does
Testing Lazy Lists is a community-contributed Claude Code skill in the testing sub-category. It ships as a SKILL.md file that Claude Code auto-discovers under ~/.claude/skills/testing-lazy-lists/ and loads when your prompt matches the skill's trigger.
When to invoke it: Use when the developer asks "how do I scroll a LazyColumn in a test", "assertExists vs assertIsDisplayed", "scroll to a key", "test item placement animation", or sees a test pass when an item is off-screen.
Who uses this skill
The Testing Lazy Lists Claude Code skill is built for software engineers, backend developers, full-stack teams, and technical leads building and maintaining production systems. It's part of ClaudSkills (also referred to as Claude Skills or Claude Code Skills) — the open community-curated registry of 158,000+ SKILL.md files for Anthropic's Claude Code agent and the wider Claude ecosystem (Claude API, Claude Agent SDK).
How to install
Free
Manual install (2 steps)
mkdir -p ~/.claude/skills/testing-lazy-lists
curl -L https://claudskills.com/skills/testing-lazy-lists/SKILL.md \
-o ~/.claude/skills/testing-lazy-lists/SKILL.md
Or just download SKILL.md directly and drop it into ~/.claude/skills/testing-lazy-lists/. Claude Code auto-discovers it on next session.
Skills live at ~/.claude/skills/testing-lazy-lists/SKILL.md on macOS/Linux, or %USERPROFILE%\.claude\skills\testing-lazy-lists\SKILL.md on Windows. See the full install guide for step-by-step instructions.
Telegram
📱 Install from your phone or desktop Telegram
Open @claudskills_bot on Telegram, tap Open Desktop App, and the desktop app installs this skill for you. Or share the bot link with a colleague — they get the same one-tap install. Learn more →
Pro
One-click install via the desktop app
The ClaudSkills desktop app installs any skill directly into ~/.claude/skills/ with one click — no terminal required. Pro starts at $9/mo or $149 lifetime.
Pro
For the full experience including quality scoring and one-click install features for each skill — upgrade to Pro.
Frequently asked questions
How do I install the Testing Lazy Lists Claude Code skill?
Install via the ClaudSkills desktop app (one click) or copy
SKILL.md from the source repository to
~/.claude/skills/testing-lazy-lists/SKILL.md and restart Claude Code. Both flows are detailed at
claudskills.com/install/.
What does the Testing Lazy Lists skill do?
Use this skill to test `LazyColumn`, `LazyRow`, and `LazyVerticalGrid` correctly — tag the container with `Modifier.testTag(...)`, tag each item by its key, scroll via the semantic action (`hasScrollAction()`, `performScrollToIndex`, `performScrollToKey`) or via `Modifier.testTag` plus `performTouchInput { swipeUp() }`, and verify visibility with `assertIsDisplayed` (NOT `assertExists`, since off-screen lazy items still exist as semantic nodes in some configurations). Covers `LazyListState.layoutInfo.visibleItemsInfo` as the highest-signal probe, `mainClock.autoAdvance = false` for animated item placement, and the parameterized vertical/horizontal base-class pattern. Use when the developer asks "how do I scroll a LazyColumn in a test", "assertExists vs assertIsDisplayed", "scroll to a key", "test item placement animation", or sees a test pass when an item is off-screen.
Is this skill free to install?
Yes. ClaudSkills is an open registry — every skill keeps its source repository's license, and manual install via copy is free. ClaudSkills Pro ($9/mo, $79/yr, or $149 one-time) adds one-click install via the desktop app and a multi-signal Quality Score.
When should I use the Testing Lazy Lists skill?
Use Testing Lazy Lists when your Claude Code task falls under the Engineering category — specifically in the testing area. Claude Code auto-discovers installed skills and invokes the right one based on the task description, so you can also ask Claude directly (e.g. "use Testing Lazy Lists" or describe the task and let Claude pick). Browse related skills at
/category/engineering/.
What is a Claude Code skill and how does the Testing Lazy Lists skill fit in?
A Claude Code skill is a
SKILL.md file that lives under
~/.claude/skills/<name>/ and tells the Claude Code CLI agent how to perform a specific task (instructions, prompts, allowed tools). Skills are auto-discovered at session start. Testing Lazy Lists is one of 67,000+ skills indexed in the open ClaudSkills catalog, classified under the Engineering category. Learn more at
/learn/what-is-a-claude-skill/.
Attribution & license
Cite this skill
If you reference this skill in a blog post, paper, or documentation, you can cite it as:
APA
skydoves. (2026). Testing Lazy Lists [Claude Code skill]. ClaudSkills. https://claudskills.com/skills/testing-lazy-lists/
BibTeX
@misc{testing-lazy-lists-2026,
author = {skydoves},
title = {Testing Lazy Lists [Claude Code skill]},
year = {2026},
publisher = {ClaudSkills},
url = {https://claudskills.com/skills/testing-lazy-lists/}
}
Embed this skill
Promote, attribute, or link this skill from your own README, blog post, or documentation. All three snippets are free to use — no sign-up, no API key. More distribution surfaces →
Badge
[](https://claudskills.com/skills/testing-lazy-lists/?utm_source=badge&utm_medium=readme&utm_campaign=skill_badge)
<script>
<script src="https://claudskills.com/embed/testing-lazy-lists.js" async></script>
<iframe>
<iframe src="https://claudskills.com/embed/testing-lazy-lists.html" width="100%" height="160" frameborder="0" loading="lazy" title="ClaudSkills: Testing Lazy Lists"></iframe>
Security scan
Grade A · scanned 2026-07-23 — free static scan against the OWASP Agentic Skills Top 10.
The scan flagged 1 of 10 categories (filesystem), including lower-severity patterns. Patterns shown inside code fences are weighted as examples rather than instructions — read the grading methodology for what this does and does not guarantee.
- ✓ Prompt injection
- ✓ Data exfiltration
- ✓ Supply chain
- ✓ Reverse shell
- ✓ Credentials
- ✓ Execution
- ⚠ Filesystem
- ✓ Persistence
- ✓ Obfuscation
- ✓ Network
Show this grade on your repo (click to copy):
[](https://claudskills.com/skills/testing-lazy-lists/#security)
More Engineering skills
Browse all Engineering skills in the ClaudSkills registry, or explore these other picks from the same category:
Part of Acreator Store — Adam Lankamer's AI tools:
PerfectStudio ·
Ucaption ·
UTagger ·
AutoXPoster ·
TestYourSkills ·
AutomationFlows ·
Au Naturel ·
Telegram @acreatorstore