📚 AI Coding Essentials

Code Snippets

Check API Key Environment Variable
import os
print(f"API Key loaded: {os.environ.get('ANTHROPIC_API_KEY') is not None}")
print(f"First 10 chars: {os.environ.get('ANTHROPIC_API_KEY', '')[:10]}")
Use this snippet to verify that your Anthropic API key is properly loaded in your environment. It checks for the key's presence and displays the first 10 characters for verification.
YouTube Transcript
javascript: (function() {
  function extractTranscript() {
    const segments = document.querySelectorAll('ytd-transcript-segment-renderer');
    let transcript = '';
    segments.forEach(segment => {
      const timestamp = segment.querySelector('.segment-timestamp').textContent.trim();
      const text = segment.querySelector('.segment-text').textContent.trim();
      transcript += `${timestamp}: ${text}\n`;
    });
    return transcript;
  }

  function copyToClipboard(text) {
    const textarea = document.createElement('textarea');
    textarea.value = text;
    document.body.appendChild(textarea);
    textarea.select();
    document.execCommand('copy');
    document.body.removeChild(textarea);
  }
  const transcript = extractTranscript();
  copyToClipboard(transcript);
  alert('Transcript copied to clipboard!');
})();
}
1. Visit YouTube Page. 2. View Full Description. 3. Open Transcript. 4. Click this Bookmark
Basic HTML5 Template
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Page</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1>Hello World</h1>
    <script src="script.js"></script>
</body>
</html>
A clean HTML5 boilerplate with proper meta tags, responsive viewport settings, and links to external CSS and JavaScript files.
Open In GitHub (BookMark)

javascript: void(function() {
  var url = window.location.href;
  var match = url.match(/github\.com\/([^\/]+)\/([^\/]+)/);
  if (match) {
    window.open('https://' + match[1] + '.github.io/' + match[2], '_blank');
  } else {
    alert('Not a GitHub repository URL');
  }
})();
                    
Open web page from GitHub repository
Copy Claude Prompts

javascript:(function(){const m=document.querySelectorAll('[data-testid="user-message"]');const p=Array.from(m).map(e=>e.innerText.trim()).join('\n\n---\n\n');const t=document.createElement('textarea');t.value=p;document.body.appendChild(t);t.select();document.execCommand('copy');document.body.removeChild(t);alert('Copied '+m.length+' prompts to clipboard!');})();
                
Copy prompts from any Claude conversation. (Remember to paste them somewhere)
Copy Gemini Prompts

javascript:(function(){const m=document.querySelectorAll('div.query-text');const p=Array.from(m).map(e=>e.innerText.trim()).join('\n\n---\n\n');const t=document.createElement('textarea');t.value=p;document.body.appendChild(t);t.select();document.execCommand('copy');document.body.removeChild(t);alert('Copied '+m.length+' prompts to clipboard!');})();                
                
Copy prompts from any Gemini conversation. (Remember to paste them somewhere)
Copy ChatGPT Prompts

javascript:(function(){const m=document.querySelectorAll('div.whitespace-pre-wrap');const p=Array.from(m).map(e=>e.innerText.trim()).join('\n\n---\n\n');const t=document.createElement('textarea');t.value=p;document.body.appendChild(t);t.select();document.execCommand('copy');document.body.removeChild(t);alert('Copied '+m.length+' prompts to clipboard!');})();                
Copy prompts from any ChatGPT conversation. (Remember to paste them somewhere)
/takebreak — Claude Code Command
# /takebreak

When this command runs:

- Randomly select ONE routine from the list below.
- Print only the selected routine.
- Keep formatting clean and compact.
- End with a one-line timer suggestion (e.g., "Set a 3-minute timer and begin.")
- Do not explain your reasoning.

---

## Routine A — 3-Minute Reset
- 10 chair squats
- 10 desk push-ups
- 15 calf raises
- 5 slow deep breaths

(Timer: 3 minutes)

---

## Routine B — Seated + Posture
- 10 shoulder rolls forward + 10 backward
- Neck stretch (15 sec each side)
- Seated spinal twist (15 sec each side)
- 8 seated leg extensions each leg

(Timer: 2–3 minutes)

---

## Routine C — Strength Focus
- 12 desk push-ups
- 12 chair squats
- 20-second wall sit
- 5 slow deep breaths

(Timer: 3–4 minutes)

---

## Routine D — Quiet + Circulation
- 30 seconds march in place
- 15 calf raises
- 10 ankle circles each direction per foot
- 5 slow deep breaths

(Timer: 2–3 minutes)
Add this as a custom slash command in Claude Code at ~/.claude/commands/takebreak.md. Type /takebreak anytime to get a randomly selected desk exercise routine — no scrolling, no decisions, just move.
Claude Code — Playwright MCP allowed_tools
allowed_tools:
  Bash(npm:*),Bash(sqlite3:*),

  # --- Everyday use (you'll need these in almost every workflow) ---
  mcp__playwright__browser_navigate,
  mcp__playwright__browser_navigate_back,
  mcp__playwright__browser_navigate_forward,
  mcp__playwright__browser_click,
  mcp__playwright__browser_type,
  mcp__playwright__browser_snapshot,
  mcp__playwright__browser_take_screenshot,

  # --- Situational (useful but not every workflow) ---
  mcp__playwright__browser_select_option,
  mcp__playwright__browser_hover,
  mcp__playwright__browser_press_key,
  mcp__playwright__browser_wait_for,
  mcp__playwright__browser_handle_dialog,
  mcp__playwright__browser_tab_new,
  mcp__playwright__browser_tab_select,
  mcp__playwright__browser_tab_list,
  mcp__playwright__browser_tab_close,
  mcp__playwright__browser_console_messages,
  mcp__playwright__browser_network_requests,

  # --- Rarely needed (specialist or edge-case tasks) ---
  mcp__playwright__browser_drag,
  mcp__playwright__browser_resize,
  mcp__playwright__browser_file_upload,
  mcp__playwright__browser_pdf_save,
  mcp__playwright__browser_close,
  mcp__playwright__browser_install,
  mcp__playwright__browser_generate_playwright_test
This grants access to npm, sqlite3, and the full Playwright MCP browser toolkit. When using mcp__playwright with GitHub Actions, include this (or a subset of these allowed tools) in .github/actions/your-workflow.yml
CLAUDE.md — Claude Code standing instructions
When writing git commit messages:
- Do NOT use emojis
- Do NOT mention Claude, AI, or that the code was AI-generated
- Follow conventional commit format (feat:, fix:, docs:, etc.)
- Keep subject line under 72 characters
- Maintain a professional tone.
                
                
Add this to ~/.claude/CLAUDE.md