Home avatar

Daily Deep Think

The views expressed here are the author's own and do not represent any organization, company or institution.

The Nature of Skills: Reusable Encapsulated Expertise

If you’ve used Claude Code, you may have noticed the /skills command listing installed “skills”. Writing standards, architecture design methods, TDD workflows, code review strategies — it sounds like a plugin marketplace.

Skills are not plugins.

That’s the first and most important thing to understand about the Skill system. A plugin is code — it extends what the program can do. A Skill is a prompt — it extends what the model knows.

AI Memory Systems: Four Memory Types and Semantic Recall

Last time we covered context compaction — solving “how much the current session can remember”. But a coding assistant needs another kind of memory: long-term memory across sessions.

You close Claude Code and reopen it tomorrow. What should it know?

  • You prefer TypeScript over JavaScript
  • You said last time “don’t use the underscore library”
  • This project uses Vitest, not Jest
  • You once corrected one of its misunderstandings

Context compaction can’t handle these. The session ends, the history clears, tomorrow is a fresh window. If the AI needs you to re-explain everything each time, it isn’t an assistant — it’s a burden.

Context Compaction: Four Ways to Give AI 'Infinite Memory'

The Think-Act-Observe loop has a natural enemy: the context window is finite.

Every loop iteration burns tokens — the model’s thinking, the tool-call requests, the tool results. Reading one large file can cost thousands of tokens; a single test run’s output can cost tens of thousands. A dozen rounds in, the context window is stuffed full.

What happens when the window fills? The model says “sorry, this conversation exceeds my context limit”. For casual chat, who cares — open a new window. For a coding assistant, it means amnesia — it forgets the project structure, the changes already made, the user’s preferences.

Permissions and Security: Destructive Power, Under Control

Giving an AI coding assistant file-write permission is like handing scissors to someone extremely smart who occasionally hallucinates.

Most of the time it knows what it’s doing, but every so often it will confidently delete a file it shouldn’t, or set a critical config to a value that looks plausible and is actually wrong. The model isn’t malicious; it just makes mistakes — usually with great confidence.

System Prompt Engineering: Decisions Behind 800 Lines

If you think a system prompt is just “giving the AI a persona”, Claude Code’s system prompt will upend that notion.

It isn’t a few sentences. It’s a thousand-line template engine made of multiple layers, each responsible for something different: identity definition, behavioral constraints, tool documentation, project context, memory injection, skill loading. Some layers are static (identical every time); others are dynamic (injected in real time based on the project, the session, user preferences).

Tools Are Capability: AI Agent Tool System Design Philosophy

Last time we talked about the Think-Act-Observe loop — the skeleton of an AI coding assistant. A skeleton can’t work on its own; it needs muscle. In Claude Code, that muscle is tools.

Without tools, the loop loses the Act between Think and Observe and degenerates into plain Q&A. With tools, the model can touch the real world: read your code, change your configs, run your tests.