<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Arpit</title>
    <description>The latest articles on Forem by Arpit (@arpitnath).</description>
    <link>https://forem.com/arpitnath</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F731430%2Fd2758287-6f0c-437f-bb2c-51f09adff44d.JPG</url>
      <title>Forem: Arpit</title>
      <link>https://forem.com/arpitnath</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/arpitnath"/>
    <language>en</language>
    <item>
      <title>Fixing Claude Code's Amnesia</title>
      <dc:creator>Arpit</dc:creator>
      <pubDate>Mon, 01 Dec 2025 10:20:29 +0000</pubDate>
      <link>https://forem.com/arpitnath/fixing-claude-codes-amnesia-5g9f</link>
      <guid>https://forem.com/arpitnath/fixing-claude-codes-amnesia-5g9f</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwk3zaxdvads1fvm6xwju.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwk3zaxdvads1fvm6xwju.gif" alt="i_dont_remember"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Picture this: You're deep in a refactor. Claude just helped you understand the token validation in auth.ts . &lt;/p&gt;

&lt;p&gt;You're vibing. You feel productive.&lt;/p&gt;

&lt;p&gt;Then you ask: "Cool, now how does this connect to cache_service.ts ?"&lt;/p&gt;

&lt;p&gt;And Claude… re-reads &lt;code&gt;auth.ts&lt;/code&gt; . From line 1 again! Like it's never seen it before.&lt;/p&gt;

&lt;p&gt;You realize you're not having a conversation. &lt;strong&gt;You're giving tours to a very intelligent tourist with amnesia.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every message is a fresh start. Every file read is from scratch. Every time you context-switch, Claude forgets what you were just talking about. It's brilliant at reasoning, terrible at remembering.&lt;/p&gt;

&lt;p&gt;And here's the kicker: &lt;strong&gt;This isn't a bug.&lt;/strong&gt; It's just how LLMs work. Stateless by design. Each API call is independent. No memory. No continuity. And No &lt;em&gt;"yo, we looked at that file 5 minutes ago."&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter: Super Claude Kit 🎭
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This frustration led me to build a coding agent-&lt;a href="https://github.com/arpitnath/orpheus_cli" rel="noopener noreferrer"&gt;Orpheus CLI&lt;/a&gt;, an experimental coding agent to understand how these tools work under the hood.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Super Claude Kit&lt;/strong&gt; is what happened when I got annoyed enough to fix the amnesia problem myself.&lt;/p&gt;

&lt;p&gt;It's a lightweight orchestration system that gives Claude Code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Persistent memory&lt;/strong&gt; across messages and sessions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependency intelligence&lt;/strong&gt; for your entire codebase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart context management&lt;/strong&gt; that doesn't waste tokens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-config operation&lt;/strong&gt; (it just works 🥷🏻)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkje6l01yx4pi3aa29mcn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkje6l01yx4pi3aa29mcn.gif" alt="snowball_dropping"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built entirely with bash hooks (thank you, Anthropic 🙏) and a couple of lightweight Go binaries, it turns Claude from a stateless assistant into a workspace-aware development partner.&lt;/p&gt;

&lt;p&gt;Here's the best part: &lt;strong&gt;&lt;em&gt;It's all local.&lt;/em&gt;&lt;/strong&gt; No databases, no API calls, no cloud services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Anthropic's Claude Code and that beautiful hook system
&lt;/h2&gt;

&lt;p&gt;Let me give credit where it's due: Claude Code's &lt;a href="https://code.claude.com/docs/en/hooks" rel="noopener noreferrer"&gt;hook system&lt;/a&gt; is genius. Anthropic could've built a closed system. Instead, they gave us &lt;a href="https://code.claude.com/docs/en/hooks-guide#hook-events-overview" rel="noopener noreferrer"&gt;lifecycle hooks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8zl3rexr31slk4912tax.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8zl3rexr31slk4912tax.gif" alt="claude_code_with_hooks_triggered"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Super Claude Kit&lt;/em&gt;&lt;/strong&gt; is proof that Claude Code isn't just an AI assistant, it's a platform. The hooks let me &lt;strong&gt;inject context&lt;/strong&gt;, &lt;strong&gt;track state&lt;/strong&gt;, &lt;strong&gt;route intentions&lt;/strong&gt;, and &lt;strong&gt;build memory&lt;/strong&gt; without disturbing Claude Code's internals.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it actually works (the fun part)
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;I ran the same task in vanilla Claude Code vs Claude Code with Super Claude Kit&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;**Task:** "Check for circular dependencies and identify dead code"
**Vanilla Claude Code (left):**
 - Spawned 2 Explore sub-agents
 - 60 tool uses scanning files
 - **55,400 tokens consumed**
 - **2 minutes 21 seconds**
 - Still processing when I stopped it
