Great question! Let me think about this. Your auth flow has a few moving pieces: the middleware, the token verification, and the cookie handling. Looking at src/auth.ts, the verifyToken function (around lines 42-58) seems to be using an older jsonwebtoken API. One approach would be to update the package and rewrite that function. After making the change, you'd want to run the auth tests to confirm nothing breaks. By the way, you might also want to look at your dependency versions overall. Hope this helps! Let me know if you want to dig deeper.
After
Run npm install jsonwebtoken@latest, then edit src/auth.ts:42.
Open
dsh-i-have-adhd · DSH Hub
src/auth.ts
Replace verifyToken (lines 42–58) with the snippet below
Run npm test -- auth.spec.ts
Next: paste the first failing line if any test fails.
One line: type /i-have-adhd and the agent shapes every response for an ADHD reader — action first, numbered steps, no preamble. No diagnosis needed.
A port of i-have-adhd (MIT, 20k+★) to
DeepSeek Harness. The upstream SKILL.md is
kept byte-identical and untranslated; DeepSeek Harness has no skill service, so /i-have-adhd
is registered as a command that injects the skill body verbatim into the current session.
✨ Features
🧠 Lead with the action — the first line is something you can do: command, path, or snippet first, prose after
🔢 Number multi-step work — one bounded action per step, the fewest steps that still work
🎯 End with one concrete next step — one thing doable in under two minutes
✂️ Suppress tangents — finish the first issue, offer the second separately
🔁 Restate state every turn — “step 3 of 5 done”, never make the reader hold it
⏱ Specific time estimates — minutes, not “a bit”
✅ Make wins visible — show what now works, don't bury it in a recap
🤐 Full 10-rule text — see skills/i-have-adhd/SKILL.md (verbatim)
📸 Before / After
Before
Great question! Let me think about this. Your auth flow has a few moving pieces: the middleware, the token verification, and the cookie handling. Looking at src/auth.ts, the verifyToken function (around lines 42-58) seems to be using an older jsonwebtoken API. One approach would be to update the package and rewrite that function. After making the change, you'd want to run the auth tests to confirm nothing breaks. By the way, you might also want to look at your dependency versions overall. Hope this helps! Let me know if you want to dig deeper.
After
Run npm install jsonwebtoken@latest, then edit src/auth.ts:42.
Open src/auth.ts
Replace verifyToken (lines 42–58) with the snippet below
Run npm test -- auth.spec.ts
Next: paste the first failing line if any test fails.
Zero build, zero runtime dependencies (only peer @deepseek-ai/dsh-llm, provided by the profile).
If pnpm blocks dependency installation, add this package to allowBuilds in the profile's
pnpm-workspace.yaml.
From a local checkout:
git clone https://github.com/GongYuanCaiJi/dsh-i-have-adhd.git
cd dsh-i-have-adhd
dsh plugin --profile add .
🚀 Usage
/i-have-adhd # turn ADHD mode on; rules injected into the current session
stop adhd mode or normal mode # turn it off (the off switch defined by the upstream SKILL.md)
The rules apply to every response for the rest of the session and do not lapse when the
topic changes; when in doubt, they still apply.
Port notes (vs upstream ayghri/i-have-adhd @ 2ed0640)
You do not have to take that on trust — THIRD_PARTY_NOTICES.md
pins the upstream commit and the SHA-256 of every verbatim file, with copy-paste comparison commands.
Bounded adaptation (dsh vs the upstream distribution mechanism differs; itemized in NOTICES):
package.json: renamed to dsh-i-have-adhd (required by the ticket), added dsh.bundle.patch and main/files/scripts.test; the upstream pi key is kept as-is
Added src/index.js + cordis.patch.yml: dsh has no skill service, so /i-have-adhd registers as a command that injects the SKILL.md body byte-for-byte
Added test/*.test.js: adapter tests (node:test)
README.md replaced with the port's own bilingual (CN-first) README; LICENSE gained the port line; .gitignore merged with the upstream entries
Known limitations: dsh has no SessionStart mechanism equivalent to the upstream always-on
hook (~/.claude/.i-have-adhd-always), so this port ships the /i-have-adhd on-demand route only;
upstream scripts/check_pi_extension.py and pi-load-check.yml are pi-context checks that cannot
run once the package is renamed per this ticket — kept verbatim per the move-everything rule.
🛠 Development
npm install # installs devDep (@deepseek-ai/dsh-llm, pinned 0.1.0-rc.6)
npm test # node --test, adapter unit tests
📄 License
MIT. Upstream i-have-adhdCopyright (c) 2026 Ayoub Ghriss; this port Copyright (c) 2026 GongYuanCaiJi. See LICENSE.