Agent skill

Kototoro Browse Source Scroll

by Kototoro-app in Kototoro-app/Kototoro

Diagnose and fix Kototoro Browse/Explore page content source scrolling jank when many sources exist.

Apache-2.0Auto-check passedMobile

Install Kototoro Browse Source Scroll

skills CLI
$ npx skills add Kototoro-app/Kototoro --skill kototoro-browse-source-scroll -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Kototoro-app/Kototoro kototoro-browse-source-scroll --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Kototoro-app/Kototoro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/performance/kototoro-browse-source-scroll .claude/skills/kototoro-browse-source-scroll && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kototoro-browse-source-scroll
GitHub stars
613
Token cost
~793 tokens
SKILL.md length
318 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
Apache-2.0

At a glance

Diagnose and fix Kototoro Browse/Explore page content source scrolling jank when many sources exist.

  • ExploreHostScreen
  • SKILL.md covers Root Cause Pattern, Preferred Fix Pattern, Implementation Checklist and Pitfalls, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • ExploreViewModel

What it does

Kototoro Browse Source Scroll is an agent skill from Kototoro-app/Kototoro. Diagnose and fix Kototoro Browse/Explore page content source scrolling jank when many sources exist. Use for ExploreHostScreen, ExploreViewModel, source quick access, LazyColumn source rows, source grouping, browse recommendation loading, and tab switching performance.

Its SKILL.md is about 790 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Mobile performance. The repository describes itself as: Manga, Novel, and Video reader for Android. The licence is Apache-2.0.

When your agent uses it

  • ExploreHostScreen
  • ExploreViewModel
  • Source quick access
  • LazyColumn source rows

Example prompts

  • “/kototoro-browse-source-scroll”

What it can do on your machine

Read from SKILL.md and the folder at commit 74bd979. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are kotlin and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kototoro Browse Source Scroll loads about 793 tokens when it runs. Until then it costs about 75 tokens; SKILL.md has 318 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~793

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Kototoro-app/Kototoro at commit 74bd979, republished under its Apache-2.0 licence (© Kototoro-app). 318 words, ~793 tokens.

