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.
- package/.claude-plugin/plugin.json +15 -0
- package/DISCLAIMER.md +101 -0
- package/GEMINI.md +97 -0
- package/LICENSE +21 -0
- package/README.md +283 -2
- package/assets/README.md +9 -0
- package/assets/debuganything-logo.png +0 -0
- package/assets/debuganything-mark-512.png +0 -0
- package/dist/chunk-32IDKAZK.js +9 -0
- package/dist/chunk-32IDKAZK.js.map +1 -0
- package/dist/chunk-5BXTDASF.js +135 -0
- package/dist/chunk-5BXTDASF.js.map +1 -0
- package/dist/chunk-5RAKTYW5.js +292 -0
- package/dist/chunk-5RAKTYW5.js.map +1 -0
- package/dist/chunk-7MMXFUUN.js +79 -0
- package/dist/chunk-7MMXFUUN.js.map +1 -0
- package/dist/chunk-D742WJPT.js +436 -0
- package/dist/chunk-D742WJPT.js.map +1 -0
- package/dist/chunk-EMR42ZJQ.js +102 -0
- package/dist/chunk-EMR42ZJQ.js.map +1 -0
- package/dist/chunk-MLDOO673.js +1416 -0
- package/dist/chunk-MLDOO673.js.map +1 -0
- package/dist/chunk-NFL22T3H.js +309 -0
- package/dist/chunk-NFL22T3H.js.map +1 -0
- package/dist/chunk-STFC7C5C.js +245 -0
- package/dist/chunk-STFC7C5C.js.map +1 -0
- package/dist/chunk-VGYXHXTY.js +1015 -0
- package/dist/chunk-VGYXHXTY.js.map +1 -0
- package/dist/chunk-YY6M5RIJ.js +215 -0
- package/dist/chunk-YY6M5RIJ.js.map +1 -0
- package/dist/cli.js +254 -0
- package/dist/cli.js.map +1 -0
- package/dist/docker-ORXYMES4.js +23 -0
- package/dist/docker-ORXYMES4.js.map +1 -0
- package/dist/hook-QYLLBUNK.js +14 -0
- package/dist/hook-QYLLBUNK.js.map +1 -0
- package/dist/import-CT55AEEE.js +268 -0
- package/dist/import-CT55AEEE.js.map +1 -0
- package/dist/investigate-2GFD6EWB.js +102 -0
- package/dist/investigate-2GFD6EWB.js.map +1 -0
- package/dist/lsof-GBLZJBJR.js +22 -0
- package/dist/lsof-GBLZJBJR.js.map +1 -0
- package/dist/psmem-UB3VCMG3.js +20 -0
- package/dist/psmem-UB3VCMG3.js.map +1 -0
- package/dist/report_html-2ENM7HLC.js +99 -0
- package/dist/report_html-2ENM7HLC.js.map +1 -0
- package/dist/server.js +190 -0
- package/dist/server.js.map +1 -0
- package/dist/setup-NTPRUTMT.js +265 -0
- package/dist/setup-NTPRUTMT.js.map +1 -0
- package/dist/target-WJE4WFYA.js +36 -0
- package/dist/target-WJE4WFYA.js.map +1 -0
- package/gemini-extension.json +9 -0
- package/hooks/debuganything-hook.mjs +36 -0
- package/hooks/hooks.json +10 -0
- package/package.json +85 -3
- package/server.json +30 -0
- package/skills/debug-anything/SKILL.md +102 -0
- 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.
|