<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>GitHub JavaScript Daily Trending</title>
    <description>Daily Trending of JavaScript in GitHub</description>
    <pubDate>Sun, 17 May 2026 01:37:45 GMT</pubDate>
    <link>http://mshibanami.github.io/GitHubTrendingRSS</link>
    
    <item>
      <title>Anil-matcha/Open-Generative-AI</title>
      <link>https://github.com/Anil-matcha/Open-Generative-AI</link>
      <description>&lt;p&gt;Open-source alternative to AI video platforms — Free AI image &amp; video generation studio with 200+ models (Flux, Midjourney, Kling, Sora, Veo). No content filters. Self-hosted, MIT licensed.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Open Generative AI — Open-Source Alternative to AI Video Platforms&lt;/h1&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;The free, open-source alternative to AI Video Platforms.&lt;/strong&gt; Generate AI images and videos using 200+ state-of-the-art models — no content filters, no closed ecosystem, no subscription fees.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;&lt;strong&gt;Community:&lt;/strong&gt; Join &lt;a href=&quot;https://raw.githubusercontent.com/Anil-matcha/Open-Generative-AI/main/reddit.com/r/muapi&quot;&gt;Reddit&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://discord.gg/s7KW4fsqXK&quot;&gt;Discord&lt;/a&gt; for discussions and support&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;🤖 &lt;strong&gt;Automate media generations with AI coding agents:&lt;/strong&gt; &lt;a href=&quot;https://github.com/SamurAIGPT/Generative-Media-Skills&quot;&gt;Generative-Media-Skills&lt;/a&gt; — a library of skills that let agents like &lt;strong&gt;Claude Code&lt;/strong&gt;, &lt;strong&gt;Codex&lt;/strong&gt;, and other coding assistants drive 200+ image/video models end-to-end (prompt → generate → edit → stitch) directly from your terminal. Perfect for building automated media pipelines without touching a UI.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;Related projects&lt;/h3&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Open-source Node based workflow builder&lt;/strong&gt; -&amp;gt; &lt;a href=&quot;https://github.com/SamurAIGPT/Vibe-Workflow&quot;&gt;https://github.com/SamurAIGPT/Vibe-Workflow&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Open-source AI Clipping — turn any long-form YouTube video into viral-ready vertical shorts&lt;/strong&gt; -&amp;gt; &lt;a href=&quot;https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator&quot;&gt;https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Open-source AI Design Agent&lt;/strong&gt; -&amp;gt; &lt;a href=&quot;https://github.com/Anil-matcha/Open-AI-Design-Agent&quot;&gt;https://github.com/Anil-matcha/Open-AI-Design-Agent&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h2&gt;🌐 Try it Online — No Install Required&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Hosted version:&lt;/strong&gt; &lt;a href=&quot;https://muapi.ai/open-generative-ai&quot;&gt;https://muapi.ai/open-generative-ai&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;Use all four studios (Image, Video, Lip Sync, Cinema) directly in your browser — no Node.js, no setup. Sign up for a free account to start generating. The hosted version is always up to date with the latest models.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Follow&lt;/strong&gt; the &lt;a href=&quot;https://x.com/matchaman11&quot;&gt;creator&lt;/a&gt; for updates&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;⬇️ Download Desktop App&lt;/h2&gt; 
&lt;p&gt;One-click installers — no Node.js or terminal required.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Platform&lt;/th&gt; 
   &lt;th&gt;Download&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;macOS Apple Silicon (M1/M2/M3/M4)&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/Anil-matcha/Open-Generative-AI/releases/download/v1.0.9/Open.Generative.AI-1.0.9-arm64.dmg&quot;&gt;Open Generative AI-1.0.9-arm64.dmg&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;macOS Intel (x64)&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/Anil-matcha/Open-Generative-AI/releases/download/v1.0.9/Open.Generative.AI-1.0.9.dmg&quot;&gt;Open Generative AI-1.0.9.dmg&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Windows (x64)&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/Anil-matcha/Open-Generative-AI/releases/download/v1.0.9/Open.Generative.AI.Setup.1.0.9.exe&quot;&gt;Open Generative AI Setup 1.0.9.exe&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Linux (Ubuntu x64)&lt;/td&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/Anil-matcha/Open-Generative-AI/releases/tag/v1.0.9&quot;&gt;v1.0.9 release&lt;/a&gt; (&lt;code&gt;.AppImage&lt;/code&gt; / &lt;code&gt;.deb&lt;/code&gt;), or build locally with &lt;code&gt;npm run electron:build:linux&lt;/code&gt;.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;All releases: &lt;a href=&quot;https://github.com/Anil-matcha/Open-Generative-AI/releases&quot;&gt;github.com/Anil-matcha/Open-Generative-AI/releases&lt;/a&gt;&lt;/p&gt; 
&lt;h3&gt;macOS Installation Guide&lt;/h3&gt; 
&lt;p&gt;Because the app is not notarized by Apple, macOS Gatekeeper will block it on first launch. Follow these steps:&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt; — Mount the DMG and drag the app to &lt;code&gt;/Applications&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt; — Open Terminal and run:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;xattr -cr &quot;/Applications/Open Generative AI.app&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt; — Right-click the app in &lt;code&gt;/Applications&lt;/code&gt; → click &lt;strong&gt;Open&lt;/strong&gt; → click &lt;strong&gt;Open&lt;/strong&gt; again on the dialog&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;You only need to do this once. After that, the app opens normally.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;&lt;strong&gt;Alternative (no Terminal):&lt;/strong&gt;&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Try to open the app — macOS will block it&lt;/li&gt; 
 &lt;li&gt;Go to &lt;strong&gt;System Settings → Privacy &amp;amp; Security&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;Scroll down to find &lt;em&gt;&quot;Open Generative AI was blocked&quot;&lt;/em&gt;&lt;/li&gt; 
 &lt;li&gt;Click &lt;strong&gt;Open Anyway&lt;/strong&gt; → &lt;strong&gt;Open&lt;/strong&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Windows Installation — SmartScreen warning fix&lt;/h3&gt; 
&lt;p&gt;Windows SmartScreen may show a warning because the installer is not code-signed:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Click &lt;strong&gt;More info&lt;/strong&gt; on the SmartScreen dialog&lt;/li&gt; 
 &lt;li&gt;Click &lt;strong&gt;Run anyway&lt;/strong&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;The app will install silently to &lt;code&gt;%LocalAppData%&lt;/code&gt; with a Start Menu shortcut.&lt;/p&gt; 
&lt;h3&gt;Ubuntu / Linux Installation&lt;/h3&gt; 
&lt;p&gt;Linux artifacts are available when building with Electron Builder:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Build Linux installers (AppImage + .deb)
npm run electron:build:linux
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Generated files are written to the &lt;code&gt;release/&lt;/code&gt; folder:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;AppImage&lt;/strong&gt; — portable, run directly after making executable:&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;chmod +x &quot;release/Open Generative AI-*.AppImage&quot;
./release/Open\ Generative\ AI-*.AppImage
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;.deb&lt;/strong&gt; — install on Debian/Ubuntu:&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt install ./release/open-generative-ai_*_amd64.deb
&lt;/code&gt;&lt;/pre&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If AppImage fails to start on older systems, install &lt;code&gt;libfuse2&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo apt install libfuse2
&lt;/code&gt;&lt;/pre&gt; 
&lt;h4&gt;Ubuntu 24.04+ / AppArmor sandbox restriction&lt;/h4&gt; 
&lt;p&gt;Ubuntu 24.04 and later enable a kernel security policy (&lt;code&gt;apparmor_restrict_unprivileged_userns&lt;/code&gt;) that blocks Chromium&#39;s user-namespace sandbox. If the app fails to start silently or crashes immediately, you have two options:&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Option A — Recommended: install the &lt;code&gt;.deb&lt;/code&gt; instead.&lt;/strong&gt; The &lt;code&gt;.deb&lt;/code&gt; package ships an AppArmor profile that grants the required permission automatically on install with no system-wide changes.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Option B — Temporary system fix (AppImage users):&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This lasts until next reboot. To make it permanent:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;echo &#39;kernel.apparmor_restrict_unprivileged_userns=0&#39; | sudo tee /etc/sysctl.d/99-userns.conf
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;p&gt;Open Generative AI is a free, open-source AI image, video, cinema, and lip sync studio that brings creative workflows to everyone. No content filters, no prompt rejections, no guardrails — just full creative freedom. Powered by &lt;a href=&quot;https://muapi.ai&quot;&gt;Muapi.ai&lt;/a&gt;, it supports text-to-image, image-to-image, text-to-video, image-to-video, and audio-driven lip sync generation across models like Flux, Nano Banana, Midjourney, Kling, Sora, Veo, Seedream, Infinite Talk, LTX Lipsync, Wan 2.2, and more — all from a sleek, modern interface you can self-host and customize.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Why Open Generative AI instead of other AI Video Platforms?&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;No filters&lt;/strong&gt; — no content filters, no nanny guardrails, no prompt rejections&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Free &amp;amp; open-source&lt;/strong&gt; — no subscription, no vendor lock-in&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Self-hosted&lt;/strong&gt; — your data stays on your machine, full creative control&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;200+ models&lt;/strong&gt; — text-to-image, image-to-image, text-to-video, image-to-video, lip sync&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Multi-image input&lt;/strong&gt; — feed up to 14 reference images into compatible models&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Lip Sync Studio&lt;/strong&gt; — animate portraits or sync lips to any audio with 9 dedicated models&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Extensible&lt;/strong&gt; — add your own models, modify the UI, build on top of it&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For a deep dive into the technical architecture and the philosophy behind the &quot;Infinite Budget&quot; cinema workflow, see our &lt;a href=&quot;https://medium.com/@anilmatcha/&quot;&gt;comprehensive guide and roadmap&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;⚡ Local Model Inference (Desktop App Only)&lt;/h2&gt; 
&lt;p&gt;The desktop app supports &lt;strong&gt;two independent local engines&lt;/strong&gt;. Pick whichever fits the machine you actually run on:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Engine&lt;/th&gt; 
   &lt;th&gt;What it is&lt;/th&gt; 
   &lt;th&gt;Best for&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;sd.cpp&lt;/strong&gt; (bundled)&lt;/td&gt; 
   &lt;td&gt;C++ engine from &lt;a href=&quot;https://github.com/leejet/stable-diffusion.cpp&quot;&gt;stable-diffusion.cpp&lt;/a&gt;, runs on the same machine as the app. Metal GPU on Apple Silicon, CUDA/Vulkan/ROCm on Linux/Windows.&lt;/td&gt; 
   &lt;td&gt;Image-only models. Works on Mac M-series.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Wan2GP&lt;/strong&gt; (BYO server)&lt;/td&gt; 
   &lt;td&gt;HTTP client to a user-run &lt;a href=&quot;https://github.com/deepbeepmeep/Wan2GP&quot;&gt;Wan2GP&lt;/a&gt; server. The server runs Python + PyTorch on a CUDA/ROCm GPU; the desktop app only sends prompts and receives results.&lt;/td&gt; 
   &lt;td&gt;Video models (Wan 2.2, Hunyuan, LTX) and large image models (Flux, Qwen-Image). NVIDIA/AMD GPU required on the &lt;em&gt;server&lt;/em&gt;; the desktop app itself can run on a Mac.&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Both engines share the same UI: open &lt;strong&gt;Settings → Local Models&lt;/strong&gt; to configure each.&lt;/p&gt; 
&lt;h3&gt;Engine 1 — sd.cpp (bundled)&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Model&lt;/th&gt; 
   &lt;th&gt;Type&lt;/th&gt; 
   &lt;th&gt;Size&lt;/th&gt; 
   &lt;th&gt;Notes&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Z-Image Turbo&lt;/strong&gt; ⚡&lt;/td&gt; 
   &lt;td&gt;Diffusion Transformer&lt;/td&gt; 
   &lt;td&gt;2.5 GB + 2.7 GB aux&lt;/td&gt; 
   &lt;td&gt;8-step turbo. Heavy on memory.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Z-Image Base&lt;/strong&gt; ⚡&lt;/td&gt; 
   &lt;td&gt;Diffusion Transformer&lt;/td&gt; 
   &lt;td&gt;3.5 GB + 2.7 GB aux&lt;/td&gt; 
   &lt;td&gt;50-step high-quality. Heavy on memory.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Dreamshaper 8&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;SD 1.5&lt;/td&gt; 
   &lt;td&gt;2.1 GB&lt;/td&gt; 
   &lt;td&gt;20-step versatile. Lightest tested option on Mac.&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Realistic Vision v5.1&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;SD 1.5&lt;/td&gt; 
   &lt;td&gt;2.1 GB&lt;/td&gt; 
   &lt;td&gt;25-step photorealistic&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Anything v5&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;SD 1.5&lt;/td&gt; 
   &lt;td&gt;2.1 GB&lt;/td&gt; 
   &lt;td&gt;20-step anime/illustration&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;SDXL Base 1.0&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;SDXL&lt;/td&gt; 
   &lt;td&gt;6.9 GB&lt;/td&gt; 
   &lt;td&gt;30-step high-res&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Z-Image models&lt;/strong&gt; require two shared auxiliary files (downloaded once, shared across both models):&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;strong&gt;Qwen3-4B Text Encoder&lt;/strong&gt; — 2.4 GB&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;FLUX VAE&lt;/strong&gt; — 335 MB&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;&lt;strong&gt;How to use:&lt;/strong&gt;&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Open &lt;strong&gt;Settings → Local Models&lt;/strong&gt; in the desktop app&lt;/li&gt; 
 &lt;li&gt;Install the &lt;strong&gt;sd.cpp inference engine&lt;/strong&gt; (one click — auto-downloaded)&lt;/li&gt; 
 &lt;li&gt;Download your chosen model (and auxiliary files for Z-Image)&lt;/li&gt; 
 &lt;li&gt;In &lt;strong&gt;Image Studio&lt;/strong&gt;, click the &lt;strong&gt;⚡ Local&lt;/strong&gt; toggle next to the model selector&lt;/li&gt; 
 &lt;li&gt;Select your local model and generate — no API key needed&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;All downloads happen inside the app. Nothing is installed system-wide.&lt;/p&gt; 