Download SKILL.mdSave it as .claude/skills/kototoro-browse-source-scroll/SKILL.md (or your agent's skills folder).
name
kototoro-browse-source-scroll
description
Diagnose and fix Kototoro Browse/Explore page content source scrolling jank when many sources exist. Use for ExploreHostScreen, ExploreViewModel, source quick access, LazyColumn source rows, source grouping, browse recommendation loading, and tab switching performance.

Kototoro Browse Source Scroll

Use this skill when the Browse/Explore page stalls, freezes, or shows a blank frame while switching to the sources area, especially with hundreds or thousands of installed/enabled sources.

Root Cause Pattern

Do not treat this as only an image/icon loading problem. In Kototoro the expensive path can be:

  • Rendering all sources inside one large composable block.
  • Grouping/chunking sources during every recomposition.
  • Showing source quick access fully expanded while tracking recommendation hero content is also present.
  • Mixing discover recommendation loading state with source loading state.
  • Recreating source rows on every tab/filter change because keys/content types are too coarse.

Preferred Fix Pattern

  • Split source quick access into LazyListScope items instead of a single detached block.
  • Render source cards as lazy rows with stable row keys and contentType.
  • Precompute source metrics with remember(gridScale).
  • Precompute groups with remember(sources, isGroupedByLanguage, context).
  • Default to a collapsed source section when recommendations are enabled; expand only on user request.
  • Force expanded only when recommendations are disabled, so source-only mode preserves the old direct-access behavior.
  • Track source loading separately from discover/recommendation loading.

Implementation Checklist

  • Add a BrowseSourceItems.isLoadingOnly or equivalent source-specific loading state.
  • Keep recommendation loading in a separate isDiscoverLoadingOnly.
  • Compute sourceColumns from list mode and metrics.
  • Use a small collapsed count such as columns * 5.
  • Build visibleSourceGroups with a max source count.
  • Use itemsIndexed rows:
kotlin
itemsIndexed(
    items = rows,
    key = { rowIndex, rowSources ->
        val firstId = rowSources.firstOrNull()?.id ?: rowIndex.toLong()
        "source_row_${groupIndex}_${rowIndex}_$firstId"
    },
    contentType = { _, _ -> "source_row" },
) { _, rowSources ->
    SourceQuickAccessRow(...)
}

Pitfalls

  • Do not put a large nested source grid inside one item if the page itself is a LazyColumn.
  • Do not use only index keys for source rows if groups can change.
  • Do not let disabled recommendation features still trigger recommendation load or refresh.
  • Do not remove source long-click selection behavior while refactoring rows.

Verification

Run:

bash
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64" ./gradlew :app:compileDebugKotlin --no-daemon

Manual acceptance:

  • Switching to Browse with many sources does not pause before first paint.
  • Scrolling remains responsive with hundreds or thousands of sources.
  • "Show more/less" works and preserves source click/long-click behavior.
  • Source-only mode still shows all sources without hiding access behind recommendations.

© Kototoro-app, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .codex/skills/performance/kototoro-browse-source-scroll of Kototoro-app/Kototoro.

Open the folder on GitHubat commit 74bd979

Compare with similar skills

Kototoro Browse Source Scroll next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kototoro Browse Source Scroll compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kototoro Browse Source Scroll this skillKototoro-app/Kototoro613—~793Automated safety check: PassApache-2.0
React Native Best Practicesvercel-labs/openreview1.7k17 repos~1.1kAutomated safety check: PassMIT
Dongle Crash Analysishaumacher/phoneblock367—~1.9kAutomated safety check: NotesGPL-3.0
Perfetto Trace Analysisjameshnsears/QuoteUnquote1002 repos~1.7kAutomated safety check: PassApache-2.0
React Native Best Practicescallstackincubator/agent-skills1.7k4 repos~3.1kAutomated safety check: PassMIT
Levyra Android PerformanceLUC4N3X/Levyra-deepsound591—~3.2kAutomated safety check: PassGPL-3.0

Similar skills

  • React Native Best Practices

    vercel-labs/openreview

    Official

    A prioritized rule set for React Native and Expo apps covering list performance, animation, navigation, UI patterns, state, rendering, monorepos and configuration.

    1.7k GitHub starsUsed in 17 repos~1.1k tokens
    MobileAuto-check passed
  • Dongle Crash Analysis

    haumacher/phoneblock

    Decode and analyze an ESP32 dongle crash report (uploaded .coredump).

    367 GitHub stars~1.9k tokensUpdated 8 days ago
    MobileAuto-check: notes
  • Perfetto Trace Analysis

    jameshnsears/QuoteUnquote

    Analyzes Perfetto traces to find the root cause of latency, memory, or jank issues in Android apps.

    100 GitHub starsUsed in 2 repos~1.7k tokens
    MobileAuto-check passed
  • React Native Best Practices

    callstackincubator/agent-skills

    Official

    Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations.

    1.7k GitHub starsUsed in 4 repos~3.1k tokens
    MobileAuto-check passed
  • Levyra Android Performance

    LUC4N3X/Levyra-deepsound

    Automatically use for Android runtime performance investigations involving Perfetto/System Trace, jank, latency, startup, CPU scheduling, blocking, memory, I/O, IPC, graphics, power, or measured…

    591 GitHub stars~3.2k tokensUpdated today
    MobileAuto-check passed
  • Hz Perfetto Debug

    meta-quest/agentic-tools

    Analyzes Meta VR and Horizon OS VR performance using Perfetto traces — frame timing, CPU/GPU bottlenecks, render pass analysis.

    215 GitHub stars~2.8k tokensUpdated 17 days ago
    MobileAuto-check passed

More from Kototoro-app/Kototoro

All 10 skills in this repo
  • Android Architecture Reference

    Kototoro-app/Kototoro

    Android 架构、依赖注入、数据层、测试规范官方参考。涵盖 UDF/MVI 模式、Hilt/Dagger、Room、Paging、 DataStore、WorkManager、ViewModel、测试策略等。安卓开发第一要义:参考官方文档和案例!

    613 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Android Compose Reference

    Kototoro-app/Kototoro

    Jetpack Compose 官方示例与最佳实践参考。涵盖 Compose UI 实现、动画、手势、导航、Material3 主题、 性能优化、测试等所有方面。安卓开发第一要义:参考官方文档和案例!

    613 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Android Official Samples

    Kototoro-app/Kototoro

    Android 官方示例代码库完整索引。涵盖架构、Compose UI、性能、测试、存储、网络、相机、媒体、安全等所有领域。

    613 GitHub stars~3.6k tokensUpdated 2 days ago
    Auto-check passed
  • Compose Idle Redraw

    Kototoro-app/Kototoro

    诊断 Kototoro 主壳"空闲永不定居"式 Compose 自持重绘循环(idle 帧数不为 0). An agent skill from Kototoro-app/Kototoro.

    613 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Diagnose and fix Kototoro Android issues where returning from reader or video player to details causes flicker, cover reload, panorama reload, progress reset, status bar jump, Compose subtree…

    613 GitHub stars~946 tokensUpdated 2 days ago
    Auto-check passed
  • Kototoro Main Loading Stability

    Kototoro-app/Kototoro

    Diagnose and fix Kototoro main screen loading flicker, blank flashes, chrome jumps, transient empty states, and route switching flashes.

    613 GitHub stars~904 tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Kototoro Browse Source Scroll

What does Kototoro Browse Source Scroll do?

Diagnose and fix Kototoro Browse/Explore page content source scrolling jank when many sources exist. Kototoro Browse Source Scroll is an agent skill from Kototoro-app/Kototoro. Diagnose and fix Kototoro Browse/Explore page content source scrolling jank when many sources exist.

When should I use Kototoro Browse Source Scroll?

Kototoro Browse Source Scroll fits situations like: exploreHostScreen; exploreViewModel; source quick access; lazyColumn source rows.

How do I install Kototoro Browse Source Scroll in Claude Code?

Run `npx skills add Kototoro-app/Kototoro --skill kototoro-browse-source-scroll -a claude-code`. Or copy the skill folder (.codex/skills/performance/kototoro-browse-source-scroll in Kototoro-app/Kototoro) into .claude/skills/kototoro-browse-source-scroll in your project. Claude Code loads it when a task matches its description.

How do I install Kototoro Browse Source Scroll in Codex?

Run `npx skills add Kototoro-app/Kototoro --skill kototoro-browse-source-scroll -a codex`. Or copy the skill folder (.codex/skills/performance/kototoro-browse-source-scroll in Kototoro-app/Kototoro) into .agents/skills/kototoro-browse-source-scroll in your project. Codex loads it when a task matches its description.

Can I use Kototoro Browse Source Scroll in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Kototoro-app/Kototoro --skill kototoro-browse-source-scroll -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kototoro-browse-source-scroll, .gemini/skills/kototoro-browse-source-scroll, .github/skills/kototoro-browse-source-scroll and .opencode/skills/kototoro-browse-source-scroll in your project.

What does Kototoro Browse Source Scroll need to run?

SKILL.md names no scripts, command-line tools or credentials: Kototoro Browse Source Scroll is instructions for the agent only.

Does Kototoro Browse Source Scroll access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Kototoro Browse Source Scroll safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Kototoro Browse Source Scroll use?

Kototoro Browse Source Scroll is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kototoro Browse Source Scroll use?

About 793 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Kototoro Browse Source Scroll?

Skills that share tags, products or a category with Kototoro Browse Source Scroll: React Native Best Practices (vercel-labs/openreview, 1.7k stars), Dongle Crash Analysis (haumacher/phoneblock, 367 stars), Perfetto Trace Analysis (jameshnsears/QuoteUnquote, 100 stars) and React Native Best Practices (callstackincubator/agent-skills, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kototoro Browse Source Scroll?

Kototoro-app (a GitHub organization) maintains it in Kototoro-app/Kototoro, which has 613 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 9, 2026.

Source: Kototoro-app/Kototoro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.