Diagnose PlainTab
SkillFiles & storageUse when diagnosing PlainTab bugs, broken UI behavior, failing extension/web-mode flows, storage or wallpaper regressions, startup issues, or performance regressions.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Diagnose PlainTab skill
What this skill tells your AI
The instructions your AI receives, as published by kaininx/plaintab in .agents/skills/diagnose/SKILL.md and read by ahel’s review.
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
- Read
.claude/rules/00-core.mdand the relevant module rule from.claude/rules/README.md. - Preserve the startup invariant in
index.html:#wallpaperBack, synchronousjs/preload.js,#wallpaperFront, then the rest of the page. - Keep storage access behind
window.WallpaperDataand preserve localStorage compatibility unless a migration exists. - 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:
- A small Node repro script in
docs/ai-tasks/for pure JavaScript, storage migration, parser, or data-shaping bugs. node --checkon touched files or the wholejstree for syntax regressions.- A browser/Playwright script for DOM, settings panel, command palette, wallpaper rendering, or extension/web-mode behavior.
- A direct
index.htmlweb-mode run when extension APIs are not required. - A measured timing harness using
performance.now()for startup or wallpaper performance regressions. - 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
- Reproduce the user-visible symptom, not a nearby error.
- Capture the exact failure: console message, wrong DOM state, storage value, timing, image layer state, or user-facing result.
- Generate 3 to 5 ranked hypotheses. Each must predict what will change if it is true.
- Probe one hypothesis at a time. Use targeted logs or assertions at module boundaries.
- 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
- Turn the minimized repro into a regression check before changing production code when there is a correct seam.
- If there is no correct seam, document that as part of the finding and keep the fix small.
- Apply the smallest fix that addresses the confirmed cause.
- 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.
Signals
- GitHub stars
- 88
- Forks
- 5
- Last commit
- May 2026
- Hacker News mentions
- 20
Advanced
- Catalog kind
- skill
- Gateway key
diagnose-kaininx- Source
- github.com/kaininx/plaintab