&lt;h3&gt;Engine 2 — Wan2GP (remote Gradio server)&lt;/h3&gt; 
&lt;p&gt;The app does &lt;strong&gt;not&lt;/strong&gt; bundle Python or model weights for Wan2GP. You run Wan2GP yourself on a machine with a CUDA or ROCm GPU and point the desktop app at its URL.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# On your GPU machine
git clone https://github.com/deepbeepmeep/Wan2GP
cd Wan2GP
./install.sh                          # or install.bat on Windows
python wgp.py --listen --server-name 0.0.0.0   # binds to all interfaces
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then in the desktop app: &lt;strong&gt;Settings → Local Models → Wan2GP server&lt;/strong&gt;, paste the URL (e.g. &lt;code&gt;http://192.168.1.42:7860&lt;/code&gt;), click &lt;strong&gt;Test&lt;/strong&gt;, then &lt;strong&gt;Save&lt;/strong&gt;. The Wan2GP models become available — image models in &lt;strong&gt;Image Studio&lt;/strong&gt;, video models reachable via the same generation API (Image Studio rejects video output explicitly; full Video Studio wiring is on the roadmap).&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Model&lt;/th&gt; 
   &lt;th&gt;Type&lt;/th&gt; 
   &lt;th&gt;Notes&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Flux.1 Dev&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Image&lt;/td&gt; 
   &lt;td&gt;1024px, 28 steps&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Qwen Image&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Image&lt;/td&gt; 
   &lt;td&gt;1024px, 30 steps&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Wan 2.2 (T2V / I2V)&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Video&lt;/td&gt; 
   &lt;td&gt;Slow on consumer GPUs&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Hunyuan Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Video&lt;/td&gt; 
   &lt;td&gt;High-quality T2V&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;LTX Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Video&lt;/td&gt; 
   &lt;td&gt;Fastest video option&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Why a separate server?&lt;/strong&gt; Wan2GP&#39;s runtime (Sage attention, flash-attn, AWQ/GGUF kernels) is CUDA-only — there is no MPS / Apple Silicon path. Treating it as a remote server lets a Mac-only user keep the desktop app while offloading inference to a Linux/Windows GPU box, a gaming PC on the LAN, or a rented RunPod/vast.ai instance.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Local inference is only available in the desktop app.&lt;/strong&gt; The hosted web version always uses cloud APIs.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;Hardware Notes&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;sd.cpp&lt;/strong&gt; runs on CPU (all platforms) and &lt;strong&gt;Metal GPU&lt;/strong&gt; on Apple Silicon (M1/M2/M3/M4); CUDA/Vulkan/ROCm on Linux/Windows.&lt;/li&gt; 
 &lt;li&gt;Metal GPU acceleration is built into the macOS desktop binary — significantly faster than CPU-only.&lt;/li&gt; 
 &lt;li&gt;Recommended for sd.cpp Z-Image: 16 GB RAM (7.4 GB weights + 2.4 GB compute buffer). On a base 8 GB M-series Mac, &lt;strong&gt;Z-Image is known to hang the system&lt;/strong&gt; — stick to SD 1.5 there.&lt;/li&gt; 
 &lt;li&gt;For SD 1.5 on M2: expect ~1–2 s/step with the Metal dylib active. If you see ~10 s/step instead, the binary may have fallen back to CPU — see verification below.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Verifying the SD 1.5 path (the fastest sanity test on Mac)&lt;/h3&gt; 
&lt;p&gt;If you want to confirm sd.cpp is installed correctly without going through the UI, you can drive &lt;code&gt;sd-cli&lt;/code&gt; directly. This is the same binary the app uses.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# 1. App data layout (created on first app launch)
APP_DATA=&quot;$HOME/Library/Application Support/open-generative-ai/local-ai&quot;
ls &quot;$APP_DATA/bin&quot;     # sd-cli, libstable-diffusion.dylib
ls &quot;$APP_DATA/models&quot;  # whatever you&#39;ve downloaded

# 2. Grab a small SD 1.5 model directly (Dreamshaper 8, ~2 GB)
curl -L --fail --progress-bar \
  -o &quot;$APP_DATA/models/DreamShaper_8_pruned.safetensors&quot; \
  &quot;https://huggingface.co/Lykon/DreamShaper/resolve/main/DreamShaper_8_pruned.safetensors&quot;

# 3. Run a single 512x512 / 12-step inference
DYLD_LIBRARY_PATH=&quot;$APP_DATA/bin&quot; &quot;$APP_DATA/bin/sd-cli&quot; \
  -m &quot;$APP_DATA/models/DreamShaper_8_pruned.safetensors&quot; \
  -p &quot;a serene mountain lake at sunrise, oil painting&quot; \
  -o /tmp/sd15-test.png \
  --steps 12 -H 512 -W 512 --cfg-scale 7.5 --seed 42 \
  --sampling-method euler_a
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;A healthy run on Apple Silicon prints &lt;code&gt;total params memory size = 1969.78MB (VRAM 1969.78MB, RAM 0.00MB)&lt;/code&gt; (Metal-backed) and produces a coherent 512×512 PNG. If &lt;code&gt;VRAM&lt;/code&gt; is &lt;code&gt;0.00MB&lt;/code&gt; instead, the dylib is CPU-only — check &lt;code&gt;otool -L &quot;$APP_DATA/bin/libstable-diffusion.dylib&quot; | grep -i metal&lt;/code&gt; and reinstall the engine from &lt;strong&gt;Settings → Local Models&lt;/strong&gt; if Metal is missing.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;✨ Features&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Image Studio&lt;/strong&gt; — Generate images from text prompts (50+ text-to-image models) or transform existing images (55+ image-to-image models). Switches model set automatically based on whether a reference image is provided. Quality and resolution controls visible for models that support them.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Local Inference&lt;/strong&gt; — Two engines: &lt;strong&gt;sd.cpp&lt;/strong&gt; (bundled, runs on Mac/Win/Linux with Metal/CUDA/Vulkan/ROCm) for SD 1.5, SDXL, and Z-Image; and &lt;strong&gt;Wan2GP&lt;/strong&gt; (BYO Gradio server) for Flux, Qwen-Image, and video models (Wan 2.2, Hunyuan, LTX). Configure both in Settings → Local Models.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Multi-Image Input&lt;/strong&gt; — Upload up to 14 reference images for compatible edit models (Nano Banana 2 Edit, Flux Kontext Dev, GPT-4o Edit, and more). Multi-select picker with order badges, batch upload, and a &quot;Use Selected&quot; confirmation flow.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Video Studio&lt;/strong&gt; — Generate videos from text prompts (40+ text-to-video models) or animate a start-frame image (60+ image-to-video models). Same intelligent mode switching as Image Studio.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Lip Sync Studio&lt;/strong&gt; — Animate portrait images or sync lips on existing videos using audio. 9 dedicated models across two modes: portrait image + audio → talking video, and video + audio → lipsync video.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Cinema Studio&lt;/strong&gt; — Interface for photorealistic cinematic shots with pro camera controls (Lens, Focal Length, Aperture)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Workflow Studio&lt;/strong&gt; — Build and run multi-step AI pipelines visually. Chain image, video, and audio models into automated flows. Browse community templates, create your own with a node-based editor, and run them via an interactive playground.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Upload History&lt;/strong&gt; — Reference images are uploaded once and stored locally. A picker panel lets you reuse any previously uploaded image across sessions — no re-uploading.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Smart Controls&lt;/strong&gt; — Dynamic aspect ratio, resolution/quality, and duration pickers that adapt to each model&#39;s capabilities (including t2i models with resolution or quality options)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Generation History&lt;/strong&gt; — Browse, revisit, and download all past generations (persisted in browser storage)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Image &amp;amp; Video Download&lt;/strong&gt; — One-click download of generated outputs in full resolution&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;API Key Management&lt;/strong&gt; — Secure API key storage in browser localStorage (never sent to any server except Muapi)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt; — Works seamlessly on desktop and mobile with dark glassmorphism UI&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;🖼️ Image Studio — Dual Mode&lt;/h3&gt; 
&lt;p&gt;The Image Studio automatically switches between two model sets:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Mode&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Trigger&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Models&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Prompt&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Text-to-Image&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Default (no image)&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;50+ t2i models (Flux, Nano Banana 2, Seedream 5.0, Ideogram, GPT-4o, Midjourney…)&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Required&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Image-to-Image&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Reference image uploaded&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;55+ i2i models (Kontext, Nano Banana 2 Edit, Seedream 5.0 Edit, Seededit, Upscaler…)&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h4&gt;Newly Added Models&lt;/h4&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Model&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Type&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Key Features&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Nano Banana 2&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Text-to-Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Google Gemini 3.1 Flash Image · Resolution 1K/2K/4K · Google Search enhancement · aspect ratio &lt;code&gt;auto&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Nano Banana 2 Edit&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Image-to-Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Up to &lt;strong&gt;14 reference images&lt;/strong&gt; · Resolution 1K/2K/4K · Google Search enhancement&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Seedream 5.0&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Text-to-Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;ByteDance · Quality basic/high · 8 aspect ratios · up to 4K&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Seedream 5.0 Edit&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Image-to-Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;ByteDance · Natural language style transfer · Quality basic/high&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;MiniMax Image 01&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Text-to-Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;MiniMax · 8 aspect ratios · up to 4 images per request · 1500 char prompt&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h4&gt;Multi-Image Input&lt;/h4&gt; 
&lt;p&gt;Models that accept multiple reference images expose a multi-select picker when active:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Model&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Max Images&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Nano Banana 2 Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;14&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Nano Banana Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;10&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Flux Kontext Dev I2I&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;10&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Kling O1 Edit Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;10&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;GPT-4o Edit / GPT Image 1.5 Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;10&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Bytedance Seedream Edit v4 / v4.5&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;10&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Vidu Q2 Reference to Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;7&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Flux 2 Flex/Pro Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Nano Banana Pro Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;8&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Flux Kontext Pro/Max I2I&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;2&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Wan 2.5/2.6 Image Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;2–3&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Qwen Image Edit Plus / 2511&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;3&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;GPT-4o Image to Image&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;5&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Flux 2 Klein 4b/9b Edit&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;4&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;When a multi-image model is selected the upload trigger switches to multi-select mode:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Checkboxes with order numbers&lt;/strong&gt; — images are sent to the model in the order you select them&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Batch upload&lt;/strong&gt; — pick multiple files at once from your file dialog&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Count badge&lt;/strong&gt; on the trigger shows how many images are active; a &lt;code&gt;+&lt;/code&gt; badge appears when more slots are available&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&quot;Use Selected&quot; button&lt;/strong&gt; confirms and closes the picker&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;🎬 Video Studio — Dual Mode&lt;/h3&gt; 
&lt;p&gt;The Video Studio follows the same pattern:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Mode&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Trigger&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Models&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Prompt&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Text-to-Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Default (no image)&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;40+ t2v models (Kling, Sora, Veo, Wan, Seedance 2.0, Hailuo, Runway…)&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Required&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Image-to-Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Start frame uploaded&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;60+ i2v models (Kling I2V, Veo3 I2V, Runway I2V, Wan I2V, Seedance 2.0 I2V, Midjourney I2V…)&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h4&gt;Newly Added Models&lt;/h4&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Model&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Type&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Key Features&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Seedance 2.0&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Text-to-Video&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;ByteDance · Aspect ratios 16:9 / 9:16 / 4:3 / 3:4 · Duration 5 / 10 / 15s · Quality basic/high&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Seedance 2.0 I2V&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Image-to-Video&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;ByteDance · Animate images into video · Up to 9 reference images · Aspect ratios 16:9 / 9:16 / 4:3 / 3:4 · Duration 5 / 10 / 15s · Quality basic/high&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Seedance 2.0 Extend&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Video Extension&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;ByteDance · Seamlessly continue any Seedance 2.0 generation · Preserves style, motion &amp;amp; audio · Optional continuation prompt · Duration 5 / 10 / 15s · Quality basic/high&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Grok Imagine T2V&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Text-to-Video&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;xAI · Duration 6 / 10 / &lt;strong&gt;15s&lt;/strong&gt; · Modes: fun / normal / spicy · Aspect ratios 9:16 / 16:9 / 2:3 / 3:2 / 1:1&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Grok Imagine I2V&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Image-to-Video&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;xAI · Duration 6 / 10 / &lt;strong&gt;15s&lt;/strong&gt; · Modes: fun / normal / spicy · Cinematic motion from still images&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;MiniMax Hailuo 02 / 2.3 Standard &amp;amp; Pro&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Text-to-Video / Image-to-Video&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;MiniMax · Full HD video · Multiple aspect ratios · Fast variant included&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;🎙️ Lip Sync Studio&lt;/h3&gt; 
&lt;p&gt;The &lt;strong&gt;Lip Sync Studio&lt;/strong&gt; generates audio-driven talking videos using 9 models across two input modes:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Mode&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Trigger&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Portrait Image&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Default&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Upload a portrait image + audio file → animated talking video&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Switch to Video mode&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Upload an existing video + audio file → lipsync video&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h4&gt;Image-based Models (Portrait Image + Audio → Video)&lt;/h4&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Model&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Endpoint&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Resolutions&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Prompt&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Infinite Talk&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;infinitetalk-image-to-video&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;480p, 720p&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Wan 2.2 Speech to Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;wan2.2-speech-to-video&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;480p, 720p&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;LTX 2.3 Lipsync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;ltx-2.3-lipsync&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;480p, 720p, 1080p&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;LTX 2 19B Lipsync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;ltx-2-19b-lipsync&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;480p, 720p, 1080p&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h4&gt;Video-based Models (Video + Audio → Lipsync Video)&lt;/h4&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Model&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Endpoint&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Resolutions&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Prompt&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Sync Lipsync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;sync-lipsync&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;LatentSync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;latentsync-video&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Creatify Lipsync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;creatify-lipsync&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Veed Lipsync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;veed-lipsync&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;—&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Infinite Talk V2V&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;code&gt;infinitetalk-video-to-video&lt;/code&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;480p, 720p&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Optional&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Select &lt;strong&gt;Portrait Image&lt;/strong&gt; or &lt;strong&gt;Video&lt;/strong&gt; mode using the toggle&lt;/li&gt; 
 &lt;li&gt;Upload your portrait image (or video) using the image/video upload button&lt;/li&gt; 
 &lt;li&gt;Upload your audio file using the audio upload button&lt;/li&gt; 
 &lt;li&gt;Optionally enter a prompt to guide the motion style&lt;/li&gt; 
 &lt;li&gt;Select a model and resolution (where supported), then click &lt;strong&gt;Generate&lt;/strong&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;Generation history is saved separately in &lt;code&gt;lipsync_history&lt;/code&gt; and pending jobs resume automatically on page reload.&lt;/p&gt; 
&lt;h3&gt;🔀 Workflow Studio&lt;/h3&gt; 
&lt;p&gt;The &lt;strong&gt;Workflow Studio&lt;/strong&gt; lets you build and run multi-step AI pipelines without writing code.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Key capabilities:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Templates&lt;/strong&gt; — Start from pre-built workflows (image chains, video pipelines, and more)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;My Workflows&lt;/strong&gt; — Save and manage your own custom pipelines&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Community&lt;/strong&gt; — Browse and run workflows published by other users&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Node-based Builder&lt;/strong&gt; — Drag-and-drop visual editor to connect models and route outputs between steps&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Playground&lt;/strong&gt; — Run any workflow interactively with a form UI; results render inline&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;API execution&lt;/strong&gt; — Every workflow is also callable via the Muapi API&lt;/li&gt; 
&lt;/ul&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;💡 &lt;strong&gt;Want to add workflows to your own app?&lt;/strong&gt; Check out &lt;strong&gt;&lt;a href=&quot;https://github.com/SamurAIGPT/Vibe-Workflow&quot;&gt;Vibe Workflow&lt;/a&gt;&lt;/strong&gt; — the open-source workflow engine powering this feature. Drop it into any project.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;🎥 Cinema Studio Controls&lt;/h3&gt; 
&lt;p&gt;The &lt;strong&gt;Cinema Studio&lt;/strong&gt; offers precise control over the virtual camera, translating your choices into optimized prompt modifiers:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Category&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Available Options&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Cameras&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Modular 8K Digital, Full-Frame Cine Digital, Grand Format 70mm Film, Studio Digital S35, Classic 16mm Film, Premium Large Format Digital&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Lenses&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Creative Tilt, Compact Anamorphic, Extreme Macro, 70s Cinema Prime, Classic Anamorphic, Premium Modern Prime, Warm Cinema Prime, Swirl Bokeh Portrait, Vintage Prime, Halation Diffusion, Clinical Sharp Prime&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Focal Lengths&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;8mm (Ultra-Wide), 14mm, 24mm, 35mm (Human Eye), 50mm (Portrait), 85mm (Tight Portrait)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Apertures&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;f/1.4 (Shallow DoF), f/4 (Balanced), f/11 (Deep Focus)&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;📁 Upload History &amp;amp; Picker&lt;/h3&gt; 
&lt;p&gt;Every image you upload is saved locally (URL + thumbnail) so you never upload the same file twice:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Click the upload button to open the &lt;strong&gt;reference image picker&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;Previously uploaded images appear in a 3-column grid with thumbnails&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Single-image models&lt;/strong&gt; — click a thumbnail to instantly select and close&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Multi-image models&lt;/strong&gt; — toggle multiple thumbnails (shown with order numbers), then click &lt;strong&gt;Use Selected&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;Upload new images with the &lt;strong&gt;Upload files&lt;/strong&gt; button (supports multi-file selection in multi-image mode)&lt;/li&gt; 
 &lt;li&gt;Remove individual images from history with the ✕ button&lt;/li&gt; 
 &lt;li&gt;History persists across browser sessions (stored in &lt;code&gt;localStorage&lt;/code&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;🚀 Quick Start&lt;/h2&gt; 
&lt;h3&gt;Prerequisites&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://nodejs.org/&quot;&gt;Node.js&lt;/a&gt; (v18+)&lt;/li&gt; 
 &lt;li&gt;A &lt;a href=&quot;https://muapi.ai&quot;&gt;Muapi.ai&lt;/a&gt; API key&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Setup&lt;/h3&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Most users want the desktop app, not this dev path.&lt;/strong&gt; If you just want to run Open Generative AI on your machine, &lt;a href=&quot;https://raw.githubusercontent.com/Anil-matcha/Open-Generative-AI/main/#-download-desktop-app&quot;&gt;download a prebuilt installer&lt;/a&gt; instead — no Node.js required. The instructions below are for contributors building from source.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;Pick the entry point that matches your goal:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Desktop app (Electron)&lt;/strong&gt; → &lt;code&gt;npm run electron:dev&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Hosted web version (Next.js)&lt;/strong&gt; → &lt;code&gt;npm run dev&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Clone the repository (with submodules — required for the workflow + agent packages)
git clone --recurse-submodules https://github.com/Anil-matcha/Open-Generative-AI.git
cd Open-Generative-AI

# If you already cloned without --recurse-submodules, run this once:
# git submodule update --init --recursive

# Install dependencies + build workspace packages (studio, workflow, agents).
# This step is REQUIRED — `npm install` alone is not enough; the workspaces
# need to be built before either dev script will work.
npm run setup

# Then start ONE of:
npm run electron:dev   # Desktop app (Electron + Vite) — recommended
npm run dev            # Hosted web version (Next.js) → http://localhost:3000
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;You&#39;ll be prompted to enter your Muapi API key on first use (skip the key if you only plan to use local models).&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Troubleshooting — &lt;code&gt;Couldn&#39;t find a &#39;pages&#39; directory&lt;/code&gt;&lt;/strong&gt;: this means Next.js can&#39;t see the &lt;code&gt;app/&lt;/code&gt; folder. Confirm you&#39;re running &lt;code&gt;npm run dev&lt;/code&gt; from the repo root (the directory that contains &lt;code&gt;app/&lt;/code&gt;, &lt;code&gt;package.json&lt;/code&gt;, and &lt;code&gt;next.config.mjs&lt;/code&gt;), and that you cloned with submodules. Re-run &lt;code&gt;npm run setup&lt;/code&gt; if &lt;code&gt;packages/Vibe-Workflow&lt;/code&gt; or &lt;code&gt;packages/Open-Poe-AI&lt;/code&gt; are empty.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;Production Build&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npm run build
npm run start
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Desktop App Build&lt;/h3&gt; 
&lt;p&gt;Build native desktop apps with Electron:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# macOS (DMG — Intel + Apple Silicon)
npm run electron:build

# Windows (NSIS installer — x64 + ARM64)
npm run electron:build:win

# Linux (AppImage + DEB — x64)
npm run electron:build:linux

# Both platforms in one pass
npm run electron:build:all
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Installers are output to the &lt;code&gt;release/&lt;/code&gt; folder. Pre-built binaries are also available on the &lt;a href=&quot;https://github.com/Anil-matcha/Open-Generative-AI/releases&quot;&gt;Releases page&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;🏗️ Architecture&lt;/h2&gt; 
&lt;p&gt;The app is a &lt;strong&gt;Next.js monorepo&lt;/strong&gt; with a shared &lt;code&gt;packages/studio&lt;/code&gt; component library.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Open-Generative-AI/
├── app/                        # Next.js App Router
│   ├── layout.js               # Root layout (Tailwind, fonts)
│   ├── page.js                 # Redirects → /studio
│   └── studio/
│       └── page.js             # Studio page — renders StandaloneShell
├── components/
│   ├── StandaloneShell.js      # Tab nav + BYOK (API key from localStorage)
│   └── ApiKeyModal.js          # API key entry modal
├── packages/
│   └── studio/                 # Shared React component library
│       └── src/
│           ├── index.js        # Exports: ImageStudio, VideoStudio, LipSyncStudio, CinemaStudio, WorkflowStudio
│           ├── models.js       # 200+ model definitions (single source of truth)
│           ├── muapi.js        # API client (named exports, apiKey as first param)
│           └── components/
│               ├── ImageStudio.jsx    # Dual-mode t2i/i2i studio
│               ├── VideoStudio.jsx    # Dual-mode t2v/i2v studio
│               ├── LipSyncStudio.jsx  # Portrait/video + audio → talking video
│               ├── CinemaStudio.jsx   # Pro studio with camera controls
│               └── WorkflowStudio.jsx # Multi-step pipeline builder &amp;amp; playground
├── next.config.mjs             # transpilePackages: [&#39;studio&#39;]
├── tailwind.config.js
└── package.json                # workspaces: [&quot;packages/studio&quot;]
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The &lt;code&gt;packages/studio&lt;/code&gt; library is also consumed by the hosted version on &lt;a href=&quot;https://muapi.ai&quot;&gt;muapi.ai&lt;/a&gt; — model updates made in &lt;code&gt;packages/studio/src/models.js&lt;/code&gt; apply to both the self-hosted app and the hosted version automatically.&lt;/p&gt; 
&lt;h2&gt;🔌 API Integration&lt;/h2&gt; 
&lt;p&gt;The app communicates with &lt;a href=&quot;https://muapi.ai&quot;&gt;Muapi.ai&lt;/a&gt; using a two-step pattern:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;&lt;strong&gt;Submit&lt;/strong&gt; — &lt;code&gt;POST /api/v1/{model-endpoint}&lt;/code&gt; with prompt and parameters&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Poll&lt;/strong&gt; — &lt;code&gt;GET /api/v1/predictions/{request_id}/result&lt;/code&gt; until status is &lt;code&gt;completed&lt;/code&gt;&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;Authentication uses the &lt;code&gt;x-api-key&lt;/code&gt; header. During development, a Vite proxy handles CORS by routing &lt;code&gt;/api&lt;/code&gt; requests to &lt;code&gt;https://api.muapi.ai&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;File uploads use &lt;code&gt;POST /api/v1/upload_file&lt;/code&gt; (multipart/form-data) and return a hosted URL that is passed to image-conditioned models. For multi-image models the full &lt;code&gt;images_list&lt;/code&gt; array is forwarded to the API in one request.&lt;/p&gt; 
&lt;p&gt;Lip sync jobs use the same two-step pattern: a dedicated &lt;code&gt;processLipSync()&lt;/code&gt; method accepts &lt;code&gt;image_url&lt;/code&gt; or &lt;code&gt;video_url&lt;/code&gt; alongside &lt;code&gt;audio_url&lt;/code&gt;, dispatches to the model&#39;s endpoint, and polls until the output video URL is available.&lt;/p&gt; 
&lt;h2&gt;🎨 Supported Model Categories&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Category&lt;/th&gt; 
   &lt;th&gt;Count&lt;/th&gt; 
   &lt;th&gt;Examples&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Text-to-Image&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;50+&lt;/td&gt; 
   &lt;td&gt;Flux Dev, Nano Banana 2, Seedream 5.0, Ideogram v3, Midjourney v7, GPT-4o, SDXL&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Image-to-Image&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;55+&lt;/td&gt; 
   &lt;td&gt;Nano Banana 2 Edit (×14), Flux Kontext Pro, GPT-4o Edit, Seededit v3, Upscaler, Background Remover&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Text-to-Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;40+&lt;/td&gt; 
   &lt;td&gt;Kling v3, Sora 2, Veo 3, Wan 2.6, Seedance 2.0, Seedance 2.0 Extend, Seedance Pro, Hailuo 2.3, Runway Gen-3&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Image-to-Video&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;60+&lt;/td&gt; 
   &lt;td&gt;Kling v2.1 I2V, Veo3 I2V, Runway I2V, Seedance 2.0 I2V, Midjourney v7 I2V, Hunyuan I2V, Wan2.2 I2V&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Lip Sync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;9&lt;/td&gt; 
   &lt;td&gt;Infinite Talk I2V, Wan 2.2 Speech to Video, LTX 2.3 Lipsync, LTX 2 19B Lipsync, Sync, LatentSync, Creatify, Veed, Infinite Talk V2V&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;🛠️ Tech Stack&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Next.js 14&lt;/strong&gt; — App Router, server components, fast dev server&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;React 18&lt;/strong&gt; — Studio UI components&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tailwind CSS v3&lt;/strong&gt; — Utility-first styling&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;npm workspaces&lt;/strong&gt; — Monorepo with shared &lt;code&gt;packages/studio&lt;/code&gt; library&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://Muapi.ai&quot;&gt;Muapi.ai&lt;/a&gt;&lt;/strong&gt; — AI model API gateway&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;🤔 How is this different from other AI Video Plaforms?&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Open Generative AI&lt;/strong&gt; is a community-driven, open-source alternative that provides similar creative capabilities without the closed ecosystem:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Other providers&lt;/th&gt; 
   &lt;th style=&quot;text-align:left&quot;&gt;Open Generative AI&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Subscription-based&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Free (open-source)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Content filters&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Yes — prompts blocked or altered&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;None&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Restrictions&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Platform guardrails enforced&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Full creative freedom&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Models&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Proprietary&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;200+ open &amp;amp; commercial models&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Multi-image input&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Limited&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Up to 14 images per request&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Lip sync&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;No&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;9 models, image &amp;amp; video modes&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Hosted version&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Subscription&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Free at &lt;a href=&quot;https://muapi.ai/open-generative-ai&quot;&gt;muapi.ai/open-generative-ai&lt;/a&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Self-hosting&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;No&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Yes&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Customizable&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;No&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Fully hackable&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Data privacy&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Cloud-based&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Your data stays local&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Source code&lt;/strong&gt;&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;Closed&lt;/td&gt; 
   &lt;td style=&quot;text-align:left&quot;&gt;MIT licensed&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;📄 License&lt;/h2&gt; 
&lt;p&gt;MIT&lt;/p&gt; 
&lt;h2&gt;🙏 Credits&lt;/h2&gt; 
&lt;p&gt;Built with &lt;a href=&quot;https://muapi.ai&quot;&gt;Muapi.ai&lt;/a&gt; — the unified API for AI image and video generation models.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt;&lt;strong&gt;Deep Dive&lt;/strong&gt;: For more details on the &quot;AI Influencer&quot; engine, upcoming &quot;Popcorn&quot; storyboarding features, and the future of this project, read the &lt;a href=&quot;https://medium.com/@anilmatcha/&quot;&gt;full technical overview&lt;/a&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;p&gt;&lt;em&gt;Looking for a free, open-source AI Video Platform? Open Generative AI is an open-source AI image and video generation studio — with no content filters that you can self-host, customize, and extend.&lt;/em&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/e346fdb2fcdd38ea2a3dd4a65f68c1841dc76adb77695f7681002b22503a9646/Anil-matcha/Open-Generative-AI" medium="image" />
      
    </item>
    
    <item>
      <title>coreyhaines31/marketingskills</title>
      <link>https://github.com/coreyhaines31/marketingskills</link>
      <description>&lt;p&gt;Marketing skills for Claude Code and AI agents. CRO, copywriting, SEO, analytics, and growth engineering.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Marketing Skills for AI Agents&lt;/h1&gt; 
&lt;p&gt;A collection of AI agent skills focused on marketing tasks. Built for technical marketers and founders who want AI coding agents to help with conversion optimization, copywriting, SEO, analytics, and growth engineering. Works with Claude Code, OpenAI Codex, Cursor, Windsurf, and any agent that supports the &lt;a href=&quot;https://agentskills.io&quot;&gt;Agent Skills spec&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Built by &lt;a href=&quot;https://corey.co?ref=marketingskills&quot;&gt;Corey Haines&lt;/a&gt;. Need hands-on help? Check out &lt;a href=&quot;https://conversionfactory.co?ref=marketingskills&quot;&gt;Conversion Factory&lt;/a&gt; — Corey&#39;s agency for conversion optimization, landing pages, and growth strategy. Want to learn more about marketing? Subscribe to &lt;a href=&quot;https://swipefiles.com?ref=marketingskills&quot;&gt;Swipe Files&lt;/a&gt;. Want an autonomous AI agent that uses these skills to be your CMO? Try &lt;a href=&quot;https://magistermarketing.com?ref=marketingskills&quot;&gt;Magister&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;New to the terminal and coding agents? Check out the companion guide &lt;a href=&quot;https://codingformarketers.com?ref=marketingskills&quot;&gt;Coding for Marketers&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Contributions welcome!&lt;/strong&gt; Found a way to improve a skill or have a new one to add? &lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/#contributing&quot;&gt;Open a PR&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Run into a problem or have a question? &lt;a href=&quot;https://github.com/coreyhaines31/marketingskills/issues&quot;&gt;Open an issue&lt;/a&gt; — we&#39;re happy to help.&lt;/p&gt; 
&lt;h2&gt;What are Skills?&lt;/h2&gt; 
&lt;p&gt;Skills are markdown files that give AI agents specialized knowledge and workflows for specific tasks. When you add these to your project, your agent can recognize when you&#39;re working on a marketing task and apply the right frameworks and best practices.&lt;/p&gt; 
&lt;h2&gt;How Skills Work Together&lt;/h2&gt; 
&lt;p&gt;Skills reference each other and build on shared context. The &lt;code&gt;product-marketing&lt;/code&gt; skill is the foundation — every other skill checks it first to understand your product, audience, and positioning before doing anything.&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;                            ┌──────────────────────────────────────┐
                            │          product-marketing           │
                            │    (read by all other skills first)  │
                            └──────────────────┬───────────────────┘
                                               │
    ┌──────────────┬─────────────┬─────────────┼─────────────┬──────────────┬──────────────┐
    ▼              ▼             ▼             ▼             ▼              ▼              ▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐ ┌──────────┐ ┌─────────────┐ ┌───────────┐
│  SEO &amp;amp;   │ │   CRO    │ │Content &amp;amp; │ │  Paid &amp;amp;    │ │ Growth &amp;amp; │ │  Sales &amp;amp;    │ │ Strategy  │
│ Content  │ │          │ │   Copy   │ │Measurement │ │Retention │ │    GTM      │ │           │
├──────────┤ ├──────────┤ ├──────────┤ ├────────────┤ ├──────────┤ ├─────────────┤ ├───────────┤
│seo-audit │ │cro       │ │copywritng│ │ads         │ │referrals │ │revops       │ │mktg-ideas │
│ai-seo    │ │signup    │ │copy-edit │ │ad-creative │ │free-tools│ │sales-enable │ │mktg-psych │
│site-arch │ │onboarding│ │cold-email│ │ab-testing  │ │churn-    │ │launch       │ │customer-  │
│programm  │ │popups    │ │emails    │ │analytics   │ │ prevent  │ │pricing      │ │ research  │
│schema    │ │paywalls  │ │social    │ │            │ │community │ │competitors  │ │           │
│content   │ │          │ │video     │ │            │ │lead-magnt│ │comp-profile │ │           │
│aso       │ │          │ │image     │ │            │ │co-mktg   │ │directory    │ │           │
└────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬──────┘ └────┬─────┘ └──────┬──────┘ └─────┬─────┘
     │            │            │              │             │              │              │
     └────────────┴─────┬──────┴──────────────┴─────────────┴──────────────┴──────────────┘
                        │
         Skills cross-reference each other:
           copywriting ↔ cro ↔ ab-testing
           revops ↔ sales-enablement ↔ cold-email
           seo-audit ↔ schema ↔ ai-seo
           customer-research → copywriting, cro, competitors
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;See each skill&#39;s &lt;strong&gt;Related Skills&lt;/strong&gt; section for the full dependency map.&lt;/p&gt; 
&lt;h2&gt;Available Skills&lt;/h2&gt; 
&lt;!-- SKILLS:START --&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ab-testing/&quot;&gt;ab-testing&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program....&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ad-creative/&quot;&gt;ad-creative&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ads/&quot;&gt;ads&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X,...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/ai-seo/&quot;&gt;ai-seo&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers....&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/analytics/&quot;&gt;analytics&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/aso/&quot;&gt;aso&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions &#39;ASO...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/churn-prevention/&quot;&gt;churn-prevention&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/co-marketing/&quot;&gt;co-marketing&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/cold-email/&quot;&gt;cold-email&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails,...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/community-marketing/&quot;&gt;community-marketing&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/competitor-profiling/&quot;&gt;competitor-profiling&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/competitors/&quot;&gt;competitors&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/content-strategy/&quot;&gt;content-strategy&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/copy-editing/&quot;&gt;copy-editing&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/copywriting/&quot;&gt;copywriting&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages,...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/cro/&quot;&gt;cro&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to optimize, improve, or increase conversions on any marketing page or form — including homepage,...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/customer-research/&quot;&gt;customer-research&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions &quot;customer...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/directory-submissions/&quot;&gt;directory-submissions&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to submit their product to startup, SaaS, AI, agent, MCP, no-code, or review directories for...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/emails/&quot;&gt;emails&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/free-tools/&quot;&gt;free-tools&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/image/&quot;&gt;image&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/launch/&quot;&gt;launch&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to plan a product launch, feature announcement, or release strategy. Also use when the user...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/lead-magnets/&quot;&gt;lead-magnets&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create, plan, or optimize a lead magnet for email capture or lead generation. Also use when the...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/marketing-ideas/&quot;&gt;marketing-ideas&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user needs marketing ideas, inspiration, or strategies for their SaaS or software product. Also use when the...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/marketing-psychology/&quot;&gt;marketing-psychology&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/onboarding/&quot;&gt;onboarding&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/paywalls/&quot;&gt;paywalls&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/popups/&quot;&gt;popups&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/pricing/&quot;&gt;pricing&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants help with pricing decisions, packaging, or monetization strategy. Also use when the user mentions...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/product-marketing/&quot;&gt;product-marketing&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create or update their product marketing context document. Also use when the user mentions...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/programmatic-seo/&quot;&gt;programmatic-seo&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/referrals/&quot;&gt;referrals&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create, optimize, or analyze a referral program, affiliate program, or word-of-mouth strategy....&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/revops/&quot;&gt;revops&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants help with revenue operations, lead lifecycle management, or marketing-to-sales handoff processes....&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/sales-enablement/&quot;&gt;sales-enablement&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create sales collateral, pitch decks, one-pagers, objection handling docs, or demo scripts. Also...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/schema/&quot;&gt;schema&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/seo-audit/&quot;&gt;seo-audit&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions &quot;SEO...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/signup/&quot;&gt;signup&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to optimize signup, registration, account creation, or trial activation flows. Also use when the...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/site-architecture/&quot;&gt;site-architecture&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to plan, map, or restructure their website&#39;s page hierarchy, navigation, URL structure, or internal...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/social/&quot;&gt;social&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram,...&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/video/&quot;&gt;video&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;When the user wants to create, generate, or produce video content using AI tools or programmatic frameworks. Also use...&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;!-- SKILLS:END --&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;h3&gt;Option 1: CLI Install (Recommended)&lt;/h3&gt; 
&lt;p&gt;Use &lt;a href=&quot;https://github.com/vercel-labs/skills&quot;&gt;npx skills&lt;/a&gt; to install skills directly:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Install all skills
npx skills add coreyhaines31/marketingskills

# Install specific skills
npx skills add coreyhaines31/marketingskills --skill cro copywriting

# List available skills
npx skills add coreyhaines31/marketingskills --list
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This automatically installs to your &lt;code&gt;.agents/skills/&lt;/code&gt; directory (and symlinks into &lt;code&gt;.claude/skills/&lt;/code&gt; for Claude Code compatibility).&lt;/p&gt; 
&lt;h3&gt;Option 2: Claude Code Plugin&lt;/h3&gt; 
&lt;p&gt;Install via Claude Code&#39;s built-in plugin system:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Add the marketplace
/plugin marketplace add coreyhaines31/marketingskills

# Install all marketing skills
/plugin install marketing-skills
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Option 3: Clone and Copy&lt;/h3&gt; 
&lt;p&gt;Clone the entire repo and copy the skills folder:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/coreyhaines31/marketingskills.git
cp -r marketingskills/skills/* .agents/skills/
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Option 4: Git Submodule&lt;/h3&gt; 
&lt;p&gt;Add as a submodule for easy updates:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git submodule add https://github.com/coreyhaines31/marketingskills.git .agents/marketingskills
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then reference skills from &lt;code&gt;.agents/marketingskills/skills/&lt;/code&gt;.&lt;/p&gt; 
&lt;h3&gt;Option 5: Fork and Customize&lt;/h3&gt; 
&lt;ol&gt; 
 &lt;li&gt;Fork this repository&lt;/li&gt; 
 &lt;li&gt;Customize skills for your specific needs&lt;/li&gt; 
 &lt;li&gt;Clone your fork into your projects&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h3&gt;Option 6: SkillKit (Multi-Agent)&lt;/h3&gt; 
&lt;p&gt;Use &lt;a href=&quot;https://github.com/rohitg00/skillkit&quot;&gt;SkillKit&lt;/a&gt; to install skills across multiple AI agents (Claude Code, Cursor, Copilot, etc.):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Install all skills
npx skillkit install coreyhaines31/marketingskills

# Install specific skills
npx skillkit install coreyhaines31/marketingskills --skill cro copywriting

# List available skills
npx skillkit install coreyhaines31/marketingskills --list
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Upgrading from v1.x to v2.0&lt;/h2&gt; 
&lt;p&gt;v2.0 renames 17 skills and consolidates &lt;code&gt;page-cro&lt;/code&gt; + &lt;code&gt;form-cro&lt;/code&gt; into a single &lt;code&gt;cro&lt;/code&gt; skill. If you installed the v1.x skills, you&#39;ll have &lt;strong&gt;stale old-name folders&lt;/strong&gt; in your install directory after upgrading — the new skills install alongside the old ones, so you&#39;ll see both &lt;code&gt;skills/page-cro/&lt;/code&gt; and &lt;code&gt;skills/cro/&lt;/code&gt;, etc. Clean them up:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# From the directory where you installed the skills (e.g., .agents/skills/ or .claude/skills/)
rm -rf page-cro form-cro \
       ab-test-setup analytics-tracking aso-audit competitor-alternatives \
       email-sequence free-tool-strategy launch-strategy onboarding-cro \
       paid-ads paywall-upgrade-cro popup-cro pricing-strategy \
       product-marketing-context referral-program schema-markup \
       signup-flow-cro social-content
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then reinstall the v2.0 skills via your usual method (e.g., &lt;code&gt;npx skills add coreyhaines31/marketingskills&lt;/code&gt;).&lt;/p&gt; 
&lt;h3&gt;Migrate the product marketing context file&lt;/h3&gt; 
&lt;p&gt;In v2.0 the context file moved from &lt;code&gt;.claude/&lt;/code&gt; to &lt;code&gt;.agents/&lt;/code&gt; and was renamed from &lt;code&gt;product-marketing-context.md&lt;/code&gt; to &lt;code&gt;product-marketing.md&lt;/code&gt;. Move your existing context file:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;mkdir -p .agents
# v2.0 file (or pre-v2.0 file with new name)
mv .claude/product-marketing.md .agents/product-marketing.md 2&amp;gt;/dev/null
# pre-v2.0 file with legacy name
mv .claude/product-marketing-context.md .agents/product-marketing.md 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Skills will still check &lt;code&gt;.claude/&lt;/code&gt; and the legacy &lt;code&gt;product-marketing-context.md&lt;/code&gt; filename as fallbacks, so nothing breaks if you don&#39;t migrate.&lt;/p&gt; 
&lt;h3&gt;Full rename map&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Old&lt;/th&gt; 
   &lt;th&gt;New&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;ab-test-setup&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;ab-testing&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;analytics-tracking&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;analytics&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;aso-audit&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;aso&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;competitor-alternatives&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;competitors&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;email-sequence&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;emails&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;form-cro&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;merged into &lt;code&gt;cro&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;free-tool-strategy&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;free-tools&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;launch-strategy&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;launch&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;onboarding-cro&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;onboarding&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;page-cro&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;cro&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;paid-ads&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;ads&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;paywall-upgrade-cro&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;paywalls&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;popup-cro&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;popups&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;pricing-strategy&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;pricing&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;product-marketing-context&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;product-marketing&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;referral-program&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;referrals&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;schema-markup&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;signup-flow-cro&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;signup&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;social-content&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;social&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Usage&lt;/h2&gt; 
&lt;p&gt;Once installed, just ask your agent to help with marketing tasks:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;&quot;Help me optimize this landing page for conversions&quot;
→ Uses cro skill

&quot;Write homepage copy for my SaaS&quot;
→ Uses copywriting skill

&quot;Set up GA4 tracking for signups&quot;
→ Uses analytics skill

&quot;Create a 5-email welcome sequence&quot;
→ Uses emails skill
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;You can also invoke skills directly:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/cro
/emails
/seo-audit
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Skill Categories&lt;/h2&gt; 
&lt;h3&gt;Conversion Optimization&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;cro&lt;/code&gt; - Pages and forms&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;signup&lt;/code&gt; - Registration flows&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;onboarding&lt;/code&gt; - Post-signup activation&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;popups&lt;/code&gt; - Modals and overlays&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;paywalls&lt;/code&gt; - In-app upgrade moments&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Content &amp;amp; Copy&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;copywriting&lt;/code&gt; - Marketing page copy&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;copy-editing&lt;/code&gt; - Edit and polish existing copy&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;cold-email&lt;/code&gt; - B2B cold outreach emails and sequences&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;emails&lt;/code&gt; - Automated email flows&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;social&lt;/code&gt; - Social media content&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;image&lt;/code&gt; - AI image generation, design tools, and optimization&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;SEO &amp;amp; Discovery&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;seo-audit&lt;/code&gt; - Technical and on-page SEO&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;ai-seo&lt;/code&gt; - AI search optimization (AEO, GEO, LLMO)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;programmatic-seo&lt;/code&gt; - Scaled page generation&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;site-architecture&lt;/code&gt; - Page hierarchy, navigation, URL structure&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;competitors&lt;/code&gt; - Comparison and alternative pages&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;schema&lt;/code&gt; - Structured data&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Paid &amp;amp; Distribution&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;ads&lt;/code&gt; - Google, Meta, LinkedIn ad campaigns&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;ad-creative&lt;/code&gt; - Bulk ad creative generation and iteration&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;social&lt;/code&gt; - Social media scheduling and strategy&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Measurement &amp;amp; Testing&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;analytics&lt;/code&gt; - Event tracking setup&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;ab-testing&lt;/code&gt; - Experiment design&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Retention&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;churn-prevention&lt;/code&gt; - Cancel flows, save offers, dunning, payment recovery&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Growth Engineering&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;co-marketing&lt;/code&gt; - Partner identification and joint campaigns&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;free-tools&lt;/code&gt; - Marketing tools and calculators&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;referrals&lt;/code&gt; - Referral and affiliate programs&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Strategy &amp;amp; Monetization&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;marketing-ideas&lt;/code&gt; - 140 SaaS marketing ideas&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;marketing-psychology&lt;/code&gt; - Mental models and psychology&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;launch&lt;/code&gt; - Product launches and announcements&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;pricing&lt;/code&gt; - Pricing, packaging, and monetization&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Sales &amp;amp; RevOps&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;revops&lt;/code&gt; - Lead lifecycle, scoring, routing, pipeline management&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;sales-enablement&lt;/code&gt; - Sales decks, one-pagers, objection docs, demo scripts&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;Found a way to improve a skill? Have a new skill to suggest? PRs and issues welcome!&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for guidelines on adding or improving skills.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/LICENSE&quot;&gt;MIT&lt;/a&gt; - Use these however you want.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/2b94752da79e723048827023fdac5aa9d95f4daa20e914ff4c03fed0cd24687f/coreyhaines31/marketingskills" medium="image" />
      
    </item>
    
    <item>
      <title>gsd-build/get-shit-done</title>
      <link>https://github.com/gsd-build/get-shit-done</link>
      <description>&lt;p&gt;A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.&lt;/p&gt;&lt;hr&gt;&lt;div align=&quot;center&quot;&gt; 
 &lt;h1&gt;GET SHIT DONE&lt;/h1&gt; 
 &lt;p&gt;&lt;strong&gt;English&lt;/strong&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/README.pt-BR.md&quot;&gt;Português&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/README.zh-CN.md&quot;&gt;简体中文&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/README.ja-JP.md&quot;&gt;日本語&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/README.ko-KR.md&quot;&gt;한국어&lt;/a&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;A light-weight meta-prompting, context engineering, and spec-driven development system for Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, and more.&lt;/strong&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Solves context rot — the quality degradation that happens as your AI fills its context window.&lt;/strong&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;a href=&quot;https://www.npmjs.com/package/get-shit-done-cc&quot;&gt;&lt;img src=&quot;https://img.shields.io/npm/v/get-shit-done-cc?style=for-the-badge&amp;amp;logo=npm&amp;amp;logoColor=white&amp;amp;color=CB3837&quot; alt=&quot;npm version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.npmjs.com/package/get-shit-done-cc&quot;&gt;&lt;img src=&quot;https://img.shields.io/npm/dm/get-shit-done-cc?style=for-the-badge&amp;amp;logo=npm&amp;amp;logoColor=white&amp;amp;color=CB3837&quot; alt=&quot;npm downloads&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/gsd-build/get-shit-done/actions/workflows/test.yml&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/actions/workflow/status/gsd-build/get-shit-done/test.yml?branch=main&amp;amp;style=for-the-badge&amp;amp;logo=github&amp;amp;label=Tests&quot; alt=&quot;Tests&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://discord.gg/mYgfVNfA2r&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/Discord-Join-5865F2?style=for-the-badge&amp;amp;logo=discord&amp;amp;logoColor=white&quot; alt=&quot;Discord&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://x.com/gsd_foundation&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/X-@gsd__foundation-000000?style=for-the-badge&amp;amp;logo=x&amp;amp;logoColor=white&quot; alt=&quot;X (Twitter)&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://dexscreener.com/solana/dwudwjvan7bzkw9zwlbyv6kspdlvhwzrqy6ebk8xzxkv&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/$GSD-Dexscreener-1C1C1C?style=for-the-badge&amp;amp;logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgZmlsbD0iIzAwRkYwMCIvPjwvc3ZnPg==&amp;amp;logoColor=00FF00&quot; alt=&quot;$GSD Token&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/gsd-build/get-shit-done&quot;&gt;&lt;img src=&quot;https://img.shields.io/github/stars/gsd-build/get-shit-done?style=for-the-badge&amp;amp;logo=github&amp;amp;color=181717&quot; alt=&quot;GitHub stars&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-MIT-blue?style=for-the-badge&quot; alt=&quot;License&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
 &lt;br /&gt; 
 &lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx get-shit-done-cc@latest
&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;&lt;strong&gt;Works on Mac, Windows, and Linux.&lt;/strong&gt;&lt;/p&gt; 
 &lt;br /&gt; 
 &lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/assets/terminal.svg?sanitize=true&quot; alt=&quot;GSD Install&quot; /&gt;&lt;/p&gt; 
 &lt;br /&gt; 
 &lt;p&gt;&lt;em&gt;&quot;If you know clearly what you want, this WILL build it for you. No bs.&quot;&lt;/em&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;em&gt;&quot;I&#39;ve done SpecKit, OpenSpec and Taskmaster — this has produced the best results for me.&quot;&lt;/em&gt;&lt;/p&gt; 
 &lt;p&gt;&lt;em&gt;&quot;By far the most powerful addition to my Claude Code. Nothing over-engineered. Literally just gets shit done.&quot;&lt;/em&gt;&lt;/p&gt; 
 &lt;br /&gt; 
 &lt;p&gt;&lt;strong&gt;Trusted by engineers at Amazon, Google, Shopify, and Webflow.&lt;/strong&gt;&lt;/p&gt; 
&lt;/div&gt; 
&lt;hr /&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-important&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-report mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Important&lt;/p&gt;
 &lt;p&gt;&lt;strong&gt;Returning to GSD?&lt;/strong&gt;&lt;/p&gt; 
 &lt;p&gt;Run &lt;code&gt;/gsd-map-codebase&lt;/code&gt; to re-index your codebase, then &lt;code&gt;/gsd-new-project&lt;/code&gt; to rebuild GSD&#39;s planning context. Your code is fine — GSD just needs its context rebuilt. See the &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/CHANGELOG.md&quot;&gt;CHANGELOG&lt;/a&gt; for what&#39;s new.&lt;/p&gt; 
&lt;/div&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Why I Built This&lt;/h2&gt; 
&lt;p&gt;I&#39;m a solo developer. I don&#39;t write code — Claude Code does.&lt;/p&gt; 
&lt;p&gt;Other spec-driven tools exist, but they&#39;re all built for 50-person engineering orgs — sprint ceremonies, story points, stakeholder syncs, Jira workflows. I&#39;m not that. I&#39;m a creative person trying to build great things consistently.&lt;/p&gt; 
&lt;p&gt;So I built GSD. The complexity is in the system, not in your workflow. Behind the scenes: context engineering, XML prompt formatting, subagent orchestration, state management. What you see: a few commands that just work.&lt;/p&gt; 
&lt;p&gt;The system gives Claude everything it needs to do the work &lt;em&gt;and&lt;/em&gt; verify it. I trust the workflow. It just does a good job.&lt;/p&gt; 
&lt;p&gt;— &lt;strong&gt;TÂCHES&lt;/strong&gt;&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;How It Works&lt;/h2&gt; 
&lt;p&gt;The loop is six commands. Each one does exactly one thing.&lt;/p&gt; 
&lt;h3&gt;1. Initialize&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/gsd-new-project
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Questions → research → requirements → roadmap. You approve it, then you&#39;re ready to build.&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Already have code?&lt;/strong&gt; Run &lt;code&gt;/gsd-map-codebase&lt;/code&gt; first. It analyzes your stack, architecture, and conventions so &lt;code&gt;/gsd-new-project&lt;/code&gt; asks the right questions.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;2. Discuss&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/gsd-discuss-phase 1
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Your roadmap has a sentence per phase. That&#39;s not enough to build it the way &lt;em&gt;you&lt;/em&gt; imagine it. Discuss captures your decisions before anything gets planned: layouts, API shapes, error handling, data structures — whatever gray areas exist for this specific phase.&lt;/p&gt; 
&lt;p&gt;The output feeds directly into research and planning. Skip it, get reasonable defaults. Use it, get your vision.&lt;/p&gt; 
&lt;h3&gt;3. Plan&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/gsd-plan-phase 1
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Research → plan → verify, in a loop until the plans pass. Each plan is small enough to execute in a fresh context window.&lt;/p&gt; 
&lt;h3&gt;4. Execute&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/gsd-execute-phase 1
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Plans run in parallel waves. Each executor gets a fresh 200k-token context. Each task gets its own atomic commit. Walk away, come back to completed work with a clean git history.&lt;/p&gt; 
&lt;p&gt;Your main context window stays at 30–40%. The work happens in the subagents.&lt;/p&gt; 
&lt;h3&gt;5. Verify&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/gsd-verify-work 1
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Walk through what was built. Anything broken gets a diagnosed fix plan — ready for immediate re-execution. You don&#39;t debug manually; you just run execute again.&lt;/p&gt; 
&lt;h3&gt;6. Repeat → Ship&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/gsd-ship 1
/gsd-complete-milestone
/gsd-new-milestone
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Loop discuss → plan → execute → verify → ship until the milestone is done. Then archive, tag, and start the next one fresh.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Getting Started&lt;/h2&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx get-shit-done-cc@latest
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The installer prompts for your runtime (Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, and more) and whether to install globally or locally.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;claude --dangerously-skip-permissions
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;GSD is built for frictionless automation. Skip-permissions is how it&#39;s intended to run.&lt;/p&gt; 
&lt;p&gt;Install only the skills you need with &lt;code&gt;--profile=core&lt;/code&gt; (six core-loop skills), &lt;code&gt;--profile=standard&lt;/code&gt; (core + phase management), or the default full install. Profiles compose: &lt;code&gt;--profile=core,audit&lt;/code&gt;. &lt;code&gt;--minimal&lt;/code&gt; is an alias for &lt;code&gt;--profile=core&lt;/code&gt;. See &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/USER-GUIDE.md&quot;&gt;docs/USER-GUIDE.md&lt;/a&gt;&lt;/strong&gt; for the full walkthrough, non-interactive install flags for all 15 runtimes, and permissions configuration. See &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/adr/0011-skill-surface-budget-module.md&quot;&gt;ADR-0011&lt;/a&gt; for the profile model and runtime surface control.&lt;/p&gt; 
&lt;p&gt;Current release highlights are in &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/RELEASE-v1.42.1.md&quot;&gt;docs/RELEASE-v1.42.1.md&lt;/a&gt;: package legitimacy checks, safer installer migrations, runtime surface control, custom ship PR sections, reviewer defaults, fallow structural review, and quota-aware execution recovery.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Commands&lt;/h2&gt; 
&lt;p&gt;The main loop:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Command&lt;/th&gt; 
   &lt;th&gt;What it does&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-new-project&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Questions → research → requirements → roadmap&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-discuss-phase [N]&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Capture implementation decisions before planning&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-plan-phase [N]&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Research + plan + verify&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-execute-phase &amp;lt;N&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Execute plans in parallel waves&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-verify-work [N]&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Manual acceptance testing&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-ship [N]&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Create PR from verified phase work&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-progress --next&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Auto-detect and run the next step&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-complete-milestone&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Archive milestone and tag release&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd-new-milestone&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Start next version&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/gsd:surface&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Enable/disable skill clusters at runtime without reinstall&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;For ad-hoc tasks, autonomous mode, codebase analysis, forensics, and the full command surface — see &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/COMMANDS.md&quot;&gt;docs/COMMANDS.md&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Why It Works&lt;/h2&gt; 
&lt;p&gt;Three things most AI-coding setups get wrong:&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;1. Context bloat.&lt;/strong&gt; As a session grows, quality degrades. GSD keeps your main context clean by doing the heavy work in fresh subagent contexts. Researchers, planners, and executors each start fresh with exactly what they need.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;2. No shared memory.&lt;/strong&gt; GSD maintains structured artifacts that survive session boundaries: &lt;code&gt;PROJECT.md&lt;/code&gt; (vision), &lt;code&gt;REQUIREMENTS.md&lt;/code&gt; (scope), &lt;code&gt;ROADMAP.md&lt;/code&gt; (where you&#39;re going), &lt;code&gt;STATE.md&lt;/code&gt; (current position and decisions), &lt;code&gt;CONTEXT.md&lt;/code&gt; (per-phase implementation decisions). Every new session loads these and knows exactly where things stand.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;3. No verification.&lt;/strong&gt; Code that &quot;runs&quot; isn&#39;t code that &quot;works.&quot; GSD&#39;s verify step walks you through what was built, diagnoses failures with dedicated debug agents, and generates fix plans before you declare a phase done.&lt;/p&gt; 
&lt;p&gt;See &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/ARCHITECTURE.md&quot;&gt;docs/ARCHITECTURE.md&lt;/a&gt;&lt;/strong&gt; for how the multi-agent orchestration and context engineering work in detail.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Configuration&lt;/h2&gt; 
&lt;p&gt;Settings live in &lt;code&gt;.planning/config.json&lt;/code&gt;. Configure during &lt;code&gt;/gsd-new-project&lt;/code&gt; or update with &lt;code&gt;/gsd-settings&lt;/code&gt;.&lt;/p&gt; 
&lt;p&gt;Key dials:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Setting&lt;/th&gt; 
   &lt;th&gt;What it controls&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;mode&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;interactive&lt;/code&gt; (confirm each step) or &lt;code&gt;yolo&lt;/code&gt; (auto-approve)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Model profiles&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;quality&lt;/code&gt; / &lt;code&gt;balanced&lt;/code&gt; / &lt;code&gt;budget&lt;/code&gt; — controls which model each agent uses&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow.research&lt;/code&gt; / &lt;code&gt;plan_check&lt;/code&gt; / &lt;code&gt;verifier&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Toggle the quality agents that add tokens and time&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;parallelization.enabled&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Run independent plans simultaneously&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Optional structural review: set &lt;code&gt;code_quality.fallow.enabled&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt; to add a fallow pre-pass to &lt;code&gt;/gsd-code-review&lt;/code&gt;. GSD writes &lt;code&gt;.planning/phases/&amp;lt;phase&amp;gt;/FALLOW.json&lt;/code&gt; and surfaces a &lt;code&gt;Structural Findings (fallow)&lt;/code&gt; section in &lt;code&gt;REVIEW.md&lt;/code&gt;. Install with &lt;code&gt;npm install -D fallow@^2.70.0&lt;/code&gt; (or system-wide via &lt;code&gt;cargo install fallow&lt;/code&gt;; note that the Rust binary&#39;s JSON schema must match the documented v2.70+ contract — older versions may produce silent zero-finding output).&lt;/p&gt; 
&lt;p&gt;Package legitimacy checks are built into the research, planning, and execution path: recommended dependencies get audited, unverified packages require a human checkpoint, and failed installs stop instead of trying similarly named alternatives.&lt;/p&gt; 
&lt;p&gt;For the full configuration reference — all settings, git branching strategies, per-runtime model overrides, workstream config inheritance, agent skills injection — see &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/CONFIGURATION.md&quot;&gt;docs/CONFIGURATION.md&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Doc&lt;/th&gt; 
   &lt;th&gt;What&#39;s in it&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/USER-GUIDE.md&quot;&gt;User Guide&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;End-to-end walkthrough, install options, all runtime flags, configuration reference&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/COMMANDS.md&quot;&gt;Commands&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Every command with flags and examples&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/CONFIGURATION.md&quot;&gt;Configuration&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Full config schema, model profiles, git branching&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/ARCHITECTURE.md&quot;&gt;Architecture&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;How the multi-agent orchestration works&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/CLI-TOOLS.md&quot;&gt;CLI Tools&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;code&gt;gsd-sdk query&lt;/code&gt; and programmatic SDK dispatch seams&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/FEATURES.md&quot;&gt;Features&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Complete feature index&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/CHANGELOG.md&quot;&gt;Changelog&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;What changed in each release&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Troubleshooting&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Commands not showing up?&lt;/strong&gt; Restart your runtime after install. GSD installs to &lt;code&gt;~/.claude/skills/gsd-*/&lt;/code&gt; (Claude Code), &lt;code&gt;~/.codex/skills/gsd-*/&lt;/code&gt; (Codex), or the equivalent for your runtime.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Codex users — minimum supported CLI version is &lt;code&gt;0.130.0&lt;/code&gt;.&lt;/strong&gt; Codex CLI 0.130.0 (&lt;a href=&quot;https://github.com/openai/codex/releases/tag/rust-v0.130.0&quot;&gt;release notes&lt;/a&gt;) removed extra-skill-roots discovery via &lt;a href=&quot;https://github.com/openai/codex/pull/21485&quot;&gt;openai/codex#21485&lt;/a&gt;; from that version onward Codex discovers skills from standard roots (including &lt;code&gt;~/.codex/skills/&amp;lt;name&amp;gt;/SKILL.md&lt;/code&gt;). GSD installs there directly. Earlier Codex CLI versions may still discover additional roots, which can surface duplicate &lt;code&gt;gsd-*&lt;/code&gt; entries (one from extra-roots discovery, one from &lt;code&gt;~/.codex/skills/&lt;/code&gt;); restart Codex after install and either upgrade or accept the duplicate listing.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Something broken?&lt;/strong&gt; Re-run the installer — it&#39;s idempotent:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx get-shit-done-cc@latest
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Containers or Docker?&lt;/strong&gt; Set &lt;code&gt;CLAUDE_CONFIG_DIR&lt;/code&gt; before installing to avoid tilde-expansion issues:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;CLAUDE_CONFIG_DIR=/home/youruser/.claude npx get-shit-done-cc --global
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Full troubleshooting and uninstall instructions in &lt;strong&gt;&lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/docs/USER-GUIDE.md#troubleshooting&quot;&gt;docs/USER-GUIDE.md&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Community&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Project&lt;/th&gt; 
   &lt;th&gt;Platform&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://github.com/rokicool/gsd-opencode&quot;&gt;gsd-opencode&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Original OpenCode port&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;a href=&quot;https://discord.gg/mYgfVNfA2r&quot;&gt;Discord&lt;/a&gt;&lt;/td&gt; 
   &lt;td&gt;Community support&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Star History&lt;/h2&gt; 
&lt;a href=&quot;https://star-history.com/#gsd-build/get-shit-done&amp;amp;Date&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://api.star-history.com/svg?repos=gsd-build/get-shit-done&amp;amp;type=Date&amp;amp;theme=dark&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://api.star-history.com/svg?repos=gsd-build/get-shit-done&amp;amp;type=Date&quot; /&gt; 
  &lt;img alt=&quot;Star History Chart&quot; src=&quot;https://api.star-history.com/svg?repos=gsd-build/get-shit-done&amp;amp;type=Date&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;hr /&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;MIT License. See &lt;a href=&quot;https://raw.githubusercontent.com/gsd-build/get-shit-done/main/LICENSE&quot;&gt;LICENSE&lt;/a&gt; for details.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;div align=&quot;center&quot;&gt; 
 &lt;p&gt;&lt;strong&gt;Claude Code is powerful. GSD makes it reliable.&lt;/strong&gt;&lt;/p&gt; 
&lt;/div&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/3c44784c2ced6a01e8fe6e1fd6570a9d9ceea01f190fbf6aeccf53b4c71cedb3/gsd-build/get-shit-done" medium="image" />
      
    </item>
    
    <item>
      <title>oracle/skills</title>
      <link>https://github.com/oracle/skills</link>
      <description>&lt;p&gt;Oracle DB Skills is a curated library of 100+ practical, documentation-backed guides for working with Oracle Database, organized by domain&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Oracle Skills&lt;/h1&gt; 
&lt;p&gt;Oracle Skills is a collection of practical, installable skills for working with Oracle technologies.&lt;/p&gt; 
&lt;p&gt;The goal is to give developers and agents a single place to find source-backed Oracle guidance across Oracle Database, Oracle Cloud Infrastructure, GraalVM, Oracle Fusion, Oracle APEX, and future domains.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;Install a domain by appending the root-level domain directory to the repository name:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx skills add oracle/skills/db
npx skills add oracle/skills/graal
...
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Repository Goals&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Provide Oracle-wide skills in one repository.&lt;/li&gt; 
 &lt;li&gt;Define domain entry points that help developers and agents route to the right topic quickly.&lt;/li&gt; 
 &lt;li&gt;Keep each skill practical, source-backed, and easy to consume on demand.&lt;/li&gt; 
 &lt;li&gt;Allow each domain to evolve its own taxonomy without breaking repo-wide consistency.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Domains&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;db/&lt;/code&gt; is the active Oracle Database domain and includes database, ORDS, SQLcl, framework, container, and agent workflow skills.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;oci/&lt;/code&gt; is the root for future Oracle Cloud Infrastructure skills.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;fusion/&lt;/code&gt; is the root for future Oracle Fusion skills.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;apex/&lt;/code&gt; is the root for future Oracle APEX skills.&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;graal/&lt;/code&gt; contains GraalVM skills, starting with Native Image.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Start Here&lt;/h2&gt; 
&lt;ol&gt; 
 &lt;li&gt;Pick the domain closest to your task.&lt;/li&gt; 
 &lt;li&gt;Install that domain skill.&lt;/li&gt; 
 &lt;li&gt;Add other domain skills only when needed.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Repository Layout&lt;/h2&gt; 
&lt;pre&gt;&lt;code class=&quot;language-text&quot;&gt;.
├── db/
│   ├── SKILL.md
│   ├── admin/
│   ├── agent/
│   ├── appdev/
│   ├── architecture/
│   ├── containers/
│   ├── design/
│   ├── devops/
│   ├── features/
│   ├── frameworks/
│   ├── migrations/
│   ├── monitoring/
│   ├── ords/
│   ├── performance/
│   ├── plsql/
│   ├── security/
│   ├── sql-dev/
│   └── sqlcl/
├── fusion/
│   └── SKILL.md
├── apex/
│   └── SKILL.md
├── graal/
│   ├── SKILL.md
│   └── native-image/
│       ├── build-native-image.md
│       ├── native-build-tools.md
│       ├── reachability-metadata.md
│       └── troubleshooting.md
└── oci/
    └── SKILL.md
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Each domain has its own &lt;code&gt;SKILL.md&lt;/code&gt; and any supporting index files it needs.&lt;/p&gt; 
&lt;p&gt;For a real domain, organize content by category directories and use &lt;code&gt;SKILL.md&lt;/code&gt; as the table of contents. A domain &lt;code&gt;SKILL.md&lt;/code&gt; should normally include:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;## How to Use This Domain&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;## Directory Structure&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;## Category Routing&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;## Key Starting Points&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;## Common Multi-Step Flows&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For stub domains, keep &lt;code&gt;SKILL.md&lt;/code&gt; minimal and point users back to this &lt;code&gt;README.md&lt;/code&gt; and &lt;code&gt;SKILL_AUTHORING_GUIDE.md&lt;/code&gt;.&lt;/p&gt; 
&lt;h2&gt;Version Coverage Standard&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;Skills that include version-specific behavior must include a section named &lt;code&gt;## Oracle Version Notes (19c vs 26ai)&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;Use Oracle Database 19c as the baseline compatibility target unless stated otherwise.&lt;/li&gt; 
 &lt;li&gt;Explicitly call out features that require newer releases and provide 19c-compatible alternatives where practical.&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/d5e6bc058b686eafbc5b2d9440e40e442473b13fc0c7b0defb6eb951a441ebd8/oracle/skills" medium="image" />
      
    </item>
    
    <item>
      <title>poloclub/transformer-explainer</title>
      <link>https://github.com/poloclub/transformer-explainer</link>
      <description>&lt;p&gt;Transformer Explained Visually: Learn How LLM Transformer Models Work with Interactive Visualization&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Transformer Explainer: Interactive Learning of Text-Generative Models&lt;/h1&gt; 
&lt;p&gt;Transformer Explainer is an interactive visualization tool designed to help anyone learn how Transformer-based models like GPT work. It runs a live GPT-2 model right in your browser, allowing you to experiment with your own text and observe in real time how internal components and operations of the Transformer work together to predict the next tokens. Try Transformer Explainer at &lt;a href=&quot;http://poloclub.github.io/transformer-explainer&quot;&gt;http://poloclub.github.io/transformer-explainer&lt;/a&gt; and watch a demo video on YouTube &lt;a href=&quot;https://youtu.be/TFUc41G2ikY.&quot;&gt;https://youtu.be/TFUc41G2ikY.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;a href=&quot;http://opensource.org/licenses/MIT&quot;&gt;&lt;img src=&quot;http://img.shields.io/badge/license-MIT-brightgreen.svg?sanitize=true&quot; alt=&quot;MIT license&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://arxiv.org/abs/2408.04619&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/arXiv-2408.04619-red&quot; alt=&quot;arxiv badge&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://youtu.be/TFUc41G2ikY&quot; target=&quot;_blank&quot;&gt;&lt;img width=&quot;100%&quot; src=&quot;https://github.com/user-attachments/assets/0a4d8888-6555-4df5-bc71-77f1299115c3&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Live Demo&lt;/h2&gt; 
&lt;p&gt;Try Transformer Explainer: &lt;a href=&quot;http://poloclub.github.io/transformer-explainer&quot;&gt;http://poloclub.github.io/transformer-explainer&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Research Paper&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://arxiv.org/abs/2408.04619&quot;&gt;&lt;strong&gt;Transformer Explainer: Interactive Learning of Text-Generative Models&lt;/strong&gt;&lt;/a&gt;. Aeree Cho, Grace C. Kim, Alexander Karpekov, Alec Helbling, Zijie J. Wang, Seongmin Lee, Benjamin Hoover, Duen Horng Chau. &lt;em&gt;Poster, IEEE VIS 2024.&lt;/em&gt;&lt;/p&gt; 
&lt;h2&gt;How to run locally&lt;/h2&gt; 
&lt;h4&gt;Prerequisites&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;Node.js v20 or higher&lt;/li&gt; 
 &lt;li&gt;NPM v10 or higher&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;Steps&lt;/h4&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/poloclub/transformer-explainer.git
cd transformer-explainer
npm install
npm run dev
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then, on your web browser, access &lt;a href=&quot;http://localhost:5173&quot;&gt;http://localhost:5173&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Credits&lt;/h2&gt; 
&lt;p&gt;Transformer Explainer was created by &lt;a href=&quot;https://aereeeee.github.io/&quot; target=&quot;_blank&quot;&gt;Aeree Cho&lt;/a&gt;, &lt;a href=&quot;https://www.linkedin.com/in/chaeyeonggracekim/&quot; target=&quot;_blank&quot;&gt;Grace C. Kim&lt;/a&gt;, &lt;a href=&quot;https://alexkarpekov.com/&quot; target=&quot;_blank&quot;&gt;Alexander Karpekov&lt;/a&gt;, &lt;a href=&quot;https://alechelbling.com/&quot; target=&quot;_blank&quot;&gt;Alec Helbling&lt;/a&gt;, &lt;a href=&quot;https://zijie.wang/&quot; target=&quot;_blank&quot;&gt;Jay Wang&lt;/a&gt;, &lt;a href=&quot;https://seongmin.xyz/&quot; target=&quot;_blank&quot;&gt;Seongmin Lee&lt;/a&gt;, &lt;a href=&quot;https://bhoov.com/&quot; target=&quot;_blank&quot;&gt;Benjamin Hoover&lt;/a&gt;, and &lt;a href=&quot;https://poloclub.github.io/polochau/&quot; target=&quot;_blank&quot;&gt;Polo Chau&lt;/a&gt; at the Georgia Institute of Technology.&lt;/p&gt; 
&lt;h2&gt;Citation&lt;/h2&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bibTeX&quot;&gt;@article{cho2024transformer,
  title = {Transformer Explainer: Interactive Learning of Text-Generative Models},
  shorttitle = {Transformer Explainer},
  author = {Cho, Aeree and Kim, Grace C. and Karpekov, Alexander and Helbling, Alec and Wang, Zijie J. and Lee, Seongmin and Hoover, Benjamin and Chau, Duen Horng},
  journal={IEEE VIS Poster},
  year={2024}
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;The software is available under the &lt;a href=&quot;https://github.com/poloclub/transformer-explainer/raw/main/LICENSE&quot;&gt;MIT License&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Contact&lt;/h2&gt; 
&lt;p&gt;If you have any questions, feel free to &lt;a href=&quot;https://github.com/poloclub/transformer-explainer/issues/new/choose&quot;&gt;open an issue&lt;/a&gt; or contact &lt;a href=&quot;https://aereeeee.github.io/&quot;&gt;Aeree Cho&lt;/a&gt; or any of the contributors listed above.&lt;/p&gt; 
&lt;h2&gt;More AI explainers to check out&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://poloclub.github.io/diffusion-explainer&quot;&gt;&lt;strong&gt;Diffusion Explainer&lt;/strong&gt;&lt;/a&gt; for learning how Stable Diffusion transforms text prompt into image&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://poloclub.github.io/cnn-explainer&quot;&gt;&lt;strong&gt;CNN Explainer&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://poloclub.github.io/ganlab&quot;&gt;&lt;strong&gt;GAN Lab&lt;/strong&gt;&lt;/a&gt; for playing with Generative Adversarial Networks in browser&lt;/li&gt; 
&lt;/ul&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/801763739/8d75aa55-9d7d-48f4-9508-b9a82987219a" medium="image" />
      
    </item>
    
    <item>
      <title>gaotianliuyun/gao</title>
      <link>https://github.com/gaotianliuyun/gao</link>
      <description>&lt;p&gt;FongMi影视和tvbox配置文件，如果喜欢，请Fork自用。使用前请仔细阅读仓库说明，一旦使用将被视为你已了解。&lt;/p&gt;&lt;hr&gt;&lt;p&gt;FongMi影视、TVBox、猫影视配置文件。所有资源均来自于各路大神无私分享，如有侵权，请联系删除。&lt;/p&gt; 
&lt;p&gt;所有以任何方式查看本仓库内容的人、或直接或间接使用本仓库内容的使用者都应仔细阅读此声明。本仓库管理者保留随时更改或补充此免责声明的权利。一旦使用、复制、修改了本仓库内容，则视为您已接受此免责声明。&lt;/p&gt; 
&lt;p&gt;本仓库管理者不能保证本仓库内容的合法性、准确性、完整性和有效性，请根据情况自行判断。本仓库内容，仅用于测试和学习研究，禁止用于商业用途，不得将其用于违反国家、地区、组织等的法律法规或相关规定的其他用途，禁止任何公众号、自媒体进行任何形式的转载、发布，请不要在中华人民共和国境内使用本仓库内容，否则后果自负。&lt;/p&gt; 
&lt;p&gt;本仓库内容中涉及的第三方硬件、软件等，与本仓库内容没有任何直接或间接的关系。本仓库内容仅对部署和使用过程进行客观描述，不代表支持使用任何第三方硬件、软件。使用任何第三方硬件、软件，所造成的一切后果由使用的个人或组织承担，与本仓库内容无关。&lt;/p&gt; 
&lt;p&gt;所有直接或间接使用本仓库内容的个人和组织，应 24 小时内完成学习和研究，并及时删除本仓库内容。如对本仓库内容的功能有需求，应自行开发相关功能。所有基于本仓库内容的源代码，进行的任何修改，为其他个人或组织的自发行为，与本仓库内容没有任何直接或间接的关系，所造成的一切后果亦与本仓库内容和本仓库管理者无关。&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;tvbox配置：&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）0707.json Fengmi影视多线配置接口,仅适用于Fengmi影视；&lt;/p&gt; 
&lt;p&gt;（2）0821.json 在饭太硬配置的基础上添加了若干优质点播源、直播线路和解析；&lt;/p&gt; 
&lt;p&gt;（3）0825.json jar包来源于Panda Groove的jar，PG网盘的用法请看&lt;a href=&quot;https://github.com/gaotianliuyun/gao/raw/gaotianliuyun-patch-1/README.md&quot;&gt;https://github.com/gaotianliuyun/gao/blob/gaotianliuyun-patch-1/README.md&lt;/a&gt; ；&lt;/p&gt; 
&lt;p&gt;（4）0826.json 完全来源于饭太硬的jar包和配置；&lt;/p&gt; 
&lt;p&gt;（5）0827.json jar包和配置来源于fongmi；&lt;/p&gt; 
&lt;p&gt;（6）js.json jar包来源于Panda Groove的go包，资源来源于道长drpy(js)仓库；&lt;/p&gt; 
&lt;p&gt;（7）XYQ.json XYQ源，jar包和配置来源于香雅情；&lt;/p&gt; 
&lt;p&gt;（8）/cat/js/config_open.json cat源，资源暂停更新，如果有能力的大佬愿意发电，请联系我。&lt;/p&gt; 
&lt;ol start=&quot;2&quot;&gt; 
 &lt;li&gt;APP推荐:&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）FongMi版本 项目地址：&lt;a href=&quot;https://github.com/FongMi/TV&quot;&gt;https://github.com/FongMi/TV&lt;/a&gt; 支持直播多线路、自动换源、直播倍速，手机投屏；&lt;/p&gt; 
&lt;p&gt;（2）q215613905版本 项目地址：&lt;a href=&quot;https://github.com/q215613905/TVBoxOS&quot;&gt;https://github.com/q215613905/TVBoxOS&lt;/a&gt; 支持直播回放；&lt;/p&gt; 
&lt;p&gt;（3）takagen99版本 项目地址：&lt;a href=&quot;https://github.com/takagen99/Box&quot;&gt;https://github.com/takagen99/Box&lt;/a&gt; 支持直播回放，界面美观；&lt;/p&gt; 
&lt;p&gt;（4）猫影视 项目地址：&lt;a href=&quot;https://github.com/catvod/CatVodOpen&quot;&gt;https://github.com/catvod/CatVodOpen&lt;/a&gt; 界面简洁，支持多平台。&lt;/p&gt; 
&lt;ol start=&quot;3&quot;&gt; 
 &lt;li&gt;TVBox各路大佬配置（排名不分先后）：&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）饭太硬：&lt;a href=&quot;http://www.xn--sss604efuw.top/tv/&quot;&gt;http://www.饭太硬.top/tv/&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（2）okjack：&lt;a href=&quot;https://jihulab.com/okcaptain/kko/raw/main/ok.txt&quot;&gt;https://jihulab.com/okcaptain/kko/raw/main/ok.txt&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（3）王二小放牛娃：&lt;a href=&quot;http://tvbox.xn--4kq62z5rby2qupq9ub.xyz&quot;&gt;http://tvbox.王二小放牛娃.xyz&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（4）摸鱼儿：&lt;a href=&quot;http://xn--ihqu10cn4c.xn--v4q818bf34b.top&quot;&gt;http://我不是.摸鱼儿.top&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（5）霜辉月明py：&lt;a href=&quot;https://999740.xyz/raw.githubusercontent.com/lm317379829/PyramidStore/pyramid/py.json&quot;&gt;https://999740.xyz/raw.githubusercontent.com/lm317379829/PyramidStore/pyramid/py.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（6）小米小爆脾气：&lt;a href=&quot;http://xhww.fun/%E5%B0%8F%E7%B1%B3/DEMO.json&quot;&gt;http://xhww.fun/小米/DEMO.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（7）南风：&lt;a href=&quot;https://agit.ai/Yoursmile7/TVBox/raw/branch/master/XC.json&quot;&gt;https://agit.ai/Yoursmile7/TVBox/raw/branch/master/XC.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（8）神器：&lt;a href=&quot;https://xn--m7r412advb92j21st65a.tk/pz.json&quot;&gt;https://神器每日推送.tk/pz.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（9）巧技：&lt;a href=&quot;http://pandown.pro/tvbox/tvbox.json&quot;&gt;http://pandown.pro/tvbox/tvbox.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（10）Ray：&lt;a href=&quot;https://100km.top/0&quot;&gt;https://100km.top/0&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（11）俊于：&lt;a href=&quot;http://home.jundie.top:81/top98.json&quot;&gt;http://home.jundie.top:81/top98.json&lt;/a&gt;&lt;/p&gt; 
&lt;ol start=&quot;4&quot;&gt; 
 &lt;li&gt;随机轮换壁纸：&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）&lt;a href=&quot;https://jianbian.chuqiuyu.workers.dev&quot;&gt;https://jianbian.chuqiuyu.workers.dev&lt;/a&gt; 自制极简渐变壁纸&lt;/p&gt; 
&lt;p&gt;（2）&lt;a href=&quot;http://www.kf666888.cn/api/tvbox/img&quot;&gt;http://www.kf666888.cn/api/tvbox/img&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（3）&lt;a href=&quot;https://picsum.photos/1280/720/?blur=10&quot;&gt;https://picsum.photos/1280/720/?blur=10&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（4）&lt;a href=&quot;http://xn--4bra.live/%E5%9B%BE&quot;&gt;http://刚刚.live/图&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（5）&lt;a href=&quot;http://xn--t75a.eu.org/%E6%B7%B1%E8%89%B2%E5%A3%81%E7%BA%B8/api.php&quot;&gt;http://饭.eu.org/深色壁纸/api.php&lt;/a&gt;,&lt;/p&gt; 
&lt;p&gt;（6）&lt;a href=&quot;https://www.dmoe.cc/random.php&quot;&gt;https://www.dmoe.cc/random.php&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（7）&lt;a href=&quot;https://api.btstu.cn/sjbz/zsy.php&quot;&gt;https://api.btstu.cn/sjbz/zsy.php&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（8）&lt;a href=&quot;https://api.btstu.cn/sjbz/?lx=dongman&quot;&gt;https://api.btstu.cn/sjbz/?lx=dongman&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（9）&lt;a href=&quot;http://api.btstu.cn/sjbz/?lx=meizi&quot;&gt;http://api.btstu.cn/sjbz/?lx=meizi&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（10）&lt;a href=&quot;http://api.btstu.cn/sjbz/?lx=suiji&quot;&gt;http://api.btstu.cn/sjbz/?lx=suiji&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（11）&lt;a href=&quot;https://pictures.catvod.eu.org/&quot;&gt;https://pictures.catvod.eu.org/&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（12）&lt;a href=&quot;https://bing.img.run/rand.php&quot;&gt;https://bing.img.run/rand.php&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;自用仓库，如果喜欢，请Fork自用，谢谢！&lt;/p&gt; 
&lt;p&gt;尽自己所能更新，不保证配置的有效性和时效性。&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/9d82e1a390192727a270c91f4e5586255a9f2e65b9b71e4aeb7dd37b523b93ca/gaotianliuyun/gao" medium="image" />
      
    </item>
    
    <item>
      <title>juliangarnier/anime</title>
      <link>https://github.com/juliangarnier/anime</link>
      <description>&lt;p&gt;JavaScript animation engine&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Anime.js&lt;/h1&gt; 
&lt;p align=&quot;center&quot;&gt; 
 &lt;picture align=&quot;center&quot;&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;./assets/images/animejs-v4-logo-animation-dark.gif&quot; /&gt; 
  &lt;img align=&quot;center&quot; alt=&quot;Anime.js V4 logo animation&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/images/animejs-v4-logo-animation.gif&quot; width=&quot;560&quot; /&gt; 
 &lt;/picture&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;strong&gt; &lt;em&gt;Anime.js&lt;/em&gt; is a fast, multipurpose and lightweight JavaScript animation library with a simple, yet powerful API.&lt;br /&gt; It works with CSS properties, SVG, DOM attributes and JavaScript Objects. &lt;/strong&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img alt=&quot;NPM Downloads&quot; src=&quot;https://img.shields.io/npm/dm/animejs?style=flat-square&amp;amp;logo=npm&quot; /&gt; &lt;img alt=&quot;jsDelivr hits (npm)&quot; src=&quot;https://img.shields.io/jsdelivr/npm/hm/animejs?style=flat-square&amp;amp;logo=jsdeliver&quot; /&gt; &lt;img alt=&quot;GitHub Sponsors&quot; src=&quot;https://img.shields.io/github/sponsors/juliangarnier?style=flat-square&amp;amp;logo=github&quot; /&gt; &lt;/p&gt; 
&lt;h2&gt;Sponsors&lt;/h2&gt; 
&lt;p&gt;Anime.js is 100% free and is only made possible with the help of our sponsors. Help the project become sustainable by sponsoring us on &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt;GitHub Sponsors&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Platinum sponsors&lt;/h3&gt; 
&lt;table&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-large.png?v=200126&quot; width=&quot;310&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-large.png?v=200126&quot; width=&quot;310&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-large.png?v=200126&quot; width=&quot;310&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Silver sponsors&lt;/h3&gt; 
&lt;table&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://www.testmuai.com/?utm_medium=sponsor&amp;amp;utm_source=animejs&quot;&gt; 
     &lt;picture&gt; 
      &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;./assets/sponsors/testmu-ai-logomark.png?v=200126&quot; /&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/testmu-ai-logomark-dark.png?v=200126&quot; width=&quot;141&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-small.png?v=200126&quot; width=&quot;141&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-small.png?v=200126&quot; width=&quot;141&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-small.png?v=200126&quot; width=&quot;141&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-small.png?v=200126&quot; width=&quot;141&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt; 
     &lt;picture&gt; 
      &lt;img align=&quot;center&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/sponsors/placeholder-small.png?v=200126&quot; width=&quot;141&quot; /&gt; 
     &lt;/picture&gt; &lt;/a&gt; &lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Get featured here by becoming a &lt;a target=&quot;_blank&quot; href=&quot;https://github.com/sponsors/juliangarnier&quot;&gt;GitHub Sponsor&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Usage&lt;/h2&gt; 
&lt;p&gt;Anime.js V4 works by importing ES modules like so:&lt;/p&gt; 
&lt;table&gt; 
 &lt;tbody&gt;
  &lt;tr&gt; 
   &lt;td&gt; &lt;pre&gt;&lt;code class=&quot;language-javascript&quot;&gt;import {
  animate,
  stagger,
} from &#39;animejs&#39;;

animate(&#39;.square&#39;, {
  x: 320,
  rotate: { from: -180 },
  duration: 1250,
  delay: stagger(65, { from: &#39;center&#39; }),
  ease: &#39;inOutQuint&#39;,
  loop: true,
  alternate: true
});
&lt;/code&gt;&lt;/pre&gt; &lt;/td&gt; 
   &lt;td&gt; &lt;img align=&quot;center&quot; alt=&quot;Anime.js code example&quot; src=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/assets/images/usage-example-result.gif&quot; /&gt; &lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt;
&lt;/table&gt; 
&lt;h2&gt;V4 Documentation&lt;/h2&gt; 
&lt;p&gt;The full documentation is available &lt;a href=&quot;https://animejs.com/documentation&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;V3 Migration guide&lt;/h2&gt; 
&lt;p&gt;You can find the v3 to v4 migration guide &lt;a href=&quot;https://github.com/juliangarnier/anime/wiki/Migrating-from-v3-to-v4&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;NPM development scripts&lt;/h2&gt; 
&lt;p&gt;First, run &lt;code&gt;npm i&lt;/code&gt; to install all the necessary packages. Then, execute the following scripts with &lt;code&gt;npm run &amp;lt;script&amp;gt;&lt;/code&gt;.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;script&lt;/th&gt; 
   &lt;th&gt;action&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;dev&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Watches for changes in &lt;code&gt;src/**/*.js&lt;/code&gt;, bundles the ESM version to &lt;code&gt;lib/&lt;/code&gt; and creates type declarations in &lt;code&gt;types/&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;dev:test&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Runs &lt;code&gt;dev&lt;/code&gt; and &lt;code&gt;test:browser&lt;/code&gt; concurrently&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;build&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Bundles ESM / UMD / CJS / IIFE versions to &lt;code&gt;lib/&lt;/code&gt; and creates type declarations in &lt;code&gt;types/&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;test:browser&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Starts a local server and runs all browser-related tests&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;test:node&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Starts Node-related tests&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;open:examples&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Starts a local server to browse the examples locally&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;© &lt;a href=&quot;http://juliangarnier.com&quot;&gt;Julian Garnier&lt;/a&gt; | &lt;a href=&quot;https://raw.githubusercontent.com/juliangarnier/anime/master/LICENSE.md&quot;&gt;MIT License&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/53809090/dbff3ffc-8459-43db-8a05-b6fdca5c9ed9" medium="image" />
      
    </item>
    
    <item>
      <title>atlassian/atlassian-mcp-server</title>
      <link>https://github.com/atlassian/atlassian-mcp-server</link>
      <description>&lt;p&gt;Remote MCP Server that securely connects Jira and Confluence with your LLM, IDE, or agent platform of choice.&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/atlassian/atlassian-mcp-server/main/images/atlassian_logo_brand_RGB.svg?sanitize=true&quot; /&gt; &lt;/p&gt; 
&lt;h1&gt;Atlassian MCP Server&lt;/h1&gt; 
&lt;p&gt;The Atlassian Rovo MCP Server is a cloud-based bridge between your Atlassian Cloud site and compatible external tools. Once configured, it enables those tools to interact with Jira, Compass, and Confluence data in real-time. This functionality is powered by secure authentication using &lt;strong&gt;OAuth 2.1&lt;/strong&gt; or &lt;strong&gt;API tokens&lt;/strong&gt;, which ensures all actions respect the user&#39;s existing access controls.&lt;/p&gt; 
&lt;p&gt;With the Atlassian Rovo MCP Server, you can:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Summarize and search&lt;/strong&gt; Jira, Compass, and Confluence content without switching tools.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Create and update&lt;/strong&gt; issues or pages based on natural language commands.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Automate repetitive work&lt;/strong&gt;, like generating tickets from meeting notes or specs.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;It&#39;s designed developers, content creators, and project teams who use IDEs or AI platforms and want to work with Atlassian data without constantly context switching.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Supported clients&lt;/h2&gt; 
&lt;p&gt;The Atlassian Rovo MCP Server supports several clients, including:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://platform.openai.com/docs/guides/tools-connectors-mcp&quot;&gt;OpenAI ChatGPT&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs/en/mcp&quot;&gt;Claude&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli&quot;&gt;GitHub Copilot CLI&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/google-gemini/gemini-cli/raw/main/docs/tools/mcp-server.md&quot;&gt;Gemini CLI&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://docs.aws.amazon.com/quicksuite/latest/userguide/mcp-integration.html&quot;&gt;Amazon Quick Suite&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://code.visualstudio.com/&quot;&gt;Visual Studio Code&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;The Atlassian Rovo MCP Server also supports any &lt;strong&gt;local MCP-compatible client&lt;/strong&gt; that can run on &lt;code&gt;localhost&lt;/code&gt; and connect to the server via the &lt;code&gt;mcp-remote&lt;/code&gt; proxy. This enables custom or third-party integrations that follow the MCP specification.&lt;/p&gt; 
&lt;p&gt;For detailed setup instructions, refer to your client&#39;s own MCP documentation or built-in assistant.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Before you start&lt;/h2&gt; 
&lt;p&gt;Ensure your environment meets the necessary requirements to successfully set up the Atlassian Rovo MCP Server. This section outlines the technical prerequisites and key access considerations.&lt;/p&gt; 
&lt;h3&gt;Prerequisites&lt;/h3&gt; 
&lt;p&gt;Before connecting to the Atlassian Rovo MCP Server, review the setup requirements for your environment:&lt;/p&gt; 
&lt;h4&gt;For supported clients&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;An &lt;strong&gt;Atlassian Cloud site&lt;/strong&gt; with Jira, Compass, and/or Confluence&lt;/li&gt; 
 &lt;li&gt;Access to &lt;strong&gt;the client of choice&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;A modern browser to complete the OAuth 2.1 authorization flow, or API token credentials for headless authentication&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h4&gt;For IDEs or local clients (Desktop setup)&lt;/h4&gt; 
&lt;ul&gt; 
 &lt;li&gt;An &lt;strong&gt;Atlassian Cloud site&lt;/strong&gt; with Jira, Compass, and/or Confluence&lt;/li&gt; 
 &lt;li&gt;A supported IDE (for example, &lt;strong&gt;Claude desktop, VS Code, or Cursor&lt;/strong&gt;) or a custom MCP-compatible client&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Node.js v18+&lt;/strong&gt; installed to run the local MCP proxy (&lt;code&gt;mcp-remote&lt;/code&gt;)&lt;/li&gt; 
 &lt;li&gt;A modern browser for completing OAuth login, or API token credentials for headless authentication&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Data and security&lt;/h2&gt; 
&lt;p&gt;Security is a core focus of the Atlassian Rovo MCP Server:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;All traffic is encrypted via HTTPS using TLS 1.2 or later.&lt;/li&gt; 
 &lt;li&gt;OAuth 2.1 and API token authentication provide secure access control.&lt;/li&gt; 
 &lt;li&gt;Data access respects Jira, Compass, and Confluence user permissions.&lt;/li&gt; 
 &lt;li&gt;If your organization uses IP allowlisting for Atlassian Cloud products, tool calls made through the Atlassian Rovo MCP Server also honor those IP rules.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;For a deeper overview of the security model and admin controls, see:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/understand-atlassian-rovo-mcp-server/&quot;&gt;Understand Atlassian Rovo MCP Server&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/control-atlassian-rovo-mcp-server-settings/&quot;&gt;Control Atlassian Rovo MCP Server settings&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;How it works&lt;/h2&gt; 
&lt;h3&gt;Architecture and communication&lt;/h3&gt; 
&lt;ol&gt; 
 &lt;li&gt;A supported client connects to the server endpoint:&lt;/li&gt; 
&lt;/ol&gt; 
&lt;pre&gt;&lt;code&gt;https://mcp.atlassian.com/v1/mcp
&lt;/code&gt;&lt;/pre&gt; 
&lt;ol start=&quot;2&quot;&gt; 
 &lt;li&gt;Depending on your setup, a secure browser-based OAuth 2.1 flow is triggered, or API token authentication is used.&lt;/li&gt; 
 &lt;li&gt;Once authorized, the client streams contextual data and receives real-time responses from Jira, Compass, or Confluence.&lt;/li&gt; 
&lt;/ol&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;While &lt;code&gt;/sse&lt;/code&gt; as a server endpoint are supported, we recommend updating any custom clients configured to use &lt;code&gt;/sse&lt;/code&gt; so they now point to &lt;code&gt;/mcp&lt;/code&gt;.&lt;/p&gt; 
&lt;/div&gt; 
&lt;h3&gt;Permission management&lt;/h3&gt; 
&lt;p&gt;Access is granted only to data that the user already has permission to view in Atlassian Cloud. All actions respect existing project or space-level roles. OAuth and API token authentication both honor configured scopes and Atlassian permissions.&lt;/p&gt; 
&lt;h3&gt;API token authentication (headless)&lt;/h3&gt; 
&lt;p&gt;API token authentication is available for headless or long-running client setups.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Admin enablement required:&lt;/strong&gt; An organization admin must enable API token authentication for Rovo MCP Server.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Scoped token required:&lt;/strong&gt; Use a Rovo MCP scoped API token for the required tools and data access.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Configuration guide:&lt;/strong&gt; &lt;a href=&quot;https://support.atlassian.com/atlassian-rovo-mcp-server/docs/configuring-authentication-via-api-token/&quot;&gt;Configure authentication via API token&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Admin setting reference:&lt;/strong&gt; &lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/control-atlassian-rovo-mcp-server-settings/#Configure-authentication&quot;&gt;Control Atlassian Rovo MCP Server settings - Configure authentication&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Example workflows&lt;/h2&gt; 
&lt;p&gt;Once connected, you can perform a variety of useful tasks from within your supported client.&lt;/p&gt; 
&lt;h3&gt;Jira workflows&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Search&lt;/strong&gt;: &quot;Find all open bugs in Project Alpha.&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Create/update&lt;/strong&gt;: &quot;Create a story titled &#39;Redesign onboarding&#39;.&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Bulk create&lt;/strong&gt;: &quot;Make five Jira issues from these notes.&quot;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Confluence workflows&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Summarize&lt;/strong&gt;: &quot;Summarize the Q2 planning page.&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Create&lt;/strong&gt;: &quot;Create a page titled &#39;Team Goals Q3&#39;.&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Navigate&lt;/strong&gt;: &quot;What spaces do I have access to?&quot;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Compass workflows&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Create&lt;/strong&gt;: &quot;Create a service component based on the current repository.&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Bulk create&lt;/strong&gt;: &quot;Import components and custom fields from this CSV/JSON&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Query&lt;/strong&gt;: &quot;What depends on the &lt;code&gt;api-gateway&lt;/code&gt; service?&quot;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Combined tasks&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Link content&lt;/strong&gt;: &quot;Link these three Jira tickets to the &#39;Release Plan&#39; page.&quot;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Find documentation&lt;/strong&gt;: &quot;Fetch the Confluence documentation page linked to this Compass component.&quot;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;div class=&quot;markdown-alert markdown-alert-note&quot;&gt;
 &lt;p class=&quot;markdown-alert-title&quot;&gt;
  &lt;svg class=&quot;octicon octicon-info mr-2&quot; viewbox=&quot;0 0 16 16&quot; version=&quot;1.1&quot; width=&quot;16&quot; height=&quot;16&quot; aria-hidden=&quot;true&quot;&gt;
   &lt;path d=&quot;M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z&quot;&gt;&lt;/path&gt;
  &lt;/svg&gt;Note&lt;/p&gt;
 &lt;p&gt;Actual capabilities vary, depending on your permission level and client platform.&lt;/p&gt; 
&lt;/div&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Tips and tricks&lt;/h2&gt; 
&lt;h3&gt;Set default CloudId, Jira project, and Confluence space&lt;/h3&gt; 
&lt;p&gt;Update your &lt;a href=&quot;https://agents.md/&quot;&gt;AGENTS.md&lt;/a&gt; with the Markdown below to reduce discovery tool calls, save time and tokens, and set maximum search results.&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-MD&quot;&gt;## Atlassian Rovo MCP

When connected to atlassian-rovo-mcp:
- **MUST** use Jira project key = YOURPROJ
- **MUST** use Confluence spaceId = &quot;123456&quot;
- **MUST** use cloudId = &quot;https://yoursite.atlassian.net&quot; (do NOT call getAccessibleAtlassianResources)
- **MUST** use `maxResults: 10` or `limit: 10` for ALL Jira JQL and Confluence CQL search operations.
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Use skills&lt;/h3&gt; 
&lt;p&gt;If you&#39;re using a desktop client like Claude, you can create or reuse skills for repeated tasks. &lt;a href=&quot;https://github.com/atlassian/atlassian-mcp-server/tree/main/skills&quot;&gt;See the default Rovo MCP skills&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;For &lt;a href=&quot;https://cursor.com/marketplace/atlassian&quot;&gt;Cursor&lt;/a&gt;, skills are part of the marketplace plugin.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Admin notes: Managing access&lt;/h2&gt; 
&lt;p&gt;If you&#39;re an admin preparing your organization to use the Atlassian Rovo MCP Server, review these key considerations. For more detailed admin guidance, see:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/understand-atlassian-rovo-mcp-server/&quot;&gt;Understand Atlassian Rovo MCP server&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/control-atlassian-rovo-mcp-server-settings/&quot;&gt;Control Atlassian Rovo MCP server settings&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/manage-atlassian-rovo-mcp-server/&quot;&gt;Manage Atlassian Rovo MCP server&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/monitor-atlassian-rovo-mcp-server-activity/&quot;&gt;Monitor Atlassian Rovo MCP server activity&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Installation and access&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Not a Marketplace App:&lt;/strong&gt;&lt;br /&gt; The Atlassian Rovo MCP Server is &lt;em&gt;not&lt;/em&gt; installed via the Atlassian Marketplace or the &lt;strong&gt;Manage apps&lt;/strong&gt; screen. Instead, it is installed automatically the first time a user completes the OAuth 2.1 (3LO) consent flow (just-in-time or &quot;lazy loading&quot; installation).&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;First-time installation requirements:&lt;/strong&gt;&lt;br /&gt; The first user to complete the 3LO consent flow for your site must have access to the Atlassian apps requested by the MCP scopes (for example, Jira and/or Confluence). This ensures the MCP app is registered with the correct permissions for your site.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Subsequent user access:&lt;/strong&gt;&lt;br /&gt; After the initial install, users with access to only one Atlassian app (for example, just Jira or just Confluence) can also complete the 3LO flow to access that Atlassian app through MCP.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Manage, monitor, and revoke access&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Admin controls:&lt;/strong&gt;&lt;br /&gt; Site and organization admins can manage, review, or revoke the MCP app&#39;s access from &lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/manage-your-users-third-party-apps/&quot;&gt;Manage your organization&#39;s Marketplace and third-party apps&lt;/a&gt;. The app appears in your site&#39;s &lt;strong&gt;Connected apps&lt;/strong&gt; list after the first successful 3LO consent.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;End-user controls:&lt;/strong&gt;&lt;br /&gt; Individual users can revoke their own app authorizations from their profile settings.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Domain and IP controls:&lt;/strong&gt;&lt;br /&gt; Use the &lt;strong&gt;Rovo MCP server&lt;/strong&gt; settings page in Atlassian Administration to control which external AI tools and domains are allowed to connect. For details, see &lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/available-atlassian-rovo-mcp-server-domains/&quot;&gt;Available Atlassian Rovo MCP server domains&lt;/a&gt;. If your organization uses IP allowlisting for Atlassian Cloud apps, requests made through the Atlassian Rovo MCP Server must originate from an IP address that is allowed by your organization&#39;s IP allowlist for the relevant Atlassian app. For configuration details, see &lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/specify-ip-addresses-for-product-access/&quot;&gt;Specify IP addresses for app access&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Audit logging:&lt;/strong&gt; To support monitoring and compliance, key actions performed via the Atlassian Rovo MCP Server are logged in your organization&#39;s audit log. Admins can review these logs in Atlassian Administration. For more information, see &lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/monitor-atlassian-rovo-mcp-server-activity/&quot;&gt;Monitor Atlassian Rovo MCP server activity&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Troubleshooting common issues&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;&quot;Your site admin must authorize this app&quot; error:&lt;/strong&gt;&lt;br /&gt; A site admin must complete the 3LO consent flow before anyone else can use the MCP app. See &lt;a href=&quot;https://support.atlassian.com/atlassian-cloud/kb/your-site-admin-must-authorize-this-app-error-in-atlassian-cloud-apps/&quot;&gt;&quot;Your site admin must authorize this app&quot;&lt;/a&gt; error in Atlassian Cloud apps for more details.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&quot;You don&#39;t have permission to connect from this IP address. Please ask your admin for access.&quot;&lt;/strong&gt;&lt;br /&gt; This usually indicates that IP allowlisting is enabled and the user&#39;s current IP address isn&#39;t allowed to access Jira, Confluence, Compass, or Rovo via the Atlassian Rovo MCP Server. Ask your site or organization admin to review the IP allowlist configuration and add the relevant network or VPN IP ranges if appropriate.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;App not appearing in Connected apps:&lt;/strong&gt;&lt;br /&gt; Ensure the user is using the correct Atlassian account and site, and confirm the app is requesting the correct Atlassian app scopes (for example, Jira scopes). If issues persist, check &lt;a href=&quot;https://support.atlassian.com/security-and-access-policies/docs/manage-your-users-third-party-apps/&quot;&gt;Manage your organization&#39;s Marketplace and third-party apps&lt;/a&gt; or contact Atlassian Support. Also verify the user&#39;s Jira, Confluence, or Compass permissions in Atlassian Administration.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Security&lt;/h2&gt; 
&lt;p&gt;Model Context Protocol (MCP) lets AI agents connect to tools and Atlassian data using your account’s permissions, which creates powerful workflows but also structural risks. Any MCP client or server you enable (e.g., IDE plugins, desktop apps, hosted MCP servers, “one-click” integrations) can cause an AI agent to perform actions on your behalf.&lt;/p&gt; 
&lt;p&gt;Large Language models (LLMs) are vulnerable to &lt;a href=&quot;https://owasp.org/www-community/attacks/PromptInjection&quot;&gt;prompt injection&lt;/a&gt; and related attacks (such as &lt;a href=&quot;https://owasp.org/www-community/attacks/PromptInjection&quot;&gt;indirect prompt injection&lt;/a&gt; and &lt;a href=&quot;https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks&quot;&gt;tool poisoning&lt;/a&gt;). These attacks can instruct the agent to exfiltrate data or make unintended changes without explicit requests.&lt;/p&gt; 
&lt;p&gt;To reduce risk, only use trusted MCP clients and servers, carefully review which tools and data each agent can access, and apply least privilege (scoped tokens, minimal project/workspace access). For any high‑impact or destructive action, require human confirmation and monitor audit logs for unusual activity. We strongly recommend reviewing Atlassian’s guidance on MCP risks at &lt;a href=&quot;https://www.atlassian.com/blog/artificial-intelligence/mcp-risk-awareness&quot;&gt;MCP Clients: Understanding the potential security risks&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Support and feedback&lt;/h2&gt; 
&lt;p&gt;Your feedback plays a crucial role in shaping the Atlassian Rovo MCP Server. If you encounter bugs, limitations, or have suggestions:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Visit the &lt;a href=&quot;https://support.atlassian.com/&quot;&gt;Atlassian Support Portal&lt;/a&gt; Portal to report issues and feature requests.&lt;/li&gt; 
 &lt;li&gt;Share your experiences and questions on the &lt;a href=&quot;https://community.atlassian.com/&quot;&gt;Atlassian Community&lt;/a&gt; and developer-related asks on the &lt;a href=&quot;https://developer.atlassian.com/&quot;&gt;Developer&#39;s one&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;Go to our &lt;a href=&quot;https://ecosystem.atlassian.net/servicedesk/customer/portal/14/user/login?destination=portal%2F14&quot;&gt;Ecosystem Developer Portal&lt;/a&gt; if you are building an app and found a bug/issue or have suggestions.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Disclaimer&lt;/h2&gt; 
&lt;p&gt;MCP clients can perform actions in Jira, Confluence, and Compass with your existing permissions. Use least privilege, review high‑impact changes before confirming, and monitor audit logs for unusual activity.&lt;/p&gt; 
&lt;p&gt;Learn more: MCP Clients - (Understanding the potential security risks)[&lt;a href=&quot;https://www.atlassian.com/blog/artificial-intelligence/mcp-risk-awareness&quot;&gt;https://www.atlassian.com/blog/artificial-intelligence/mcp-risk-awareness&lt;/a&gt;]&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/dc524744f0d7597163ac2bf074bd2db8a520eb9eec8bf93cde889e897e8dc3a9/atlassian/atlassian-mcp-server" medium="image" />
      
    </item>
    
    <item>
      <title>ykdojo/claude-code-tips</title>
      <link>https://github.com/ykdojo/claude-code-tips</link>
      <description>&lt;p&gt;45 tips for getting the most out of Claude Code, from basics to advanced - includes a custom status line script, cutting the system prompt in half, using Gemini CLI as Claude Code&#39;s minion, and Claude Code running itself in a container. Also includes the dx plugin.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;45 Claude Code Tips: From Basics to Advanced&lt;/h1&gt; 
&lt;p&gt;Here are my tips for getting the most out of Claude Code, including a custom status line script, cutting the system prompt in half, using Gemini CLI as Claude Code&#39;s minion, and Claude Code running itself in a container. Also includes the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;dx plugin&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;📺 &lt;a href=&quot;https://www.youtube.com/watch?v=hiISl558JGE&quot;&gt;Quick demo&lt;/a&gt; - See some of these tips in action with a multi-Claude workflow and voice input:&lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=hiISl558JGE&quot;&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/demo-thumbnail.png&quot; alt=&quot;Demo video thumbnail&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;!-- TOC --&gt; 
&lt;h2&gt;Table of Contents&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-0-customize-your-status-line&quot;&gt;Tip 0: Customize your status line&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-1-learn-a-few-essential-slash-commands&quot;&gt;Tip 1: Learn a few essential slash commands&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-2-talk-to-claude-code-with-your-voice&quot;&gt;Tip 2: Talk to Claude Code with your voice&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-3-break-down-large-problems-into-smaller-ones&quot;&gt;Tip 3: Break down large problems into smaller ones&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-4-using-git-and-github-cli-like-a-pro&quot;&gt;Tip 4: Using Git and GitHub CLI like a pro&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-5-ai-context-is-like-milk-its-best-served-fresh-and-condensed&quot;&gt;Tip 5: AI context is like milk; it&#39;s best served fresh and condensed!&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-6-getting-output-out-of-your-terminal&quot;&gt;Tip 6: Getting output out of your terminal&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-7-set-up-terminal-aliases-for-quick-access&quot;&gt;Tip 7: Set up terminal aliases for quick access&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-8-proactively-compact-your-context&quot;&gt;Tip 8: Proactively compact your context&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-9-complete-the-write-test-cycle-for-autonomous-tasks&quot;&gt;Tip 9: Complete the write-test cycle for autonomous tasks&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-10-cmda-and-ctrla-are-your-friends&quot;&gt;Tip 10: Cmd+A and Ctrl+A are your friends&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-11-use-gemini-cli-as-a-fallback-for-blocked-sites&quot;&gt;Tip 11: Use Gemini CLI as a fallback for blocked sites&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-12-invest-in-your-own-workflow&quot;&gt;Tip 12: Invest in your own workflow&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-13-search-through-your-conversation-history&quot;&gt;Tip 13: Search through your conversation history&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-14-multitasking-with-terminal-tabs&quot;&gt;Tip 14: Multitasking with terminal tabs&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-15-slim-down-the-system-prompt&quot;&gt;Tip 15: Slim down the system prompt&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-16-git-worktrees-for-parallel-branch-work&quot;&gt;Tip 16: Git worktrees for parallel branch work&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-17-manual-exponential-backoff-for-long-running-jobs&quot;&gt;Tip 17: Manual exponential backoff for long-running jobs&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-18-claude-code-as-a-writing-assistant&quot;&gt;Tip 18: Claude Code as a writing assistant&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-19-markdown-is-the-st&quot;&gt;Tip 19: Markdown is the s**t&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-20-use-notion-to-preserve-links-when-pasting&quot;&gt;Tip 20: Use Notion to preserve links when pasting&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-21-containers-for-long-running-risky-tasks&quot;&gt;Tip 21: Containers for long-running risky tasks&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-22-the-best-way-to-get-better-at-using-claude-code-is-by-using-it&quot;&gt;Tip 22: The best way to get better at using Claude Code is by using it&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-23-clonefork-and-half-clone-conversations&quot;&gt;Tip 23: Clone/fork and half-clone conversations&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-24-use-realpath-to-get-absolute-paths&quot;&gt;Tip 24: Use realpath to get absolute paths&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-25-understanding-claudemd-vs-skills-vs-slash-commands-vs-plugins&quot;&gt;Tip 25: Understanding CLAUDE.md vs Skills vs Slash Commands vs Plugins&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-26-interactive-pr-reviews&quot;&gt;Tip 26: Interactive PR reviews&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-27-claude-code-as-a-research-tool&quot;&gt;Tip 27: Claude Code as a research tool&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-28-mastering-different-ways-of-verifying-its-output&quot;&gt;Tip 28: Mastering different ways of verifying its output&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-29-claude-code-as-a-devops-engineer&quot;&gt;Tip 29: Claude Code as a DevOps engineer&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-30-keep-claudemd-simple-and-review-it-periodically&quot;&gt;Tip 30: Keep CLAUDE.md simple and review it periodically&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-31-claude-code-as-the-universal-interface&quot;&gt;Tip 31: Claude Code as the universal interface&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-32-its-all-about-choosing-the-right-level-of-abstraction&quot;&gt;Tip 32: It&#39;s all about choosing the right level of abstraction&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-33-audit-your-approved-commands&quot;&gt;Tip 33: Audit your approved commands&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-34-write-lots-of-tests-and-use-tdd&quot;&gt;Tip 34: Write lots of tests (and use TDD)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-35-be-braver-in-the-unknown-iterative-problem-solving&quot;&gt;Tip 35: Be braver in the unknown; iterative problem solving&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-36-running-bash-commands-and-subagents-in-the-background&quot;&gt;Tip 36: Running bash commands and subagents in the background&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-37-the-era-of-personalized-software-is-here&quot;&gt;Tip 37: The era of personalized software is here&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-38-navigating-and-editing-your-input-box&quot;&gt;Tip 38: Navigating and editing your input box&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-39-spend-some-time-planning-but-also-prototype-quickly&quot;&gt;Tip 39: Spend some time planning, but also prototype quickly&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-40-simplify-overcomplicated-code&quot;&gt;Tip 40: Simplify overcomplicated code&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-41-automation-of-automation&quot;&gt;Tip 41: Automation of automation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-42-share-your-knowledge-and-contribute-where-you-can&quot;&gt;Tip 42: Share your knowledge and contribute where you can&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-43-keep-learning&quot;&gt;Tip 43: Keep learning!&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;Tip 44: Install the dx plugin&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-45-quick-setup-script&quot;&gt;Tip 45: Quick setup script&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;!-- /TOC --&gt; 
&lt;h2&gt;Tip 0: Customize your status line&lt;/h2&gt; 
&lt;p&gt;You can customize the status line at the bottom of Claude Code to show useful info. I set mine up to show the model, current directory, git branch (if any), uncommitted file count, sync status with origin, and a visual progress bar for token usage. It also shows a second line with my last message so I can see what the conversation was about:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Opus 4.5 | 📁claude-code-tips | 🔀main (scripts/context-bar.sh uncommitted, synced 12m ago) | ██░░░░░░░░ 18% of 200k tokens
💬 This is good. I don&#39;t think we need to change the documentation as long as we don&#39;t say that the default color is orange el...
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This is especially helpful for keeping an eye on your context usage and remembering what you were working on. The script also supports 10 color themes (orange, blue, teal, green, lavender, rose, gold, slate, cyan, or gray).&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/color-preview.png&quot; alt=&quot;Color preview options&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;To set this up, you can use &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/context-bar.sh&quot;&gt;this sample script&lt;/a&gt; and check the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/README.md&quot;&gt;setup instructions&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Tip 1: Learn a few essential slash commands&lt;/h2&gt; 
&lt;p&gt;There are a bunch of built-in slash commands (type &lt;code&gt;/&lt;/code&gt; to see them all). Here are a few worth knowing:&lt;/p&gt; 
&lt;h3&gt;/usage&lt;/h3&gt; 
&lt;p&gt;Check your rate limits:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt; Current session
 █████████▌                                         19% used
 Resets 12:59am (America/Vancouver)

 Current week (all models)
 █████████████████████▌                             43% used
 Resets Feb 3 at 1:59pm (America/Vancouver)

 Current week (Sonnet only)
 ███████████████████▌                               39% used
 Resets 8:59am (America/Vancouver)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;If you want to watch your usage closely, keep it open in a tab and use Tab then Shift+Tab or ← then → to refresh.&lt;/p&gt; 
&lt;h3&gt;/chrome&lt;/h3&gt; 
&lt;p&gt;Toggle Claude&#39;s native browser integration:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;&amp;gt; /chrome
Chrome integration enabled
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;/mcp&lt;/h3&gt; 
&lt;p&gt;Manage MCP (Model Context Protocol) servers:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt; Manage MCP servers
 1 server

 ❯ 1. playwright  ✔ connected · Enter to view details

 MCP Config locations (by scope):
  • User config (available in all your projects):
    • /Users/yk/.claude.json
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;/stats&lt;/h3&gt; 
&lt;p&gt;View your usage statistics with a GitHub-style activity graph:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;      Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan
      ··········································▒█░▓░█░▓▒▒
  Mon ·········································▒▒██▓░█▓█░█
      ·········································░▒█▒▓░█▒█▒█
  Wed ········································░▓▒█▓▓░▒▓▒██
      ········································░▓░█▓▓▓▓█░▒█
  Fri ········································▒░░▓▒▒█▓▓▓█
      ········································▒▒░▓░░▓▒▒░░

      Less ░ ▒ ▓ █ More

  Favorite model: Opus 4.5        Total tokens: 17.6m

  Sessions: 4.1k                  Longest session: 20h 40m 45s
  Active days: 79/80              Longest streak: 75 days
  Most active day: Jan 26         Current streak: 74 days

  You&#39;ve used ~24x more tokens than War and Peace
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;/clear&lt;/h3&gt; 
&lt;p&gt;Clear the conversation and start fresh.&lt;/p&gt; 
&lt;h2&gt;Tip 2: Talk to Claude Code with your voice&lt;/h2&gt; 
&lt;p&gt;I found that you can communicate much faster with your voice than typing with your hands. Using a voice transcription system on your local machine is really helpful for this.&lt;/p&gt; 
&lt;p&gt;On my Mac, I&#39;ve tried a few different options:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://superwhisper.com/&quot;&gt;superwhisper&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://goodsnooze.gumroad.com/l/macwhisper&quot;&gt;MacWhisper&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ykdojo/super-voice-assistant&quot;&gt;Super Voice Assistant&lt;/a&gt; (open source, supports Parakeet v2/v3)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can get more accuracy by using a hosted service, but I found that a local model is strong enough for this purpose. Even when there are mistakes or typos in the transcription, Claude is smart enough to understand what you&#39;re trying to say. Sometimes you need to say certain things extra clearly, but overall local models work well enough.&lt;/p&gt; 
&lt;p&gt;For example, in this screenshot you can see that Claude was able to interpret mistranscribed words like &quot;ExcelElanishMark&quot; and &quot;advast&quot; correctly as &quot;exclamation mark&quot; and &quot;Advanced&quot;:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/voice-transcription-mistakes.png&quot; alt=&quot;Voice transcription mistakes interpreted correctly&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;I think the best way to think about this is like you&#39;re trying to communicate with your friend. Of course, you can communicate through texts. That might be easier for some people, or emails, right? That&#39;s totally fine. That&#39;s what most people seem to do with Claude Code. But if you want to communicate faster, why wouldn&#39;t you get on a quick phone call? You can just send voice messages. You don&#39;t need to literally have a phone call with Claude Code. Just send a bunch of voice messages. It&#39;s faster, at least for me, as someone who&#39;s practiced the art of speaking a lot over the past number of years. But I think for a majority of people, it&#39;s going to be faster too.&lt;/p&gt; 
&lt;p&gt;A common objection is &quot;what if you&#39;re in a room with other people?&quot; I just whisper using earphones - I personally like Apple EarPods (not AirPods). They&#39;re affordable, high quality enough, and you just whisper into them quietly. I&#39;ve done it in front of other people and it works well. In offices, people talk anyway - instead of talking to coworkers, you&#39;re talking quietly to your voice transcription system. I don&#39;t think there&#39;s any problem with that. This method works so well that it even works on a plane. It&#39;s loud enough that other people won&#39;t hear you, but if you speak close enough to the mic, your local model can still understand what you&#39;re saying. (In fact, I&#39;m writing this very paragraph using that method on a flight.)&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Claude Code now has a &lt;a href=&quot;https://x.com/bcherny/status/2032238378389840018&quot;&gt;built-in voice mode&lt;/a&gt;. I tested it and it works well, but I still personally use a local model because I find it faster.&lt;/p&gt; 
&lt;h2&gt;Tip 3: Break down large problems into smaller ones&lt;/h2&gt; 
&lt;p&gt;This is one of the most important concepts to master. It&#39;s exactly the same as traditional software engineering - the best software engineers already know how to do this, and it applies to Claude Code too.&lt;/p&gt; 
&lt;p&gt;If you find that Claude Code isn&#39;t able to one-shot a difficult problem or coding task, ask it to break it down into multiple smaller issues. See if it can solve an individual part of that problem. If it&#39;s still too hard, see if it can solve an even smaller sub-problem. Keep going until everything is solvable.&lt;/p&gt; 
&lt;p&gt;Essentially, instead of going from A to B:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/breakdown-direct.png&quot; alt=&quot;Direct approach&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;You can go from A to A1 to A2 to A3, then to B:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/breakdown-steps.png&quot; alt=&quot;Step-by-step approach&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;A good example of this is when I was building my own voice transcription system. I needed to build a system that could let the user select and download a model, take keyboard shortcuts, start transcribing, put the transcribed text at the user&#39;s cursor, and wrap all of this in a nice UI. That&#39;s a lot. So I broke it down into smaller tasks. First, I created an executable that would just download a model, nothing else. Then I created another one that would just record voice, nothing else. Then another one that would just transcribe pre-recorded audio. I completed them one by one like that before combining them at the end.&lt;/p&gt; 
&lt;p&gt;Highly related to this: your problem-solving skills and software engineering skills are still highly relevant in the world of agentic coding and Claude Code. It&#39;s able to solve a lot of problems on its own, but when you apply your general problem-solving and software engineering skills to it, it becomes a lot more powerful.&lt;/p&gt; 
&lt;h2&gt;Tip 4: Using Git and GitHub CLI like a pro&lt;/h2&gt; 
&lt;p&gt;Just ask Claude to handle your Git and GitHub CLI tasks. This includes committing (so you don&#39;t have to write commit messages manually), branching, pulling, and pushing.&lt;/p&gt; 
&lt;p&gt;I personally allow pull automatically but not push, because push is riskier - it doesn&#39;t contaminate the origin if something goes wrong with a pull.&lt;/p&gt; 
&lt;p&gt;For GitHub CLI (&lt;code&gt;gh&lt;/code&gt;), there&#39;s a lot you can do. One thing I started doing more after using Claude Code is creating draft PRs. This lets Claude Code handle the PR creation process with low risk - you can review everything before marking it ready for review.&lt;/p&gt; 
&lt;p&gt;And it turns out, &lt;code&gt;gh&lt;/code&gt; is pretty powerful. You can even send arbitrary GraphQL queries through it. For example, you can even find the exact times at which GitHub PR descriptions were edited:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;⏺ Bash(gh api graphql -f query=&#39;
      query {
        repository(owner: &quot;...&quot;, name: &quot;...&quot;) {
          pullRequest(number: ...) {
            userContentEdits(first: 100) {
              nodes { editedAt editor { login } }
            }
          }
        }
      }&#39;)

⏺ Here&#39;s the full edit history for your PR description:

  | #  | Edited At (UTC)     | Editor |
  |----|---------------------|--------|
  | 1  | 2025-12-01 00:08:34 | ykdojo |
  | 2  | 2025-12-01 15:57:21 | ykdojo |
  | 3  | 2025-12-01 16:24:33 | ykdojo |
  | 4  | 2025-12-01 16:27:00 | ykdojo |
  | 5  | 2025-12-04 00:40:02 | ykdojo |
  ...
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Disable commit/PR attribution&lt;/h3&gt; 
&lt;p&gt;By default, Claude Code adds a &lt;code&gt;Co-Authored-By&lt;/code&gt; trailer to commits and an attribution footer to PRs. You can disable both by adding this to &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;attribution&quot;: {
    &quot;commit&quot;: &quot;&quot;,
    &quot;pr&quot;: &quot;&quot;
  }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Setting both to empty strings removes the attribution entirely. This replaces the older &lt;code&gt;includeCoAuthoredBy&lt;/code&gt; setting, which is now deprecated.&lt;/p&gt; 
&lt;h2&gt;Tip 5: AI context is like milk; it&#39;s best served fresh and condensed!&lt;/h2&gt; 
&lt;p&gt;When you start a new conversation with Claude Code, it performs the best because it doesn&#39;t have all the added complexity of having to process the previous context from earlier parts of the conversation. But as you talk to it longer and longer, the context gets longer and the performance tends to go down.&lt;/p&gt; 
&lt;p&gt;So it&#39;s best to start a new conversation for every new topic, or if the performance starts to go down.&lt;/p&gt; 
&lt;h2&gt;Tip 6: Getting output out of your terminal&lt;/h2&gt; 
&lt;p&gt;Sometimes you want to copy and paste Claude Code&#39;s output, but copying directly from the terminal isn&#39;t always clean. Here are a few ways to get content out more easily:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;code&gt;/copy&lt;/code&gt; command&lt;/strong&gt;: The simplest option - just type &lt;code&gt;/copy&lt;/code&gt; to copy Claude&#39;s last response to your clipboard as markdown&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Clipboard directly&lt;/strong&gt;: On Mac or Linux, ask Claude to use &lt;code&gt;pbcopy&lt;/code&gt; to send output straight to your clipboard&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Write to a file&lt;/strong&gt;: Have Claude put the content in a file, then ask it to open it in VS Code (or your favorite editor) so you can copy from there. You can also specify a line number, so you can ask Claude to open the specific line it just edited. For markdown files, once it&#39;s open in VS Code, you can use Cmd+Shift+P (or Ctrl+Shift+P on Linux/Windows) and select &quot;Markdown: Open Preview&quot; to see the rendered version&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Opening URLs&lt;/strong&gt;: If there&#39;s a URL you want to examine yourself, ask Claude to open it in your browser. On Mac, you can ask it to use the &lt;code&gt;open&lt;/code&gt; command, but in general asking to open in your favorite browser should work on any platform&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;GitHub Desktop&lt;/strong&gt;: You can ask Claude to open the current repo in GitHub Desktop. This is particularly useful when it&#39;s working in a non-root directory - for example, if you asked it to create a git worktree in a different directory and you haven&#39;t opened Claude Code from there yet&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can combine some of these together too. For example, if you want to edit a GitHub PR description, instead of having Claude edit it directly (which it might mess up), you can have it copy the content into a local file first. Let it edit that, check the result yourself, and once it looks good, have it copy and paste it back into the GitHub PR. That works really well. Or if you want to do that yourself, you can just ask it to open it in VS Code or give it to you via pbcopy so you can copy and paste it manually.&lt;/p&gt; 
&lt;p&gt;Of course, you can run these commands yourself, but if you find yourself doing it repetitively, it&#39;s helpful to let Claude run them for you.&lt;/p&gt; 
&lt;h2&gt;Tip 7: Set up terminal aliases for quick access&lt;/h2&gt; 
&lt;p&gt;Since I use the terminal more because of Claude Code, I found it helpful to set up short aliases so I can launch things quickly. Here are the ones I use:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;c&lt;/code&gt; for Claude Code (this is the one I use the most)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;ch&lt;/code&gt; for Claude Code with Chrome integration&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;gb&lt;/code&gt; for GitHub Desktop&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;co&lt;/code&gt; for VS Code&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;q&lt;/code&gt; for going to the project directory where I have most projects. From there I can manually cd into an individual folder to work on that project, or I can just launch Claude Code with &lt;code&gt;c&lt;/code&gt; to let it basically have access to any project it needs to access.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;To set these up, add lines like this to your shell config file (&lt;code&gt;~/.zshrc&lt;/code&gt; or &lt;code&gt;~/.bashrc&lt;/code&gt;):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;alias c=&#39;claude&#39;
alias ch=&#39;claude --chrome&#39;
alias gb=&#39;github&#39;
alias co=&#39;code&#39;
alias q=&#39;cd ~/Desktop/projects&#39;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Once you have these aliases, you can combine them with flags: &lt;code&gt;c -c&lt;/code&gt; continues your last conversation, and &lt;code&gt;c -r&lt;/code&gt; shows a list of recent conversations to resume. These work with &lt;code&gt;ch&lt;/code&gt; too (&lt;code&gt;ch -c&lt;/code&gt;, &lt;code&gt;ch -r&lt;/code&gt;) for Chrome sessions.&lt;/p&gt; 
&lt;h2&gt;Tip 8: Proactively compact your context&lt;/h2&gt; 
&lt;p&gt;There&#39;s a &lt;code&gt;/compact&lt;/code&gt; command in Claude Code that summarizes your conversation to free up context space. Automatic compaction also happens when the full available context is filled. The total available context window for Opus 4.5 is currently 200k, and 45k of that is reserved for automatic compaction. About 10% of the total 200k is automatically filled with the system prompt, tools, memory, and dynamic context. But I found that it&#39;s better to proactively do it and manually tune it. I turned off auto-compact with &lt;code&gt;/config&lt;/code&gt; so I have more context available for the main conversation and more control over when and how compaction happens.&lt;/p&gt; 
&lt;p&gt;The way I do this is to ask Claude to write a handoff document before starting fresh. Something like:&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;Put the rest of the plan in the system-prompt-extraction folder as &lt;a href=&quot;http://HANDOFF.md&quot;&gt;HANDOFF.md&lt;/a&gt;. Explain what you have tried, what worked, what didn&#39;t work, so that the next agent with fresh context is able to just load that file and nothing else to get started on this task and finish it up.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;Claude will create a file summarizing the current state of work:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;⏺ Write(experiments/system-prompt-extraction/HANDOFF.md)
  ⎿  Wrote 129 lines to experiments/system-prompt-extraction/HANDOFF.md
     # System Prompt Slimming - Handoff Document
     ## Goal
     Reduce Claude Code&#39;s system prompt by ~45% (currently at 11%, need ~34% more).
     ## Current Progress
     ### What&#39;s Been Done
     - **Backup/restore system**: `backup-cli.sh` and `restore-cli.sh` with SHA256 verification
     - **Patch system**: `patch-cli.js` that restores from backup then applies patches
     ...
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;After Claude writes it, review it quickly. If something&#39;s missing, ask for edits:&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;Did you add a note about iteratively testing instead of trying to do everything all at once?&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;Then start a fresh conversation. For the fresh agent, you can just give the path of the file and nothing else like this, and it should work just fine:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;&amp;gt; experiments/system-prompt-extraction/HANDOFF.md
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In subsequent conversations, you can ask the agent to update the document for the next agent.&lt;/p&gt; 
&lt;p&gt;I&#39;ve also created a &lt;code&gt;/handoff&lt;/code&gt; slash command that automates this - it checks for an existing &lt;a href=&quot;http://HANDOFF.md&quot;&gt;HANDOFF.md&lt;/a&gt;, reads it if present, then creates or updates it with the goal, progress, what worked, what didn&#39;t, and next steps. You can find it in the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/skills/handoff/SKILL.md&quot;&gt;skills folder&lt;/a&gt;, or install it via the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;dx plugin&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Alternative: Use plan mode&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;Another option is to use plan mode. Enter it with &lt;code&gt;/plan&lt;/code&gt; or Shift+Tab. Ask Claude to gather all the relevant context and create a comprehensive plan for the next agent:&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;I just enabled plan mode. Bring over all of the context that you need for the next agent. The next agent will not have any other context, so you&#39;ll need to be pretty comprehensive.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;Claude will explore the codebase, gather context, and write a detailed plan. When it&#39;s done, you&#39;ll see options like:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Would you like to proceed?

❯ 1. Yes, clear context and auto-accept edits (shift+tab)
  2. Yes, auto-accept edits
  3. Yes, manually approve edits
  4. Type here to tell Claude what to change
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Option 1 clears the previous context and starts fresh with the plan. The new Claude instance sees only the plan, so it can focus without the baggage of the old conversation. It also gets a link to the old transcript file in case it needs to look up specific details.&lt;/p&gt; 
&lt;h2&gt;Tip 9: Complete the write-test cycle for autonomous tasks&lt;/h2&gt; 
&lt;p&gt;If you want Claude Code to run something autonomously, like &lt;code&gt;git bisect&lt;/code&gt;, you need to give it a way to verify results. The key is completing the write-test cycle: write code, run it, check the output, and repeat.&lt;/p&gt; 
&lt;p&gt;For example, let&#39;s say you&#39;re working on Claude Code itself and you notice &lt;code&gt;/compact&lt;/code&gt; stopped working and started throwing a 400 error. A classic tool to find the exact commit that caused this is &lt;code&gt;git bisect&lt;/code&gt;. The nice thing is you can let Claude Code run bisect on itself, but it needs a way to test each commit.&lt;/p&gt; 
&lt;p&gt;For tasks that involve interactive terminals like Claude Code, you can use tmux. The pattern is:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Start a tmux session&lt;/li&gt; 
 &lt;li&gt;Send commands to it&lt;/li&gt; 
 &lt;li&gt;Capture the output&lt;/li&gt; 
 &lt;li&gt;Verify it&#39;s what you expect&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;Here&#39;s a simple example of testing if &lt;code&gt;/context&lt;/code&gt; works:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;tmux kill-session -t test-session 2&amp;gt;/dev/null
tmux new-session -d -s test-session
tmux send-keys -t test-session &#39;claude&#39; Enter
sleep 2
tmux send-keys -t test-session &#39;/context&#39; Enter
sleep 1
tmux capture-pane -t test-session -p
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Once you have a test like this, Claude Code can run &lt;code&gt;git bisect&lt;/code&gt; and automatically test each commit until it finds the one that broke things.&lt;/p&gt; 
&lt;p&gt;This is also an example of why your software engineering skills still matter. If you&#39;re a software engineer, you probably know about tools like &lt;code&gt;git bisect&lt;/code&gt;. That knowledge is still really valuable when working with AI - you just apply it in new ways.&lt;/p&gt; 
&lt;p&gt;Another example is simply writing tests. After you let Claude Code write some code, if you want to test it, you can just let it write tests for itself too. And let it run on its own and fix things if it can. Of course, it doesn&#39;t always go in the right direction and you need to supervise it sometimes, but it&#39;s able to do a surprising amount of coding tasks on its own.&lt;/p&gt; 
&lt;h3&gt;Creative testing strategies&lt;/h3&gt; 
&lt;p&gt;Sometimes you need to be creative with how you complete the write-test cycle. For example, if you&#39;re building a web app, you could use Playwright MCP, Chrome DevTools MCP, or Claude&#39;s native browser integration (through &lt;code&gt;/chrome&lt;/code&gt;). I haven&#39;t tried Chrome DevTools yet, but I&#39;ve tried Playwright and Claude&#39;s native integration. Overall, Playwright generally works better. It does use a lot of context, but the 200k context window is normally enough for a single task or a few smaller tasks.&lt;/p&gt; 
&lt;p&gt;The main difference between these two seems to be that Playwright focuses on the accessibility tree (structured data about page elements) rather than taking screenshots. It does have the ability to take screenshots, but it doesn&#39;t normally use them to take actions. On the other hand, Claude&#39;s native browser integration focuses more on taking screenshots and clicking on elements by specific coordinates. It can click on random things sometimes, and the whole process can be slow.&lt;/p&gt; 
&lt;p&gt;This might improve over time, but by default I would go with Playwright for most tasks that aren&#39;t visually intensive. I&#39;d only use Claude&#39;s native browser integration if I need to use a logged-in state without having to provide credentials (since it runs in your own browser profile), or if it specifically needs to click on things visually using their coordinates.&lt;/p&gt; 
&lt;p&gt;This is why I disable Claude&#39;s native browser integration by default and use it through the &lt;code&gt;ch&lt;/code&gt; shortcut I defined previously. That way Playwright handles most browser tasks, and I only enable Claude&#39;s native integration when I specifically need it.&lt;/p&gt; 
&lt;p&gt;Additionally, you can ask it to use accessibility tree refs instead of coordinates. Here&#39;s what I put in my &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; for this:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;# Claude for Chrome

- Use `read_page` to get element refs from the accessibility tree
- Use `find` to locate elements by description
- Click/interact using `ref`, not coordinates
- NEVER take screenshots unless explicitly requested by the user
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;In my personal experience, I&#39;ve also had a situation where I was working on a Python library (&lt;a href=&quot;https://github.com/Eventual-Inc/Daft&quot;&gt;Daft&lt;/a&gt;) and needed to test a version I built locally on Google Colab. The trouble is it&#39;s hard to build a Python library with a Rust backend on Google Colab - it doesn&#39;t seem to work that well. So I needed to actually build a wheel locally and then upload it manually so that I could run it on Google Colab. I also tried monkey patching, which worked well in the short term before I had to wait for the whole wheel to build locally. I came up with these testing strategies and executed them by going back and forth with Claude Code.&lt;/p&gt; 
&lt;p&gt;Another situation I encountered is I needed to test something on Windows but I&#39;m not running a Windows machine. My CI tests on the same repo were failing because we had some issues with Rust on Windows, and I had no way of testing locally. So I needed to create a draft PR with all the changes, and another draft PR with the same changes plus enabling Windows CI runs on non-main branches. I instructed Claude Code to do all of that, and then I tested the CI directly in that new branch.&lt;/p&gt; 
&lt;h2&gt;Tip 10: Cmd+A and Ctrl+A are your friends&lt;/h2&gt; 
&lt;p&gt;I&#39;ve been saying this for a few years now: Cmd+A and Ctrl+A are friends in the world of AI. This applies to Claude Code too.&lt;/p&gt; 
&lt;p&gt;Sometimes you want to give Claude Code a URL, but it can&#39;t access it directly. Maybe it&#39;s a private page (not sensitive data, just not publicly accessible), or something like a Reddit post that Claude Code has trouble fetching. In those cases, you can just select all the content you see (Cmd+A on Mac, Ctrl+A on other platforms), copy it, and paste it directly into Claude Code. It&#39;s a pretty powerful method.&lt;/p&gt; 
&lt;p&gt;This works great for terminal output too. When I have output from Claude Code itself or any other CLI application, I can use the same trick: select all, copy, and paste it back to CC. Pretty helpful.&lt;/p&gt; 
&lt;p&gt;Some pages don&#39;t lend themselves well to select all by default - but there are tricks to get them into a better state first. For example, with Gmail threads, click Print All to get the print preview (but cancel the actual print). That page shows all emails in the thread expanded, so you can Cmd+A the entire conversation cleanly. For asking questions about a YouTube video or summarizing it, you can click &quot;Show transcript&quot; on a YouTube video and then do Cmd+A or Ctrl+A.&lt;/p&gt; 
&lt;p&gt;This applies to any AI, not just Claude Code.&lt;/p&gt; 
&lt;h2&gt;Tip 11: Use Gemini CLI as a fallback for blocked sites&lt;/h2&gt; 
&lt;p&gt;Claude Code&#39;s WebFetch tool can&#39;t access certain sites, like Reddit. But you can work around this by creating a skill that tells Claude to use Gemini CLI as a fallback. Gemini has web access and can fetch content from sites that Claude can&#39;t reach directly.&lt;/p&gt; 
&lt;p&gt;This uses the same tmux pattern from Tip 9 - start a session, send commands, capture output. The skill file goes in &lt;code&gt;~/.claude/skills/reddit-fetch/SKILL.md&lt;/code&gt;. See &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/skills/reddit-fetch/SKILL.md&quot;&gt;skills/reddit-fetch/SKILL.md&lt;/a&gt; for the full content.&lt;/p&gt; 
&lt;p&gt;Skills are more token-efficient because Claude Code only loads them when needed. If you want something simpler, you can put a condensed version in &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt; instead, but that gets loaded into every conversation whether you need it or not.&lt;/p&gt; 
&lt;p&gt;I tested this by asking Claude Code to check how Claude Code skills are regarded on Reddit - a bit meta. It goes back and forth with Gemini for a while, so it&#39;s not fast, but the report quality was surprisingly good. Obviously, you&#39;ll need to have Gemini CLI installed for this to work. You can also install this skill via the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;dx plugin&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Tip 12: Invest in your own workflow&lt;/h2&gt; 
&lt;p&gt;Personally, I&#39;ve created my own voice transcription app from scratch with Swift. I created my own custom status line from scratch using Claude Code, this one with bash. And I created my own system for simplifying the system prompt in Claude Code&#39;s minified JavaScript file.&lt;/p&gt; 
&lt;p&gt;But you don&#39;t have to go overboard like that. Just taking care of your own &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt;, making sure it&#39;s as concise as possible while being able to help you achieve your goals - stuff like that is helpful. And of course, learning these tips, learning these tools, and some of the most important features.&lt;/p&gt; 
&lt;p&gt;All of these are investments in the tools you use to build whatever you want to build. I think it&#39;s important to spend at least a little bit of time on that.&lt;/p&gt; 
&lt;h2&gt;Tip 13: Search through your conversation history&lt;/h2&gt; 
&lt;p&gt;You can ask Claude Code about your past conversations, and it&#39;ll help you find and search through them. Your conversation history is stored locally in &lt;code&gt;~/.claude/projects/&lt;/code&gt;, with folder names based on the project path (slashes become dashes).&lt;/p&gt; 
&lt;p&gt;For example, conversations for a project at &lt;code&gt;/Users/yk/Desktop/projects/claude-code-tips&lt;/code&gt; would be stored in:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;~/.claude/projects/-Users-yk-Desktop-projects-claude-code-tips/
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Each conversation is a &lt;code&gt;.jsonl&lt;/code&gt; file. You can search through them with basic bash commands:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Find all conversations mentioning &quot;Reddit&quot;
grep -l -i &quot;reddit&quot; ~/.claude/projects/-Users-yk-Desktop-projects-*/*.jsonl

# Find today&#39;s conversations about a topic
find ~/.claude/projects/-Users-yk-Desktop-projects-*/*.jsonl -mtime 0 -exec grep -l -i &quot;keyword&quot; {} \;

# Extract just the user messages from a conversation (requires jq)
cat ~/.claude/projects/.../conversation-id.jsonl | jq -r &#39;select(.type==&quot;user&quot;) | .message.content&#39;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Or just ask Claude Code directly: &quot;What did we talk about regarding X today?&quot; and it&#39;ll search through the history for you.&lt;/p&gt; 
&lt;h2&gt;Tip 14: Multitasking with terminal tabs&lt;/h2&gt; 
&lt;p&gt;When running multiple Claude Code instances, staying organized is more important than any specific technical setup like Git worktrees. I recommend focusing on at most three or four tasks at a time.&lt;/p&gt; 
&lt;p&gt;My personal method is what I would call a &quot;cascade&quot; - whenever I start a new task, I just open a new tab on the right. Then I sweep left to right, left to right, going from oldest tasks to newest. The general direction stays consistent, except when I need to check on certain tasks, get notifications, etc.&lt;/p&gt; 
&lt;p&gt;Here&#39;s what my setup typically looks like:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/multitasking-terminal-tabs.png&quot; alt=&quot;Terminal tabs showing multitasking workflow&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;In this example:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;&lt;strong&gt;Leftmost tab&lt;/strong&gt; - A persistent tab running my voice transcription system (always stays here)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Second tab&lt;/strong&gt; - Setting up a Docker container&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Third tab&lt;/strong&gt; - Checking disk usage on my local machine&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Fourth tab&lt;/strong&gt; - Working on an engineering project&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Fifth tab (current)&lt;/strong&gt; - Writing this very tip&lt;/li&gt; 
&lt;/ol&gt; 
&lt;h2&gt;Tip 15: Slim down the system prompt&lt;/h2&gt; 
&lt;p&gt;Claude Code&#39;s system prompt and tool definitions take up about 19k tokens (~10% of your 200k context) before you even start working. I created a patch system that reduces this to about 9k tokens - saving around 10,000 tokens (~50% of the overhead).&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Component&lt;/th&gt; 
   &lt;th&gt;Before&lt;/th&gt; 
   &lt;th&gt;After&lt;/th&gt; 
   &lt;th&gt;Savings&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;System prompt&lt;/td&gt; 
   &lt;td&gt;3.0k&lt;/td&gt; 
   &lt;td&gt;1.8k&lt;/td&gt; 
   &lt;td&gt;1,200 tokens&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;System tools&lt;/td&gt; 
   &lt;td&gt;15.6k&lt;/td&gt; 
   &lt;td&gt;7.4k&lt;/td&gt; 
   &lt;td&gt;8,200 tokens&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;~19k&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;~9k&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;&lt;strong&gt;~10k tokens (~50%)&lt;/strong&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;Here&#39;s what &lt;code&gt;/context&lt;/code&gt; looks like before and after patching:&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Unpatched (~20k, 10%)&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/context-unpatched.png&quot; alt=&quot;Unpatched context&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Patched (~10k, 5%)&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/context-patched.png&quot; alt=&quot;Patched context&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;The patches work by trimming verbose examples and redundant text from the minified CLI bundle while keeping all the essential instructions.&lt;/p&gt; 
&lt;p&gt;I&#39;ve tested this extensively and it works well. It feels more raw - more powerful, but maybe a little less regulated, which makes sense because the system instruction is shorter. It feels more like a pro tool when you use it this way. I really enjoy starting with lower context because you have more room before it fills up, which gives you the option to continue conversations a bit longer. That&#39;s definitely the best part of this strategy.&lt;/p&gt; 
&lt;p&gt;Check out the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/system-prompt/&quot;&gt;system-prompt folder&lt;/a&gt; for the patch scripts and full details on what gets trimmed.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Why patching?&lt;/strong&gt; Claude Code has flags that let you provide a simplified system prompt from a file (&lt;code&gt;--system-prompt&lt;/code&gt; or &lt;code&gt;--system-prompt-file&lt;/code&gt;), so that&#39;s another way to go about it. But for the tool descriptions, there&#39;s no official option to customize them. Patching the CLI bundle is the only way. Since my patch system handles everything in one unified approach, I&#39;m keeping it this way for now. I might re-implement the system prompt portion using the flag in the future.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Supported installations:&lt;/strong&gt; npm and native binary (macOS and Linux).&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Important&lt;/strong&gt;: If you want to keep your patched system prompt, disable auto-updates by adding this to &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;env&quot;: {
    &quot;DISABLE_AUTOUPDATER&quot;: &quot;1&quot;
  }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This applies to all Claude Code sessions regardless of shell type (interactive, non-interactive, tmux). You can manually update later when you&#39;re ready to re-apply patches to a new version.&lt;/p&gt; 
&lt;h3&gt;Lazy-load MCP tools&lt;/h3&gt; 
&lt;p&gt;If you use MCP servers, their tool definitions are loaded into every conversation by default - even if you don&#39;t use them. This can add significant overhead, especially with multiple servers configured.&lt;/p&gt; 
&lt;p&gt;Enable lazy-loading so MCP tools are only loaded when needed:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;env&quot;: {
    &quot;ENABLE_TOOL_SEARCH&quot;: &quot;true&quot;
  }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Add this to &lt;code&gt;~/.claude/settings.json&lt;/code&gt;. Claude will search for and load MCP tools on-demand rather than having them all present from the start. As of version 2.1.7, this happens automatically when MCP tool descriptions exceed 10% of the context window.&lt;/p&gt; 
&lt;h2&gt;Tip 16: Git worktrees for parallel branch work&lt;/h2&gt; 
&lt;p&gt;If you&#39;re working on multiple things at the same time in the same project and you don&#39;t want them to get conflicted, Git worktrees are a great way to do that. You can just ask Claude Code to create a git worktree and start working on it there - you don&#39;t have to worry about the specific syntax.&lt;/p&gt; 
&lt;p&gt;The basic idea is that you can work on a different branch in a different directory. It&#39;s essentially a branch + a directory.&lt;/p&gt; 
&lt;p&gt;You can add this layer of Git worktrees on top of the cascade method I discussed in the multitasking tip.&lt;/p&gt; 
&lt;h3&gt;What are git worktrees?&lt;/h3&gt; 
&lt;p&gt;A git worktree is just like any other git branch, but with a new directory specifically assigned to it.&lt;/p&gt; 
&lt;p&gt;So if you&#39;re working on, let&#39;s say, the main branch and feature-branch-1, then without git worktrees, you can only work on them one at a time because your project folder can only be set to one branch at a time.&lt;/p&gt; 
&lt;p&gt;However, with a git worktree, you can keep working on the main branch (or any other branch for that matter) in the original project folder, and at the same time work on feature-branch-1 in a new folder.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/git-worktrees.png&quot; alt=&quot;Git worktrees diagram showing parallel branch work in separate directories&quot; /&gt;&lt;/p&gt; 
&lt;h2&gt;Tip 17: Manual exponential backoff for long-running jobs&lt;/h2&gt; 
&lt;p&gt;When waiting on long-running jobs like Docker builds or GitHub CI, you can ask Claude Code to do manual exponential backoff. Exponential backoff is a common technique in software engineering, but you can apply it here too. Ask Claude Code to check the status with increasing sleep intervals - one minute, then two minutes, then four minutes, and so on. It&#39;s not programmatically doing it in the traditional sense - the AI is doing it manually - but it works pretty well.&lt;/p&gt; 
&lt;p&gt;This way the agent can continuously check the status and let you know once it&#39;s done.&lt;/p&gt; 
&lt;p&gt;(For GitHub CI specifically, &lt;code&gt;gh run watch&lt;/code&gt; exists but outputs many lines continuously, which wastes tokens. Manual exponential backoff with &lt;code&gt;gh run view &amp;lt;run-id&amp;gt; | grep &amp;lt;job-name&amp;gt;&lt;/code&gt; is actually more token-efficient. This is also a general technique that works well even when you don&#39;t have a dedicated wait command handy.)&lt;/p&gt; 
&lt;p&gt;For example, if you have a Docker build running in the background:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/manual-exponential-backoff.png&quot; alt=&quot;Manual exponential backoff checking Docker build progress&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;And it keeps going until the job completes.&lt;/p&gt; 
&lt;h2&gt;Tip 18: Claude Code as a writing assistant&lt;/h2&gt; 
&lt;p&gt;Claude Code is an excellent writing assistant and partner. The way I use it for writing is I first give it all the context about what I&#39;m trying to write, and then I give it detailed instructions by speaking to it using my voice. That gives me the first draft. If it&#39;s not good enough, I try a few times.&lt;/p&gt; 
&lt;p&gt;Then I go through it line by line, pretty much. I say okay, let&#39;s take a look at it together. I like this line for these reasons. I feel like this line needs to move over there. This line needs to change in this particular way. I might ask about reference materials as well.&lt;/p&gt; 
&lt;p&gt;So it&#39;s this sort of back-and-forth process, maybe with the terminal on the left and your code editor on the right:&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/writing-assistant-side-by-side.png&quot; alt=&quot;Side-by-side writing workflow with Claude Code&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;That tends to work really well.&lt;/p&gt; 
&lt;h2&gt;Tip 19: Markdown is the s**t&lt;/h2&gt; 
&lt;p&gt;Typically when people write a new document, they might use something like Google Docs or maybe Notion. But now I honestly think the most efficient way to go about it is markdown.&lt;/p&gt; 
&lt;p&gt;Markdown was already pretty good even before AI, but with Claude Code in particular, because it&#39;s so efficient as I mentioned with regards to writing, it makes the value of markdown higher in my opinion. Whenever you want to write a blog post or even a LinkedIn post, you can just talk to Claude Code, have it be saved as markdown, and then go from there.&lt;/p&gt; 
&lt;p&gt;A quick tip for this one: if you want to copy and paste markdown content into a platform that doesn&#39;t accept it easily, you can paste it into a fresh Notion file first, then copy from Notion into the other platform. Notion converts it to a format that other platforms can accept. If regular pasting doesn&#39;t work, try Command + Shift + V to paste without formatting.&lt;/p&gt; 
&lt;h2&gt;Tip 20: Use Notion to preserve links when pasting&lt;/h2&gt; 
&lt;p&gt;It turns out the reverse also works. If you have text with links from other places, let&#39;s say from Slack, you can copy it. If you paste it directly into Claude Code, it doesn&#39;t show the links. But if you put it in a Notion document first, then copy from there, you get it in markdown, which of course Claude Code can read.&lt;/p&gt; 
&lt;h2&gt;Tip 21: Containers for long-running risky tasks&lt;/h2&gt; 
&lt;p&gt;Regular sessions are more for methodical work where you control the permissions you give and review output more carefully. Containerized environments are great for &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; sessions where you don&#39;t have to give permission for each little thing. You can just let it run on its own for a while.&lt;/p&gt; 
&lt;p&gt;This is useful for research or experimentation, things that take a long time and maybe could be risky. A good example is the Reddit research workflow from Tip 11, where the reddit-fetch skill goes back and forth with Gemini CLI through tmux. Running that unsupervised is risky on your main system, but in a container, if something goes wrong, it&#39;s contained.&lt;/p&gt; 
&lt;p&gt;Another example is how I created the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/system-prompt/&quot;&gt;system prompt patching scripts&lt;/a&gt; in this repo. When a new version of Claude Code comes out, I need to update the patches for the minified CLI bundle. Instead of running Claude Code with &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt; on my host machine (where it has access to everything), I run it in a container. Claude Code can explore the minified JavaScript, find the variable mappings, and create new patch files without me approving every little thing that way.&lt;/p&gt; 
&lt;p&gt;In fact, it was able to complete the migration pretty much on its own. It tried applying the patches, found that some didn&#39;t work with the new version, iterated to fix them, and even improved the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/system-prompt/UPGRADING.md&quot;&gt;instruction document&lt;/a&gt; for future instances based on what it learned.&lt;/p&gt; 
&lt;p&gt;I even created &lt;a href=&quot;https://github.com/ykdojo/safeclaw&quot;&gt;SafeClaw&lt;/a&gt; to make running containerized Claude Code sessions easy. It lets you spin up multiple isolated sessions, each with a web terminal, and manage them all from a dashboard. It uses several customizations from this repo, including the optimized system prompt, &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;DX plugin&lt;/a&gt;, and &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-0-customize-your-status-line&quot;&gt;status line&lt;/a&gt;.&lt;/p&gt; 
&lt;h3&gt;Advanced: Orchestrating a worker Claude Code in a container&lt;/h3&gt; 
&lt;p&gt;You can take this further by having your local Claude Code control another Claude Code instance running inside a container. The trick is using tmux as the control layer:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Your local Claude Code starts a tmux session&lt;/li&gt; 
 &lt;li&gt;In that tmux session, it runs or connects to the container&lt;/li&gt; 
 &lt;li&gt;Inside the container, Claude Code runs with &lt;code&gt;--dangerously-skip-permissions&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Your outer Claude Code uses &lt;code&gt;tmux send-keys&lt;/code&gt; to send prompts and &lt;code&gt;capture-pane&lt;/code&gt; to read output&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;This gives you a fully autonomous &quot;worker&quot; Claude Code that can run experimental or long-running tasks without you approving every action. When it&#39;s done, your local Claude Code can pull the results back. If something goes wrong, it&#39;s all sandboxed in the container.&lt;/p&gt; 
&lt;h3&gt;Advanced: Multi-model orchestration&lt;/h3&gt; 
&lt;p&gt;Beyond just Claude Code, you can run different AI CLIs in containers - Codex, Gemini CLI, or others. I tried OpenAI Codex for code review, and it works well. The point isn&#39;t that you can&#39;t run these CLIs directly on your host machine - you obviously can. The value is that Claude Code&#39;s UI/UX is smooth enough that you can just talk to it and let it handle the orchestration: spinning up different models, sending data between containers and your host. Instead of manually switching between terminals and copy-pasting, Claude Code becomes the central interface that coordinates everything.&lt;/p&gt; 
&lt;h2&gt;Tip 22: The best way to get better at using Claude Code is by using it&lt;/h2&gt; 
&lt;p&gt;Recently I saw a world-class rock climber being interviewed by another rock climber. She was asked, &quot;How do you get better at rock climbing?&quot; She simply said, &quot;By rock climbing.&quot;&lt;/p&gt; 
&lt;p&gt;That&#39;s how I feel about this too. Of course, there are supplementary things you can do, like watching videos, reading books, learning about tips. But using Claude Code is the best way to learn how to use it. Using AI in general is the best way to learn how to use AI.&lt;/p&gt; 
&lt;p&gt;I like to think of it like a billion token rule instead of the 10,000 hour rule. If you want to get better at AI and truly get a good intuition about how it works, the best way is to consume a lot of tokens. And nowadays it&#39;s possible. I found that especially with Opus 4.5, it&#39;s powerful enough but affordable enough that you can run multiple sessions at the same time. You don&#39;t have to worry as much about token usage, which frees you up a lot.&lt;/p&gt; 
&lt;h2&gt;Tip 23: Clone/fork and half-clone conversations&lt;/h2&gt; 
&lt;p&gt;Sometimes you want to try a different approach from a specific point in a conversation without losing your original thread. The &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/clone-conversation.sh&quot;&gt;clone-conversation script&lt;/a&gt; lets you duplicate a conversation with new UUIDs so you can branch off.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Built-in alternatives (recent versions):&lt;/strong&gt; Claude Code now has native forking:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;/fork&lt;/code&gt; - forks the current session from within a conversation&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;--fork-session&lt;/code&gt; - use with &lt;code&gt;--resume&lt;/code&gt; or &lt;code&gt;--continue&lt;/code&gt; (e.g., &lt;code&gt;claude -c --fork-session&lt;/code&gt;)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Since &lt;code&gt;--fork-session&lt;/code&gt; has no short form, you can add this function to your &lt;code&gt;~/.zshrc&lt;/code&gt; or &lt;code&gt;~/.bashrc&lt;/code&gt; to use &lt;code&gt;--fs&lt;/code&gt; as a shortcut:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;claude() {
  local args=()
  for arg in &quot;$@&quot;; do
    if [[ &quot;$arg&quot; == &quot;--fs&quot; ]]; then
      args+=(&quot;--fork-session&quot;)
    else
      args+=(&quot;$arg&quot;)
    fi
  done
  command claude &quot;${args[@]}&quot;
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This intercepts all &lt;code&gt;claude&lt;/code&gt; commands, expands &lt;code&gt;--fs&lt;/code&gt; to &lt;code&gt;--fork-session&lt;/code&gt;, and passes everything else through unchanged. Works with aliases too (see &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-7-set-up-terminal-aliases-for-quick-access&quot;&gt;Tip 7&lt;/a&gt;): &lt;code&gt;c -c --fs&lt;/code&gt;, &lt;code&gt;ch -c --fs&lt;/code&gt;, etc.&lt;/p&gt; 
&lt;p&gt;The clone script below predates these built-in options, but the half-clone script below that remains unique for reducing context.&lt;/p&gt; 
&lt;p&gt;The first message is tagged with &lt;code&gt;[CLONED &amp;lt;timestamp&amp;gt;]&lt;/code&gt; (e.g., &lt;code&gt;[CLONED Jan 7 14:30]&lt;/code&gt;), which shows up both in the &lt;code&gt;claude -r&lt;/code&gt; list and inside the conversation.&lt;/p&gt; 
&lt;p&gt;To set it up manually, symlink both files:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;ln -s /path/to/this/repo/scripts/clone-conversation.sh ~/.claude/scripts/clone-conversation.sh
ln -s /path/to/this/repo/skills/clone ~/.claude/skills/clone
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Or install via the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;dx plugin&lt;/a&gt; - no symlinks needed.&lt;/p&gt; 
&lt;p&gt;Then just type &lt;code&gt;/clone&lt;/code&gt; (or &lt;code&gt;/dx:clone&lt;/code&gt; if using the plugin) in any conversation and Claude will handle finding the session ID and running the script.&lt;/p&gt; 
&lt;p&gt;I&#39;ve tested this extensively and the cloning works really well.&lt;/p&gt; 
&lt;h3&gt;Half-clone to reduce context&lt;/h3&gt; 
&lt;p&gt;When a conversation gets too long, the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/half-clone-conversation.sh&quot;&gt;half-clone-conversation script&lt;/a&gt; keeps only the later half. This reduces token usage while preserving your recent work. The first message is tagged with &lt;code&gt;[HALF-CLONE &amp;lt;timestamp&amp;gt;]&lt;/code&gt; (e.g., &lt;code&gt;[HALF-CLONE Jan 7 14:30]&lt;/code&gt;).&lt;/p&gt; 
&lt;p&gt;To set it up manually, symlink both files:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;ln -s /path/to/this/repo/scripts/half-clone-conversation.sh ~/.claude/scripts/half-clone-conversation.sh
ln -s /path/to/this/repo/skills/half-clone ~/.claude/skills/half-clone
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Or install via the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;dx plugin&lt;/a&gt; - no symlinks needed.&lt;/p&gt; 
&lt;h3&gt;Auto-suggest half-clone with a hook&lt;/h3&gt; 
&lt;p&gt;Optionally, you can use a &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code/hooks&quot;&gt;hook&lt;/a&gt; to automatically trigger &lt;code&gt;/half-clone&lt;/code&gt; when your context gets too long. The &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/check-context.sh&quot;&gt;check-context script&lt;/a&gt; runs after every Claude response and checks context usage. If it&#39;s over 85%, it tells Claude to run &lt;code&gt;/half-clone&lt;/code&gt;, which creates a new conversation with only the later half so a new agent can continue there.&lt;/p&gt; 
&lt;p&gt;To set it up, first copy the script:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;cp /path/to/this/repo/scripts/check-context.sh ~/.claude/scripts/check-context.sh
chmod +x ~/.claude/scripts/check-context.sh
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Then add the hook to your &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;hooks&quot;: {
    &quot;Stop&quot;: [
      {
        &quot;hooks&quot;: [
          {
            &quot;type&quot;: &quot;command&quot;,
            &quot;command&quot;: &quot;~/.claude/scripts/check-context.sh&quot;
          }
        ]
      }
    ]
  }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This requires auto-compact to be disabled (&lt;code&gt;/config&lt;/code&gt; &amp;gt; Auto-compact &amp;gt; false), otherwise Claude Code may compact the context before the hook gets a chance to fire. When triggered, the hook blocks Claude from stopping and tells it to run &lt;code&gt;/half-clone&lt;/code&gt;. The advantage over auto-compact is that half-clone is deterministic and fast - it keeps your actual messages intact instead of summarizing them.&lt;/p&gt; 
&lt;h3&gt;Recommended permission for clone scripts&lt;/h3&gt; 
&lt;p&gt;Both clone scripts need to read &lt;code&gt;~/.claude&lt;/code&gt; (for conversation files and history). To avoid permission prompts from any project, add this to your global settings (&lt;code&gt;~/.claude/settings.json&lt;/code&gt;):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;permissions&quot;: {
    &quot;allow&quot;: [&quot;Read(~/.claude)&quot;]
  }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Tip 24: Use realpath to get absolute paths&lt;/h2&gt; 
&lt;p&gt;When you need to tell Claude Code about files in a different folder, use &lt;code&gt;realpath&lt;/code&gt; to get the full absolute path:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;realpath some/relative/path
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Tip 25: Understanding &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; vs Skills vs Slash Commands vs Plugins&lt;/h2&gt; 
&lt;p&gt;These are somewhat similar features and I initially found them pretty confusing. I&#39;ve been unpacking them and trying my best to wrap my head around them, so I wanted to share what I learned.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt;&lt;/strong&gt; is the simplest one. It&#39;s a bunch of files that get treated as the default prompt, loaded into the beginning of every conversation no matter what. The nice thing about it is the simplicity. You can explain what the project is about in a particular project (&lt;code&gt;./CLAUDE.md&lt;/code&gt;) or globally (&lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;).&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Skills&lt;/strong&gt; are like better-structured &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; files. They can be invoked by Claude automatically when relevant, or manually by the user with a slash (e.g., &lt;code&gt;/my-skill&lt;/code&gt;). For example, you could have a skill that opens a Google Translate link with proper formatting when you ask how to pronounce a word in a certain language. If those instructions are in a skill, they only load when needed. If they were in &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt;, they&#39;d already be there taking up space. So skills are more token-efficient in theory.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Slash Commands&lt;/strong&gt; are similar to skills in that they&#39;re ways of packaging instructions separately. They can be invoked manually by the user, or by Claude itself. If you need something more precise, to invoke at the right time at your own pace, slash commands are the tool to use.&lt;/p&gt; 
&lt;p&gt;Skills and slash commands are pretty similar in the way they function. The difference is the intention of the design - skills are primarily designed for Claude to use, and slash commands are primarily designed for the user to use. However, they have ended up &lt;a href=&quot;https://www.reddit.com/r/ClaudeAI/comments/1q92wwv/merged_commands_and_skills_in_213_update/&quot;&gt;merging them&lt;/a&gt;, as I had &lt;a href=&quot;https://github.com/anthropics/claude-code/issues/13115&quot;&gt;suggested this change&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Plugins&lt;/strong&gt; are a way to package skills, slash commands, agents, hooks, and MCP servers together. But a plugin doesn&#39;t have to use all of them. Anthropic&#39;s official &lt;code&gt;frontend-design&lt;/code&gt; plugin is essentially just a skill and nothing else. It could be distributed as a standalone skill, but the plugin format makes it easier to install.&lt;/p&gt; 
&lt;p&gt;For example, I built a plugin called &lt;code&gt;dx&lt;/code&gt; that bundles slash commands and a skill from this repo together. You can see how it works in the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;Install the dx plugin&lt;/a&gt; section.&lt;/p&gt; 
&lt;h2&gt;Tip 26: Interactive PR reviews&lt;/h2&gt; 
&lt;p&gt;Claude Code is great for PR reviews. The procedure is pretty simple: you ask it to retrieve PR information using the &lt;code&gt;gh&lt;/code&gt; command, and then you can go through the review however you want.&lt;/p&gt; 
&lt;p&gt;You can do a general review, or go file by file, step by step. You control the pace. You control how much detail you want to look into and the level of complexity you want to work at. Maybe you just want to understand the general structure, or maybe you want to have it run tests too.&lt;/p&gt; 
&lt;p&gt;The key difference is that Claude Code acts as an interactive PR reviewer, not just a one-shot machine. Some AI tools are good at one-shot reviews (including the latest GPT models), but with Claude Code you can have a conversation.&lt;/p&gt; 
&lt;h2&gt;Tip 27: Claude Code as a research tool&lt;/h2&gt; 
&lt;p&gt;Claude Code is amazing for any sort of research. It&#39;s essentially a Google replacement or deep research replacement, but more advanced in a few different ways. Whether you&#39;re researching why certain GitHub Actions failed (which I&#39;ve been doing a lot recently), doing sentiment or market analysis on Reddit, exploring your codebase, or exploring public information to find something - it&#39;s able to do that.&lt;/p&gt; 
&lt;p&gt;The key is giving it the right pieces of information and instructions about how to access those pieces of information. It might be &lt;code&gt;gh&lt;/code&gt; terminal command access, or the container approach (Tip 21), or Reddit through Gemini CLI (Tip 11), or private information through an MCP like Slack MCP, or the Cmd+A / Ctrl+A method (Tip 10) - whatever it is. Additionally, if Claude Code has trouble loading certain URLs, you can try using Playwright MCP or Claude&#39;s native browser integration (see Tip 9). For scientific research, I created a &lt;a href=&quot;https://github.com/ykdojo/paper-search&quot;&gt;paper-search&lt;/a&gt; plugin for searching academic papers.&lt;/p&gt; 
&lt;p&gt;In fact, I was even able to &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/content/how-i-saved-10k-with-claude-code.md&quot;&gt;save $10,000 by using Claude Code for research&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Tip 28: Mastering different ways of verifying its output&lt;/h2&gt; 
&lt;p&gt;One way to verify its output if it&#39;s code is to have it write tests and make sure the tests look good in general. That&#39;s one way, but you can of course check the code it generates as it goes, just on the Claude Code UI. Another thing is you can use a visual Git client like GitHub Desktop for example. I personally use it. It&#39;s not a perfect product, but it&#39;s good enough for checking changes quickly. And having it generate a PR as I probably mentioned earlier in this post is a great way as well. Have it create a draft PR, check the content before turning it into a real PR.&lt;/p&gt; 
&lt;p&gt;Another one is letting it check itself, its own work. If it gives you some sort of output, let&#39;s say from some research, you can say &quot;are you sure about this? Can you double check?&quot; One of my favorite prompts is to say &quot;double check everything, every single claim in what you produced and at the end make a table of what you were able to verify&quot; - and that seems to work really well.&lt;/p&gt; 
&lt;h2&gt;Tip 29: Claude Code as a DevOps engineer&lt;/h2&gt; 
&lt;p&gt;I wanted to specifically create a separate tip for this because it&#39;s been really amazing for me. Whenever there are GitHub Actions CI failures, I just give it to Claude Code and say &quot;dig into this issue, try to find the root cause.&quot; Sometimes it gives you surface level answers, but if you just keep asking - was it caused by a particular commit, a particular PR, or is it a flaky issue? - it really helps you dig into these nasty issues that are hard to dig into by hand. You would need to wade through a bunch of logs and that would be super painful to do manually, but Claude Code is able to handle a lot of that.&lt;/p&gt; 
&lt;p&gt;I&#39;ve packaged this workflow as a &lt;code&gt;/gha&lt;/code&gt; slash command - just run &lt;code&gt;/gha &amp;lt;url&amp;gt;&lt;/code&gt; with any GitHub Actions URL and it will automatically investigate the failure, check for flakiness, identify breaking commits, and suggest fixes. You can find it in the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/skills/gha/SKILL.md&quot;&gt;skills folder&lt;/a&gt;, or install it via the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#tip-44-install-the-dx-plugin&quot;&gt;dx plugin&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Once you identify what the particular problem was, you can just create a draft PR and go through some of the tips I mentioned earlier - check the output, make sure it looks good, let it verify its own outputs, and then turn it into a real PR to actually fix the issue. It&#39;s been working really well for me personally.&lt;/p&gt; 
&lt;h2&gt;Tip 30: Keep &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; simple and review it periodically&lt;/h2&gt; 
&lt;p&gt;It&#39;s important to keep &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; simple and as concise as possible. You can just start with no &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; at all. And if you find that you keep telling Claude Code the same thing over and over again, then you can just add it to &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt;. I know there is an option to do that through the &lt;code&gt;#&lt;/code&gt; symbol, but I prefer to just ask Claude Code to either add it to the project level &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; or the global &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; and it&#39;ll know what to edit exactly.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/keep-it-simple-meme.jpg&quot; alt=&quot;Keep it simple meme&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;It&#39;s also important to periodically review your &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; files because they can get outdated over time. Instructions that made sense some time ago might no longer be relevant, or you might have new patterns that should be documented. I created a skill for this called &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/skills/review-claudemd/SKILL.md&quot;&gt;&lt;code&gt;review-claudemd&lt;/code&gt;&lt;/a&gt; that analyzes your recent conversations and suggests improvements for your &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; files.&lt;/p&gt; 
&lt;h2&gt;Tip 31: Claude Code as the universal interface&lt;/h2&gt; 
&lt;p&gt;I used to think with Claude Code, CLI is like the new IDE, and it&#39;s still true in a way. I think it&#39;s a great first place to open your project whenever you want to make quick edits and stuff like that. But depending on the severity of your project, you want to be more careful about the outputs than just staying at the vibe coding level.&lt;/p&gt; 
&lt;p&gt;But what&#39;s also true, the more general case of that, is that Claude Code is really the universal interface to your computer, the digital world, any sort of digital problem that you have. You can let it figure it out in many cases. For example, if you need to do a quick edit of your video, you can just ask it to do that - it&#39;ll probably figure out how to do that through ffmpeg or something similar. If you want to transcribe a bunch of audio files or video files that you have locally, you can just ask it to do that - it might suggest to use Whisper through Python. If you want to analyze some data that you have in a CSV file, it might suggest to use Python or JavaScript to visualize that. And of course with internet access - Reddit, GitHub, MCPs - the possibilities are endless.&lt;/p&gt; 
&lt;p&gt;It&#39;s also great for any operations you want to perform on your local computer. For example, if you&#39;re running out of storage, you can just ask it to give you some advice on how to clean that up. It&#39;ll look through your local folders and files, try to find what&#39;s taking up a lot of space, and then give you advice on how to clean them up - maybe delete particularly large files. In my case, I had some Final Cut Pro files that were really large that I should have cleaned up. Claude Code told me about it. Maybe it&#39;ll tell you to clean up unused Docker images and containers using &lt;code&gt;docker system prune&lt;/code&gt;. Or maybe it&#39;ll tell you to clean up some cache that you never realized was still there. No matter what you want to do on your computer, Claude Code is the first place I go to now.&lt;/p&gt; 
&lt;p&gt;I think it&#39;s kind of interesting because the computer started with a text interface. And we&#39;re, in a way, coming back to this text interface that you can spin up three or four tabs at a time, as I mentioned earlier. To me, that&#39;s really exciting. It feels like you have a second brain, in a way. But because of the way it&#39;s structured, because it&#39;s just a terminal tab, you can open up a third brain, a fourth brain, a fifth brain, a sixth brain. And as the models become more powerful, the proportion of the thinking that you can delegate to these things - not the important things, but things that you don&#39;t want to do or that you find boring or too tedious - you can just let them take care of it. As I mentioned, a good example of that is looking into GitHub Actions. Who wants to do that? But it turns out these agents are really good at those boring tasks.&lt;/p&gt; 
&lt;h2&gt;Tip 32: It&#39;s all about choosing the right level of abstraction&lt;/h2&gt; 
&lt;p&gt;As I mentioned earlier, sometimes it&#39;s okay to stay at the vibe coding level. You don&#39;t necessarily have to worry about every single line of code if you&#39;re working on one-time projects or non-critical parts of the codebase. But other times, you want to dig in a little deeper - look at the file structure and functions, individual lines of code, even checking dependencies.&lt;/p&gt; 
&lt;p&gt;&lt;img src=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/assets/vibe-coding-spectrum.png&quot; alt=&quot;Vibe coding spectrum&quot; /&gt;&lt;/p&gt; 
&lt;p&gt;The key is that it&#39;s not binary. Some people say vibe coding is bad because you don&#39;t know what you&#39;re doing, but sometimes it&#39;s totally fine. But other times, it is helpful to dig deeper, use your software engineering skills, understand code at a granular level, or copy and paste parts of the codebase or specific error logs to ask Claude Code specific questions about them.&lt;/p&gt; 
&lt;p&gt;It&#39;s sort of like you&#39;re exploring a giant iceberg. If you want to stay at the vibe coding level, you can just fly over the top and check it from far away. Then you can go a little bit closer. You can go into diving mode. You can go deeper and deeper, with Claude Code as your guide.&lt;/p&gt; 
&lt;h2&gt;Tip 33: Audit your approved commands&lt;/h2&gt; 
&lt;p&gt;I recently saw &lt;a href=&quot;https://www.reddit.com/r/ClaudeAI/comments/1pgxckk/claude_cli_deleted_my_entire_home_directory_wiped/&quot;&gt;this post&lt;/a&gt; where someone&#39;s Claude Code ran &lt;code&gt;rm -rf tests/ patches/ plan/ ~/&lt;/code&gt; and wiped their home directory. It&#39;s easy to dismiss as a vibe coder mistake, but this kind of mistake could happen to anyone. So it&#39;s important to audit your approved commands from time to time. To make it easier, I built &lt;strong&gt;cc-safe&lt;/strong&gt; - a CLI that scans your &lt;code&gt;.claude/settings.json&lt;/code&gt; files for risky approved commands.&lt;/p&gt; 
&lt;p&gt;It detects patterns like:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;sudo&lt;/code&gt;, &lt;code&gt;rm -rf&lt;/code&gt;, &lt;code&gt;Bash&lt;/code&gt;, &lt;code&gt;chmod 777&lt;/code&gt;, &lt;code&gt;curl | sh&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;git reset --hard&lt;/code&gt;, &lt;code&gt;npm publish&lt;/code&gt;, &lt;code&gt;docker run --privileged&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;And more - it&#39;s container-aware so &lt;code&gt;docker exec&lt;/code&gt; commands are skipped&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;It recursively scans all subdirectories, so you can point it at your projects folder to check everything at once. You can run it manually or ask Claude Code to run it for you:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npm install -g cc-safe
cc-safe ~/projects
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Or just run it directly with npx:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx cc-safe .
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;GitHub: &lt;a href=&quot;https://github.com/ykdojo/cc-safe&quot;&gt;cc-safe&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Tip 34: Write lots of tests (and use TDD)&lt;/h2&gt; 
&lt;p&gt;As you write more code with Claude Code, it becomes easier to make mistakes. PR reviews and visual Git clients help catch issues (as I mentioned earlier), but writing tests is crucial as your codebase grows larger.&lt;/p&gt; 
&lt;p&gt;You can have Claude Code write tests for its own code. Some people say AI can&#39;t test its own work, but it turns out it can - similar to how the human brain works. When you write tests, you&#39;re thinking about the same problem in a different way. The same applies to AI.&lt;/p&gt; 
&lt;p&gt;I&#39;ve found that TDD (Test-Driven Development) works really well with Claude Code:&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Write tests first&lt;/li&gt; 
 &lt;li&gt;Make sure they fail&lt;/li&gt; 
 &lt;li&gt;Commit the tests&lt;/li&gt; 
 &lt;li&gt;Write the code to make them pass&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;This is actually how I built &lt;a href=&quot;https://github.com/ykdojo/cc-safe&quot;&gt;cc-safe&lt;/a&gt;. By writing failing tests first and committing them before implementation, you create a clear contract for what the code should do. Claude Code then has a concrete target to hit, and you can verify the implementation is correct by running the tests.&lt;/p&gt; 
&lt;p&gt;If you want to be extra sure, review the tests yourself to make sure they don&#39;t do anything stupid like just returning true.&lt;/p&gt; 
&lt;h2&gt;Tip 35: Be braver in the unknown; iterative problem solving&lt;/h2&gt; 
&lt;p&gt;Since I started using Claude Code more intensely, I&#39;ve noticed that I became more and more brave in the unknown.&lt;/p&gt; 
&lt;p&gt;For example, when I started working at &lt;a href=&quot;https://github.com/Eventual-Inc/Daft&quot;&gt;Daft&lt;/a&gt;, I noticed a problem with our frontend code. I&#39;m not an expert in React, but I decided to dig into it anyway. I just started asking questions about the codebase and about the problem. Eventually I was able to solve it because I knew how to iteratively solve problems with Claude Code.&lt;/p&gt; 
&lt;p&gt;A similar thing happened recently. I was building a guide for users of Daft and ran into some very specific issues: cloudpickle not working with Google Colab with Pydantic, and a separate issue with Python and a bit of Rust where things weren&#39;t printing correctly in JupyterLab even though they worked fine in the terminal. I had never worked with Rust before.&lt;/p&gt; 
&lt;p&gt;I could have just created an issue and let other engineers handle it. But I thought, let me dig into the codebase. Claude Code came up with an initial solution, but it wasn&#39;t that good. So I slowed down. A colleague suggested we just disable that part, but I didn&#39;t want any regression. Can we find a better solution?&lt;/p&gt; 
&lt;p&gt;What followed was a collaborative and iterative process. Claude Code suggested potential root causes and solutions. I experimented with those. Some turned out to be dead ends, so we went in a different direction. Throughout this, I controlled my pace. Sometimes I went faster, like when letting it explore different solution spaces or parts of the codebase. Sometimes I went slower, asking &quot;what does this line mean exactly?&quot; Controlling the level of abstraction, controlling the speed.&lt;/p&gt; 
&lt;p&gt;Eventually I found a pretty elegant solution. The lesson: even in the world of the unknown, you can do a lot more with Claude Code than you might think.&lt;/p&gt; 
&lt;h2&gt;Tip 36: Running bash commands and subagents in the background&lt;/h2&gt; 
&lt;p&gt;When you have a long-running bash command in Claude Code, you can press Ctrl+B to move it to run in the background. Claude Code knows how to manage background processes - it can check on them later using the BashOutput tool.&lt;/p&gt; 
&lt;p&gt;This is useful when you realize a command is taking longer than expected and you want Claude to do something else in the meantime. You can then either have it use the exponential backoff method I mentioned in Tip 17 to check on progress, or just let it work on something else entirely while the process runs.&lt;/p&gt; 
&lt;p&gt;Claude Code also has the ability to run subagents in the background. If you need to do long-running research or have an agent check on something periodically, you don&#39;t have to keep it running in the foreground. Just ask Claude Code to run an agent or task in the background, and it&#39;ll handle it while you continue with other work.&lt;/p&gt; 
&lt;h3&gt;Using subagents strategically&lt;/h3&gt; 
&lt;p&gt;Beyond just running things in the background, subagents are useful when you have a large task to break down. For example, if you have a huge codebase that you need to analyze, you can have subagents analyze it in different ways or look at different parts of the codebase in parallel. Just ask Claude to spawn multiple subagents to handle different pieces.&lt;/p&gt; 
&lt;p&gt;You can customize subagents by just asking:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;How many&lt;/strong&gt; - ask Claude to spawn the number you want&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Background vs foreground&lt;/strong&gt; - ask to run them in the background, or press Ctrl+B&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Which model&lt;/strong&gt; - ask for Opus, Sonnet, or Haiku depending on the complexity of each task (subagents default to Sonnet)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Tip 37: The era of personalized software is here&lt;/h2&gt; 
&lt;p&gt;We&#39;re entering an era of personalized, custom software. Since AI came out - ChatGPT in general, but especially Claude Code - I&#39;ve noticed that I&#39;m able to create a lot more software, sometimes just for myself, sometimes for small projects.&lt;/p&gt; 
&lt;p&gt;As I mentioned earlier in this document, I&#39;ve created a custom transcription tool that I use every day to talk to Claude Code. I&#39;ve created ways to customize Claude Code itself. I&#39;ve also done a bunch of data visualization and data analysis tasks using Python much faster than I could otherwise.&lt;/p&gt; 
&lt;p&gt;Here&#39;s another example: &lt;a href=&quot;https://github.com/korotovsky/slack-mcp-server&quot;&gt;korotovsky/slack-mcp-server&lt;/a&gt;, a popular Slack MCP with almost 1,000 stars, is designed to run as a Docker container. I had trouble using it smoothly inside my own Docker container (Docker-in-Docker complications). Instead of fighting with that setup, I just asked Claude Code to write a CLI using Slack&#39;s Node SDK directly. It worked really well.&lt;/p&gt; 
&lt;p&gt;This is an exciting time. Whatever you want to get done, you can ask Claude Code to do it. If it&#39;s small enough, you can build it in an hour or two. I even created a &lt;a href=&quot;https://ykdojo.github.io/claude-code-tips/content/spectrum-slides.html&quot;&gt;slide deck template&lt;/a&gt; - a single HTML file with CSS and JavaScript that lets you embed an interactive, persistent terminal process inside.&lt;/p&gt; 
&lt;h2&gt;Tip 38: Navigating and editing your input box&lt;/h2&gt; 
&lt;p&gt;Claude Code&#39;s input box is designed to emulate common terminal/readline shortcuts, which makes it feel natural if you&#39;re used to working in the terminal. Here are some useful ones:&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Navigation:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+A&lt;/code&gt; - Jump to the beginning of the line&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+E&lt;/code&gt; - Jump to the end of the line&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Option+Left/Right&lt;/code&gt; (Mac) or &lt;code&gt;Alt+Left/Right&lt;/code&gt; - Jump backward/forward by word&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;Editing:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+W&lt;/code&gt; - Delete the previous word&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+U&lt;/code&gt; - Delete from cursor to beginning of line&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+K&lt;/code&gt; - Delete from cursor to end of line&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+C&lt;/code&gt; / &lt;code&gt;Ctrl+L&lt;/code&gt; - Clear the current input&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+G&lt;/code&gt; - Open your prompt in an external editor (useful for pasting long text, since pasting directly into the terminal can be slow)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If you&#39;re familiar with bash, zsh, or other shells, you&#39;ll feel right at home.&lt;/p&gt; 
&lt;p&gt;For &lt;code&gt;Ctrl+G&lt;/code&gt;, the editor is determined by your &lt;code&gt;EDITOR&lt;/code&gt; environment variable. You can set it in your shell config (&lt;code&gt;~/.zshrc&lt;/code&gt; or &lt;code&gt;~/.bashrc&lt;/code&gt;):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;export EDITOR=vim      # or nano, code, nvim, etc.
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Or in &lt;code&gt;~/.claude/settings.json&lt;/code&gt; (requires restart):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;{
  &quot;env&quot;: {
    &quot;EDITOR&quot;: &quot;vim&quot;
  }
}
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Entering newlines (multi-line input):&lt;/strong&gt;&lt;/p&gt; 
&lt;p&gt;The quickest method works everywhere without any setup: type &lt;code&gt;\&lt;/code&gt; followed by Enter to create a newline. For keyboard shortcuts, run &lt;code&gt;/terminal-setup&lt;/code&gt; in Claude Code. On Mac Terminal.app, I use Option+Enter.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Pasting images:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;Ctrl+V&lt;/code&gt; (Mac/Linux) or &lt;code&gt;Alt+V&lt;/code&gt; (Windows) - Paste an image from your clipboard&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Note: On Mac, it&#39;s &lt;code&gt;Ctrl+V&lt;/code&gt;, not &lt;code&gt;Cmd+V&lt;/code&gt;.&lt;/p&gt; 
&lt;h2&gt;Tip 39: Spend some time planning, but also prototype quickly&lt;/h2&gt; 
&lt;p&gt;You want to spend enough time planning so that Claude Code knows what to build and how to build it. This means making high-level decisions early: what technology to use, how the project should be structured, where each functionality should live, which files things should go in. It&#39;s important to make good decisions as early as you can.&lt;/p&gt; 
&lt;p&gt;Sometimes prototyping helps with that. Just by making a simple prototype quickly, you might be able to say &quot;okay, this technology works for this particular purpose&quot; or &quot;this other technology works better.&quot;&lt;/p&gt; 
&lt;p&gt;For example, I was recently experimenting with creating a diff viewer. I first tried a simple bash prototype with tmux and lazygit, then tried making my own git viewer with Ink and Node. I had a lot of trouble with different things and ended up not publishing any of these results. But what I got reminded of through this project is the importance of planning and prototyping. I found that just by planning a little bit better at the beginning before you let it write code, you&#39;re able to guide it better. You still need to guide it throughout the process of coding, but letting it plan a little first is really helpful.&lt;/p&gt; 
&lt;p&gt;You can use plan mode for this by pressing Shift+Tab to switch to it. Or you can just ask Claude Code to make a plan before writing any code.&lt;/p&gt; 
&lt;h2&gt;Tip 40: Simplify overcomplicated code&lt;/h2&gt; 
&lt;p&gt;I&#39;ve found that Claude Code sometimes overcomplicates things and writes too much code. It makes changes you didn&#39;t ask for. It just seems to have a bias for writing more code. The code might work correctly if you&#39;ve followed the other tips in this guide, but it&#39;s going to be hard to maintain and hard to check. It can be kind of a nightmare if you don&#39;t review it enough.&lt;/p&gt; 
&lt;p&gt;So sometimes you want to check the code and ask it to simplify things. You could fix things yourself, but you could also just ask it to simplify. You can ask questions like &quot;why did you make this particular change?&quot; or &quot;why did you add this line?&quot;&lt;/p&gt; 
&lt;p&gt;Some people say if you write code only through AI, you&#39;ll never understand it. But that&#39;s only true if you don&#39;t ask enough questions. If you make sure you understand every single thing, you can actually understand code faster than otherwise because you can ask AI about it. Especially when you&#39;re working on a large project.&lt;/p&gt; 
&lt;p&gt;Note that this applies to prose as well. Claude Code often tries to summarize previous paragraphs in the last paragraph, or previous sentences in the last sentence. It can get pretty repetitive. Sometimes it&#39;s helpful, but most of the time you&#39;ll need to ask it to remove or simplify it.&lt;/p&gt; 
&lt;h2&gt;Tip 41: Automation of automation&lt;/h2&gt; 
&lt;p&gt;At the end of the day, it&#39;s all about automation of automation. What I mean by that is I&#39;ve found it&#39;s the best way to not just become more productive, but also make the process more fun. At least to me, this whole process of automation of automation is really fun.&lt;/p&gt; 
&lt;p&gt;I personally started with ChatGPT and wanted to automate the process of copy-pasting and running commands that ChatGPT gave me in the terminal. I automated that whole process by building a ChatGPT plugin called &lt;a href=&quot;https://github.com/ykdojo/kaguya&quot;&gt;Kaguya&lt;/a&gt;. I&#39;ve consistently worked towards more and more automation since then.&lt;/p&gt; 
&lt;p&gt;Nowadays, luckily, we don&#39;t even have to build a tool like that because tools like Claude Code exist and they work really well. And as I&#39;ve used it more and more, I found myself thinking, well, what if I could automate the process of typing? So I used Claude Code itself to build my voice transcription app, as I mentioned earlier.&lt;/p&gt; 
&lt;p&gt;Then I started to think, I find myself repeating myself sometimes. So I would put those things in &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt;. Then I would think, okay, sometimes I go through running the same command over and over again. How can I automate that? Maybe I can ask Claude Code to do it. Or maybe I can put them in skills. Or maybe I can even have it create a script so I don&#39;t have to repeat the same process over and over again.&lt;/p&gt; 
&lt;p&gt;I think ultimately that&#39;s where we&#39;re heading. Whenever you find yourself repeating the same task or the same command over and over again, a couple of times is okay, but if you repeat it over and over again, then think about a way to automate that whole process.&lt;/p&gt; 
&lt;h2&gt;Tip 42: Share your knowledge and contribute where you can&lt;/h2&gt; 
&lt;p&gt;This tip is a bit different from the others. I found that by learning as much as you can, you&#39;re able to share your knowledge with people around you. Maybe through posts like these, maybe even books, courses, videos. I also recently had an &lt;a href=&quot;https://www.daft.ai/blog/how-we-use-ai-coding-agents&quot;&gt;internal session for my colleagues at Daft&lt;/a&gt;. It&#39;s been very rewarding.&lt;/p&gt; 
&lt;p&gt;And whenever I share tips, I often get information back. For example, when I shared my trick for shortening the system prompt and tool descriptions (Tip 15), some people told me about the &lt;code&gt;--system-prompt&lt;/code&gt; flag that you can use as an alternative. Another time, I shared about the difference between slash commands and skills (Tip 25), and I learned new things from comments on that Reddit post.&lt;/p&gt; 
&lt;p&gt;So sharing your knowledge isn&#39;t just about establishing your brand or solidifying your learning. It&#39;s also about learning new things through that process. It&#39;s not always a one-way street.&lt;/p&gt; 
&lt;p&gt;When it comes to contributing, I&#39;ve been sending issues to the Claude Code repo. I thought, okay, if they listen, cool. If they don&#39;t, that&#39;s totally fine. I didn&#39;t have any expectations. But in version 2.0.67, I noticed they took multiple suggestions from reports I made:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Fixed scroll position resetting after deleting a permission rule in &lt;code&gt;/permissions&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;Added search functionality to &lt;code&gt;/permissions&lt;/code&gt; command&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;It&#39;s kind of amazing how fast the team can react to feature requests and bug reports. But it makes sense because they&#39;re using Claude Code to build Claude Code itself.&lt;/p&gt; 
&lt;h2&gt;Tip 43: Keep learning!&lt;/h2&gt; 
&lt;p&gt;There are several effective ways to keep learning about Claude Code:&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Ask Claude Code itself&lt;/strong&gt; - If you have a question about Claude Code, just ask it. Claude Code has a specialized subagent for answering questions about its own features, slash commands, settings, hooks, MCP servers, and more.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Check the release notes&lt;/strong&gt; - Type &lt;code&gt;/release-notes&lt;/code&gt; to see what&#39;s new in your current version. This is the best way to learn about the latest features.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Learn from the community&lt;/strong&gt; - The &lt;a href=&quot;https://www.reddit.com/r/ClaudeAI/&quot;&gt;r/ClaudeAI&lt;/a&gt; subreddit is a great place to learn from other users and see what workflows people are using.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Follow Ado for tips&lt;/strong&gt; - Ado (&lt;a href=&quot;https://x.com/adocomplete&quot;&gt;@adocomplete&lt;/a&gt;) is a DevRel at Anthropic who posted daily Claude Code tips throughout December 2025 in his &quot;Advent of Claude&quot; series. While this particular series has already ended, he continues to share useful tips on X.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://x.com/search?q=from%3Aadocomplete%20advent%20of%20claude&amp;amp;src=typed_query&amp;amp;f=live&quot;&gt;Twitter/X: Advent of Claude posts&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/search/results/content/?fromMember=%5B%22ACoAAAFdD3IBYHwKSh6FsyGqOh1SpbrZ9ZHTjnI%22%5D&amp;amp;keywords=advent%20of%20claude&amp;amp;origin=FACETED_SEARCH&amp;amp;sid=zDV&amp;amp;sortBy=%22date_posted%22&quot;&gt;LinkedIn: Advent of Claude posts&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Tip 44: Install the dx plugin&lt;/h2&gt; 
&lt;p&gt;This repo is also a Claude Code plugin called &lt;code&gt;dx&lt;/code&gt; (developer experience). It bundles several tools from the tips above into a single install:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/dx:gha &amp;lt;url&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Analyze GitHub Actions failures (Tip 29)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/dx:handoff&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Create handoff documents for context continuity (Tip 8)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/dx:clone&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Clone conversations to branch off (Tip 23)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/dx:half-clone&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Half-clone to reduce context (Tip 23)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/dx:reddit-fetch&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Fetch Reddit content via Gemini CLI (Tip 11)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/dx:review-claudemd&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Review conversations to improve &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; files (Tip 30)&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;&lt;strong&gt;Install with two commands:&lt;/strong&gt;&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;claude plugin marketplace add ykdojo/claude-code-tips
claude plugin install dx@ykdojo
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;After installing, the commands are available as &lt;code&gt;/dx:clone&lt;/code&gt;, &lt;code&gt;/dx:half-clone&lt;/code&gt;, &lt;code&gt;/dx:handoff&lt;/code&gt;, and &lt;code&gt;/dx:gha&lt;/code&gt;. The &lt;code&gt;reddit-fetch&lt;/code&gt; skill is invoked automatically when you ask about Reddit URLs. The &lt;code&gt;review-claudemd&lt;/code&gt; skill analyzes your recent conversations and suggests improvements for your &lt;a href=&quot;http://CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; files. For the clone commands, see the &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/#recommended-permission-for-clone-scripts&quot;&gt;recommended permission&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Recommended companion:&lt;/strong&gt; &lt;a href=&quot;https://github.com/microsoft/playwright-mcp&quot;&gt;Playwright MCP&lt;/a&gt; for browser automation - add with &lt;code&gt;claude mcp add -s user playwright npx @playwright/mcp@latest&lt;/code&gt;&lt;/p&gt; 
&lt;h2&gt;Tip 45: Quick setup script&lt;/h2&gt; 
&lt;p&gt;If you want to set up multiple recommendations from this repo at once, there&#39;s a setup script that handles many of them:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;bash &amp;lt;(curl -s https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/scripts/setup.sh)
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The script shows you everything it will configure and lets you skip any items:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;INSTALLS:
  1. DX plugin - slash commands (/dx:gha, /dx:clone, /dx:handoff) and skills (reddit-fetch)
  2. cc-safe - scans your settings for risky approved commands like &#39;rm -rf&#39; or &#39;sudo&#39;

SETTINGS (~/.claude/settings.json):
  3. Status line - shows model, git branch, uncommitted files, token usage at bottom of screen
  4. Disable auto-updates - prevents Claude Code from auto-updating (useful for system prompt patches)
  5. Lazy-load MCP tools - only loads MCP tool definitions when needed, saves context
  6. Read(~/.claude) permission - allows clone/half-clone commands to read conversation history
  7. Read(//tmp/**) permission - allows reading temporary files without prompts
  8. Disable attribution - removes Co-Authored-By from commits and attribution from PRs

SHELL CONFIG (~/.zshrc or ~/.bashrc):
  9. Aliases: c=claude, ch=claude --chrome, cs=claude --dangerously-skip-permissions
 10. Fork shortcut: --fs expands to --fork-session (e.g., claude -c --fs)

Skip any? [e.g., 1 4 7 or Enter for all]:
&lt;/code&gt;&lt;/pre&gt; 
&lt;hr /&gt; 
&lt;p&gt;📺 &lt;strong&gt;Related talk&lt;/strong&gt;: &lt;a href=&quot;https://youtu.be/9UdZhTnMrTA&quot;&gt;Claude Code Masterclass&lt;/a&gt; - lessons and project examples from 31 months of agentic coding&lt;/p&gt; 
&lt;p&gt;📝 &lt;strong&gt;Story&lt;/strong&gt;: &lt;a href=&quot;https://raw.githubusercontent.com/ykdojo/claude-code-tips/main/content/how-i-got-a-job-with-claude-code.md&quot;&gt;How I got a full-time job with Claude Code&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;📰 &lt;strong&gt;Newsletter&lt;/strong&gt;: &lt;a href=&quot;https://agenticcoding.substack.com/&quot;&gt;Agentic Coding with Discipline and Skill&lt;/a&gt; - bring the practice of agentic coding to the next level&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/cc1a079df892b7847854ff8772c7ad122f9ad5da07fec5bdba9591bb8fca0f88/ykdojo/claude-code-tips" medium="image" />
      
    </item>
    
    <item>
      <title>Balackburn/Apollo</title>
      <link>https://github.com/Balackburn/Apollo</link>
      <description>&lt;p&gt;Altstore source and website for Apollo for Reddit (with ImprovedCustomApi)&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/header/github_header.png&quot; alt=&quot;Apollo for Reddit Banner&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;&lt;a href=&quot;https://developer.apple.com/iphone/index.action&quot;&gt;&lt;img src=&quot;http://img.shields.io/badge/platform-iOS/iPadOS/macOS-blue.svg?sanitize=true&quot; alt=&quot;Platform&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;https://img.shields.io/github/downloads/Balackburn/Apollo/total&quot; alt=&quot;Release&quot; /&gt; &lt;img src=&quot;https://img.shields.io/github/issues-raw/Balackburn/Apollo&quot; alt=&quot;GitHub issues&quot; /&gt;&lt;/p&gt; 
&lt;h1&gt;Apollo for Reddit with ImprovedCustomAPI&lt;/h1&gt; 
&lt;p&gt;This AltStore source provides pre-built releases of &lt;a href=&quot;https://apolloapp.io/&quot;&gt;Apollo App (Christian Selig)&lt;/a&gt; injected with &lt;a href=&quot;https://github.com/JeffreyCA/Apollo-ImprovedCustomApi&quot;&gt;ImprovedCustomApi (JeffreyCA)&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;It uses version &lt;code&gt;1.15.11&lt;/code&gt; of the app and the latest release of the tweak.&lt;/p&gt; 
&lt;p&gt;Before raising any issues, please check the &lt;a href=&quot;https://github.com/JeffreyCA/Apollo-ImprovedCustomApi/issues&quot;&gt;ImprovedCustomApi&lt;/a&gt; repo first - as this source only integrates it.&lt;/p&gt; 
&lt;h2&gt;Available Sources&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Version&lt;/th&gt; 
   &lt;th&gt;Best For&lt;/th&gt; 
   &lt;th&gt;Features&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Standard&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Most users&lt;/td&gt; 
   &lt;td&gt;Apollo injected with ImprovedCustomApi&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;No Extensions&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Free Apple Developer accounts&lt;/td&gt; 
   &lt;td&gt;Apollo injected with ImprovedCustomApi and removed extensions - Uses fewer App IDs (1 vs 7)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;GLASS&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;iOS 26+ users&lt;/td&gt; 
   &lt;td&gt;Apollo injected with ImprovedCustomApi and Liquid Glass UI Patch (iOS 26+)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;No Extensions + LIQUID GLASS&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;iOS 26 + Free accounts&lt;/td&gt; 
   &lt;td&gt;Combines both options&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Standard Source&lt;/h2&gt; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=altstore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Altstore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Altstore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to AltStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Altstore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=feather://source/https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Feather.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Feather.png&quot; /&gt; 
  &lt;img alt=&quot;Add to Feather&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Feather.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=sidestore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Sidestore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Sidestore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to SideStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Sidestore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/DirectURL.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/DirectURL.png&quot; /&gt; 
  &lt;img alt=&quot;Direct URL&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/DirectURL.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;h2&gt;No Extensions Source (Avoid AppID Limit)&lt;/h2&gt; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=altstore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Altstore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Altstore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to AltStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Altstore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=feather://source/https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Feather.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Feather.png&quot; /&gt; 
  &lt;img alt=&quot;Add to Feather&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Feather.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=sidestore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Sidestore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Sidestore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to SideStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Sidestore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/DirectURL.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/DirectURL.png&quot; /&gt; 
  &lt;img alt=&quot;Direct URL&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/DirectURL.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;h2&gt;GLASS Source (iOS 26+)&lt;/h2&gt; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=altstore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Altstore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Altstore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to AltStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Altstore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=feather://source/https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Feather.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Feather.png&quot; /&gt; 
  &lt;img alt=&quot;Add to Feather&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Feather.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=sidestore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Sidestore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Sidestore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to SideStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Sidestore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/DirectURL.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/DirectURL.png&quot; /&gt; 
  &lt;img alt=&quot;Direct URL&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/DirectURL.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;h2&gt;No Extensions + GLASS Source (Avoid AppID Limit - iOS 26+)&lt;/h2&gt; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=altstore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Altstore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Altstore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to AltStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Altstore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=feather://source/https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Feather.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Feather.png&quot; /&gt; 
  &lt;img alt=&quot;Add to Feather&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Feather.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://intradeus.github.io/http-protocol-redirector?r=sidestore://source?url=https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Sidestore.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Sidestore.png&quot; /&gt; 
  &lt;img alt=&quot;Add to SideStore&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Sidestore.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; &amp;nbsp; 
&lt;a href=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/refs/heads/main/apps_noext_glass.json&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/DirectURL.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/DirectURL.png&quot; /&gt; 
  &lt;img alt=&quot;Direct URL&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/DirectURL.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;h2&gt;Website&lt;/h2&gt; 
&lt;a href=&quot;https://balackburn.github.io/Apollo&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;public/images/buttons/DARK/Website.png&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;public/images/buttons/LIGHT/Website.png&quot; /&gt; 
  &lt;img alt=&quot;Visit Website&quot; src=&quot;https://raw.githubusercontent.com/Balackburn/Apollo/main/public/images/buttons/LIGHT/Website.png&quot; height=&quot;55&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;h2&gt;&lt;/h2&gt; 
&lt;p&gt;This project is not affiliated with Apollo or Christian Selig.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/304b685140778ad30b8599bd715bfe839ce00a64995612801769c4a8311057cf/Balackburn/Apollo" medium="image" />
      
    </item>
    
    <item>
      <title>phuc-nt/my-translator</title>
      <link>https://github.com/phuc-nt/my-translator</link>
      <description>&lt;p&gt;Real-time speech translation — macOS &amp; Windows, free TTS, no server, your API keys only&lt;/p&gt;&lt;hr&gt;&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/banner.png?v=2&quot; alt=&quot;My Translator — Real-time Speech Translation&quot; /&gt; &lt;/p&gt; 
&lt;p align=&quot;center&quot;&gt; &lt;img src=&quot;https://img.shields.io/github/v/release/phuc-nt/my-translator?color=green&amp;amp;label=release&quot; alt=&quot;Latest Release&quot; /&gt; &lt;img src=&quot;https://img.shields.io/badge/built_with-Tauri-orange?logo=tauri&quot; alt=&quot;Built with Tauri&quot; /&gt; &lt;img src=&quot;https://img.shields.io/badge/macOS-Apple%20Silicon%20%7C%20Intel-black?logo=apple&quot; alt=&quot;macOS&quot; /&gt; &lt;img src=&quot;https://img.shields.io/badge/Windows-10%2F11-blue?logo=windows&quot; alt=&quot;Windows&quot; /&gt; &lt;img src=&quot;https://img.shields.io/badge/license-MIT-blue&quot; alt=&quot;License&quot; /&gt; &lt;img src=&quot;https://img.shields.io/github/stars/phuc-nt/my-translator?style=flat&amp;amp;color=yellow&quot; alt=&quot;Stars&quot; /&gt; &lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;My Translator&lt;/strong&gt; is a real-time speech translation desktop app built with Tauri. It captures audio directly from your system or microphone, transcribes it, and displays translations in a minimal overlay — with no intermediary server involved.&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;📖 Installation guides: &lt;a href=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/docs/installation_guide.md&quot;&gt;macOS (EN)&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/docs/installation_guide_vi.md&quot;&gt;macOS (VI)&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/docs/installation_guide_win.md&quot;&gt;Windows (EN)&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/docs/installation_guide_win_vi.md&quot;&gt;Windows (VI)&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;hr /&gt; 
&lt;h2&gt;How It Works&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;System Audio / Mic → 16kHz PCM → Soniox API (STT + Translation) → Overlay UI
                                                                    ↓ (optional)
                                                            TTS (Edge/Google/ElevenLabs) → 🔊
&lt;/code&gt;&lt;/pre&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Feature&lt;/th&gt; 
   &lt;th&gt;Detail&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Latency&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;~2–3s&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Languages&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;70+ (source) → any target, one-way &amp;amp; two-way&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;~$0.12/hr (Soniox API)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;TTS&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;3 providers (Edge free, Google, ElevenLabs)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Platform&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;macOS (ARM + Intel) · Windows&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Signed&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;✅ macOS signed &amp;amp; notarized&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Auto-Update&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;✅ Built-in, check &amp;amp; install from Settings&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Features&lt;/h2&gt; 
&lt;h3&gt;📖 Dual Panel View&lt;/h3&gt; 
&lt;p&gt;Two display modes:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Single&lt;/strong&gt; (default) — Translation text only, clean and focused&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Dual&lt;/strong&gt; — Source | Translation side-by-side, each panel scrolls independently&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Toggle with the panel button (bottom-right on hover).&lt;/p&gt; 
&lt;h3&gt;🔄 Smart Scroll&lt;/h3&gt; 
&lt;p&gt;Auto-scroll only when you&#39;re at the bottom. Scroll up to read old content without being yanked back down.&lt;/p&gt; 
&lt;h3&gt;🔤 Quick Font Size&lt;/h3&gt; 
&lt;p&gt;A- / A+ floating controls (bottom-right on hover). Font size adjustable up to 140px — great for presentations.&lt;/p&gt; 
&lt;h3&gt;🔄 Two-Way Translation&lt;/h3&gt; 
&lt;p&gt;Translate conversations between two languages simultaneously — ideal for bilingual meetings.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;One-way&lt;/strong&gt;: Source language → Target language (e.g., Japanese → Vietnamese)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Two-way&lt;/strong&gt;: Language A ↔ Language B (e.g., Vietnamese ↔ Japanese) — the app detects who is speaking and translates to the other language automatically&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;strong&gt;Setup for video calls&lt;/strong&gt; (Zoom, Google Meet, MS Teams):&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;Audio Source: &lt;strong&gt;Both&lt;/strong&gt; (System + Mic)&lt;/li&gt; 
 &lt;li&gt;Translation Type: &lt;strong&gt;Two-way&lt;/strong&gt;&lt;/li&gt; 
 &lt;li&gt;Set Language A and Language B&lt;/li&gt; 
&lt;/ol&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: TTS narration is automatically disabled in two-way mode to prevent audio feedback loops (TTS output → mic recapture → re-translation).&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;🎙️ TTS Narration&lt;/h3&gt; 
&lt;p&gt;Read translations aloud in one-way mode — 3 providers:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;&lt;/th&gt; 
   &lt;th&gt;Edge TTS ⭐&lt;/th&gt; 
   &lt;th&gt;Google Chirp 3 HD&lt;/th&gt; 
   &lt;th&gt;ElevenLabs&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;Free&lt;/td&gt; 
   &lt;td&gt;Free 1M chars/mo&lt;/td&gt; 
   &lt;td&gt;~$5/mo+&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Quality&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;★★★★☆ Neural&lt;/td&gt; 
   &lt;td&gt;★★★★★ Near-human&lt;/td&gt; 
   &lt;td&gt;★★★★★ Premium&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Vietnamese&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;✅ 2 voices&lt;/td&gt; 
   &lt;td&gt;✅ 6 voices&lt;/td&gt; 
   &lt;td&gt;✅ Yes&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Setup&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;None&lt;/td&gt; 
   &lt;td&gt;Google Cloud API key&lt;/td&gt; 
   &lt;td&gt;API key&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;strong&gt;Speed control&lt;/strong&gt;&lt;/td&gt; 
   &lt;td&gt;✅&lt;/td&gt; 
   &lt;td&gt;✅ 0.5x–2.0x&lt;/td&gt; 
   &lt;td&gt;❌&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;TTS is &lt;strong&gt;OFF by default&lt;/strong&gt; — toggle with the TTS button or &lt;code&gt;⌘ T&lt;/code&gt;.&lt;/p&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;📖 TTS guide: &lt;a href=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/docs/tts_guide.md&quot;&gt;English&lt;/a&gt; · &lt;a href=&quot;https://raw.githubusercontent.com/phuc-nt/my-translator/main/docs/tts_guide_vi.md&quot;&gt;Tiếng Việt&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;h3&gt;📖 Custom Translation Terms&lt;/h3&gt; 
&lt;p&gt;Define how domain-specific words should be translated:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;Original sin = Tội nguyên tổ
Christ = Kitô
Pneumonia = Viêm phổi
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Add terms in Settings → Translation → Translation terms. Great for religious, medical, or technical content.&lt;/p&gt; 
&lt;h3&gt;🖥️ Local Mode (Apple Silicon only)&lt;/h3&gt; 
&lt;p&gt;Experimental offline mode using MLX + Whisper + Gemma — runs 100% on-device. JA/EN/ZH/KO → VI/EN.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Privacy&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Your audio never touches our servers — because there are none.&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;App connects &lt;strong&gt;directly&lt;/strong&gt; to APIs you configure — no relay, no middleman&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;You own your API keys&lt;/strong&gt; — stored locally, never transmitted elsewhere&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;No account, no telemetry, no analytics&lt;/strong&gt; — zero tracking&lt;/li&gt; 
 &lt;li&gt;Transcripts saved as &lt;code&gt;.md&lt;/code&gt; files locally, per session&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Tech Stack&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://tauri.app/&quot;&gt;Tauri 2&lt;/a&gt;&lt;/strong&gt; — Rust backend + WebView frontend&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://developer.apple.com/documentation/screencapturekit&quot;&gt;ScreenCaptureKit&lt;/a&gt;&lt;/strong&gt; — macOS system audio&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/windows/win32/coreaudio/wasapi&quot;&gt;WASAPI&lt;/a&gt;&lt;/strong&gt; — Windows system audio&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/RustAudio/cpal&quot;&gt;cpal&lt;/a&gt;&lt;/strong&gt; — Cross-platform microphone&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://soniox.com&quot;&gt;Soniox&lt;/a&gt;&lt;/strong&gt; — Real-time STT + translation&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://learn.microsoft.com/en-us/azure/ai-services/speech-service/index-text-to-speech&quot;&gt;Edge TTS&lt;/a&gt;&lt;/strong&gt; — Free neural TTS (default)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://cloud.google.com/text-to-speech&quot;&gt;Google Cloud TTS&lt;/a&gt;&lt;/strong&gt; — Chirp 3 HD (near-human quality)&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://elevenlabs.io&quot;&gt;ElevenLabs&lt;/a&gt;&lt;/strong&gt; — Premium TTS&lt;/li&gt; 
&lt;/ul&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Build from Source&lt;/h2&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/phuc-nt/my-translator.git
cd my-translator
npm install
npm run tauri build
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Requires: Rust (stable), Node.js 18+, macOS 13+ or Windows 10+.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h2&gt;Star History&lt;/h2&gt; 
&lt;a href=&quot;https://www.star-history.com/?repos=phuc-nt%2Fmy-translator&amp;amp;type=date&amp;amp;legend=top-left&quot;&gt; 
 &lt;picture&gt; 
  &lt;source media=&quot;(prefers-color-scheme: dark)&quot; srcset=&quot;https://api.star-history.com/image?repos=phuc-nt/my-translator&amp;amp;type=date&amp;amp;theme=dark&amp;amp;legend=top-left&quot; /&gt; 
  &lt;source media=&quot;(prefers-color-scheme: light)&quot; srcset=&quot;https://api.star-history.com/image?repos=phuc-nt/my-translator&amp;amp;type=date&amp;amp;legend=top-left&quot; /&gt; 
  &lt;img alt=&quot;Star History Chart&quot; src=&quot;https://api.star-history.com/image?repos=phuc-nt/my-translator&amp;amp;type=date&amp;amp;legend=top-left&quot; /&gt; 
 &lt;/picture&gt; &lt;/a&gt; 
&lt;hr /&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;MIT&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/9ca4f16b6b6f65a5ccf4f39a431cd99bf68b62c0a2cfa46abaf016ad6d39b4dc/phuc-nt/my-translator" medium="image" />
      
    </item>
    
    <item>
      <title>adobe/skills</title>
      <link>https://github.com/adobe/skills</link>
      <description>&lt;p&gt;Adobe Skills for Agents&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;Adobe Skills for AI Coding Agents&lt;/h1&gt; 
&lt;p&gt;Repository of Adobe skills for AI coding agents.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;h3&gt;Claude Code Plugins&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;/plugin marketplace add adobe/skills
/plugin install aem-design@adobe-skills
/plugin install aem-edge-delivery-services@adobe-skills
/plugin install aem-project-management@adobe-skills
/plugin install app-builder@adobe-skills
/plugin install aem-cloud-service@adobe-skills
/plugin install aem-6-5-lts@adobe-skills
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;Vercel Skills (npx skills)&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx skills add adobe/skills --all
&lt;/code&gt;&lt;/pre&gt; 
&lt;h3&gt;upskill (GitHub CLI Extension)&lt;/h3&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;gh extension install ai-ecoverse/gh-upskill
gh upskill adobe/skills --all
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Available Skills&lt;/h2&gt; 
&lt;h3&gt;For Business&lt;/h3&gt; 
&lt;h4&gt;Adobe Experience Manager&lt;/h4&gt; 
&lt;h5&gt;Designing with aem-design&lt;/h5&gt; 
&lt;p&gt;Design-phase skills that run &lt;em&gt;before&lt;/em&gt; implementation. Produces static HTML and JSON artifacts under &lt;code&gt;aem-design/&lt;/code&gt; — EDS-independent; no dev server or AEM instance required.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;aem-design&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Navigator — assesses &lt;code&gt;aem-design/&lt;/code&gt; state and recommends the next design stage&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;brand&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Extracts a brand profile (&lt;code&gt;brand-profile.json&lt;/code&gt;) and visual brand board from a URL, PDF, or conversation&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;briefings&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Captures page intent, audience, key messages, CTAs, and (optionally) final copy under &lt;code&gt;aem-design/briefings/&lt;/code&gt;&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;wireframes&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Produces grey structural wireframes from briefings (section order, hierarchy, spatial relationships) — optional stage&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;prototype&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Produces branded, high-fidelity static HTML prototypes that iterate in the browser until approved&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h5&gt;Developing with Edge Delivery Services&lt;/h5&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;create-site&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Start a brand-new site from scratch: GitHub repo from boilerplate, aem-code-sync, initial DA content (nav, footer, homepage), and live URL handoff&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;content-driven-development&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Orchestrates the CDD workflow for all code changes&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;analyze-and-plan&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Analyze requirements and define acceptance criteria&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;building-blocks&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Implement blocks and core functionality&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;testing-blocks&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Browser testing and validation&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;content-modeling&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Design author-friendly content models&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;code-review&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Self-review and PR review&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h5&gt;Discovering Blocks&lt;/h5&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;block-inventory&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Survey available blocks in project and Block Collection&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;block-collection-and-party&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Search reference implementations&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;docs-search&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Search aem.live documentation&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;find-test-content&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Find existing content for testing&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h5&gt;Migrating Content&lt;/h5&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;page-import&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Import webpages (orchestrator)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;scrape-webpage&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Scrape and analyze webpage content&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;identify-page-structure&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Analyze page sections&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;page-decomposition&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Analyze content sequences&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;authoring-analysis&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Determine authoring approach&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;generate-import-html&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Generate structured HTML&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;preview-import&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Preview imported content&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h5&gt;Managing Projects&lt;/h5&gt; 
&lt;p&gt;Handover documentation and PDF guides generation for AEM Edge Delivery Services projects. Available via the &lt;code&gt;aem-project-management&lt;/code&gt; plugin.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;handover&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Orchestrates project documentation generation&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;authoring&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Generate comprehensive authoring guide for content authors&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;development&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Generate technical documentation for developers&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;admin&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Generate admin guide for site administrators&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;whitepaper&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Create professional PDF whitepapers from Markdown&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;auth&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Authenticate with AEM Config Service API&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;AEM as a Cloud Service — Create Component&lt;/h3&gt; 
&lt;p&gt;The &lt;code&gt;create-component&lt;/code&gt; skill creates complete AEM components following Adobe best practices for AEM Cloud Service and AEM 6.5. It covers:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Component definition, dialog XML, and HTL template&lt;/li&gt; 
 &lt;li&gt;Sling Model and optional child item model (multifield)&lt;/li&gt; 
 &lt;li&gt;Unit tests for models and servlets&lt;/li&gt; 
 &lt;li&gt;Clientlibs (component and dialog)&lt;/li&gt; 
 &lt;li&gt;Optional Sling Servlet for dynamic content&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;See &lt;code&gt;plugins/aem/cloud-service/skills/create-component/&lt;/code&gt; for the skill and its reference files.&lt;/p&gt; 
&lt;h3&gt;AEM as a Cloud Service — Ensure &lt;a href=&quot;http://AGENTS.md&quot;&gt;AGENTS.md&lt;/a&gt; (bootstrap)&lt;/h3&gt; 
&lt;p&gt;The &lt;code&gt;ensure-agents-md&lt;/code&gt; skill is a &lt;strong&gt;bootstrap skill&lt;/strong&gt; that runs first, before any other work. When a customer opens their AEM Cloud Service project and asks the agent anything, this skill checks whether &lt;code&gt;AGENTS.md&lt;/code&gt; exists at the repo root. If missing, it:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Reads root &lt;code&gt;pom.xml&lt;/code&gt; to resolve the project name and discover actual modules&lt;/li&gt; 
 &lt;li&gt;Detects add-ons (CIF, Forms, SPA type, precompiled scripts)&lt;/li&gt; 
 &lt;li&gt;Generates a tailored &lt;code&gt;AGENTS.md&lt;/code&gt; with only the modules that exist, correct frontend variant, conditional Dispatcher MCP section, and the right resource links&lt;/li&gt; 
 &lt;li&gt;Creates &lt;code&gt;CLAUDE.md&lt;/code&gt; (&lt;code&gt;@AGENTS.md&lt;/code&gt;) so Claude-based tools also discover the guidance&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If &lt;code&gt;AGENTS.md&lt;/code&gt; already exists it is never overwritten.&lt;/p&gt; 
&lt;p&gt;See &lt;code&gt;plugins/aem/cloud-service/skills/ensure-agents-md/&lt;/code&gt; for the skill, template, and module catalog.&lt;/p&gt; 
&lt;h3&gt;AEM Workflow&lt;/h3&gt; 
&lt;p&gt;Workflow skills cover the full AEM Granite Workflow Engine lifecycle — from designing and implementing workflows to production debugging and incident triaging. Like Dispatcher, they are split by runtime flavor:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;plugins/aem/cloud-service/skills/aem-workflow&lt;/code&gt; — Cloud Service variant (no JMX, Cloud Manager logs, pipeline deploy)&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;plugins/aem/6.5-lts/skills/aem-workflow&lt;/code&gt; — 6.5 LTS / AMS variant (JMX, Felix Console, direct log access)&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Each flavor contains the same specialist sub-skills:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Sub-Skill&lt;/th&gt; 
   &lt;th&gt;Purpose&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-model-design&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Design workflow models, step types, OR/AND splits, variables&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-development&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Implement WorkflowProcess steps, ParticipantStepChooser, OSGi services&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-triggering&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Start workflows from UI, code, HTTP API, or Manage Publication&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-launchers&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Configure automatic workflow launchers on JCR events&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-debugging&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Debug stuck, failed, or stale workflows in production&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-triaging&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Classify incidents, determine log patterns, Splunk queries&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;workflow-orchestrator&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Full lifecycle orchestration across all sub-skills&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;AEM Dispatcher&lt;/h3&gt; 
&lt;p&gt;Dispatcher skills are split by runtime flavor to avoid mode auto-detection and keep installation explicit. Install only one dispatcher flavor in a workspace (&lt;code&gt;cloud-service&lt;/code&gt; or &lt;code&gt;6.5-lts&lt;/code&gt;).&lt;/p&gt; 
&lt;p&gt;Current dispatcher flavors:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;code&gt;plugins/aem/cloud-service/skills/dispatcher&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;code&gt;plugins/aem/6.5-lts/skills/dispatcher&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Each flavor contains parallel capability groups (workflow orchestration, config authoring, technical advisory, incident response, performance tuning, and security hardening). Shared advisory logic is centralized under each flavor&#39;s &lt;code&gt;dispatcher/shared/references/&lt;/code&gt; to reduce duplication and drift.&lt;/p&gt; 
&lt;h3&gt;AEM Replication&lt;/h3&gt; 
&lt;p&gt;Replication skills for AEM 6.5 LTS cover the full content distribution lifecycle from agent configuration to troubleshooting.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; &lt;code&gt;plugins/aem/6.5-lts/skills/aem-replication&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;The aem-replication skill contains four specialist sub-skills:&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Sub-Skill&lt;/th&gt; 
   &lt;th&gt;Purpose&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;configure-replication-agent&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Configure replication agents for publishing, dispatcher flush, and reverse replication&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;replicate-content&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Activate and deactivate content using UI, workflows, and package manager&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;replication-api&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Use the Replication API programmatically in custom code with complete Java examples&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;troubleshoot-replication&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Diagnose and fix blocked queues, connectivity failures, and distribution problems&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;All skills based on official AEM 6.5 LTS documentation&lt;/li&gt; 
 &lt;li&gt;Complete coverage of public Replication API (Replicator, ReplicationOptions, AgentManager, ReplicationQueue, etc.)&lt;/li&gt; 
 &lt;li&gt;49 Java code examples for OSGi services, servlets, and workflow steps&lt;/li&gt; 
 &lt;li&gt;12+ troubleshooting scenarios with step-by-step resolution&lt;/li&gt; 
 &lt;li&gt;3,575 lines of comprehensive documentation&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;AEM as a Cloud Service — Rapid Development Environment (RDE) &lt;em&gt;(beta)&lt;/em&gt;&lt;/h3&gt; 
&lt;p&gt;The &lt;code&gt;aem-rde&lt;/code&gt; skill provides expert assistance for the Adobe I/O CLI plugin &lt;code&gt;@adobe/aio-cli-plugin-aem-rde&lt;/code&gt; — used to deploy, inspect, log-tail, snapshot, and troubleshoot AEM Rapid Development Environments via &lt;code&gt;aio aem rde …&lt;/code&gt; commands. The skill activates only on explicit RDE references; generic AEMaaCS deployment requests are deferred to Cloud Manager skills.&lt;/p&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;aem-rde&lt;/code&gt; &lt;em&gt;(beta)&lt;/em&gt;&lt;/td&gt; 
   &lt;td&gt;Translate goals into the right &lt;code&gt;aio aem rde&lt;/code&gt; commands (deploy, status, history, logs, inspect, snapshot, setup); diagnose RDE problems; guide setup, experimental feature flags, and CI/build-environment usage&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;p&gt;See &lt;code&gt;plugins/aem/cloud-service/skills/aem-rde/&lt;/code&gt; for the skill and its reference files (commands, configuration, deployment types, troubleshooting, workflows).&lt;/p&gt; 
&lt;h3&gt;AEM as a Cloud Service — Best Practices &amp;amp; Migration&lt;/h3&gt; 
&lt;p&gt;Under &lt;code&gt;plugins/aem/cloud-service/skills/&lt;/code&gt;, &lt;strong&gt;&lt;code&gt;best-practices/&lt;/code&gt;&lt;/strong&gt; is the &lt;strong&gt;general-purpose&lt;/strong&gt; Cloud Service skill: pattern modules, Java baseline references (SCR→OSGi DS, resolver/logging, and related refs), and day-to-day Cloud Service alignment. Use it &lt;strong&gt;without&lt;/strong&gt; loading &lt;strong&gt;migration&lt;/strong&gt; for greenfield or maintainability work. &lt;strong&gt;&lt;code&gt;migration/&lt;/code&gt;&lt;/strong&gt; (BPA/CAM orchestration) is &lt;strong&gt;scoped to legacy AEM → AEM as a Cloud Service&lt;/strong&gt; (not Edge Delivery or 6.5 LTS); it &lt;strong&gt;delegates&lt;/strong&gt; concrete refactors to &lt;strong&gt;&lt;code&gt;best-practices&lt;/code&gt;&lt;/strong&gt; (&lt;code&gt;references/&lt;/code&gt;). &lt;strong&gt;Installing the AEM as a Cloud Service plugin&lt;/strong&gt; (&lt;code&gt;aem-cloud-service&lt;/code&gt;, or the &lt;code&gt;plugins/aem/cloud-service&lt;/code&gt; path with &lt;code&gt;npx skills&lt;/code&gt; / &lt;code&gt;gh upskill&lt;/code&gt;) &lt;strong&gt;includes both&lt;/strong&gt;; the agent should load the appropriate &lt;code&gt;SKILL.md&lt;/code&gt; for the task. Use &lt;strong&gt;&lt;code&gt;gh upskill&lt;/code&gt; / &lt;code&gt;npx skills&lt;/code&gt; with &lt;code&gt;--skill&lt;/code&gt;&lt;/strong&gt; when you need a specific bundled skill (see &lt;strong&gt;Installation&lt;/strong&gt; above).&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Best practices:&lt;/strong&gt; one skill for patterns, SCR→OSGi DS, and resolver/logging — applicable to Cloud Service projects generally, not only migration&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Migration:&lt;/strong&gt; orchestration-only; pattern and transformation content lives in &lt;strong&gt;&lt;code&gt;best-practices&lt;/code&gt;&lt;/strong&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;App Builder&lt;/h3&gt; 
&lt;p&gt;Development, customization, testing, and deployment skills for Adobe App Builder projects.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Skill chaining:&lt;/strong&gt;&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Actions path:&lt;/strong&gt; &lt;code&gt;appbuilder-project-init&lt;/code&gt; → &lt;code&gt;appbuilder-action-scaffolder&lt;/code&gt; → &lt;code&gt;appbuilder-testing&lt;/code&gt; → &lt;code&gt;appbuilder-cicd-pipeline&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;UI path:&lt;/strong&gt; &lt;code&gt;appbuilder-project-init&lt;/code&gt; → &lt;code&gt;appbuilder-ui-scaffolder&lt;/code&gt; → &lt;code&gt;appbuilder-testing&lt;/code&gt; → &lt;code&gt;appbuilder-cicd-pipeline&lt;/code&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;E2E path:&lt;/strong&gt; &lt;code&gt;appbuilder-ui-scaffolder&lt;/code&gt; or &lt;code&gt;appbuilder-testing&lt;/code&gt; → &lt;code&gt;appbuilder-e2e-testing&lt;/code&gt; → &lt;code&gt;appbuilder-cicd-pipeline&lt;/code&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;appbuilder-project-init&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Initialize new Adobe App Builder projects and choose the right bootstrap path&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;appbuilder-action-scaffolder&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Scaffold, implement, deploy, and debug Adobe Runtime actions&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;appbuilder-ui-scaffolder&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Generate React Spectrum UI components for ExC Shell SPAs and AEM UI Extensions&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;appbuilder-testing&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Generate and run Jest unit, integration, and contract tests for actions and UI components&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;appbuilder-e2e-testing&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Playwright browser E2E tests for ExC Shell SPAs and AEM extensions&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;appbuilder-cicd-pipeline&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Set up CI/CD pipelines for GitHub Actions, Azure DevOps, and GitLab CI&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h3&gt;Creativity &amp;amp; Design&lt;/h3&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Skill&lt;/th&gt; 
   &lt;th&gt;Description&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;adobe-batch-edit-photos&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Apply consistent, cohesive photo adjustments across a set of images — matched tones, presets, and cinematic looks&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;adobe-design-from-template&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Create flyers, posters, social posts, invitations, business cards, and other visuals from Adobe Express templates&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;adobe-retouch-portraits&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Bulk walk-away retouching for wedding and event portraits: auto-straighten, auto-tone, and auto-light across a folder&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;adobe-edit-quick-cut&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Turn a long video into a punchy sizzle or highlight reel using Adobe Quick Cut&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;adobe-resize-photos-and-videos&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Resize images and videos to exact pixel dimensions, aspect ratios, or named sizes (4K, HD, A4)&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;adobe-create-social-variations&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Produce platform-ready image and video crops for Instagram, TikTok, LinkedIn, YouTube, and other social platforms&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Repository Structure&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;plugins/
├── aem/
│   ├── edge-delivery-services/
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   └── skills/
│   │       ├── content-driven-development/
│   │       ├── building-blocks/
│   │       └── ...
│   ├── project-management/
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   ├── fonts/
│   │   ├── hooks/
│   │   │   └── pdf-lifecycle.js
│   │   ├── templates/
│   │   │   └── whitepaper.typ
│   │   └── skills/
│   │       ├── handover/
│   │       ├── authoring/
│   │       ├── development/
│   │       ├── admin/
│   │       ├── whitepaper/
│   │       └── auth/
│   ├── cloud-service/
│   │   ├── .claude-plugin/
│   │   │   └── plugin.json
│   │   └── skills/
│   │       ├── best-practices/
│   │       │   ├── README.md
│   │       │   ├── SKILL.md
│   │       │   └── references/
│   │       ├── migration/
│   │       │   ├── README.md
│   │       │   ├── SKILL.md
│   │       │   ├── references/
│   │       │   └── scripts/
│   │       ├── ensure-agents-md/
│   │       │   ├── SKILL.md
│   │       │   └── references/
│   │       │       ├── AGENTS.md.template
│   │       │       └── module-catalog.md
│   │       ├── create-component/
│   │       │   ├── SKILL.md
│   │       │   ├── assets/
│   │       │   └── references/
│   │       ├── aem-workflow/
│   │       │   ├── SKILL.md
│   │       │   ├── workflow-model-design/
│   │       │   ├── workflow-development/
│   │       │   ├── workflow-triggering/
│   │       │   ├── workflow-launchers/
│   │       │   ├── workflow-debugging/
│   │       │   ├── workflow-triaging/
│   │       │   └── workflow-orchestrator/
│   │       └── dispatcher/
│   │           ├── SKILL.md
│   │           ├── config-authoring/
│   │           ├── technical-advisory/
│   │           ├── incident-response/
│   │           ├── performance-tuning/
│   │           ├── security-hardening/
│   │           └── workflow-orchestrator/
│   └── 6.5-lts/
│       ├── .claude-plugin/
│       │   └── plugin.json
│       └── skills/
│           ├── aem-workflow/
│           │   ├── SKILL.md
│           │   ├── workflow-model-design/
│           │   ├── workflow-development/
│           │   ├── workflow-triggering/
│           │   ├── workflow-launchers/
│           │   ├── workflow-debugging/
│           │   ├── workflow-triaging/
│           │   └── workflow-orchestrator/
│           ├── aem-replication/
│           │   ├── README.md
│           │   ├── SKILL.md
│           │   ├── configure-replication-agent/
│           │   ├── replicate-content/
│           │   ├── replication-api/
│           │   └── troubleshoot-replication/
│           ├── ensure-agents-md/
│           └── dispatcher/
│               ├── SKILL.md
│               ├── config-authoring/
│               ├── technical-advisory/
│               ├── incident-response/
│               ├── performance-tuning/
│               ├── security-hardening/
│               └── workflow-orchestrator/
├── app-builder/
│   ├── .claude-plugin/
│   │   └── plugin.json
│   └── skills/
│       ├── _shared/
│       ├── appbuilder-project-init/
│       ├── appbuilder-action-scaffolder/
│       ├── appbuilder-ui-scaffolder/
│       ├── appbuilder-testing/
│       ├── appbuilder-e2e-testing/
│       └── appbuilder-cicd-pipeline/
└── creative-cloud/
    └── adobe-for-creativity/
        ├── .claude-plugin/
        │   └── plugin.json
        ├── skills/
        │   └── ...
        └── .mcp.json
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/adobe/skills/main/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; for guidelines on adding or updating skills. Join &lt;a href=&quot;https://adobe.enterprise.slack.com/archives/C0APTKDNPEY&quot;&gt;#agentskills&lt;/a&gt; on Adobe Slack for questions and discussion.&lt;/p&gt; 
&lt;h2&gt;Resources&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://agentskills.io&quot;&gt;agentskills.io Specification&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://code.claude.com/docs/en/discover-plugins&quot;&gt;Claude Code Plugins&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/vercel-labs/skills&quot;&gt;Vercel Skills&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/ai-ecoverse/gh-upskill&quot;&gt;upskill GitHub Extension&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://adobe.enterprise.slack.com/archives/C0APTKDNPEY&quot;&gt;#agentskills Slack Channel&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;Apache 2.0 — see &lt;a href=&quot;https://raw.githubusercontent.com/adobe/skills/main/LICENSE&quot;&gt;LICENSE&lt;/a&gt; for details.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/88a5e9220827488d0dc6be2beeeb104210bb83bb4b18c168664d542d057d431e/adobe/skills" medium="image" />
      
    </item>
    
    <item>
      <title>qist/tvbox</title>
      <link>https://github.com/qist/tvbox</link>
      <description>&lt;p&gt;OK影视、tvbox配置文件，如果喜欢，请Fork自用。使用前请仔细阅读仓库说明，一旦使用将被视为你已了解。&lt;/p&gt;&lt;hr&gt;&lt;p&gt;OK影视、TVBox、猫影视配置文件。所有资源均来自于各路大神无私分享，如有侵权，请联系删除。&lt;/p&gt; 
&lt;p&gt;所有以任何方式查看本仓库内容的人、或直接或间接使用本仓库内容的使用者都应仔细阅读此声明。本仓库管理者保留随时更改或补充此免责声明的权利。一旦使用、复制、修改了本仓库内容，则视为您已接受此免责声明。&lt;/p&gt; 
&lt;p&gt;本仓库管理者不能保证本仓库内容的合法性、准确性、完整性和有效性，请根据情况自行判断。本仓库内容，仅用于测试和学习研究，禁止用于商业用途，不得将其用于违反国家、地区、组织等的法律法规或相关规定的其他用途，禁止任何公众号、自媒体进行任何形式的转载、发布，请不要在中华人民共和国境内使用本仓库内容，否则后果自负。&lt;/p&gt; 
&lt;p&gt;本仓库内容中涉及的第三方硬件、软件等，与本仓库内容没有任何直接或间接的关系。本仓库内容仅对部署和使用过程进行客观描述，不代表支持使用任何第三方硬件、软件。使用任何第三方硬件、软件，所造成的一切后果由使用的个人或组织承担，与本仓库内容无关。&lt;/p&gt; 
&lt;p&gt;所有直接或间接使用本仓库内容的个人和组织，应 24 小时内完成学习和研究，并及时删除本仓库内容。如对本仓库内容的功能有需求，应自行开发相关功能。所有基于本仓库内容的源代码，进行的任何修改，为其他个人或组织的自发行为，与本仓库内容没有任何直接或间接的关系，所造成的一切后果亦与本仓库内容和本仓库管理者无关。&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;tvbox配置：&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）0707.json OK影视多线配置接口,仅适用于Fengmi影视；&lt;/p&gt; 
&lt;p&gt;（2）0821.json 大而全的配置，在饭太硬配置的基础上添加了若干优质点播源、直播线路和解析；&lt;/p&gt; 
&lt;p&gt;（3）0822.json 极简配置，OK大佬的jar，还包括几条路飞、俊于的源。&lt;/p&gt; 
&lt;p&gt;（4）0825.json 小而精的配置，jar包来源于Panda Groove的go包，其中泥巴、星星等，需要替换成自己的代理url；&lt;/p&gt; 
&lt;p&gt;（5）0826.json 完全来源于饭太硬的jar包和配置；&lt;/p&gt; 
&lt;p&gt;（6）0827.json jar包和配置来源于fongmi；&lt;/p&gt; 
&lt;p&gt;（7）0828.json jar包和配置来源于唐三；&lt;/p&gt; 
&lt;p&gt;（8）js.json jar包来源于Panda Groove的go包，资源来源于道长drpy(js)仓库 添加 YouTube 直播；&lt;/p&gt; 
&lt;p&gt;（9）XBPQ.json XBPQ源，jar包和配置来源于小米小爆脾气；&lt;/p&gt; 
&lt;p&gt;（10）XYQ.json XYQ源，jar包和配置来源于香雅情；&lt;/p&gt; 
&lt;p&gt;（11）cat.json cat源，资源来源于网络各路大佬。/cat/js配合猫影视可直接食用；&lt;/p&gt; 
&lt;p&gt;（12） jsm.json 来自js.json + 0826.json 合集 家庭电视可用 删除YouTube 直播，OK影视 可用 电视建议使用OK影视 &lt;a href=&quot;https://github.com/FongMi/Release&quot;&gt;https://github.com/FongMi/Release&lt;/a&gt; 支持多直播选择。&lt;/p&gt; 
&lt;p&gt;猫影视使用github 配置&lt;/p&gt; 
&lt;p&gt;配置教程：&lt;a href=&quot;https://omii.top/1296.html&quot;&gt;https://omii.top/1296.html&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;&lt;code&gt;注意使用Gitee或Github导入，并设置为私有仓库，CatVodOpen仅支持私有仓库跟dav&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;V1.1.3版本以上&lt;/p&gt; 
&lt;p&gt;&lt;code&gt;github://Token@github.com/xxxxx/tvbox/dist/index.js.md5&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;改动&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;quickjs改为nodejs，proxy设置修改&lt;/li&gt; 
 &lt;li&gt;在ios上无法使用local，使用db替换local所有方法&lt;/li&gt; 
 &lt;li&gt;nodejs 的优势在于更加灵活&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;V1.1.2版本以下&lt;/p&gt; 
&lt;p&gt;&lt;code&gt;github://Token@gitee.com/xxxxx/tvbox/js/open_config.json&lt;/code&gt;&lt;/p&gt; 
&lt;ol&gt; 
 &lt;li&gt;APP推荐:&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）OK影视版本 项目地址：&lt;a href=&quot;https://github.com/FongMi/TV&quot;&gt;https://github.com/FongMi/TV&lt;/a&gt; 支持直播多线路、自动换源、直播倍速，手机投屏；&lt;/p&gt; 
&lt;p&gt;（2）q215613905版本 项目地址：&lt;a href=&quot;https://github.com/q215613905/TVBoxOS&quot;&gt;https://github.com/q215613905/TVBoxOS&lt;/a&gt; 支持直播回放；&lt;/p&gt; 
&lt;p&gt;（3）takagen99版本 项目地址：&lt;a href=&quot;https://github.com/takagen99/Box&quot;&gt;https://github.com/takagen99/Box&lt;/a&gt; 支持直播回放，界面美观；&lt;/p&gt; 
&lt;p&gt;（4）皮皮虾版本 发布频道：&lt;a href=&quot;https://t.me/pipixiawerun&quot;&gt;https://t.me/pipixiawerun&lt;/a&gt; 支持直播回放，支持弹幕；&lt;/p&gt; 
&lt;p&gt;（5）新版猫影视 项目地址：&lt;a href=&quot;https://github.com/catvod/CatVodOpen&quot;&gt;https://github.com/catvod/CatVodOpen&lt;/a&gt; 界面简洁，支持多平台。&lt;/p&gt; 
&lt;p&gt;（6）手机版本 项目地址：&lt;a href=&quot;https://github.com/XiaoRanLiu3119/TVBoxOS-Mobile&quot;&gt;https://github.com/XiaoRanLiu3119/TVBoxOS-Mobile&lt;/a&gt; 竖屏&lt;/p&gt; 
&lt;p&gt;（7）q215613905 takagen99 编译apk 项目地址：&lt;a href=&quot;https://github.com/o0HalfLife0o/TVBoxOSC&quot;&gt;https://github.com/o0HalfLife0o/TVBoxOSC&lt;/a&gt;&lt;/p&gt; 
&lt;ol start=&quot;3&quot;&gt; 
 &lt;li&gt;TVBox各路大佬配置（排名不分先后）：&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;（1）饭太硬：&lt;a href=&quot;http://www.xn--sss604efuw.top/tv/&quot;&gt;http://www.饭太硬.top/tv/&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（2）okjack：&lt;a href=&quot;https://jihulab.com/okcaptain/kko/raw/main/ok.txt&quot;&gt;https://jihulab.com/okcaptain/kko/raw/main/ok.txt&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（3）王二小放牛娃：&lt;a href=&quot;http://tvbox.xn--4kq62z5rby2qupq9ub.xyz&quot;&gt;http://tvbox.王二小放牛娃.xyz&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（4）摸鱼儿：&lt;a href=&quot;http://xn--ihqu10cn4c.xn--v4q818bf34b.top&quot;&gt;http://我不是.摸鱼儿.top&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（5）霜辉月明py：&lt;a href=&quot;https://raw.githubusercontent.com/lm317379829/PyramidStore/pyramid/py.json&quot;&gt;https://raw.githubusercontent.com/lm317379829/PyramidStore/pyramid/py.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（6）小米小爆脾气：&lt;a href=&quot;http://xhww.fun/%E5%B0%8F%E7%B1%B3/DEMO.json&quot;&gt;http://xhww.fun/小米/DEMO.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（7）南风：&lt;a href=&quot;https://agit.ai/Yoursmile7/TVBox/raw/branch/master/XC.json&quot;&gt;https://agit.ai/Yoursmile7/TVBox/raw/branch/master/XC.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（8）神器：&lt;a href=&quot;https://xn--m7r412advb92j21st65a.tk/pz.json&quot;&gt;https://神器每日推送.tk/pz.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（9）巧技：&lt;a href=&quot;http://pandown.pro/tvbox/tvbox.json&quot;&gt;http://pandown.pro/tvbox/tvbox.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（10）Ray：&lt;a href=&quot;https://100km.top/0&quot;&gt;https://100km.top/0&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（11）俊于：&lt;a href=&quot;http://home.jundie.top:81/top98.json&quot;&gt;http://home.jundie.top:81/top98.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（12）橘子柚：&lt;a href=&quot;https://raw.githubusercontent.com/hackyjso/box/main/jzy.txt&quot;&gt;https://raw.githubusercontent.com/hackyjso/box/main/jzy.txt&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（13）电视（自用）： &lt;a href=&quot;https://raw.githubusercontent.com/qist/tvbox/master/jsm.json&quot;&gt;https://raw.githubusercontent.com/qist/tvbox/master/jsm.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（14）github代理地址： &lt;code&gt;https://github.moeyy.xyz https://mirror.ghproxy.com/ https://gh-proxy.com https://ghproxy.net&lt;/code&gt; 选择一个速度快使用&lt;/p&gt; 
&lt;p&gt;（15） 还可以使用域名: &lt;code&gt;https://qist.wyfc.qzz.io/jsm.json&lt;/code&gt; cloudflare Pages 构建&lt;/p&gt; 
&lt;p&gt;（16） 添加潇洒 接口： &lt;a href=&quot;https://raw.githubusercontent.com/qist/tvbox/master/xiaosa/api.json&quot;&gt;https://raw.githubusercontent.com/qist/tvbox/master/xiaosa/api.json&lt;/a&gt; 或者 &lt;a href=&quot;https://qist.wyfc.qzz.io/xiaosa/api.json&quot;&gt;https://qist.wyfc.qzz.io/xiaosa/api.json&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;（17）添加饭太硬 接口 &lt;a href=&quot;https://raw.githubusercontent.com/qist/tvbox/master/fty.json&quot;&gt;https://raw.githubusercontent.com/qist/tvbox/master/fty.json&lt;/a&gt; 或者 &lt;a href=&quot;https://qist.wyfc.qzz.io/fty.json&quot;&gt;https://qist.wyfc.qzz.io/fty.json&lt;/a&gt;&lt;/p&gt; 
&lt;ol start=&quot;2&quot;&gt; 
 &lt;li&gt;网盘授权配置： 选择 《 配置 | 中心 》进行配置 特别警告：据传阿里要求使用者不得使用多线程加速方式使用阿里云盘资源，若并发连接数超过10有可能导致被限制访问或封禁帐号的处理，所以下方线程限制设置超过10所需承担的风险请使用者自行斟酌。&lt;/li&gt; 
&lt;/ol&gt; 
&lt;p&gt;特别警告2：迅雷云盘限制极为严格，不要尝试单token多用户异地使用，或多线程使用，随时可能封号。&lt;/p&gt; 
&lt;p&gt;可以透过配置中的“网盘及弹幕配置”的视频源来实现快捷方便的获取32位token及opentoken的功能。在“网盘及弹幕配置”中扫过任何一个OpenToken后，会自动激活“转存原画”功能&lt;/p&gt; 
&lt;p&gt;提示：如果遇到极速GO原画反复快速报错，不一定是被封号，可尝试杀掉播放器重启，或重启整个播放设备解决。&lt;/p&gt; 
&lt;p&gt;提示2：如果遇到“转存原画”速度被限制在2M左右，那麽请尝试在阿里云盘APP里退出登录，然后重新登录，然后删除播放设备SD卡的TV目&lt;/p&gt; 
&lt;p&gt;自用仓库，如果喜欢，请Fork自用，谢谢！&lt;/p&gt; 
&lt;p&gt;尽自己所能更新，不保证配置的有效性和时效性。&lt;/p&gt; 
&lt;h3&gt;Star&lt;/h3&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.star-history.com/#qist/tvbox&amp;amp;Date&quot;&gt;&lt;img src=&quot;https://api.star-history.com/svg?repos=qist/tvbox&amp;amp;type=Date&quot; alt=&quot;Star History Chart&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/80684e5455bca6cd22a702694201c8a04c3f21a5f2adb6bf35434987606c56e2/qist/tvbox" medium="image" />
      
    </item>
    
    <item>
      <title>facebook/react</title>
      <link>https://github.com/facebook/react</link>
      <description>&lt;p&gt;The library for web and native user interfaces.&lt;/p&gt;&lt;hr&gt;&lt;h1&gt;&lt;a href=&quot;https://react.dev/&quot;&gt;React&lt;/a&gt; · &lt;a href=&quot;https://github.com/facebook/react/raw/main/LICENSE&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/license-MIT-blue.svg?sanitize=true&quot; alt=&quot;GitHub license&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://www.npmjs.com/package/react&quot;&gt;&lt;img src=&quot;https://img.shields.io/npm/v/react.svg?style=flat&quot; alt=&quot;npm version&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/facebook/react/actions/workflows/runtime_build_and_test.yml&quot;&gt;&lt;img src=&quot;https://github.com/facebook/react/actions/workflows/runtime_build_and_test.yml/badge.svg?sanitize=true&quot; alt=&quot;(Runtime) Build and Test&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://github.com/facebook/react/actions/workflows/compiler_typescript.yml&quot;&gt;&lt;img src=&quot;https://github.com/facebook/react/actions/workflows/compiler_typescript.yml/badge.svg?branch=main&quot; alt=&quot;(Compiler) TypeScript&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;https://legacy.reactjs.org/docs/how-to-contribute.html#your-first-pull-request&quot;&gt;&lt;img src=&quot;https://img.shields.io/badge/PRs-welcome-brightgreen.svg?sanitize=true&quot; alt=&quot;PRs Welcome&quot; /&gt;&lt;/a&gt;&lt;/h1&gt; 
&lt;p&gt;React is a JavaScript library for building user interfaces.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Declarative:&lt;/strong&gt; React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Component-Based:&lt;/strong&gt; Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Learn Once, Write Anywhere:&lt;/strong&gt; We don&#39;t make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React can also render on the server using &lt;a href=&quot;https://nodejs.org/en&quot;&gt;Node&lt;/a&gt; and power mobile apps using &lt;a href=&quot;https://reactnative.dev/&quot;&gt;React Native&lt;/a&gt;.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;&lt;a href=&quot;https://react.dev/learn&quot;&gt;Learn how to use React in your project&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;React has been designed for gradual adoption from the start, and &lt;strong&gt;you can use as little or as much React as you need&lt;/strong&gt;:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Use &lt;a href=&quot;https://react.dev/learn&quot;&gt;Quick Start&lt;/a&gt; to get a taste of React.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/add-react-to-an-existing-project&quot;&gt;Add React to an Existing Project&lt;/a&gt; to use as little or as much React as you need.&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/start-a-new-react-project&quot;&gt;Create a New React App&lt;/a&gt; if you&#39;re looking for a powerful JavaScript toolchain.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;You can find the React documentation &lt;a href=&quot;https://react.dev/&quot;&gt;on the website&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Check out the &lt;a href=&quot;https://react.dev/learn&quot;&gt;Getting Started&lt;/a&gt; page for a quick overview.&lt;/p&gt; 
&lt;p&gt;The documentation is divided into several sections:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn&quot;&gt;Quick Start&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/tutorial-tic-tac-toe&quot;&gt;Tutorial&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/thinking-in-react&quot;&gt;Thinking in React&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/installation&quot;&gt;Installation&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/describing-the-ui&quot;&gt;Describing the UI&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/adding-interactivity&quot;&gt;Adding Interactivity&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/managing-state&quot;&gt;Managing State&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/learn/escape-hatches&quot;&gt;Advanced Guides&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/reference/react&quot;&gt;API Reference&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://react.dev/community&quot;&gt;Where to Get Support&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://legacy.reactjs.org/docs/how-to-contribute.html&quot;&gt;Contributing Guide&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can improve it by sending pull requests to &lt;a href=&quot;https://github.com/reactjs/react.dev&quot;&gt;this repository&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;Examples&lt;/h2&gt; 
&lt;p&gt;We have several examples &lt;a href=&quot;https://react.dev/&quot;&gt;on the website&lt;/a&gt;. Here is the first one to get you started:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-jsx&quot;&gt;import { createRoot } from &#39;react-dom/client&#39;;

function HelloMessage({ name }) {
  return &amp;lt;div&amp;gt;Hello {name}&amp;lt;/div&amp;gt;;
}

const root = createRoot(document.getElementById(&#39;container&#39;));
root.render(&amp;lt;HelloMessage name=&quot;Taylor&quot; /&amp;gt;);
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;This example will render &quot;Hello Taylor&quot; into a container on the page.&lt;/p&gt; 
&lt;p&gt;You&#39;ll notice that we used an HTML-like syntax; &lt;a href=&quot;https://react.dev/learn#writing-markup-with-jsx&quot;&gt;we call it JSX&lt;/a&gt;. JSX is not required to use React, but it makes code more readable, and writing it feels like writing HTML.&lt;/p&gt; 
&lt;h2&gt;Contributing&lt;/h2&gt; 
&lt;p&gt;The main purpose of this repository is to continue evolving React core, making it faster and easier to use. Development of React happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving React.&lt;/p&gt; 
&lt;h3&gt;&lt;a href=&quot;https://code.fb.com/codeofconduct&quot;&gt;Code of Conduct&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read &lt;a href=&quot;https://code.fb.com/codeofconduct&quot;&gt;the full text&lt;/a&gt; so that you can understand what actions will and will not be tolerated.&lt;/p&gt; 
&lt;h3&gt;&lt;a href=&quot;https://legacy.reactjs.org/docs/how-to-contribute.html&quot;&gt;Contributing Guide&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;Read our &lt;a href=&quot;https://legacy.reactjs.org/docs/how-to-contribute.html&quot;&gt;contributing guide&lt;/a&gt; to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to React.&lt;/p&gt; 
&lt;h3&gt;&lt;a href=&quot;https://github.com/facebook/react/labels/good%20first%20issue&quot;&gt;Good First Issues&lt;/a&gt;&lt;/h3&gt; 
&lt;p&gt;To help you get your feet wet and get you familiar with our contribution process, we have a list of &lt;a href=&quot;https://github.com/facebook/react/labels/good%20first%20issue&quot;&gt;good first issues&lt;/a&gt; that contain bugs that have a relatively limited scope. This is a great place to get started.&lt;/p&gt; 
&lt;h3&gt;License&lt;/h3&gt; 
&lt;p&gt;React is &lt;a href=&quot;https://raw.githubusercontent.com/facebook/react/main/LICENSE&quot;&gt;MIT licensed&lt;/a&gt;.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/5123ebeaf69b15185f7fde87691cb1d7c905f942e50ae9fece806f15ea3c29f4/facebook/react" medium="image" />
      
    </item>
    
    <item>
      <title>renatoasse/opensquad</title>
      <link>https://github.com/renatoasse/opensquad</link>
      <description>&lt;h1&gt;opensquad&lt;/h1&gt; 
&lt;p&gt;Crie squads de agentes de IA que trabalham juntos — direto da sua IDE.&lt;/p&gt; 
&lt;p&gt;opensquad é um framework de orquestração multi-agente. Descreva o que você precisa em linguagem natural, e o opensquad cria uma equipe de agentes especializados que trabalham juntos automaticamente.&lt;/p&gt; 
&lt;h2&gt;Veja em ação&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=CL1ppI4qHeU&quot;&gt;&lt;img src=&quot;https://img.youtube.com/vi/CL1ppI4qHeU/maxresdefault.jpg&quot; alt=&quot;Assista ao vídeo de lançamento&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;O que é um Squad?&lt;/h2&gt; 
&lt;p&gt;Um squad é uma equipe de agentes de IA que colaboram em uma tarefa. Cada agente tem um papel específico. Eles executam em pipeline com checkpoints onde o agente pausa e pede sua aprovação antes de continuar. Os checkpoints são instruções no pipeline do agente — o enforcement real de permissões depende da IDE host (ex: Claude Code, Cursor).&lt;/p&gt; 
&lt;p&gt;Exemplo:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Pesquisador&lt;/strong&gt; coleta informações e tendências do setor&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Estrategista&lt;/strong&gt; gera ideias e define a abordagem&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Redator&lt;/strong&gt; produz o conteúdo final&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Designer&lt;/strong&gt; cria as imagens para redes sociais&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Revisor&lt;/strong&gt; garante qualidade antes da entrega&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Para quem?&lt;/h2&gt; 
&lt;p&gt;Para qualquer pessoa ou equipe que queira automatizar trabalho operacional e repetitivo com agentes de IA.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Criadores de conteúdo&lt;/strong&gt; — automatize pesquisa, redação e design para redes sociais, blogs e newsletters&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Agências e freelancers&lt;/strong&gt; — crie pipelines reutilizáveis para atender múltiplos clientes&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Times de marketing&lt;/strong&gt; — produza conteúdo consistente com aprovação humana nos checkpoints&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Times de RH&lt;/strong&gt; — automatize triagem de currículos, comunicações internas e onboarding&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Times de gestão&lt;/strong&gt; — gere relatórios, apresentações e dashboards a partir de dados brutos&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;O que dá pra fazer?&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Produção de conteúdo&lt;/strong&gt; — carrosséis, posts estáticos, artigos de blog, LinkedIn, com publicação automática inclusa&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Refatoração de conteúdo&lt;/strong&gt; — transformar um vídeo em carrossel, artigo, thread ou qualquer outro formato&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Criação e edição de vídeos&lt;/strong&gt; — cortar vídeos longos em reels, montar vídeos do zero&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Análise de dados&lt;/strong&gt; — transformar planilhas em apresentações, sites ou dashboards&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Planejamento de campanhas&lt;/strong&gt; — gerar roteiros, e-mails, mensagens de WhatsApp, cronogramas de lançamento, tudo de uma vez&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Roteiros de vídeos longos&lt;/strong&gt; — VSLs, webinars, aulas&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Radar de tendências&lt;/strong&gt; — monitorar notícias e tendências do nicho e alimentar automaticamente outros squads, como o de produção de conteúdo&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Tutoriais e manuais&lt;/strong&gt; — o agente navega na internet, bate prints e monta um documento completo passo a passo (ideal para manuais de SaaS)&lt;/li&gt; 
 &lt;li&gt;E muito mais — qualquer fluxo de trabalho que envolva pesquisa, criação ou automação&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Instalação&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Pré-requisito:&lt;/strong&gt; Node.js 20+&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx opensquad init
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;Para atualizar uma instalação existente:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx opensquad update
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;IDEs Suportadas&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;IDE&lt;/th&gt; 
   &lt;th&gt;Status&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Claude Code&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Cursor&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;VS Code + Copilot&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Codex (OpenAI)&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Open Code&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Antigravity&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Gemini CLI&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Qwen Code&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Trae&lt;/td&gt; 
   &lt;td&gt;Disponível&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Escritório Virtual&lt;/h2&gt; 
&lt;p&gt;O Escritório Virtual é uma interface visual 2D que mostra seus agentes trabalhando em tempo real.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Passo 1 — Gere o dashboard&lt;/strong&gt; (na sua IDE):&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad dashboard
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Passo 2 — Sirva localmente&lt;/strong&gt; (no terminal):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx serve squads/&amp;lt;nome-do-squad&amp;gt;/dashboard
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Passo 3 —&lt;/strong&gt; Abra &lt;code&gt;http://localhost:3000&lt;/code&gt; no seu navegador.&lt;/p&gt; 
&lt;h2&gt;Criando seu Squad&lt;/h2&gt; 
&lt;p&gt;Abra o menu:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;O &lt;strong&gt;Opensquad&lt;/strong&gt; vai te mostrar todas as opções disponíveis.&lt;/p&gt; 
&lt;p&gt;Para criar um novo squad, basta selecionar a opção, e o &lt;strong&gt;Arquiteto&lt;/strong&gt; faz algumas perguntas, projeta o squad e configura tudo automaticamente. Você aprova o design antes de qualquer execução.&lt;/p&gt; 
&lt;h2&gt;Executando um Squad&lt;/h2&gt; 
&lt;p&gt;Você pode executar o squad novamente com /opensquad, ou pedindo diretamente:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad rode o squad &amp;lt;nome-do-squad&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;O squad executa automaticamente, pausando nos checkpoints onde o agente pede sua aprovação.&lt;/p&gt; 
&lt;h2&gt;Exemplos&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad
/opensquad crie um Squad que gera carrosséis de Instagram a partir de notícias quentes, cria as imagens e publica automaticamente
/opensquad quero um Squad que produz todos os materiais de lançamento de infoproduto: páginas de vendas, mensagens de WhatsApp, emails e roteiros de CPL
/opensquad crie um Squad que escreve tutoriais completos com prints de tela para treinamento de colaboradores
/opensquad crie um &quot;Squad que pega vídeos do YouTube e gera cortes virais automaticamente&quot;
/opensquad roda o squad carrosseis-instagram

&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Comandos&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Comando&lt;/th&gt; 
   &lt;th&gt;O que faz&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Abre o menu principal&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad help&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Mostra todos os comandos&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad create&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Cria um novo squad&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad run &amp;lt;nome&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Executa um squad&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad list&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Lista seus squads&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad edit &amp;lt;nome&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Modifica um squad&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad skills&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Navega pelas skills instaladas&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad install &amp;lt;nome&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Instala uma skill do catálogo&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad uninstall &amp;lt;nome&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Remove uma skill instalada&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Custo de Tokens&lt;/h2&gt; 
&lt;p&gt;O opensquad é open source e gratuito como software. É possível usá-lo de forma 100% gratuita com stacks como Google Antigravity (free tier com Gemini) ou OpenCode com LLMs locais (Ollama, LM Studio, etc.).&lt;/p&gt; 
&lt;p&gt;Porém, stacks como Claude Code (Claude Pro/Max) e API da OpenAI consomem tokens pagos:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Cada execução de squad consome tokens — a quantidade depende do número de agentes, da complexidade do pipeline e do modelo escolhido.&lt;/li&gt; 
 &lt;li&gt;Investigações com Sherlock (navegação de perfis) e geração de imagens são operações especialmente intensivas.&lt;/li&gt; 
 &lt;li&gt;O framework carrega prompts de sistema, best practices e instruções de agentes no contexto — o que contribui para o consumo base de cada execução.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Se estiver usando uma stack paga, recomendamos monitorar seu consumo de tokens na sua IDE ou no dashboard do provedor de IA.&lt;/p&gt; 
&lt;h2&gt;Sessões de Navegador e Privacidade&lt;/h2&gt; 
&lt;p&gt;Quando você fornece URLs de referência durante a criação de um squad (ex: &quot;siga o estilo do @fulano&quot;), o opensquad usa um navegador headless (Playwright) para visitar essas páginas e extrair padrões de conteúdo.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Login manual:&lt;/strong&gt; na primeira vez que uma plataforma exige login, o opensquad pede para você entrar manualmente e &lt;strong&gt;pergunta se deseja salvar a sessão&lt;/strong&gt; para investigações futuras.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Cookies persistentes:&lt;/strong&gt; se você autorizar, os cookies ficam salvos localmente em &lt;code&gt;_opensquad/_browser_profile/&lt;/code&gt;. Esse diretório nunca é commitado no git (&lt;code&gt;.gitignore&lt;/code&gt;).&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Escopo de acesso:&lt;/strong&gt; o navegador tem acesso a qualquer URL — não apenas às referências fornecidas. As ações do navegador (navegação, cliques, execução de JavaScript) são controladas pelo agente investigador.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Revogar sessões:&lt;/strong&gt; delete a pasta &lt;code&gt;_opensquad/_browser_profile/&lt;/code&gt; para remover todos os cookies e dados de sessão salvos. Na próxima investigação, um novo login manual será necessário.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Sobre&lt;/h2&gt; 
&lt;p&gt;O opensquad é um projeto open source criado e mantido por &lt;a href=&quot;https://github.com/renatoasse&quot;&gt;Renato Asse&lt;/a&gt;, fundador da &lt;a href=&quot;https://semcodar.com.br&quot;&gt;Comunidade Sem Codar&lt;/a&gt;, uma Escola de IA com mais de 25 mil alunos focada em ensinar pessoas não-técnicas a usar inteligência artificial no trabalho.&lt;/p&gt; 
&lt;p&gt;O projeto nasceu da necessidade real de automatizar processos de conteúdo e marketing usando agentes de IA — e é disponibilizado gratuitamente para que qualquer pessoa possa usar, estudar e contribuir.&lt;/p&gt; 
&lt;p&gt;Contribuições da comunidade são bem-vindas. Veja o &lt;a href=&quot;https://raw.githubusercontent.com/renatoasse/opensquad/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; para saber como participar.&lt;/p&gt; 
&lt;h2&gt;Licença&lt;/h2&gt; 
&lt;p&gt;MIT — use como quiser.&lt;/p&gt; 
&lt;hr /&gt; 
&lt;h1&gt;opensquad (English)&lt;/h1&gt; 
&lt;p&gt;Create AI squads that work together — right from your IDE.&lt;/p&gt; 
&lt;p&gt;opensquad is a multi-agent orchestration framework. Describe what you need in plain language, and opensquad creates a team of specialized agents that work together automatically.&lt;/p&gt; 
&lt;h2&gt;See it in action&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=CL1ppI4qHeU&quot;&gt;&lt;img src=&quot;https://img.youtube.com/vi/CL1ppI4qHeU/maxresdefault.jpg&quot; alt=&quot;Watch the launch video&quot; /&gt;&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;What is a Squad?&lt;/h2&gt; 
&lt;p&gt;A squad is a team of AI agents that collaborate on a task. Each agent has a specific role. They run in a pipeline with checkpoints where the agent pauses and asks for your approval before continuing. Checkpoints are instructions in the agent pipeline — actual permission enforcement depends on the host IDE (e.g., Claude Code, Cursor).&lt;/p&gt; 
&lt;p&gt;Example:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Researcher&lt;/strong&gt; gathers information and industry trends&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Strategist&lt;/strong&gt; generates ideas and defines the approach&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Writer&lt;/strong&gt; produces the final content&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Reviewer&lt;/strong&gt; ensures quality before delivery&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Installation&lt;/h2&gt; 
&lt;p&gt;&lt;strong&gt;Prerequisite:&lt;/strong&gt; Node.js 20+&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx opensquad init
&lt;/code&gt;&lt;/pre&gt; 
&lt;blockquote&gt; 
 &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Always run your AI IDE from inside the project directory where you ran &lt;code&gt;npx opensquad init&lt;/code&gt;. The &lt;code&gt;/opensquad&lt;/code&gt; command is only available when the IDE is opened in that folder.&lt;/p&gt; 
&lt;/blockquote&gt; 
&lt;p&gt;To update an existing installation:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx opensquad update
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Supported IDEs&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;IDE&lt;/th&gt; 
   &lt;th&gt;Status&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Claude Code&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Cursor&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;VS Code + Copilot&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Codex (OpenAI)&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Open Code&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Antigravity&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Gemini CLI&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Qwen Code&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;Trae&lt;/td&gt; 
   &lt;td&gt;Available&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Virtual Office&lt;/h2&gt; 
&lt;p&gt;The Virtual Office is a 2D visual interface that shows your agents working in real time.&lt;/p&gt; 
&lt;p&gt;&lt;strong&gt;Step 1 — Generate the dashboard&lt;/strong&gt; (in your IDE):&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad dashboard
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Step 2 — Serve it locally&lt;/strong&gt; (in terminal):&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npx serve squads/&amp;lt;squad-name&amp;gt;/dashboard
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;&lt;strong&gt;Step 3 —&lt;/strong&gt; Open &lt;code&gt;http://localhost:3000&lt;/code&gt; in your browser.&lt;/p&gt; 
&lt;h2&gt;Creating your Squad&lt;/h2&gt; 
&lt;p&gt;Describe what you need:&lt;/p&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad create &quot;A squad that writes LinkedIn posts about AI trends&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The &lt;strong&gt;Architect&lt;/strong&gt; asks a few questions, designs the squad, and sets everything up automatically. You approve the design before any execution begins.&lt;/p&gt; 
&lt;h2&gt;Running a Squad&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad run &amp;lt;squad-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;The squad runs automatically, pausing at checkpoints where the agent asks for your approval.&lt;/p&gt; 
&lt;h2&gt;Examples&lt;/h2&gt; 
&lt;pre&gt;&lt;code&gt;/opensquad create &quot;Squad that generates Instagram carousels from trending news, creates the images, and publishes automatically&quot;
/opensquad create &quot;Squad that produces all infoproduct launch materials: sales pages, WhatsApp messages, emails, and CPL scripts&quot;
/opensquad create &quot;Squad that writes complete tutorials with screenshots for employee training&quot;
/opensquad create &quot;Squad that takes YouTube videos and automatically generates viral clips&quot;
&lt;/code&gt;&lt;/pre&gt; 
&lt;h2&gt;Commands&lt;/h2&gt; 
&lt;table&gt; 
 &lt;thead&gt; 
  &lt;tr&gt; 
   &lt;th&gt;Command&lt;/th&gt; 
   &lt;th&gt;What it does&lt;/th&gt; 
  &lt;/tr&gt; 
 &lt;/thead&gt; 
 &lt;tbody&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Open the main menu&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad help&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Show all commands&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad create&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Create a new squad&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad run &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Run a squad&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad list&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;See all your squads&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad edit &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Modify a squad&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad skills&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Browse installed skills&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad install &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Install a skill from catalog&lt;/td&gt; 
  &lt;/tr&gt; 
  &lt;tr&gt; 
   &lt;td&gt;&lt;code&gt;/opensquad uninstall &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt; 
   &lt;td&gt;Remove an installed skill&lt;/td&gt; 
  &lt;/tr&gt; 
 &lt;/tbody&gt; 
&lt;/table&gt; 
&lt;h2&gt;Token Cost&lt;/h2&gt; 
&lt;p&gt;opensquad is open source and free as software. You can use it completely free with stacks like Google Antigravity (free tier with Gemini) or OpenCode with local LLMs (Ollama, LM Studio, etc.).&lt;/p&gt; 
&lt;p&gt;However, stacks like Claude Code (Claude Pro/Max) and OpenAI API consume paid tokens:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Every squad run consumes tokens — the amount depends on the number of agents, pipeline complexity, and the model chosen.&lt;/li&gt; 
 &lt;li&gt;Sherlock investigations (profile browsing) and image generation are especially token-intensive operations.&lt;/li&gt; 
 &lt;li&gt;The framework loads system prompts, best practices, and agent instructions into context — contributing to the base token consumption of every run.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;If using a paid stack, we recommend monitoring your token usage in your IDE or your AI provider&#39;s dashboard.&lt;/p&gt; 
&lt;h2&gt;Browser Sessions &amp;amp; Privacy&lt;/h2&gt; 
&lt;p&gt;When you provide reference URLs during squad creation (e.g., &quot;follow the style of @someone&quot;), opensquad uses a headless browser (Playwright) to visit those pages and extract content patterns.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;strong&gt;Manual login:&lt;/strong&gt; the first time a platform requires login, opensquad asks you to log in manually and &lt;strong&gt;asks whether you want to save the session&lt;/strong&gt; for future investigations.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Persistent cookies:&lt;/strong&gt; if you agree, cookies are saved locally in &lt;code&gt;_opensquad/_browser_profile/&lt;/code&gt;. This directory is never committed to git (&lt;code&gt;.gitignore&lt;/code&gt;).&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Access scope:&lt;/strong&gt; the browser can access any URL — not just the references you provided. Browser actions (navigation, clicks, JavaScript execution) are controlled by the investigator agent.&lt;/li&gt; 
 &lt;li&gt;&lt;strong&gt;Revoking sessions:&lt;/strong&gt; delete the &lt;code&gt;_opensquad/_browser_profile/&lt;/code&gt; folder to remove all saved cookies and session data. The next investigation will require a fresh manual login.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;About&lt;/h2&gt; 
&lt;p&gt;opensquad is an open source project created and maintained by &lt;a href=&quot;https://github.com/renatoasse&quot;&gt;Renato Asse&lt;/a&gt;, founder of &lt;a href=&quot;https://semcodar.com.br&quot;&gt;Comunidade Sem Codar&lt;/a&gt; (No-Code Community), an AI School with over 25,000 students focused on teaching non-technical people how to use artificial intelligence at work.&lt;/p&gt; 
&lt;p&gt;The project was born from the real need to automate content and marketing workflows using AI agents — and is made freely available so anyone can use, study, and contribute.&lt;/p&gt; 
&lt;p&gt;Community contributions are welcome. See &lt;a href=&quot;https://raw.githubusercontent.com/renatoasse/opensquad/master/CONTRIBUTING.md&quot;&gt;CONTRIBUTING.md&lt;/a&gt; to learn how to participate.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;MIT — use it however you want.&lt;/p&gt;</description>
      
      <media:content url="https://opengraph.githubassets.com/4461e60ab15e306e1ad35d831c5467154aeec21f4e0b4cc3e3ce52cb90a66322/renatoasse/opensquad" medium="image" />
      
    </item>
    
    <item>
      <title>copy/v86</title>
      <link>https://github.com/copy/v86</link>
      <description>&lt;p&gt;x86 PC emulator and x86-to-wasm JIT, running in the browser&lt;/p&gt;&lt;hr&gt;&lt;p&gt;&lt;a href=&quot;https://gitter.im/copy/v86&quot;&gt;&lt;img src=&quot;https://badges.gitter.im/Join%20Chat.svg?sanitize=true&quot; alt=&quot;Join the chat at https://gitter.im/copy/v86&quot; /&gt;&lt;/a&gt; or #v86 on &lt;a href=&quot;https://libera.chat/&quot;&gt;irc.libera.chat&lt;/a&gt;&lt;/p&gt; 
&lt;p&gt;v86 emulates an x86-compatible CPU and hardware. Machine code is translated to WebAssembly modules at runtime in order to achieve decent performance. Here&#39;s a list of emulated hardware:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;An x86-compatible CPU. The instruction set is around Pentium 4 level, including full SSE3 support. Some features are missing, in particular: 
  &lt;ul&gt; 
   &lt;li&gt;Task gates, far calls in protected mode&lt;/li&gt; 
   &lt;li&gt;Some 16 bit protected mode features&lt;/li&gt; 
   &lt;li&gt;Single stepping (trap flag, debug registers)&lt;/li&gt; 
   &lt;li&gt;Some exceptions, especially floating point and SSE&lt;/li&gt; 
   &lt;li&gt;Multicore&lt;/li&gt; 
   &lt;li&gt;64-bit extensions&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;A floating point unit (FPU). Calculations are done using the Berkeley SoftFloat library and therefore should be precise (but slow). Trigonometric and log functions are emulated using 64-bit floats and may be less precise. Not all FPU exceptions are supported.&lt;/li&gt; 
 &lt;li&gt;A floppy disk controller (8272A).&lt;/li&gt; 
 &lt;li&gt;An 8042 Keyboard Controller, PS2. With mouse support.&lt;/li&gt; 
 &lt;li&gt;An 8254 Programmable Interval Timer (PIT).&lt;/li&gt; 
 &lt;li&gt;An 8259 Programmable Interrupt Controller (PIC).&lt;/li&gt; 
 &lt;li&gt;Partial APIC support.&lt;/li&gt; 
 &lt;li&gt;A CMOS Real Time Clock (RTC).&lt;/li&gt; 
 &lt;li&gt;A generic VGA card with SVGA support and Bochs VBE Extensions.&lt;/li&gt; 
 &lt;li&gt;A PCI bus. This one is partly incomplete and not used by every device.&lt;/li&gt; 
 &lt;li&gt;An IDE disk controller. 
  &lt;ul&gt; 
   &lt;li&gt;A built-in ISO 9660 CD-ROM generator.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;An NE2000 (RTL8390) PCI network card.&lt;/li&gt; 
 &lt;li&gt;Various virtio devices: Filesystem, network and balloon.&lt;/li&gt; 
 &lt;li&gt;A SoundBlaster 16 sound card.&lt;/li&gt; 
 &lt;li&gt;A hayes-compatible dial-up Modem.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Demos&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://copy.sh/v86/?profile=9front&quot;&gt;9front&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=archlinux&quot;&gt;Arch Linux&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86?profile=android&quot;&gt;Android-x86 1.6-r2&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86?profile=android4&quot;&gt;Android-x86 4.4-r2&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=basiclinux&quot;&gt;BasicLinux&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=buildroot&quot;&gt;Buildroot Linux&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=dsl&quot;&gt;Damn Small Linux&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=elks&quot;&gt;ELKS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=freedos&quot;&gt;FreeDOS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=freebsd&quot;&gt;FreeBSD&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=fiwix&quot;&gt;FiwixOS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=haiku&quot;&gt;Haiku&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=copy/skiffos&quot;&gt;SkiffOS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=reactos&quot;&gt;ReactOS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=windows2000&quot;&gt;Windows 2000&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=windows98&quot;&gt;Windows 98&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=windows95&quot;&gt;Windows 95&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=windows1&quot;&gt;Windows 1.01&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=msdos&quot;&gt;MS-DOS 6.22&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=openbsd&quot;&gt;OpenBSD&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=oberon&quot;&gt;Oberon&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=kolibrios&quot;&gt;KolibriOS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86?profile=skift&quot;&gt;SkiftOS&lt;/a&gt; — &lt;a href=&quot;https://copy.sh/v86/?profile=qnx&quot;&gt;QNX&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Documentation&lt;/h2&gt; 
&lt;p&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/how-it-works.md&quot;&gt;How it works&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/networking.md&quot;&gt;Networking&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/modem.md&quot;&gt;Dial-up modem networking&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/tools/docker/alpine/&quot;&gt;Alpine Linux guest setup&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/archlinux.md&quot;&gt;Arch Linux guest setup&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/windows-nt.md&quot;&gt;Windows NT guest setup&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/windows-9x.md&quot;&gt;Windows 9x guest setup&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/filesystem.md&quot;&gt;9p filesystem&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/linux-9p-image.md&quot;&gt;Linux rootfs on 9p&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/profiling.md&quot;&gt;Profiling&lt;/a&gt; — &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/cpu-idling.md&quot;&gt;CPU Idling&lt;/a&gt;&lt;/p&gt; 
&lt;h2&gt;Compatibility&lt;/h2&gt; 
&lt;p&gt;Here&#39;s an overview of the operating systems supported in v86:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;Linux works pretty well. 64-bit kernels are not supported. 
  &lt;ul&gt; 
   &lt;li&gt;&lt;a href=&quot;https://buildroot.org/&quot;&gt;Buildroot&lt;/a&gt; can be used to build a minimal image. &lt;a href=&quot;https://github.com/humphd/browser-vm&quot;&gt;humphd/browser-vm&lt;/a&gt; and &lt;a href=&quot;https://github.com/Darin755/browser-buildroot&quot;&gt;darin755/browser-buildroot&lt;/a&gt; have some useful scripts for building one.&lt;/li&gt; 
   &lt;li&gt;&lt;a href=&quot;https://github.com/skiffos/SkiffOS/tree/master/configs/browser/v86&quot;&gt;SkiffOS&lt;/a&gt; (based on Buildroot) can cross-compile a custom image.&lt;/li&gt; 
   &lt;li&gt;Ubuntu and other Debian derivatives works up to the latest version that supported i386 (16.04 LTS or 18.04 LTS for some variants).&lt;/li&gt; 
   &lt;li&gt;Alpine Linux works. An image can be built from a Dockerfile, see &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/tools/docker/alpine/&quot;&gt;tools/docker/alpine/&lt;/a&gt;.&lt;/li&gt; 
   &lt;li&gt;Arch Linux 32 works. See &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/archlinux.md&quot;&gt;archlinux.md&lt;/a&gt; for building an image.&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;ReactOS works.&lt;/li&gt; 
 &lt;li&gt;FreeDOS, Windows 1.01 and MS-DOS run very well.&lt;/li&gt; 
 &lt;li&gt;KolibriOS works.&lt;/li&gt; 
 &lt;li&gt;Haiku works.&lt;/li&gt; 
 &lt;li&gt;Android-x86 has been tested up to 4.4-r2.&lt;/li&gt; 
 &lt;li&gt;Windows 1, 3.x, 95, 98, ME, NT and 2000 work reasonably well. 
  &lt;ul&gt; 
   &lt;li&gt;In Windows 2000 and higher the PC type has to be changed from ACPI PC to Standard PC&lt;/li&gt; 
   &lt;li&gt;There are some known boot issues (&lt;a href=&quot;https://github.com/copy/v86/issues/250&quot;&gt;#250&lt;/a&gt;, &lt;a href=&quot;https://github.com/copy/v86/issues/433&quot;&gt;#433&lt;/a&gt;, &lt;a href=&quot;https://github.com/copy/v86/issues/507&quot;&gt;#507&lt;/a&gt;, &lt;a href=&quot;https://github.com/copy/v86/issues/555&quot;&gt;#555&lt;/a&gt;, &lt;a href=&quot;https://github.com/copy/v86/issues/620&quot;&gt;#620&lt;/a&gt;, &lt;a href=&quot;https://github.com/copy/v86/issues/645&quot;&gt;#645&lt;/a&gt;)&lt;/li&gt; 
   &lt;li&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/windows-9x.md&quot;&gt;Windows 9x guest setup&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Windows XP, Vista and 8 work under certain conditions (see &lt;a href=&quot;https://github.com/copy/v86/issues/86&quot;&gt;#86&lt;/a&gt;, &lt;a href=&quot;https://github.com/copy/v86/issues/208&quot;&gt;#208&lt;/a&gt;) 
  &lt;ul&gt; 
   &lt;li&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/docs/windows-nt.md&quot;&gt;Windows NT guest setup&lt;/a&gt;&lt;/li&gt; 
  &lt;/ul&gt; &lt;/li&gt; 
 &lt;li&gt;Many hobby operating systems work.&lt;/li&gt; 
 &lt;li&gt;9front works.&lt;/li&gt; 
 &lt;li&gt;Plan 9 doesn&#39;t work.&lt;/li&gt; 
 &lt;li&gt;QNX works.&lt;/li&gt; 
 &lt;li&gt;OS/2 doesn&#39;t work.&lt;/li&gt; 
 &lt;li&gt;FreeBSD works.&lt;/li&gt; 
 &lt;li&gt;OpenBSD works with a specific boot configuration. At the &lt;code&gt;boot&amp;gt;&lt;/code&gt; prompt type &lt;code&gt;boot -c&lt;/code&gt;, then at the &lt;code&gt;UKC&amp;gt;&lt;/code&gt; prompt &lt;code&gt;disable mpbios&lt;/code&gt; and &lt;code&gt;exit&lt;/code&gt;.&lt;/li&gt; 
 &lt;li&gt;NetBSD works only with a custom kernel, see &lt;a href=&quot;https://github.com/copy/v86/issues/350&quot;&gt;#350&lt;/a&gt;.&lt;/li&gt; 
 &lt;li&gt;SerenityOS works (only 32-bit versions).&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://skiftos.org/&quot;&gt;SkiftOS&lt;/a&gt; works.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;You can get some information on the disk images here: &lt;a href=&quot;https://github.com/copy/images&quot;&gt;https://github.com/copy/images&lt;/a&gt;.&lt;/p&gt; 
&lt;h2&gt;How to build, run and embed?&lt;/h2&gt; 
&lt;p&gt;You need:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;make&lt;/li&gt; 
 &lt;li&gt;Rust with the wasm32-unknown-unknown target&lt;/li&gt; 
 &lt;li&gt;A version of clang compatible with Rust&lt;/li&gt; 
 &lt;li&gt;java (for Closure Compiler, not necessary when using &lt;code&gt;debug.html&lt;/code&gt;)&lt;/li&gt; 
 &lt;li&gt;nodejs (a recent version is required, v16.11.1 is known to be working)&lt;/li&gt; 
 &lt;li&gt;To run tests: nasm, gdb, qemu-system, gcc, libc-i386 and rustfmt&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/tools/docker/test-image/Dockerfile&quot;&gt;tools/docker/test-image/Dockerfile&lt;/a&gt; for a full setup on Debian or &lt;a href=&quot;https://docs.microsoft.com/en-us/windows/wsl/install&quot;&gt;WSL&lt;/a&gt;.&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt; &lt;p&gt;Run &lt;code&gt;make&lt;/code&gt; to build the debug build (at &lt;code&gt;debug.html&lt;/code&gt;).&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;Run &lt;code&gt;make all&lt;/code&gt; to build the optimized build (at &lt;code&gt;index.html&lt;/code&gt;).&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;ROM and disk images are loaded via XHR, so if you want to try out &lt;code&gt;index.html&lt;/code&gt; locally, make sure to serve it from a local webserver. You can use &lt;code&gt;make run&lt;/code&gt; to serve the files using Python&#39;s http module.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;If you only want to embed v86 in a webpage you can use &lt;code&gt;libv86.js&lt;/code&gt;. For usage, check out the &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/&quot;&gt;examples&lt;/a&gt;. You can download it from the &lt;a href=&quot;https://github.com/copy/v86/releases&quot;&gt;release section&lt;/a&gt;.&lt;/p&gt; &lt;/li&gt; 
 &lt;li&gt; &lt;p&gt;For bundler-based setups (Vite/React/Next/Webpack), there is also an official npm package: &lt;a href=&quot;https://www.npmjs.com/package/v86&quot;&gt;https://www.npmjs.com/package/v86&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This package was originally maintained by &lt;a href=&quot;https://github.com/giulioz&quot;&gt;@giulioz&lt;/a&gt; (bundler-optimized fork) and was made &quot;official&quot; for this repo by &lt;a href=&quot;https://github.com/basicer&quot;&gt;@basicer&lt;/a&gt; with the author&#39;s permission. It is published automatically from this repository via GitHub Actions (&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/.github/workflows/ci.yml&quot;&gt;.github/workflows/ci.yml&lt;/a&gt;, Upload release job) on pushes to &lt;code&gt;master&lt;/code&gt; and uses &lt;code&gt;npm publish --provenance&lt;/code&gt;.&lt;/p&gt; &lt;p&gt;Install: &lt;code&gt;npm install v86&lt;/code&gt;&lt;/p&gt; &lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Alternatively, to build using Docker&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;If you have Docker installed, you can run the whole system inside a container.&lt;/li&gt; 
 &lt;li&gt;See &lt;code&gt;tools/docker/exec&lt;/code&gt; to find the Dockerfile required for this.&lt;/li&gt; 
 &lt;li&gt;You can run &lt;code&gt;docker build -f tools/docker/exec/Dockerfile -t v86:alpine-3.19 .&lt;/code&gt; from the root directory to generate docker image.&lt;/li&gt; 
 &lt;li&gt;Then you can simply run &lt;code&gt;docker run -it -p 8000:8000 v86:alpine-3.19&lt;/code&gt; to start the server.&lt;/li&gt; 
 &lt;li&gt;Check &lt;code&gt;localhost:8000&lt;/code&gt; for hosted server.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h3&gt;Running via Dev Container&lt;/h3&gt; 
&lt;ul&gt; 
 &lt;li&gt;If you are using an IDE that supports Dev Containers, such as GitHub Codespaces, the Visual Studio Code Remote Container extension, or possibly others such as Jetbrains&#39; IntelliJ IDEA, you can setup the development environment in a Dev Container.&lt;/li&gt; 
 &lt;li&gt;Follow the instructions from your development environment to setup the container.&lt;/li&gt; 
 &lt;li&gt;Run the Task &quot;Fetch images&quot; in order to download images for testing.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Testing&lt;/h2&gt; 
&lt;p&gt;The disk images for testing are not included in this repository. You can download them directly from the website using:&lt;/p&gt; 
&lt;p&gt;&lt;code&gt;curl --compressed --output-dir images/ --remote-name-all https://i.copy.sh/{linux.iso,linux3.iso,linux4.iso,buildroot-bzimage68.bin,TinyCore-11.0.iso,oberon.img,msdos.img,openbsd-floppy.img,kolibri.img,windows101.img,os8.img,freedos722.img,mobius-fd-release5.img,msdos622.img}&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;Run integration tests: &lt;code&gt;make tests&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;Run all tests: &lt;code&gt;make jshint rustfmt kvm-unit-test nasmtests nasmtests-force-jit expect-tests jitpagingtests qemutests rust-test tests&lt;/code&gt;&lt;/p&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/tests/Readme.md&quot;&gt;tests/Readme.md&lt;/a&gt; for more information.&lt;/p&gt; 
&lt;h2&gt;API examples&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/basic.html&quot;&gt;Basic&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/serial.html&quot;&gt;Programatically using the serial terminal&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/lua.html&quot;&gt;A Lua interpreter&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/two_instances.html&quot;&gt;Two instances in one window&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/broadcast-network.html&quot;&gt;Networking between browser windows/tabs using the Broadcast Channel API&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/tcp_terminal.html&quot;&gt;TCP Terminal (fetch-based networking)&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/examples/save_restore.html&quot;&gt;Saving and restoring emulator state&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;Using v86 for your own purposes is as easy as:&lt;/p&gt; 
&lt;pre&gt;&lt;code class=&quot;language-javascript&quot;&gt;var emulator = new V86({
    screen_container: document.getElementById(&quot;screen_container&quot;),
    bios: {
        url: &quot;../../bios/seabios.bin&quot;,
    },
    vga_bios: {
        url: &quot;../../bios/vgabios.bin&quot;,
    },
    cdrom: {
        url: &quot;../../images/linux.iso&quot;,
    },
    autostart: true,
});
&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;See &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/v86.d.ts&quot;&gt;v86.d.ts&lt;/a&gt; for TypeScript definitions. You can use &lt;code&gt;make doc&lt;/code&gt; (TypeDoc) or &lt;code&gt;make denodoc&lt;/code&gt; (Deno) to generate HTML documentation in &lt;code&gt;./docs/api/&lt;/code&gt;.&lt;/p&gt; 
&lt;h2&gt;License&lt;/h2&gt; 
&lt;p&gt;v86 is distributed under the terms of the Simplified BSD License, see &lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/LICENSE&quot;&gt;LICENSE&lt;/a&gt;. The following third-party dependencies are included in the repository under their own licenses:&lt;/p&gt; 
&lt;ul&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/lib/softfloat/softfloat.c&quot;&gt;&lt;code&gt;lib/softfloat/softfloat.c&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/lib/zstd/zstddeclib.c&quot;&gt;&lt;code&gt;lib/zstd/zstddeclib.c&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/tests/kvm-unit-tests&quot;&gt;&lt;code&gt;tests/kvm-unit-tests/&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/tests/qemutests&quot;&gt;&lt;code&gt;tests/qemutests/&lt;/code&gt;&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://raw.githubusercontent.com/copy/v86/master/src/floppy.js&quot;&gt;&lt;code&gt;src/floppy.js/&lt;/code&gt;&lt;/a&gt; contains parts ported from qemu under the MIT license, see LICENSE.MIT.&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;Credits&lt;/h2&gt; 
&lt;ul&gt; 
 &lt;li&gt;CPU test cases via &lt;a href=&quot;https://wiki.qemu.org/Main_Page&quot;&gt;QEMU&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;More tests via &lt;a href=&quot;https://www.linux-kvm.org/page/KVM-unit-tests&quot;&gt;kvm-unit-tests&lt;/a&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/facebook/zstd&quot;&gt;zstd&lt;/a&gt; support is included for better compression of state images&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;http://www.jhauser.us/arithmetic/SoftFloat.html&quot;&gt;Berkeley SoftFloat&lt;/a&gt; is included to precisely emulate 80-bit floating point numbers&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://github.com/s-macke/jor1k&quot;&gt;The jor1k project&lt;/a&gt; for 9p, filesystem and uart drivers&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://winworldpc.com/&quot;&gt;WinWorld&lt;/a&gt; sources of some old operating systems&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://www.os2museum.com/&quot;&gt;OS/2 Museum&lt;/a&gt; sources of some old operating systems&lt;/li&gt; 
 &lt;li&gt;&lt;a href=&quot;https://archiveos.org/&quot;&gt;ArchiveOS&lt;/a&gt; sources of several operating systems&lt;/li&gt; 
&lt;/ul&gt; 
&lt;h2&gt;More questions?&lt;/h2&gt; 
&lt;p&gt;Shoot me an email to &lt;code&gt;copy@copy.sh&lt;/code&gt;. Please report bugs on GitHub.&lt;/p&gt;</description>
      
      <media:content url="https://repository-images.githubusercontent.com/14158237/c3ccbd7e-a744-4741-8622-1a54654f0a81" medium="image" />
      
    </item>
    
  </channel>
</rss>
