debuganything 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/.claude-plugin/plugin.json +15 -0
  2. package/DISCLAIMER.md +101 -0
  3. package/GEMINI.md +97 -0
  4. package/LICENSE +21 -0
  5. package/README.md +283 -2
  6. package/assets/README.md +9 -0
  7. package/assets/debuganything-logo.png +0 -0
  8. package/assets/debuganything-mark-512.png +0 -0
  9. package/dist/chunk-32IDKAZK.js +9 -0
  10. package/dist/chunk-32IDKAZK.js.map +1 -0
  11. package/dist/chunk-5BXTDASF.js +135 -0
  12. package/dist/chunk-5BXTDASF.js.map +1 -0
  13. package/dist/chunk-5RAKTYW5.js +292 -0
  14. package/dist/chunk-5RAKTYW5.js.map +1 -0
  15. package/dist/chunk-7MMXFUUN.js +79 -0
  16. package/dist/chunk-7MMXFUUN.js.map +1 -0
  17. package/dist/chunk-D742WJPT.js +436 -0
  18. package/dist/chunk-D742WJPT.js.map +1 -0
  19. package/dist/chunk-EMR42ZJQ.js +102 -0
  20. package/dist/chunk-EMR42ZJQ.js.map +1 -0
  21. package/dist/chunk-MLDOO673.js +1416 -0
  22. package/dist/chunk-MLDOO673.js.map +1 -0
  23. package/dist/chunk-NFL22T3H.js +309 -0
  24. package/dist/chunk-NFL22T3H.js.map +1 -0
  25. package/dist/chunk-STFC7C5C.js +245 -0
  26. package/dist/chunk-STFC7C5C.js.map +1 -0
  27. package/dist/chunk-VGYXHXTY.js +1015 -0
  28. package/dist/chunk-VGYXHXTY.js.map +1 -0
  29. package/dist/chunk-YY6M5RIJ.js +215 -0
  30. package/dist/chunk-YY6M5RIJ.js.map +1 -0
  31. package/dist/cli.js +254 -0
  32. package/dist/cli.js.map +1 -0
  33. package/dist/docker-ORXYMES4.js +23 -0
  34. package/dist/docker-ORXYMES4.js.map +1 -0
  35. package/dist/hook-QYLLBUNK.js +14 -0
  36. package/dist/hook-QYLLBUNK.js.map +1 -0
  37. package/dist/import-CT55AEEE.js +268 -0
  38. package/dist/import-CT55AEEE.js.map +1 -0
  39. package/dist/investigate-2GFD6EWB.js +102 -0
  40. package/dist/investigate-2GFD6EWB.js.map +1 -0
  41. package/dist/lsof-GBLZJBJR.js +22 -0
  42. package/dist/lsof-GBLZJBJR.js.map +1 -0
  43. package/dist/psmem-UB3VCMG3.js +20 -0
  44. package/dist/psmem-UB3VCMG3.js.map +1 -0
  45. package/dist/report_html-2ENM7HLC.js +99 -0
  46. package/dist/report_html-2ENM7HLC.js.map +1 -0
  47. package/dist/server.js +190 -0
  48. package/dist/server.js.map +1 -0
  49. package/dist/setup-NTPRUTMT.js +265 -0
  50. package/dist/setup-NTPRUTMT.js.map +1 -0
  51. package/dist/target-WJE4WFYA.js +36 -0
  52. package/dist/target-WJE4WFYA.js.map +1 -0
  53. package/gemini-extension.json +9 -0
  54. package/hooks/debuganything-hook.mjs +36 -0
  55. package/hooks/hooks.json +10 -0
  56. package/package.json +85 -3
  57. package/server.json +30 -0
  58. package/skills/debug-anything/SKILL.md +102 -0
  59. package/skills/inspect-product/SKILL.md +138 -0
