alvin-bot 4.18.1 → 4.18.2

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.
@@ -0,0 +1,53 @@
1
+ # AEC Plugin Skills — Installed 22.04.2026
2
+
3
+ 54 Skills aus 3 Claude-Code-Plugins, erstellt von **Abhinav Bhardwaj** (GitHub: `Amanbh997`).
4
+ Installiert via direkte Kopie in `~/.claude/skills/` — Claude Code auto-discovered via SKILL.md frontmatter.
5
+
6
+ Vorher: 89 Skills. Nachher: **143 Skills** (+54).
7
+
8
+ ## Quellen
9
+
10
+ | Plugin | Repo | Skills | Stars |
11
+ |---|---|---|---|
12
+ | **Urban Design** | [Amanbh997/Urban-Design-Skills-Claude](https://github.com/Amanbh997/Urban-Design-Skills-Claude) | 18 | ⭐ 76 |
13
+ | **Architecture** | [Amanbh997/Skills-Architects](https://github.com/Amanbh997/Skills-Architects) | 18 | ⭐ 118 |
14
+ | **Computational Design** | [Amanbh997/Claude-skills-for-Computational-Designers](https://github.com/Amanbh997/Claude-skills-for-Computational-Designers) | 18 | ⭐ 127 |
15
+
16
+ Jedes Plugin: 35.000+ Zeilen, 7 Python-Calculators, 50+ Theorists, 30+ Tools, hunderte numerische Benchmarks.
17
+
18
+ ## Skill-Inventar
19
+
20
+ ### Urban Design (18)
21
+ block-and-density · climate-responsive-design · cost-estimation · design-brief · design-evaluation · masterplan-design · mixed-use-programming · mobility-and-transport · precedent-study · public-space-design · site-analysis · street-design · sustainability-scoring · tod-design · urban-calculator · urban-design-foundations · urban-regeneration · zoning-and-codes
22
+
23
+ ### Architecture (18)
24
+ accessibility-design · acoustic-design · architect-calculator · architect-foundations · building-codes · building-envelope · building-programming · building-services · building-sustainability · building-typology · concept-design · construction-documentation · daylighting-design · design-theory · fire-life-safety · material-selection · spatial-planning · structural-systems
25
+
26
+ ### Computational Design (18)
27
+ algorithmic-patterns · bim-scripting · cd-calculator · cd-foundations · computational-geometry · data-driven-design · design-automation · digital-fabrication · environmental-simulation · facade-computation · generative-design · interoperability · mesh-processing · ml-for-aec · optimization-methods · parametric-modeling · scripting-reference · structural-computation
28
+
29
+ ## Update ziehen
30
+
31
+ ```bash
32
+ cd /tmp && rm -rf aec-skills && mkdir aec-skills && cd aec-skills
33
+ git clone --depth 1 https://github.com/Amanbh997/Urban-Design-Skills-Claude.git
34
+ git clone --depth 1 https://github.com/Amanbh997/Skills-Architects.git
35
+ git clone --depth 1 https://github.com/Amanbh997/Claude-skills-for-Computational-Designers.git
36
+ cp -R Urban-Design-Skills-Claude/skills/* ~/.claude/skills/
37
+ cp -R Skills-Architects/skills/* ~/.claude/skills/
38
+ cp -R Claude-skills-for-Computational-Designers/skills/* ~/.claude/skills/
39
+ ```
40
+
41
+ ## Wie die Skills ausgelöst werden
42
+
43
+ Jeder Skill hat im SKILL.md frontmatter eine `description`-Zeile die spezifische User-Anfragen matcht. Beispiele:
44
+
45
+ - „Design a mixed-use quarter" → Urban Design Plugin (masterplan-design, tod-design, mixed-use-programming, zoning-and-codes, mobility-and-transport …)
46
+ - „Check if this floor plan meets fire code" → Architecture Plugin (fire-life-safety, building-codes, accessibility-design, construction-documentation …)
47
+ - „Generate a parametric facade pattern in Grasshopper" → Computational Design Plugin (parametric-modeling, facade-computation, algorithmic-patterns, digital-fabrication …)
48
+
49
+ Laut Creator: *"Ask Claude to design a mixed-use quarter and all three plugins kick in working together."*
50
+
51
+ ## Quelle
52
+ Reel vom Creator: https://www.instagram.com/reel/DXXhJS2kqAf/
53
+ Uploader: Abhinav Bhardwaj / "Claude for AEC!"
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to Alvin Bot are documented here.
4
4
 
5
+ ## [4.18.2] — 2026-04-23
6
+
7
+ ### 🐛 Fix: silent empty-stream after OAuth-token rotation
8
+
9
+ **Problem:** After running `/extra-usage`, `/login`, or any other flow that rotates the Claude OAuth token in the macOS Keychain, the Alvin-Bot silently broke for long-lived sessions. The in-memory Claude SDK client held the old token, the CLI subprocess emitted no text chunks (the 401 was swallowed upstream), the stream terminated normally with zero output tokens, and the user saw the fallback `"(Keine Antwort)"` — with no indication that a token refresh was needed.
10
+
11
+ **Fix** (`src/providers/claude-sdk-provider.ts`): In the `result` branch of the SDK stream loop, detect the empty-stream signature (`accumulatedText === ""` and `outputTokens === 0`). When that fires:
12
+
13
+ 1. Invalidate the `isAvailable()` cache so the next heartbeat probe spawns a fresh CLI subprocess that reads the current Keychain entry.
14
+ 2. Yield an explicit `error` chunk with actionable text so the user sees *"…token rotation — please resend your message"* instead of a silent `"(Keine Antwort)"`.
15
+
16
+ **Applies to:** every token-rotation flow — extra-usage activation, extra-usage expiry, weekly-reset (no rotation → unaffected), manual `claude login`.
17
+
18
+ **Net effect:** Bot self-heals after token changes. A single resend on the user side is enough; no manual restart required.
19
+
5
20
  ## [4.18.1] — 2026-04-20
6
21
 
7
22
  ### 🔒 Privacy-Guard: pre-publish check blocks PII leaks in shipped files
@@ -0,0 +1,81 @@
1
+ # Design Skills — Installed 22.04.2026
2
+
3
+ 19 neue Skills aus 2 Repos + Bestätigung dass Frontend Design bereits via Anthropic Plugin installiert ist.
4
+
5
+ ## Quellen
6
+
7
+ | Skill | Repo | Stars | Status |
8
+ |---|---|---|---|
9
+ | **Impeccable** (18 commands) | [pbakaus/impeccable](https://github.com/pbakaus/impeccable) | ⭐ 21.419 | ✅ Neu installiert |
10
+ | **Design Motion Principles** | [kylezantos/design-motion-principles](https://github.com/kylezantos/design-motion-principles) | ⭐ 293 | ✅ Neu installiert |
11
+ | **Frontend Design** | [anthropics/skills/frontend-design](https://github.com/anthropics/skills) | — | ℹ️ War bereits aktiv (Plugin `frontend-design:frontend-design`) |
12
+
13
+ ## Reel-Quelle
14
+ Marc Cleroux auf Instagram — https://www.instagram.com/reel/DXdVUiOjKUv/ (22.04.2026)
15
+
16
+ ## Impeccable-Commands (18)
17
+
18
+ Vokabular um Claude bei frontend-design zu steuern wenn dir die richtigen Worte fehlen.
19
+
20
+ | Command | Funktion |
21
+ |---|---|
22
+ | `/impeccable` | Core skill mit 18 commands + 7 Referenz-Domänen |
23
+ | `/adapt` | Responsive / Breakpoints / Touch-Targets |
24
+ | `/animate` | Purposeful motion + micro-interactions |
25
+ | `/audit` | Technische Quality Checks (a11y, perf, responsive) + scored report |
26
+ | `/bolder` | Bland → visuell interessanter |
27
+ | `/clarify` | Unklare UX-Copy verbessern |
28
+ | `/colorize` | Strategische Farbe einführen |
29
+ | `/critique` | UX Design Review (Hierarchie, Klarheit, Resonanz) |
30
+ | `/delight` | Joy-Momente, Personality, Memorable Touches |
31
+ | `/distill` | Auf Essenz reduzieren, Complexity weg |
32
+ | `/harden` | Error Handling, Empty States, Onboarding, i18n, Edge Cases |
33
+ | `/layout` | Layout / Spacing / Visual Rhythm fixen |
34
+ | `/optimize` | Performance (Bundle, Rendering, Images) |
35
+ | `/overdrive` | Technisch ambitioniert — Shaders, Spring Physics, 60fps |
36
+ | `/polish` | Final Quality Pass pre-shipping |
37
+ | `/quieter` | Overstimulating Design beruhigen |
38
+ | `/shape` | UX/UI-Plan vor Code |
39
+ | `/typeset` | Typografie fixen |
40
+
41
+ ### 7 Referenz-Domänen in `impeccable`
42
+ typography · color-and-contrast · spatial-design · motion-design · interaction-design · responsive-design · ux-writing
43
+
44
+ ## Design Motion Principles
45
+
46
+ Motion-Audit-Skill basierend auf den Philosophien von:
47
+ - **Emil Kowalski** — iOS-native UI polish
48
+ - **Jakub Krehel** — smooth interaction design
49
+ - **Jhey Tompkins** — creative web animation
50
+
51
+ Use case: *"Audit the hover states and transitions on my landing page"* → strukturierter Motion-Report.
52
+
53
+ ## Installation
54
+
55
+ Geklont + direkt in `~/.claude/skills/` einzeln kopiert (Impeccable folgt dem Pattern aus ihrer README: `cp -r dist/claude-code/.claude/* ~/.claude/`).
56
+
57
+ ## Update ziehen
58
+
59
+ ```bash
60
+ cd /tmp && rm -rf design-skills && mkdir design-skills && cd design-skills
61
+ git clone --depth 1 https://github.com/pbakaus/impeccable.git
62
+ git clone --depth 1 https://github.com/kylezantos/design-motion-principles.git
63
+ cp -R impeccable/.claude/skills/. ~/.claude/skills/
64
+ cp -R design-motion-principles/skills/design-motion-principles ~/.claude/skills/
65
+ ```
66
+
67
+ ## Stand Skills-Inventar (22.04.2026)
68
+ - Vorher: 143 (nach AEC-Installation)
69
+ - Nachher: **162** (+19)
70
+
71
+ ## Nebenbaustelle
72
+ Impeccable bringt zusätzlich eine `.claude/agents/anti-patterns.md` mit — nicht installiert (würde Permission für `~/.claude/agents/` brauchen). Das ist optional: Die 18 Skills funktionieren unabhängig vom Anti-Patterns-Agent. Falls später gewünscht: `cp -R /tmp/design-skills/impeccable/.claude/agents/. ~/.claude/agents/`
73
+
74
+ ## Empfohlene Workflow-Kombination
75
+
76
+ Laut Marc Cleroux im Reel ist das Power-Trio:
77
+ 1. **shape** (plan before code) — Teil von Impeccable
78
+ 2. **frontend-design** (implement mit Geschmack) — schon installiert
79
+ 3. **audit** + **critique** + **polish** (iterieren) — Impeccable
80
+
81
+ Bei jedem neuen Frontend-Build: `/shape` → `/impeccable craft` → `/audit` → `/critique` → `/polish` → shippen.
@@ -309,6 +309,30 @@ export class ClaudeSDKProvider {
309
309
  ? (usage.input_tokens || 0) + (usage.cache_creation_input_tokens || 0) + (usage.cache_read_input_tokens || 0)
310
310
  : 0;
311
311
  const outputTok = usage?.output_tokens || 0;
312
+ // v4.18.2 — Silent-empty-stream detection.
313
+ //
314
+ // If the stream terminated cleanly but produced ZERO text chunks,
315
+ // something went wrong that the SDK didn't surface as an error:
316
+ // most commonly a stale OAuth token after /extra-usage or /login
317
+ // rotated the Keychain entry while our in-memory SDK client was
318
+ // still holding the old one. The CLI subprocess silently gets a
319
+ // 401, emits no text, and we complete the stream with
320
+ // accumulatedText === "". The user sees "(Keine Antwort)".
321
+ //
322
+ // We flip this from silent failure to explicit error. Clearing
323
+ // the availability cache forces the next heartbeat probe to
324
+ // re-check `claude auth status` with a fresh subprocess (which
325
+ // reads the current Keychain entry).
326
+ if (accumulatedText === "" && outputTok === 0) {
327
+ this.invalidateAvailabilityCache();
328
+ yield {
329
+ type: "error",
330
+ error: "Claude returned an empty response. " +
331
+ "This can happen right after /extra-usage, /login, or a token refresh — " +
332
+ "the SDK held a stale auth token. I've invalidated the cache; please resend your message.",
333
+ };
334
+ return;
335
+ }
312
336
  yield {
313
337
  type: "done",
314
338
  text: accumulatedText,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alvin-bot",
3
- "version": "4.18.1",
3
+ "version": "4.18.2",
4
4
  "description": "Alvin Bot \u2014 Your personal AI agent on Telegram, WhatsApp, Discord, Signal, and Web.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",