A technical utility for navigating and modifying IPC handlers in the wallhaven codebase.

Install

mkdir -p .claude/skills/handlers && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/12296" && unzip -o skill.zip -d .claude/skills/handlers && rm skill.zip

Installs to .claude/skills/handlers

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Skill for the Handlers area of wallhaven. 39 symbols across 14 files.
69 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Understand IPC message handlers within the wallhaven project
  • Work with code in the `electron/` directory
  • Explore key entry points like `createErrorResponse` and `withTransaction`
  • Identify relevant files for specific handler functionalities
  • Trace execution flows related to handler registration

How it works

The skill provides structured access to IPC message handlers by listing key files, entry points, and symbols within the `electron/` directory of the wallhaven project. It also outlines execution flows.

Inputs & outputs

You give it
Query about IPC handlers, specific handler functionality, or files within `electron/main/ipc/handlers`
You get back
Information about relevant handler files, entry points, key symbols, and execution flows

When to use handlers

  • Modify wallpaper download logic
  • Update IPC store handlers
  • Implement new database transactions
  • Debug window communication handlers

About this skill

Handlers

39 symbols | 14 files | Cohesion: 78%

When to Use

  • Working with code in electron/
  • Understanding how createErrorResponse, withTransaction, registerWindowHandlers work
  • Modifying handlers-related functionality

Key Files

FileSymbols
electron/main/ipc/handlers/download.handler.tsgetStateFilePath, writeStateFile, readStateFile, shouldPersistState, cleanupDownload (+8)
electron/main/ipc/handlers/download-queue.tsremove, clear, getQueueInstance, has, enqueue (+2)
electron/main/database.tswithTransaction, getAppSetting, getDownloadPath, getMaxConcurrentDownloads
electron/main/ipc/handlers/base.tsgetImageDimensions, generateThumbnail, logHandler
electron/main/ipc/handlers/store.handler.tskeyToTable, registerStoreHandlers
src/types/ipc.tsisResumeDownloadParams, isPendingDownload
src/errors/index.tscreateErrorResponse
electron/main/ipc/handlers/window.handler.tsregisterWindowHandlers
electron/main/ipc/handlers/wallpaper.handler.tsregisterWallpaperHandlers
electron/main/ipc/handlers/index.tsregisterAllHandlers

Entry Points

Start here when exploring this area:

  • createErrorResponse (Function) — src/errors/index.ts:61
  • withTransaction (Function) — electron/main/database.ts:245
  • registerWindowHandlers (Function) — electron/main/ipc/handlers/window.handler.ts:6
  • registerWallpaperHandlers (Function) — electron/main/ipc/handlers/wallpaper.handler.ts:9
  • registerStoreHandlers (Function) — electron/main/ipc/handlers/store.handler.ts:41

Key Symbols

SymbolTypeFileLine
createErrorResponseFunctionsrc/errors/index.ts61
withTransactionFunctionelectron/main/database.ts245
registerWindowHandlersFunctionelectron/main/ipc/handlers/window.handler.ts6
registerWallpaperHandlersFunctionelectron/main/ipc/handlers/wallpaper.handler.ts9
registerStoreHandlersFunctionelectron/main/ipc/handlers/store.handler.ts41
registerAllHandlersFunctionelectron/main/ipc/handlers/index.ts69
registerFileHandlersFunctionelectron/main/ipc/handlers/file.handler.ts13
registerFavoritesHandlersFunctionelectron/main/ipc/handlers/favorites.handler.ts13
getQueueInstanceFunctionelectron/main/ipc/handlers/download-queue.ts189
registerCacheHandlersFunctionelectron/main/ipc/handlers/cache.handler.ts12
getImageDimensionsFunctionelectron/main/ipc/handlers/base.ts18
generateThumbnailFunctionelectron/main/ipc/handlers/base.ts40
logHandlerFunctionelectron/main/ipc/handlers/base.ts85
registerApiHandlersFunctionelectron/main/ipc/handlers/api.handler.ts12
isResumeDownloadParamsFunctionsrc/types/ipc.ts425
isPendingDownloadFunctionsrc/types/ipc.ts442
executeDownloadFunctionelectron/main/ipc/handlers/download.handler.ts317
registerDownloadHandlersFunctionelectron/main/ipc/handlers/download.handler.ts721
getAppSettingFunctionelectron/main/database.ts263
getDownloadPathFunctionelectron/main/database.ts285

Execution Flows

FlowTypeSteps
RegisterDownloadHandlers → _getActiveCountcross_community4
RegisterDownloadHandlers → _onDequeuecross_community4
RegisterAllHandlers → Hascross_community4
RegisterAllHandlers → _emitProgresscross_community4
RegisterAllHandlers → LogHandlercross_community4
RegisterAllHandlers → _getActiveCountcross_community4
RegisterFavoritesHandlers → GetDbPathcross_community4
RegisterFavoritesHandlers → InitializeSchemacross_community4
RegisterFavoritesHandlers → RunMigrationcross_community4
RegisterFavoritesHandlers → StartPeriodicCheckpointcross_community4

Connected Areas

AreaConnections
Main4 calls

How to Explore

  1. gitnexus_context({name: "createErrorResponse"}) — see callers and callees
  2. gitnexus_query({query: "handlers"}) — find related execution flows
  3. Read key files listed above for implementation details

When not to use it

  • When the task is not related to IPC message handlers or the `electron/` directory
  • When the user is working on areas outside of wallhaven's handler implementation
  • When the user needs to implement features not involving IPC communication

Limitations

  • Specific to the wallhaven project's handler implementation
  • Focuses on code within the `electron/` directory
  • Information is limited to documented symbols and files

How it compares

This skill offers a focused view into the IPC handler architecture of the wallhaven project, providing specific file and symbol references that a general code search would not immediately highlight.

Compared to similar skills

handlers side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
handlers (this skill)03moNo flagsIntermediate
supabase-developer957moReviewIntermediate
dependency-upgrade265moReviewIntermediate
telegram-mini-app626moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

supabase-developer

daffy0208

Build full-stack applications with Supabase (PostgreSQL, Auth, Storage, Real-time, Edge Functions). Use when implementing authentication, database design with RLS, file storage, real-time features, or serverless functions.

95185

dependency-upgrade

wshobson

Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.

26240

telegram-mini-app

davila7

Expert in building Telegram Mini Apps (TWA) - web apps that run inside Telegram with native-like experience. Covers the TON ecosystem, Telegram Web App API, payments, user authentication, and building viral mini apps that monetize. Use when: telegram mini app, TWA, telegram web app, TON app, mini app.

62163

stripe-integration

wshobson

Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows.

48165

nodejs-best-practices

davila7

Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.

28120

bullmq-specialist

davila7

BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications. Use when: bullmq, bull queue, redis queue, background job, job queue.

2595

Search skills

Search the agent skills registry