This note covers Vibe Coding—using AI agents like Claude Code to write code. For general AI service usage, see this note. For API comparisons, check this note.
I mainly use Claude Code in Cursor. This note covers everything about Cursor, Antigravity, Claude Code, and other tools—but focuses primarily on Claude Code.
- Maketplace for Skills: Vercel’s Skills, skillsmp
- Skill_Seekers — Convert documentation websites, GitHub repositories, and PDFs into Claude AI skills with automatic conflict detection
- MCP marketplace: Cursor’s, modelcontextprotocol/servers
- ⭐ coding-friend plugin — a tool I build for disciplined engineering workflows
- ⭐ AI Sync — a tool I build to sync AI configs across all my machines
- Claude-Usage-Tracker — If you have multiple Claude accounts, this tool tracks each account's usage and displays stats in the menubar. Note that it doesn't track usage per conversation. To see tokens used in each conversation, use sniffly instead.
- CC stats + dashboard + health check
- ⭐ cc-lens — A real-time monitoring dashboard for Claude Code
- sniffly — Claude Code dashboard with usage stats, error analysis, and sharable feature. Use this to know which prompt uses how many tokens.
- claude-devtools — A desktop app that reconstructs exactly what Claude Code did — every file path, every tool call, every token — from the raw session logs already on your machine.
- claude-mem: A Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future sessions.
⚠️ Be careful when working with Xcode projects. Claude-mem creates multiple
CLAUDE.md files in subfolders, causing Xcode to fail builds due to duplicate file errors. You'll need to manually ignore these files (which is tedious) for the project to build successfully. I don't use this tool in Xcode projects.- CLIProxyAPI — Wrap Gemini CLI, Antigravity, ChatGPT Codex, Claude Code, Qwen Code, iFlow as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini 2.5 Pro, GPT 5, Claude, Qwen model through API
- Alternative to (and compatible with) Claude Code: Z.ai's GLM Coding, which is much cheaper.
- Ghostty — Terminal accepts
shift+enternatively besides iTerms2. Warp is also wonderful (if you wish to type on a terminal like in an editor). - A tip: on iTerms2, go to Profiles → Keys → Key Mappings → Presets → Natural Text Editing. This preset gives a lot natural keyboard shortcuts like up/down lines with arrows, back/forward word with
ctrl+arrow, remove word withctrl+backspace.
- context-hub — Coding agents hallucinate APIs and forget what they learn in a session. Context Hub gives them curated, versioned docs, plus the ability to get smarter with every task. All content is open and maintained as markdown in this repo — you can inspect exactly what your agent reads, and contribute back.
- ⭐ llmfit — Hundreds of models & providers. One command to find what runs on your hardware.
- Claude Code: Best practices for agentic coding | Anthropic
- Skill authoring best practices | Anthropic
- Goon's Solo Playbook | Substack (Vietnamese)
Check the official docs for all.
1# ── Project & Memory ──────────────────────────────────────────
2/init # Analyze codebase and generate CLAUDE.md, skills, and hooks
3/memory # Open editor for memory files (global / project / local)
4
5# ── Configuration ─────────────────────────────────────────────
6/config # Open settings panel (alias: /settings)
7/hooks # View active hook configurations for this session
8/mcp # Manage MCP servers: enable / disable / reconnect
9/permissions # Manage allow/deny rules for tools (alias: /allowed-tools)
10/model # Switch AI model: sonnet / opus / haiku / full model ID
11/keybindings # Create or edit ~/.claude/keybindings.json
12/vim # Enable vim-style editing mode
13
14# ── Session Management ────────────────────────────────────────
15/plan # Enable plan mode — Claude drafts a plan before acting
16/compact # Summarize conversation to free up context window
17/clear # Wipe conversation history (alias: /reset, /new)
18/branch # Fork conversation into a new parallel session (alias: /fork)
19/rename # Rename the current session
20/resume # Resume a previous session
21/rewind # Roll back conversation and file changes to an earlier point
22/export # Export session to a file or clipboard
23/effort # Set model effort level: low / medium / high / max
24/context # Show a visual overview of current context usage
25/skills # List all skills loaded in the current session
26/btw # Ask a side question without affecting the main context
27/copy # Copy Claude's last response (or a specific code block) to clipboard
28
29# ── Diagnostics ───────────────────────────────────────────────
30/cost # Show token usage and estimated cost for this session
31/status # Show version, model, and account info
32/doctor # Check Claude Code installation health
33/diff # Open interactive viewer for uncommitted file changes
34/terminal-setup # Install Shift+Enter binding for your terminal
35
36# ── Git ───────────────────────────────────────────────────────
37/commit # Create a git commit with an AI-generated message
38/review # Review a pull request via GitHub CLI (gh)
39
40# ── Plugins ───────────────────────────────────────────────────
41/plugin # Manage plugin marketplaces and installed plugins
42
43# ── Account & Help ────────────────────────────────────────────
44/help # Show all commands (built-in + skills + plugins)
45/login # Sign in or switch Anthropic accounts
46/logout # Sign out from your Anthropic account
47
48# ── Bundled Skills (ship with Claude Code, prompt-based) ──────
49/simplify # Review recently changed files for quality/reuse/efficiency — spawns 3 parallel agents
50/review # Full code review of local changes or a PR (pass PR number or URL)
51/batch # Decompose a large change into parallel worktree agents (5–30 units)
52/loop # Run a prompt on a schedule while the session is open (e.g. /loop 5m check logs)
53/debug # Read the session debug log and diagnose what went wrong
54/claude-api # Load Claude API / SDK reference for your project's language (auto-triggers on import detection)- To paste clipboard image to claude code session in the terminal, use
ctrl+v(mac)
- ⭐ Ask about Claude Code, ask
claude-code-guideagent. - Here is the document map: https://code.claude.com/docs/en/plugins.md
- Plugin things
- Disable a plugin:
claude plugin disable coding-friend - List all plugins:
claude plugin list - Install plugins in different scopes (user, project, local, managed)
- In case a plugin is installed globally and you wanna disable it in a specific project, add following to
<project>/.claude/settings.jsonorsettings.local.json
1{
2 "enabledPlugins": {
3 "swift-lsp@claude-plugins-official": false
4 }
5}- Use
cmd+escto automatically focus in the claude code input field in IDE.
- Use
opt+kon a selection to mention this in the Claude chat.
- Tips with Cursor
- In the new version of Cursor, there is an option called “Open chat as editor tabs”. If this option is enabled, we cannot show the Claude tab in the sidebar, so we should disable it.
- When using the Claude Code extension with VSCode or Cursor, organize multiple folders under a single parent folder and create your project from that parent—rather than importing separate folders into one VSCode project. This makes it easier to reference files and folders in Claude Code.
- In case you use ESLint, create
.vscode/settings.jsonin the root of the project and put
1{
2 "eslint.workingDirectories": [
3 "child_folder_1",
4 "child_folder_2"
5 ]
6}- Use local models with Claude Code → Ollama
- Always look for
llms.txtof a site. This doc is LLM friendly for AI services. For example AI SDK’s llms.txt
- 💡Prompt Repetition Improves Non-Reasoning LLMs (from Google)
- Use Apple’s Icon Composer to generate a icon package for applications. This will export an
.iconfile that you can drag and drop into XCode project.
In order to convert this to a
.png file, use below command1/Applications/Xcode.app/Contents/Applications/Icon\ Composer.app/Contents/Executables/ictool your_app.icon --export-preview macOS Light 1024 1024 1 your_app.png- To add MCP servers to different scopes (global, local, project), read this doc.
- Let CC answer in your language (but it still use English for task), set this in the
~/.claude/settings.json
1{
2 "language": "vietnamese",
3 "permissions": {}
4}- To fix warning “Warning: Running native installation but config install method is 'global’”, run
claude install.
- To update CC, run
claude update, check the version withclaude --version.
- To use
shift + enter, run/terminal-setupin claude. Note that, iTerms supportshift+enterbut Terminal.app supportalt+enterinstead.
- When coding CLI with Claude, if you want to add something to
CLAUDE.md, just add#before what you want to say, e.g.# Response in Vietnamese every question.
- Using multiple Claude Code accounts?
- In CLI, there are 2 ways:
- Use
/logoutand then/login. It will generate a new token each time. - Use this script to quickly switch between accounts.
- In CC VSCode extension, there are 2 ways to switch:
- Switch in the CLI first, then reload the window to update the account in CC extension. Remark: you may see a wrong account when using
/usagein CC extension. - Type
/loginand login with the account you want. This won’t affect the one in the CLI. - We can use
/resumeto continue a conversation where it stopped.
- Using GLM with Claude Code?
- Check the official guide but it’s not enough.
- CCS - Claude Code Switch — Instant switch between Claude Subscription profile and GLM Coding Plan profile with one command.
- To make GLM work with the latest VSCode extension: open the terminal, switch to GLM with
vb_glm, then open the current folder usingcursor .orcode .. - Test the Claude Code extension by asking: "Who r u? Which model r u?" (you may need to ask several times until you see an answer containing "glm-4.6")
- ⭐ Another way: Open IDE Settings → search for "Claude Code" → Click to open the
settings.jsonfile and add the following:
1"claude-code.environmentVariables": [
2 {
3 "name": "ANTHROPIC_AUTH_TOKEN",
4 "value": "xxx"
5 },
6 {
7 "name": "ANTHROPIC_BASE_URL",
8 "value": "https://api.z.ai/api/anthropic"
9 },
10 {
11 "name": "ANTHROPIC_DEFAULT_OPUS_MODEL",
12 "value": "glm-4.6"
13 },
14 {
15 "name": "ANTHROPIC_DEFAULT_SONNET_MODEL",
16 "value": "glm-4.6"
17 },
18 {
19 "name": "ANTHROPIC_DEFAULT_HAIKU_MODEL",
20 "value": "glm-4.5-air"
21 }
22],
23"claude-code.selectedModel": "opus"Then reload the current IDE windows.
⚠️ Note that "default" for "selectedModel" will not work! You can also type
/model and then select "opus".- Play a sound after task completion: This method works with both Claude Code CLI and the latest Claude Code extension in IDE.
- Create or update
~/.claude/settings.jsonwith the following hook: - Create a script
~/.claude/scripts/notify-end.shwith following content: - Then run
chmod +x ~/.claude/scripts/notify-end.sh - Restart your Claude Code (both CLI or extension) to see the result!
1{
2 "hooks": {
3 "Stop": [{
4 "matcher": "",
5 "hooks": [{
6 "type": "command",
7 "command": "bash ~/.claude/scripts/notify-end.sh"
8 }]
9 }]
10 }
11}1#!/bin/bash
2# macOS
3# osascript -e 'display notification "Task completed" with title "Claude Code" sound name "Glass"'
4
5# Or just play a custom sound file
6afplay /System/Library/Sounds/Glass.aiff- Different from VSCode, all
cmd+kis replaced bycmd+r!
- If you prefer a vertical activity bar like VSCode’s (for search, extensions, and other icons) instead of the horizontal layout, navigate to Settings → Workbench → Activity Bar → Orientation and change it there.