**Super Claude Kit (right):**
 - Used specialized tools: find-circular, find-dead-code
 - 2 direct tool calls
 - **&amp;lt;1,000 tokens**
 - **5 seconds**
 - Complete, accurate results
**That's 99% token reduction and 30x faster.**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdzprgebalk6p1h2lv7o5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdzprgebalk6p1h2lv7o5.gif" alt="comparison_with_super_claude_kit"&gt;&lt;/a&gt;&lt;br&gt;
This is the same query, same codebase, same computer, same model (Opus 4.5).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zero redundant reads. Instant dependency analysis. Cross-message awareness.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It just… remembers. Like a teammate would.&lt;/p&gt;

&lt;p&gt;Super Claude Kit works like a tiny orchestration system inside Claude Code.&lt;/p&gt;

&lt;p&gt;The difference? Super Claude Kit guides Claude to use the right tools automatically.&lt;/p&gt;
&lt;h2&gt;
  
  
  Component Breakdown
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiokgnllmdaxuvdyt0wbw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiokgnllmdaxuvdyt0wbw.png" alt="component_diagram"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Each layer responds to hooks in milliseconds. The whole system adds &amp;lt;100ms overhead. You don't even notice it running.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;1. Persistent Memory: Because Forgetting Sucks&lt;/strong&gt;&lt;br&gt;
Every session gets a human-readable journal:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Session: 2025–11–15 14:30 UTC
[pattern] Auth uses JWT with Redis-backed sessions
[architecture] Microservices talk via gRPC
[bug] Race condition in token refresh (auth.ts:142)
Files Accessed:
• src/auth/auth.ts (read, edit)
• src/database/redis.ts (read)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;When you start a new session, if it's been less than 24 hours, this state &lt;strong&gt;auto-restores&lt;/strong&gt;. You pick up exactly where you left off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. TOON Format: Because JSON is Bloated&lt;/strong&gt;&lt;br&gt;
While building this, I stumbled on &lt;strong&gt;TOON (Token-Oriented Object Notation)&lt;/strong&gt;, a format designed specifically for LLMs.&lt;br&gt;
&lt;strong&gt;JSON&lt;/strong&gt; (everyone's default): &lt;em&gt;95 tokens&lt;/em&gt; of mostly syntax noise&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
 "git": {"branch": "epic/labs", "head": "38f6f42e", "dirty": 22},
 "files": [{"path": "CLAUDE.md", "action": "read", "age": 120}]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;TOON&lt;/strong&gt; : 45 tokens (52% smaller!)&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GIT{branch,head,dirty}:
 epic/labs,38f6f42e,22
FILES{path,action,age}:
 CLAUDE.md,read,120
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;That's not just clever, it's practical. Every token saved is more room for actual code context.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Context Capsule&lt;/strong&gt; holds everything Claude needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Git status (branch, dirty files, HEAD commit)&lt;/li&gt;
&lt;li&gt;Recently accessed files&lt;/li&gt;
&lt;li&gt;Current tasks&lt;/li&gt;
&lt;li&gt;Discoveries&lt;/li&gt;
&lt;li&gt;Session metadata&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A hook updates this before each prompt, but only if something actually changed (hash-based diffing). That optimization alone cuts updates by 40–50%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Dependency Graph: Know Your Codebase&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;On session start, a Go binary (using tree-sitter for parsing) builds a complete dependency graph. &lt;br&gt;
Current languages supported: TypeScript, JavaScript, Python, Go&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Scans your entire codebase&lt;/li&gt;
&lt;li&gt;Extracts imports/exports from every file&lt;/li&gt;
&lt;li&gt;Builds a directed graph of dependencies&lt;/li&gt;
&lt;li&gt;Detects and finds all strongly connected components/references, not just individual cycles (using Tarjan's algorithm)&lt;/li&gt;
&lt;li&gt;Identifies dead code (files nobody imports)&lt;/li&gt;
&lt;li&gt;Saves for future reference in the session&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Now Claude can answer:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who imports this file? &lt;/li&gt;
&lt;li&gt;What breaks if I change this? &lt;/li&gt;
&lt;li&gt;Are there circular dependencies?&lt;/li&gt;
&lt;li&gt;What files are unused?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdoun08rv3gkferdkkui5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdoun08rv3gkferdkkui5.png" alt="dependecy_tree"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before refactoring, claude knows what we're about to break. No surprises.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Why Tarjan's algorithm? *&lt;/em&gt;&lt;br&gt;
Because it's what npm, cargo, and every serious dependency analyzer uses. It finds all circular dependencies in a single O(V + E) pass. &lt;br&gt;
Simple DFS would need multiple passes. Floyd-Warshall would be O(V³). &lt;br&gt;
Tarjan's is just… the right tool.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feunn84j70us99ukt7tuj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feunn84j70us99ukt7tuj.png" alt="working_algorithm"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Progressive Reader: Semantic Chunking for Large Files&lt;/strong&gt;&lt;br&gt;
Large files (&amp;gt;50KB) kill context windows. Traditional line-based reading breaks functions mid-definition.&lt;br&gt;
 &lt;br&gt;
&lt;strong&gt;Progressive Reader&lt;/strong&gt; uses tree-sitter to chunk files at semantic boundaries:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// auth.service.ts (300 lines)
// Chunk 0: Imports + AuthService class (lines 1–85)
import { User } from './user';
export class AuthService {
 // Full class definition
}
// Chunk 1: TokenService class (lines 86–150)
export class TokenService {
 // Complete class
}
// Chunk 2: SessionService (lines 151–220)
export class SessionService {
 // Complete class
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You read chunk 0. That's enough? Done. Need more? Read chunk 1. It's like pagination, but smart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read only what you need (60–80% context savings)&lt;/li&gt;
&lt;li&gt;Preserve semantic coherence (no broken functions)&lt;/li&gt;
&lt;li&gt;Continuation tokens for stateful reading&lt;/li&gt;
&lt;li&gt;Tree-sitter guarantees correct boundaries&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. The "Boss Layer": Making Claude Use Its Brain&lt;/strong&gt;&lt;br&gt;
Even with memory and context, Claude sometimes ignored the capsule. &lt;br&gt;
So I added forcing functions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bydwh5xgho8v8hyqvtg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bydwh5xgho8v8hyqvtg.png" alt="boss_layer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart Refresh (Don't Update If Nothing Changed)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;current_hash=$(compute_state_hash)
if [[ "$current_hash" == "$last_hash" ]] &amp;amp;&amp;amp; [[ $minutes &amp;lt; 5 ]]; then
 exit 0 # Skip - nothing changed
fi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Result: &lt;strong&gt;60–70% fewer capsule updates&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intent Router (Delegate to Specialists)&lt;/strong&gt;&lt;br&gt;
Hook analyzes prompts and routes to specialized sub-agents:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Explore database architecture" → database-navigator
"Debug this MCP integration" → agent-developer
"Create a GitHub issue" → github-issue-tracker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Claude stops trying to do everything and delegates intelligently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decision Matrix (SKILL.md)&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A rule table that enforces best practices:&lt;br&gt;
BEFORE refactoring → Run impact-analysis&lt;br&gt;
BEFORE deleting → Run query-deps&lt;br&gt;
WHEN imports fail → Run find-circular&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Think of it as a &lt;strong&gt;"boss"&lt;/strong&gt; that reminds Claude to use its tools.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;| Metric                           | Before   | After  | Improvement 
|----------------------------------|----------|--------|-------------
| **Tokens per context update**    | ~8,500   | ~4,900 | **42% reduction**
| **Capsule refreshes per session**| ~12      | ~4     | **67% fewer** 
| **Files re-read unnecessarily**  | ~15      | ~5     | **67% reduction** 
| **Context loss between sessions**| 100%     | 0%     | **Total persistence**
| **Dependency analysis time**     | 5-10 min | &amp;lt;5 sec | **~100x faster** 
| **Disk footprint**               | N/A      | 10-30KB| Negligible 
| **Hook overhead**                | N/A      | &amp;lt;50 ms | Imperceptible
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  A Complete Session (How It All Connects)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24jg267ob4b3vjouv4rv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F24jg267ob4b3vjouv4rv.png" alt="architectural_flow"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. $ claude
2. SessionStart hook fires
 ├─ Check for previous session (&amp;lt;24h ago)
 ├─ Restore state from capsule_persist.json
 ├─ Build dependency graph (1,247 files, 4.2s)
 └─ Save to .claude/dep-graph.toon
3. Claude receives context injection:
   "RESTORING FROM PREVIOUS SESSION
   Last: 28m ago | Task: Auth refactor → Redis"
4. You: "Continue the refactor"
5. UserPromptSubmit hook fires
 ├─ Hash current state
 ├─ Compare to last refresh
 ├─ No changes → Skip update (saves ~4,500 tokens)
 └─ Proceed
6. Claude: "From the capsule, I see we're migrating auth.ts
   to Redis. Last session we updated token validation.
   Let me now update the login endpoint…"
7. You: "What breaks if I change token format?"
8. Claude runs: impact-analysis.sh auth.ts
   Output: "15 dependents. HIGH RISK."
9. You: "Create a GitHub issue for this"
10. Intent router: → github-issue-tracker sub-agent
    Issue created with full context from capsule
11. You: exit
12. SessionEnd hook fires
 ├─ Save state → capsule_persist.json
 ├─ Append discoveries → exploration journal
 └─ Set 24h expiry
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Next session: Everything restores automatically. You pick up where you left off.&lt;/p&gt;

&lt;p&gt;AI coding assistants are incredible. But they're tourists in your codebase. They parachute in, help with a problem, then forget everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Super Claude Kit turns tourists into residents.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's not about changing the model. It's about giving the model a home, a persistent workspace where context lives, dependencies are mapped, and sessions connect.&lt;/p&gt;

&lt;p&gt;Claude stops forgetting. You stop repeating yourself. Development becomes a conversation, not isolated transactions.&lt;/p&gt;

&lt;p&gt;If you've ever been frustrated explaining the same thing to Claude for the third time in an hour, this is for you.&lt;/p&gt;
&lt;h2&gt;
  
  
  Try It (It's Open Source)
&lt;/h2&gt;

&lt;p&gt;Super Claude Kit works with Claude Code out of the box.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/arpitnath" rel="noopener noreferrer"&gt;
        arpitnath
      &lt;/a&gt; / &lt;a href="https://github.com/arpitnath/claude-capsule-kit" rel="noopener noreferrer"&gt;
        claude-capsule-kit
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A toolkit that makes Claude Code better at engineering — session memory, dependency analysis, large file navigation, 18 specialist agents, and crew teams for parallel multi-branch work.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/arpitnath/claude-capsule-kit/./.github/capsule-hero.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Farpitnath%2Fclaude-capsule-kit%2F.%2F.github%2Fcapsule-hero.png" alt="Claude Capsule Kit" width="100%"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://www.npmjs.com/package/claude-capsule-kit" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/15a3fad91e399c6e9f2ea270246fd4161c8d596c59f612d24ed6ac33217f4911/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f636c617564652d63617073756c652d6b69742e737667" alt="npm"&gt;&lt;/a&gt;
  &lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
  &lt;a href="https://claude.ai" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d6452c20e4c8d40d1abddaa8d52ab71d02a8f3eaec898f756020a0c19d510431/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c617564655f436f64652d436f6d70617469626c652d6f72616e67652e737667" alt="Claude Code"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;A toolkit that makes Claude Code better at engineering.&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;
  Session memory. Dependency analysis. Large file navigation. 18 specialist agents.&lt;br&gt;
  Crew teams for parallel multi-branch work. All automatic, zero configuration
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Install&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm install -g claude-capsule-kit
cck setup&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Restart Claude Code. Everything activates automatically via hooks.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why CCK&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Claude Code is powerful out of the box. But on real codebases, you run into limits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session isolation&lt;/strong&gt; — Claude starts fresh every time. Previous context, discoveries, and decisions are lost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No dependency awareness&lt;/strong&gt; — Claude doesn't know your import graph. It can't tell you what breaks when you change a file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Large file blindness&lt;/strong&gt; — Files over 50KB get truncated. Claude can't navigate framework internals or generated code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single-threaded work&lt;/strong&gt; — One branch, one task at a time. No way to parallelize across features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent amnesia&lt;/strong&gt; — Sub-agents start with zero context. Findings from one agent don't flow to others.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CCK fills these…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/arpitnath/claude-capsule-kit" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;





&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.claude.com/product/claude-code" rel="noopener noreferrer"&gt;Anthropic Claude Code&lt;/a&gt; and that beautiful hook system&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/toon-format/toon#readme" rel="noopener noreferrer"&gt;TOON Format&lt;/a&gt; : Token-efficient notation that just works&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://tree-sitter.github.io/tree-sitter/" rel="noopener noreferrer"&gt;Tree-sitter&lt;/a&gt; : AST parsing that makes semantic chunking possible&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>opensource</category>
      <category>learning</category>
    </item>
    <item>
      <title>2 weeks of Hacktoberfest as a first-time maintainer and contributor</title>
      <dc:creator>Arpit</dc:creator>
      <pubDate>Thu, 12 Sep 2024 14:52:24 +0000</pubDate>
      <link>https://forem.com/arpitnath/2-weeks-of-hacktoberfest-as-a-first-time-maintainer-and-contributor-5n9</link>
      <guid>https://forem.com/arpitnath/2-weeks-of-hacktoberfest-as-a-first-time-maintainer-and-contributor-5n9</guid>
      <description>&lt;p&gt;While people enjoy the oncoming autumn, developers are psyched for a specific reason in October. It’s that time of the year again (Hacktober)! Hacktoberfest 2021 marks yet another year of celebrating open-source software. Celebrating open-source software for the entire month of October encourages people with all skill-set levels to try their hands on real-world software, contribute to the public repositories between October 1–31 and win some cool swaggers or goodies.&lt;/p&gt;

&lt;p&gt;To participate in Hacktoberfest, you need to sign up for the event on the official website and can begin to create pull requests to any project that has a “Hacktoberfest” label on its issue tracker. You can also find projects by browsing through the Hacktoberfest site. Like &lt;a href="https://github.com/ToolJet/ToolJet" rel="noopener noreferrer"&gt;ToolJet&lt;/a&gt; (yes, that’s us!, with 3.7k stars 😎), every valid Pull Request is eligible for ToolJet swag ( stickers, t-shirts, and more ), and selected top contributors will receive special surprise prizes.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;I had never contributed to any open-source software before joining ToolJet. This year I found myself being a part of a team and maintaining specific aspects of the project, listing out Issues and trying to help other fellow developers with their queries. At some point, we could not even keep pace with the steep number of contributors picking up Issues and being bombarded with really overwhelming notifications, which was awed, happy, shocked (all at once). To put things into perspective, we had over 50 Pull Requests from 40+ new contributors; out of this, a good number of them were first-timers.&lt;/p&gt;

&lt;p&gt;My preconceived notion that every contribution needed to be sizeable was shattered, seeing the sheer amount of responses. I turned into a contributor myself and contributed to a few projects (very few), some without the “Hacktoberfest” label. I finally started my stint in open sourcing!&lt;br&gt;
No matter how big or small the contributions, we welcome you to collaborate and contribute, starting with fixing a bug, improving the documentation, or even contributing a new feature.&lt;/p&gt;

&lt;p&gt;To read more about how to contribute to ToolJet: &lt;a href="https://blog.tooljet.io/hacktoberfest-2021/" rel="noopener noreferrer"&gt;Hacktober Blog&lt;/a&gt; and&lt;a href="https://github.com/ToolJet/ToolJet" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. In conclusion, you can make a difference even if you are proofreading documentation. Get Hacking!&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
