Tips, Tricks & Team Workflows
tradeit.gg Engineering • 2026
--continue / --resume# Shows: user | directory | git branch+status | model | context %
ehud ~/Projects/tradeit-backend main *↑2 Claude Opus ctx:34%
# Set up via settings.json → statusLine config:
# { "statusLine": { "type": "command", "command": "sh ~/.claude/statusline-command.sh" } }
# The script reads JSON from stdin (model, cwd, context %) and formats it
/doctor — Check Your Health LIVE DEMO/doctor at any point to check your environment# Run the doctor
/doctor
# Context-mode specific diagnostics
/ctx-doctor
# Check context savings this session
/ctx-stats
/doctor when starting a long session and when things feel "off".
{
"permissions": {
"allow": [
"Bash(ll)",
"Bash(ls:*)",
"WebSearch",
"WebFetch(domain:github.com)",
"mcp__wikijs__get_all_pages",
"mcp__plugin_context-mode__ctx_stats",
"mcp__plugin_context-mode__ctx_execute"
],
"deny": []
}
}
From 584 ChatGPT conversations to a structured Claude Code environment
conversations.json — every conversation, every message
~/Downloads/chatgpt-export/conversations.json
// conversations.json structure (simplified)
[
{
"title": "Fix Redis connection timeout",
"mapping": {
"message_id": {
"message": {
"author": { "role": "user" },
"content": { "parts": ["How do I handle Redis timeouts in NestJS..."] }
}
}
}
},
// ... 584 more conversations
]
conversations.json# The prompt I used (roughly):
"Read conversations.json. Analyze all 584 conversations.
Extract:
- My coding preferences and style rules
- Things I corrected the AI on repeatedly
- Architecture knowledge about our systems
- My communication style preferences
- External references and tools I mentioned
Generate structured memory files in markdown format
with frontmatter (name, description, type)."
~/.claude/projects/-Users-ehud/memory/
MEMORY.md # Index linking everything
user_profile.md # Role, background, expertise
feedback_communication_style.md # How I want AI to respond
feedback_code_preferences.md # Code style, patterns, tools
feedback_mental_model.md # How I approach problems
feedback_common_corrections.md # Anti-patterns from 584 sessions
project_repos_and_architecture.md # 37 repos, full system map
reference_wikijs_mcp.md # External tool references
---
name: Common corrections
description: Anti-patterns from 584 sessions
type: feedback
---
### Response anti-patterns
- "stop summarizing what you just did"
→ No trailing summaries
- "all of these links are invalid"
→ Never hallucinate URLs
- "no KEYS command, production env"
→ Be production-aware
- "only show diffs, not full file"
→ Only show changes
- "stop sending general all-options"
→ Targeted answers only
# Memory Index
## User
- [user_profile.md] — CTO, team, stack
## Feedback
- [feedback_communication_style.md]
- [feedback_code_preferences.md]
- [feedback_mental_model.md]
- [feedback_common_corrections.md]
## Project
- [project_repos_and_architecture.md]
## Reference
- [reference_wikijs_mcp.md]
claude-md-management plugin to audit and fix/revise-claude-md — scans all CLAUDE.md and memory files# Audit and improve CLAUDE.md files
/revise-claude-md
# What it does:
# 1. Scans ALL CLAUDE.md files (global, project, memory)
# 2. Finds duplicate/overlapping information
# 3. Merges redundant entries
# 4. Reports quality score before/after
# 5. Generates diff for review
Understanding the #1 thing that determines Claude Code quality
git log can dump 50KB of raw text# Process commands without polluting context
ctx_batch_execute(commands, queries)
# Search over previously indexed data
ctx_search(queries: ["error logs", "config values"])
# Run code in sandbox, only summary enters context
ctx_execute(language: "shell", code: "npm test")
ctx_execute_file(path: "analyze.ts", language: "typescript")
# Fetch URLs without context pollution
ctx_fetch_and_index(url: "https://docs.nestjs.com/guards")
/ctx-stats — shows tokens saved, ratio, per-tool breakdown.
How teams collaborate through shared configuration
# Example: project-level CLAUDE.md (committed to tradeit-backend)
## Code style
- TypeScript strict, no semicolons, camelCase
- NestJS module/service/controller pattern
- TypeORM QueryBuilder for complex queries
## Testing
- Run tests: `npm test`
- Run specific: `npm test -- --grep "TradeService"`
## Hard rules
- MySQL 8 only — no 5.7 patterns
- No KEYS in Redis — always SCAN
- No curl in Docker containers
## Directory structure
- src/modules/ — feature modules (pricing, trade, inventory)
- src/common/ — shared utilities, guards, interceptors
.claude/settings.json// .claude/settings.json (in repo root, committed)
{
"permissions": {
"allow": [
"Bash(npm test:*)",
"Bash(npm run lint)",
"Bash(npx prisma:*)"
]
}
}
// .mcp.json (MCP servers for this project)
{
"mcpServers": {
"wikijs": {
"command": "npx",
"args": ["@cahaseler/wikijs-mcp"],
"env": { "WIKI_URL": "https://wiki.tradeit.gg" }
}
}
}
git clone + claude — Claude already knows the project rules, testing commands, and permissions.
The tools that make Claude Code a development platform
# Install a plugin
/plugin install superpowers
# List installed plugins
/plugin list
# Disable a plugin
/plugin disable code-simplifier
Workflow superpowers • context-mode • commit-commands • code-simplifier • remember
Intelligence context7 • typescript-lsp • jdtls-lsp • security-guidance • explanatory-output-style
Integration linear • playwright • claude-md-management • skill-creator • claude-code-setup
Enforces development discipline — skills activate contextually
~/.claude/plans/# Plan mode = read-only exploration
# Claude can: read files, search code, explore codebase, ask questions
# Claude cannot: edit files, run commands, make any changes
# Perfect for: understanding code before committing to an approach
# Claude internally calls:
resolve-library-id("nestjs")
query-docs("NestJS guards")
# Claude sees errors as it writes:
TS2345: Argument of type 'string'
is not assignable to parameter
of type 'number'
# Analyze changes → conventional commit
/commit
# Commit + push + create PR (full workflow)
/commit-push-pr
# Delete local branches already merged on remote
/clean_gone
/simplify refactors recently changed code/revise-claude-md audits and compacts configConnect Claude to your external tools and services
Model Context Protocol — APIs that Claude can use directly from your prompt
"Read the Figma design at [URL] and generate a Vue component"
"Search Slack #engineering for the Redis migration discussion"
"Create a Linear ticket for this bug with the stack trace attached"
"Check our wiki for the deploy runbook and update step 3"
~/.claude/skills/---
name: my-workflow
description: Does X when Y
---
## When to activate
- User mentions "deploy"
## Instructions
1. Check branch status
2. Run tests
3. Create PR
SessionStart — inject contextPreToolUse — intercept toolsPostToolUse — capture outputPreCompact — snapshot state{
"hooks": {
"PreToolUse": [{
"matcher": "Bash|Read|Grep",
"command": "node intercept.mjs"
}]
}
}
Interrupting, steering, and the /btw shortcut
# Claude is writing a service...
# You notice it's using the wrong pattern
# Press Enter and type:
"use the repository pattern instead,
like in user.repository.ts"
# Claude adjusts without restarting
/btw Shortcut# Claude is mid-task and you remember:
/btw make sure to add the index
on the new column
/btw the env var is REDIS_CLUSTER_URL
not REDIS_URL
/btw we need to support Node 20 too
/btw = non-blocking side-note./btw for side-notes mid-task/doctor and /ctx-stats regularly/commit before starting a new taskParallel agents, workspaces, multi-repo projects, and voice
# Create worktrees for parallel work
git worktree add ../feature-auth feature/auth
git worktree add ../fix-pricing fix/pricing-bug
# Launch Claude in each
cd ../feature-auth && claude
cd ../fix-pricing && claude
~/ for quick questions, installing plugins, checking docs, or anything not tied to a specific project.
mkdir ~/Workspaces/marketplace-aware-opensearch
--add-dirclaude --add-dir ~/Projects/tradeit-backend --add-dir ~/Projects/tradeit-inventory-parser --add-dir ~/Projects/opensearch-indexing-contract
CLAUDE.md in workspace folder with context about the cross-repo feature
cd ~/Workspaces/marketplace-aware-opensearch && claude — everything loads automatically
# Full example: creating a workspace for a multi-repo feature
mkdir -p ~/Workspaces/marketplace-aware-opensearch
cd ~/Workspaces/marketplace-aware-opensearch
# First time: launch with all repos
claude --add-dir ~/Projects/tradeit-backend \
--add-dir ~/Projects/tradeit-inventory-parser \
--add-dir ~/Projects/opensearch-indexing-contract
# Create workspace CLAUDE.md with feature context
# Save settings — next time just: cd here && claude
"Make the code better"
"Fix the bug"
"Add tests"
"Refactor this"
"Refactor getItemPrice in
src/modules/pricing/pricing.service.ts
to use early-exit pattern"
"The /api/inventory endpoint returns 500
when Redis is down. Add try/catch with
fallback to MySQL. Follow the pattern
in trade.service.ts"
"Add unit tests for TradeService.execute
following the test pattern in
trade.service.spec.ts"
/voiceLet's get everyone configured
npm i -g @anthropic-ai/claude-code/voice/doctor to verify everything# Essential (install first)
/plugin install superpowers
/plugin install context-mode
/plugin install context7
/plugin install typescript-lsp
/plugin install commit-commands
# Recommended
/plugin install linear
/plugin install code-simplifier
/plugin install security-guidance
/plugin install claude-md-management
// settings.json
{
"model": "opus[1m]",
"effortLevel": "high"
}
/commit when done/doctor when things feel off| Shift+Enter | Multiline input |
| Shift+Tab | Plan mode (read-only) |
| Esc Esc | Undo last edit |
| Hold Space | Voice (after /voice) |
| Enter | Steer / redirect mid-task |
| Ctrl+C | Hard stop / interrupt |
/btw | Side-note without interrupting |
/doctor | Health check |
/commit | Conventional commit |
/commit-push-pr | Full PR workflow |
/clean_gone | Delete merged branches |
/simplify | Refactor code |
/ctx-stats | Context savings |
/revise-claude-md | Update CLAUDE.md |
--continue | Resume last session |
--add-dir | Multi-repo workspace |
Questions? Open a general Claude at ~/ and ask. Or ask me — I've made every mistake already.