@@ -0,0 +1,138 @@
1
+ ---
2
+ name: inspect-product
3
+ description: Use when asked to review, audit, inspect or improve a whole product/app/site rather than chase one bug — "look over the product", "what should we fix", "is this ready to launch", "find problems", "suggest improvements". Walks the real running product like a user, observes the runtime with Debug Anything, reads only the code the evidence points at, and returns ranked findings that each cite proof. Also use before a launch or after a big feature lands.
4
+ ---
5
+
6
+ # Inspect a whole product
7
+
8
+ A product review written from reading code is a guess. This skill makes you
9
+ **walk the running product, observe it, and only then judge it** — so every
10
+ finding carries proof and a reproduction, not an opinion.
11
+
12
+ ## The one rule
13
+
14
+ > **No finding without evidence.** Each finding names what you did, what you
15
+ > observed, and where it lives. If you cannot reproduce it, it is a
16
+ > *question*, not a finding. Say so.
17
+
18
+ Generic advice ("add tests", "improve onboarding", "consider analytics") is
19
+ failure. If it could have been written without opening the product, delete it.
20
+
21
+ ## Phase 0 — Frame it (2 minutes, do not skip)
22
+
23
+ Answer in one line each, from the repo and the user:
24
+ - **What is this product, and who is the user?**
25
+ - **What is the one action that makes it succeed?** (the activation moment)
26
+ - **What does the user say they're worried about?**
27
+ - **Is there a staging/local URL, or is production the only target?**
28
+
29
+ Then state your plan: the flows you will walk, in order. The first flow is
30
+ always the brand-new-user path to the activation moment.
31
+
32
+ ## Phase 1 — Walk it as a real user
33
+
34
+ Drive the actual product. Browser automation if it's a web app, the CLI if
35
+ it's a CLI, the API if it's a service. **Start from zero state** — fresh
36
+ profile, new account, empty data — because that is the state every new user
37
+ is in and the state developers never test.
38
+
39
+ For each flow, record: what you clicked/ran, what you expected, what happened,
40
+ how long it took. Capture screenshots or output at each decision point.
41
+
42
+ Walk at minimum:
43
+ 1. **First run** — landing → the activation moment. Count every step, every
44
+ decision, every word the user must read. This flow matters more than all
45
+ the others combined.
46
+ 2. **The core loop** — the thing a returning user does repeatedly.
47
+ 3. **The money/irreversible path** — payment, deletion, publishing, trading.
48
+ 4. **Return** — close everything, come back cold. Does state persist? Does
49
+ anything look empty or broken that should be full?
50
+ 5. **The edges** — empty state, one item, a large account, a slow network
51
+ (throttle it), a narrow viewport, a reload mid-flow, the back button.
52
+
53
+ ## Phase 2 — Observe the runtime (this is the part reviews skip)
54
+
55
+ While the product is running under that load, use **Debug Anything** (the
56
+ `debug-anything` skill) on the server process or container:
57
+
58
+ - `readiness` → `attach` the app process
59
+ - `inspect_sockets` — connection pileups, CLOSE_WAIT, who it talks to
60
+ - `profile_cpu` during the core loop — where the time actually goes
61
+ - `snapshot_memory` twice across the loop → `diff_runs` — what grows
62
+ - `dump_stacks` if anything feels slow or stalls
63
+ - `report --html` to keep the evidence
64
+
65
+ Also collect, from the app itself: console errors, failed network requests,
66
+ response times of the slowest calls, and any error logs produced during your
67
+ walk. A clean-looking UI over a stream of 500s is a finding.
68
+
69
+ ## Phase 3 — Check the things products actually die of
70
+
71
+ Work this list against what you observed. Each line is a question with a
72
+ yes/no answer and evidence, not a topic to muse on.
73
+
74
+ **Does it work at all, for a stranger?**
75
+ - Dead ends, broken links, pages that 404 or render empty
76
+ - Anything that requires knowledge the UI never gave the user
77
+ - Actions with no feedback — did it work? did it save?
78
+
79
+ **Correctness under reality**
80
+ - Does the same action twice produce the same result? (double-click submit)
81
+ - Does a reload mid-flow lose or duplicate data?
82
+ - Do two sessions/accounts interfere? (open a second incognito window)
83
+ - Are ordering, pagination, counts and totals actually right? Check one by hand.
84
+
85
+ **Cost and abuse** (the silent killers)
86
+ - What does one user cost you at 10× usage? Is anything uncapped per user?
87
+ - Can a free account be farmed for value? Can anyone call the expensive
88
+ endpoint directly?
89
+ - Does anything expensive run without a limit, cache or timeout?
90
+
91
+ **Trust**
92
+ - Does it claim anything it does not do? (the fastest way to lose users)
93
+ - Secrets in client bundles, keys in URLs, PII in logs or shared state
94
+ - Irreversible actions without confirmation
95
+
96
+ **Does anyone come back?**
97
+ - Is there a reason to return tomorrow, and does the product *show* it?
98
+ - Does the product remember the user, and prove that it did?
99
+
100
+ **Can you tell if it's working?**
101
+ - Is the activation moment measured? Can you answer "did they come back?"
102
+ with data? If not, that is a top-three finding.
103
+
104
+ ## Phase 4 — Report
105
+
106
+ Rank findings by **damage × likelihood**, not by how easy they are to fix.
107
+ For each:
108
+
109
+ ```
110
+ [SEVERITY] One-line claim
111
+ Repro: the exact steps / command
112
+ Observed: what actually happened (quote output, name the screenshot)
113
+ Evidence: Debug Anything evidence id, log line, screenshot, or file:line
114
+ Why it matters: the user- or money-level consequence
115
+ Fix: the smallest change that removes the cause
116
+ ```
117
+
118
+ Severity: **blocker** (launch-stopping or data/money loss) · **high** (users
119
+ hit it and suffer) · **medium** (friction or future pain) · **low** (polish).
120
+
121
+ Close with: the **three** things to do first, and — honestly — what you could
122
+ *not* check and why. A review that pretends to be complete is worse than one
123
+ that names its blind spots.
124
+
125
+ ## Phase 5 — Improve (only when asked)
126
+
127
+ If the user says "and fix it": work the list top-down, one finding per commit,
128
+ smallest change that removes the cause. **Re-walk the flow after each fix** and
129
+ show the new observation — a fix you did not re-observe is a claim, not a fix.
130
+ Never batch unrelated fixes into one commit.
131
+
132
+ ## Keep yourself honest
133
+
134
+ - You walked the product before judging it. If you didn't, say so and go back.
135
+ - Every finding has a repro someone else could follow.
136
+ - You checked cost/abuse, not just UX. Those are the ones that end companies.
137
+ - You named what you could not test.
138
+ - You did not pad the list. Five real findings beat twenty guesses.