64 Matching Annotations
  1. Last 7 days
    1. Od wersji 2.1.50 nie jest to już konieczne. W Claude Code pojawiła się możliwość skorzystania z wbudowanej opcji --worktree. Wywołanie claude --worktree spowoduje utworzenie nowego worktree o losowej nazwie w lokalizacji ./.claude/worktrees. Jeśli chcemy utworzyć worktree o konkretnej nazwie, możemy podać ją w poleceniu: claude --worktree <worktree_name>. Po zamknięciu sesji Claude automatycznie usuwa utworzone worktree oraz powiązaną gałąź, jeśli nie ma zmian w working directory ani nowych commitów. Jeśli wprowadzono zmiany, Claude zapyta, czy je zachować. Jeśli odrzucimy zmiany, zarówno worktree, jak i powiązana gałąź zostaną usunęte.

      Using Git Worktrees in Claude Code

    1. Vibe Hacking: Claude Code Can Be Turned Into A Nation-State-Level Attack Tool With No Coding At All
      • The Vulnerability: Researchers at LayerX discovered that Claude Code—Anthropic’s agentic, terminal-based AI coding tool—can be manipulated into performing offensive cyberattacks by simply editing a project's configuration file.
      • The "CLAUDE.md" Attack Vector: Claude Code uses a file named CLAUDE.md to store system prompts and project context. Because the AI views this file as authoritative "truth" for the project, attackers can insert specific instructions to bypass safety guardrails.
      • Zero-Code Exploitation: The exploit requires no complex programming or advanced prompt engineering. By adding a few lines of text to CLAUDE.md claiming authorization for a "penetration test," the AI will abandon its refusals and execute malicious tasks.
      • Capabilities Unleashed: Once the guardrails are bypassed, Claude Code can autonomously perform:
        • SQL Injection (SQLi): Automatically generating and executing payloads to dump databases.
        • Credential Theft: Harvesting usernames and password hashes via automated CURL requests.
        • Data Exfiltration: Sending sensitive local files to external servers.
      • Key Risks:
        • Malicious Public Repos: Users cloning a public repository could unknowingly execute a "poisoned" CLAUDE.md file.
        • Insider Threats: Malicious or compromised employees can silently modify this file in internal repositories, as it is often ignored by security scanners.
      • Recommendations:
        • For Anthropic: Implement safety scanning specifically for the CLAUDE.md file and alert users when instructions violate standard AI safety policies.
        • For Developers: Treat CLAUDE.md as executable code rather than harmless documentation. It should be subject to code reviews, access controls, and security auditing.
  2. Apr 2026
    1. Best Practices Clear triggers: Define specific conditions for activation Focused scope: Each skill should do one thing well Informative prompts: Give Claude clear instructions Error handling: Account for edge cases in prompts Test thoroughly: Verify skills work across scenarios

      Similar good practices as compared to slashcommands. The first one is new and important: defining the trigger conditions well.

    2. Variables Available VariableDescription$CHANGED_FILESList of modified files$CURRENT_FILECurrently focused file$PROJECT_ROOTProject root directory$GIT_BRANCHCurrent git branch

      available variables (this is diff from the slashcommands it seems).

    3. Trigger Types TriggerDescriptiononFileChangeFiles matching glob pattern changeonCommandUser invokes a slash commandonGitHookGit operations (commit, push)onScheduleTime-based triggers

      Trigger types can be on file changes, command, git operations or schedule. So what is doing the monitoring for those triggers?

    4. 2. Create skill.json { "name": "test-runner", "description": "Automatically runs relevant tests when code changes", "triggers": { "onFileChange": ["**/*.ts", "**/*.tsx"], "onCommand": "/test" } }

      the json files specifies the triggers for a skill. Which can be a manual command, but also others like file changes. So one could shape any slashcommand as a skill too? To better daisychain them e.g.

    5. Skill Structure .claude/skills/ └── my-skill/ ├── skill.json # Skill configuration ├── prompt.md # Instructions for Claude └── scripts/ # Optional helper scripts └── helper.sh

      Skills have their own folder and are a folder with 2 files and subfolder for scripts. Json for config, prompt for instructions and scripts (shell)

      Shown here as project specific, but can be general I suppose.

    6. Skills are advanced automation capabilities that Claude can invoke automatically based on context. Skills vs Slash Commands FeatureSlash CommandsSkillsInvocationManual (/command)AutomaticTriggerUser types commandContext-basedComplexitySimple promptsScripts + promptsUse caseRepetitive tasksSmart automation

      Comparison w slash commands is a diff in trigger (me typing command or called by AI), simplicity (simple single prompts vs prompts and scripts), use cases (repetitive and smart automation) (repetitive warrants automation too imo)

    1. Include specific files with curly braces: <!-- .claude/commands/optimize.md --> Analyze {src/utils/helpers.ts} for optimization opportunities.

      one can reference outside files in slashcommands. E.g. to rerun test on something (although argument would work too). I see a diff in using a reference files as input, or as object of the command, not explained here though

    2. Single responsibility: Each command should do one thing well

      good practice 1, a single clear thing in a command. This, like similar advices for MCP agents and skills, pushes it to granular level. Meaning you could chain them. Similar usage as deterministic elements in CLI possible I'd say. This makes a command a single function in that sense

    3. Using Arguments Commands can accept arguments via $ARGUMENTS: <!-- .claude/commands/explain.md --> Explain $ARGUMENTS in simple terms. Provide: - What it does - Why it's useful - Example usageCopy to clipboard Usage: /explain the useCallback hook

      slash commands can accepts arguments

    1. I simply could not have built this project as well or as quickly without help. And as other developers have noted, this is the help that's showing up.

      n:: Claudecode as 'the help that is showing up' consistently. This is what I observe too where it is used by individuals overcoming barriers to entry to make their personal tools. I think this may be relevant to understand those that turn to chatbots for advice too.

    2. Although I read each proposed change, knowing the codebase deeply was much more challenging. When I write a new application myself, I'm building an elaborate house of cards in my head, a gossamer structure of interlinked ideas and goals. It's a story I'm telling myself in code—and ultimately, a story I share with users.

      reading everything during production is not the same as producing it. A mental model of the entire construct is not created. Interesting quote: you no longer have a story in your head about what it is you're doing. No helicopter view. The making is scaffolding for your understanding, and that is being cut out.

    3. "Human in the loop" is necessary, but the current process itself makes the loop stultifying, and encourages the human to take themselves out of the loop. That process is straight up dangerous. The temptation to let it rip is always there, and I didn't even have a boss pressuring me to ship code.

      The option 'yes to all in this session' provided at every turn is seen by author as darkpattern.

    4. It was so tempting to press 2: "Yes, and accept all changes for this session." Why wouldn't you? If you're accepting them all manually, what's the harm? What's the harm? harm harm harm harm Yeah, that's how you get got in this process. Once you stop scrutinizing the model's output, the probability something goes off the rails approaches 1.

      putting y on automatic is certain way to end up with stuff you do not have an overview of or no longer comprehend.

    5. I hated writing software this way. Forget the output for a moment; the process was excruciating. Most of my time was spent reading proposed code changes and pressing the 1 key to accept the changes, which I almost always did. I was basically Homer's drinking bird.

      author hated the feeling of being reduced to typing 'y' to questions from Claudecode. Recognisable, like babysitting. I watch output alongside Claudecode in VScode, which helps a bit.

    6. If it works, I'll have my certificate solution, I thought. If it doesn't, at least I'll know more about the technology and its implications. Well, spoiler alert: it works. It's even, near as I can tell, reasonably secure. But good lord, building this way was miserable, even if it was faster than coding it all myself.

      Classic approach: if it works, I have a result, if it doesn't I have hands-on experience with algogens as tech, and can use that elsewhere

  3. Mar 2026
  4. Feb 2026
    1. Comparison video of Claude Code using Anthropics cloud models vs local models on a M4 128GB. Still a heavy lift, fans spinning, memory usage almost at full capacity. But it works. Means that for my M1 16GB a smaller model is all that works, and you need to leave room for context loading too. For one-offs like code generation and for interactive in moving contexts there's different needs.

    1. Context length is the maximum number of tokens that the model has access to in memory. The default context length in Ollama is 4096 tokens. Tasks which require large context like web search, agents, and coding tools should be set to at least 64000 tokens.

      Default ollama context length is 4k. Recommended minimum for websearch, agents and coding tools (like Claude Code or Open code) is 64k. I've seen 128k recommendations for Claude Code

  5. Jan 2026
    1. Further ReadingI’m not gonna pretend to be an expert here (any more than I’m an expert Obsidian plugin developer :p) but here are some resources that helped me figure out Claude CodeKent writes a lot about how he uses Obsidian with Claude Code.This is an incredible hub of resources for using Claude Code for project management, by someone who also uses Obsidian.This take on Claude Code for non-developers helped solidify my understanding of how it all works; it hallucinates less, for one thing.Eleanor Berger has fantastic tips for working with asynchronous coding agents and is incredibly level-headed about the LLM landscape.This article does a great job of breaking down all the nitty-gritty of how Claude Code works.Damian Player has a step-by-step guide on using Claude Code as a non-technical person that goes into more depth.Here’s a tutorial from a pro that breaks down best practices for using Claude Code, like the importance of planning and thinking things through, and exactly why a good CLAUDE.md file matters.

      Links w further reading wrt Claude Code and Obsidian. Most of these are links to X. Ugh.

    2. Little Tips for Claude Code + Obsidian

      Some tips on her usage of Claude Code. - Put all your work in a folder next to the obsidian folder - to treat skills and commands like functions. Don't ever repeat them. - Install and use git locally to have a commit history. - On each step that you need to correct Claude code, tell it to write down directions or rules to avoid a mistake in the future. - circumvent public API liimits by changing the query slightly, or hit it in parallel

    3. Terminal Practice with GamesSome folks I’ve talked to are a little intimidated by the terminal. Want to practice in a low-stakes way?

      now we're back to terminal, I am still not sure about her set-up.

    4. But these days I’m not generally trying to do things faster, I’m trying to do them with less attention. All these searches and tasks run in the background, which means they actually get done. When I had to actively sit there and click through things, half of it never happened because something else more important would come up, or I just didn’t feel like doing grunt work just then.

      Speaks of how the purpose is not being faster but gtd with less attention on things you don't want to free up attention for. As long as you keep it away from your own key things I suppose. The periphery of what you pay attention to. The many little side projects on the someday/maybe list, the ones just out of reach. Enticing promise! This is the lure ofc.

    5. Setting Claude Code Up in ObsidianI was genuinely surprised at how easy the terminal plugin was to install for Obsidian. In Obsidian, I went to community plugins, searched for “terminal,” and installed the Terminal plugin by polyipseity. Then I clicked the “open terminal” button on the left-hand side. That’s it.There’s a dedicated Claudian plugin (subtly different from the Claudsidian solution people), but the Terminal felt a little higher fidelity to how I’m used to doing things, and a little simpler to understand. Plus, Claudian looks great but honestly I don’t think I can live without plan mode, which the readme says it doesn’t currently support. Plan mode is nice because it asks questions, really thinks things through, and can be trusted not to do dumb destructive things.

      There is a terminal plugin for Obsidian that you can connect to Claude Code (apparently). She advices against the Claudian plugin bc it lacks plan mode (i.e. not immediately act)

    6. If you have been following along with me for years you know I don’t hype things just because people are hyping things. But Claude Code finally has made AI a core part of my processes instead of just a thing I use sometimes as an extra source or bonus spell checker or quicker way to reformat files.

      She feels Claude Code is now a core tool in her workflows

    7. The UI feels so intuitive, like an old-school MUD.

      UI? Are we still talking about the terminal? Ah no, she means the desktop version, see [[Claude Code for VSCode - Visual Studio Marketplace]] for the VScode plugin as well.

    1. My excitement for local LLMs was very much rekindled. The problem is that the big cloud models got better too—including those open weight models that, while freely available, were far too large (100B+) to run on my laptop.

      Cloud models got much better stil than local models. Coding agents made a huge difference, with it Claude Code becomes very useful

    2. The reason I think MCP may be a one-year wonder is the stratospheric growth of coding agents. It appears that the best possible tool for any situation is Bash—if your agent can run arbitrary shell commands, it can do anything that can be done by typing commands into a terminal. Since leaning heavily into Claude Code and friends myself I’ve hardly used MCP at all—I’ve found CLI tools like gh and libraries like Playwright to be better alternatives to the GitHub and Playwright MCPs.

      Author thinks MCP may be a temporary phenomenon as a protocol, mostly bc cli tools like Claude code don't need it. The last sentence, that cli tools already exist that are better than the corresponding MCP servers for those tools, goes back to why vibecode/AI-the-things if there's perfectly good automation already around? I think that MCP may still be useful locally for personal tools though. It helps structure what you want your AI to do.

    3. It turns out tools like Claude Code and Codex CLI can burn through enormous amounts of tokens once you start setting them more challenging tasks, to the point that $200/month offers a substantial discount.

      running claudecode uses quite a bit of tokens, making 200usd/month a good deal for heavy users. I can believe that, also bc the machine doesn't care about the amount of tokens it uses during 'reasoning'. Some things I tried, it went through a whole bunch of steps and pages of scrolling output texts, to end up removing one word from a file. My suspicious half thinks, that if an AI company can influence the amount of tokens you use vibecoding, it will.

    4. the trade-off: using an agent without the safety wheels feels like a completely different product. A big benefit of asynchronous coding agents like Claude Code for web and Codex Cloud is that they can run in YOLO mode by default, since there’s no personal computer to damage. I run in YOLO mode all the time, despite being deeply aware of the risks involved. It hasn’t burned me yet... ... and that’s the problem.

      yolo mode, lol. If you do it, it feels like a very diff tool, and that is the lure / siren song.

    5. It helps that terminal commands with obscure syntax like sed and ffmpeg and bash itself are no longer a barrier to entry when an LLM can spit out the right command for you.

      bc Claudecode abstracts away the usual commands needed on the CLI. Vgl [[In the BeginningWas the Command Line by Neal Stephenson]]

    6. Claude Code and friends have conclusively demonstrated that developers will embrace LLMs on the command line, given powerful enough models and the right harness.

      Claude Code is what led devs to embrace CLI more.

    7. The year of coding agents and Claude Code # The most impactful event of 2025 happened in February, with the quiet release of Claude Code. I say quiet because it didn’t even get its own blog post!

      Claude Code (feb 2025) seen by author as most impactful release of 2025.

  6. Dec 2025