Skip to content
cccskills
FreePublished on GitHub

diagnose

Use when diagnosing PlainTab bugs, broken UI behavior, failing extension/web-mode flows, storage or wallpaper regressions, startup issues, or performance regressions.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md3.1 KB
  • agents/openai.yaml237 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Diagnose PlainTab

Use this skill for bug reports and performance regressions. Adapted for PlainTab from Matt Pocock's diagnose skill.

Core Rule

Build a feedback loop first. Do not guess at fixes until the symptom can be reproduced or measured well enough to prove the fix.

PlainTab Context

  1. Read .claude/rules/00-core.md and the relevant module rule from .claude/rules/README.md.
  2. Preserve the startup invariant in index.html: #wallpaperBack, synchronous js/preload.js, #wallpaperFront, then the rest of the page.
  3. Keep storage access behind window.WallpaperData and preserve localStorage compatibility unless a migration exists.
  4. Use docs/ai-tasks/ for temporary repro scripts or notes that should remain with the task.

Build the Loop

Prefer the fastest deterministic signal that reaches the real symptom:

  1. A small Node repro script in docs/ai-tasks/ for pure JavaScript, storage migration, parser, or data-shaping bugs.
  2. node --check on touched files or the whole js tree for syntax regressions.
  3. A browser/Playwright script for DOM, settings panel, command palette, wallpaper rendering, or extension/web-mode behavior.
  4. A direct index.html web-mode run when extension APIs are not required.
  5. A measured timing harness using performance.now() for startup or wallpaper performance regressions.
  6. A manually assisted loop only as a last resort; write exact steps, expected result, actual result, and screenshots/logs when available.

If no loop is possible, stop and say what was tried. Ask for the missing artifact: console log, screen recording, settings export, uploaded media sample, HAR, or permission to add temporary instrumentation.

Diagnose

  1. Reproduce the user-visible symptom, not a nearby error.
  2. Capture the exact failure: console message, wrong DOM state, storage value, timing, image layer state, or user-facing result.
  3. Generate 3 to 5 ranked hypotheses. Each must predict what will change if it is true.
  4. Probe one hypothesis at a time. Use targeted logs or assertions at module boundaries.
  5. Prefix temporary logs with a unique tag such as [DEBUG-9f3a] so cleanup is reliable.

For performance regressions, measure before fixing. Avoid broad logging in startup paths; it can change the timing you are trying to understand.

Fix

  1. Turn the minimized repro into a regression check before changing production code when there is a correct seam.
  2. If there is no correct seam, document that as part of the finding and keep the fix small.
  3. Apply the smallest fix that addresses the confirmed cause.
  4. Re-run the minimized repro and the original scenario.

Cleanup

Before finishing:

  • Re-run the original feedback loop.
  • Run validation appropriate to touched files.
  • Remove all temporary [DEBUG-...] instrumentation.
  • Keep useful task repro scripts under docs/ai-tasks/; delete throwaway scratch files.
  • State the confirmed cause in the final answer or commit message.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Claude adapter for bumping the PlainTab version. Use when the user asks "更新版本", "bump version", "upgrade to vX.Y.Z", "发布新版本", or asks to prepare a PlainTab release.

The English summary is being prepared. Showing the original description.

kaininx/PlainTab95Updated May 27, 2026

Use when preparing a PlainTab release or bumping the PlainTab version, triggered by phrases like "更新版本", "bump version", "upgrade to vX.Y.Z", "发布新版本". Updates manifest.json, runtime UI/version constants, localized changelogs, store listings, release notes, validation notes, and current project docs.

The English summary is being prepared. Showing the original description.

kaininx/PlainTab95Updated May 27, 2026

Claude adapter for preparing and creating PlainTab git commits with scoped, detailed Conventional Commit messages. Use when the user asks to commit, 提交, stage changes, or use precise Conventional Commit / Google-style commit messages.

The English summary is being prepared. Showing the original description.

kaininx/PlainTab95Updated May 27, 2026

Prepare and create PlainTab git commits with scoped Conventional Commit subjects and detailed commit bodies. Use when the user asks to commit, 提交, create a git commit, stage changes, or asks for precise Conventional Commits / Google-style commit messages; especially when the worktree may contain unrelated user changes.

The English summary is being prepared. Showing the original description.

kaininx/PlainTab95Updated May 27, 2026

Claude adapter for diagnosing PlainTab bugs, broken flows, startup issues, storage or wallpaper regressions, and performance regressions.

The English summary is being prepared. Showing the original description.

kaininx/PlainTab95Updated May 27, 2026

Use when reviewing PlainTab architecture, looking for refactoring opportunities, reducing coupling, improving testability, or making modules easier for agents to understand without redesigning stable behavior.

The English summary is being prepared. Showing the original description.

kaininx/PlainTab95Updated May 27, 2026

See all skills by kaininx

Report a problem with this skill