[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ES4PJRM30Y3TZPCBYMH9P0":3,"skill-same:01M6ES4PJRM30Y3TZPCBYMH9P0":82},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":48,"linkOnly":49,"markdownContent":50,"markdownBody":51,"frontMatter":52,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6ES4PJRM30Y3TZPCBYMH9P0","ntm",null,"Named Tmux Manager - Multi-agent orchestration for Claude Code, Codex, and Gemini in tiled tmux panes. Visual dashboards, command palette, context rotation, robot mode API, work assignment, safety system. Go CLI.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdicklesworthstone\u002Fntm\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[5,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"panes","palette","robot","visual","agent orchestration","context","command","work","multi-agent","cli","system","dashboards","api","Safety","code","orchestration","tmux","gemini","go","2026-11-10 10:12:30",false,"---\nname: ntm\ndescription: \"Named Tmux Manager - Multi-agent orchestration for Claude Code, Codex, and Gemini in tiled tmux panes. Visual dashboards, command palette, context rotation, robot mode API, work assignment, safety system. Go CLI.\"\n---\n\n# NTM — Named Tmux Manager\n\nA Go CLI that transforms tmux into a **multi-agent command center** for orchestrating Claude Code, Codex, and Gemini agents in parallel. Spawn, manage, and coordinate AI agents across tiled panes with stunning TUI, automated context rotation, and deep integrations with the Agent Flywheel ecosystem.\n\n## Why This Exists\n\nManaging multiple AI coding agents is painful:\n- **Window chaos**: Each agent needs its own terminal\n- **Context switching**: Jumping between windows breaks flow\n- **No orchestration**: Same prompt to multiple agents requires manual copy-paste\n- **Session fragility**: Disconnecting from SSH loses all agent sessions\n- **No visibility**: Hard to see agent status at a glance\n\nNTM solves all of this with one session containing many agents, persistent across SSH disconnections.\n\n## Quick Start\n\n```bash\n# Install\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FDicklesworthstone\u002Fntm\u002Fmain\u002Finstall.sh | bash\n\n# Add shell integration\necho 'eval \"$(ntm init zsh)\"' >> ~\u002F.zshrc && source ~\u002F.zshrc\n\n# Interactive tutorial\nntm tutorial\n\n# Check dependencies\nntm deps -v\n\n# Create multi-agent session\nntm spawn myproject --cc=2 --cod=1 --gmi=1\n\n# Send prompt to all Claude agents\nntm send myproject --cc \"Explore this codebase and summarize its architecture.\"\n\n# Open command palette (or press F6 after `ntm bind`)\nntm palette myproject\n```\n\n## Session Creation\n\n### Spawn Agents\n\n```bash\nntm spawn myproject --cc=3 --cod=2 --gmi=1   # 3 Claude + 2 Codex + 1 Gemini\nntm quick myproject --template=go             # Full project scaffold + agents\nntm create myproject --panes=10               # Empty panes only\nntm spawn myproject --profiles=architect,implementer,tester\n```\n\n### Agent Flags\n\n| Flag | Agent | CLI Command |\n|------|-------|-------------|\n| `--cc=N` | Claude Code | `claude` |\n| `--cod=N` | Codex CLI | `codex` |\n| `--gmi=N` | Gemini CLI | `gemini` |\n\n### Add More Agents\n\n```bash\nntm add myproject --cc=2              # Add 2 more Claude agents\nntm add myproject --cod=1 --gmi=1     # Add mixed agents\n```\n\n## Sending Prompts\n\n```bash\nntm send myproject --cc \"Implement user auth\"     # To all Claude\nntm send myproject --cod \"Write unit tests\"       # To all Codex\nntm send myproject --gmi \"Review and document\"    # To all Gemini\nntm send myproject --all \"Review current state\"   # To ALL agents\nntm interrupt myproject                           # Ctrl+C to all\n```\n\n## Session Navigation\n\n| Command | Alias | Description |\n|---------|-------|-------------|\n| `ntm list` | `lnt` | List all tmux sessions |\n| `ntm attach` | `rnt` | Attach to session |\n| `ntm status` | `snt` | Show pane details with agent counts |\n| `ntm view` | `vnt` | Unzoom, tile layout, attach |\n| `ntm zoom` | `znt` | Zoom to specific pane |\n| `ntm dashboard` | `dash`, `d` | Interactive visual dashboard |\n| `ntm kill` | `knt` | Kill session (`-f` to force) |\n\n## Command Palette\n\nFuzzy-searchable TUI with pre-configured prompts:\n\n```bash\nntm palette myproject    # Open palette\nntm bind                 # Set up F6 keybinding\nntm bind --key=F5        # Use different key\n```\n\n### Palette Features\n\n- Animated gradient banner with Catppuccin themes\n- Fuzzy search with live filtering\n- Pin\u002Ffavorite commands (`Ctrl+P` \u002F `Ctrl+F`)\n- Live preview pane with metadata\n- Quick select with numbers 1-9\n- Visual target selector (All\u002FClaude\u002FCodex\u002FGemini)\n\n### Palette Navigation\n\n| Key | Action |\n|-----|--------|\n| `↑\u002F↓` or `j\u002Fk` | Navigate |\n| `1-9` | Quick select |\n| `Enter` | Select command |\n| `Esc` | Back \u002F Quit |\n| `?` | Help overlay |\n| `Ctrl+P` | Pin\u002Funpin |\n| `Ctrl+F` | Favorite |\n\n## Interactive Dashboard\n\n```bash\nntm dashboard myproject   # Or: ntm dash myproject\n```\n\n### Dashboard Features\n\n- Visual pane grid with color-coded agent cards\n- Live agent counts (Claude\u002FCodex\u002FGemini\u002FUser)\n- Token velocity badges (tokens-per-minute)\n- Context usage indicators (green\u002Fyellow\u002Forange\u002Fred)\n- Real-time refresh with `r`\n\n### Dashboard Navigation\n\n| Key | Action |\n|-----|--------|\n| `↑\u002F↓` or `j\u002Fk` | Navigate panes |\n| `1-9` | Quick select |\n| `z` or `Enter` | Zoom to pane |\n| `r` | Refresh |\n| `c` | View context |\n| `m` | Open Agent Mail |\n| `q` | Quit |\n\n## Output Capture\n\n```bash\nntm copy myproject:1              # Copy specific pane\nntm copy myproject --all          # Copy all panes\nntm copy myproject --cc           # Copy Claude panes only\nntm copy myproject --pattern 'ERROR'  # Filter by regex\nntm copy myproject --code         # Extract code blocks only\nntm copy myproject --output out.txt   # Save to file\nntm save myproject -o ~\u002Flogs      # Save all outputs\n```\n\n## Monitoring & Analysis\n\n```bash\nntm activity myproject --watch    # Real-time activity\nntm health myproject              # Health status\nntm watch myproject --cc          # Stream output\nntm extract myproject --lang=go   # Extract code blocks\nntm diff myproject cc_1 cod_1     # Compare panes\nntm grep 'error' myproject -C 3   # Search with context\nntm analytics --days 7            # Session statistics\nntm locks myproject --all-agents  # File reservations\n```\n\n### Activity States\n\n| State | Icon | Description |\n|-------|------|-------------|\n| WAITING | ● | Idle, ready for work |\n| GENERATING | ▶ | Producing output |\n| THINKING | ◐ | Processing (no output yet) |\n| ERROR | ✗ | Encountered error |\n| STALLED | ◯ | Stopped unexpectedly |\n\n## Checkpoints\n\n```bash\nntm checkpoint save myproject -m \"Before refactor\"\nntm checkpoint list myproject\nntm checkpoint show myproject 20251210-143052\nntm checkpoint delete myproject 20251210-143052 -f\n```\n\n## Context Window Rotation\n\nNTM monitors context usage and auto-rotates agents before exhausting context.\n\n### How It Works\n\n1. **Monitoring**: Token usage estimated per agent\n2. **Warning**: Alert at 80% usage\n3. **Compaction**: Try `\u002Fcompact` or summarization first\n4. **Rotation**: Fresh agent with handoff summary if needed\n\n### Context Indicators\n\n| Color | Usage | Status |\n|-------|-------|--------|\n| Green | \u003C 40% | Plenty of room |\n| Yellow | 40-60% | Comfortable |\n| Orange | 60-80% | Approaching threshold |\n| Red | > 80% | Needs attention |\n\n### Automatic Compaction Recovery\n\nWhen context is compacted, NTM sends a recovery prompt:\n\n```toml\n[context_rotation.recovery]\nenabled = true\nprompt = \"Reread AGENTS.md so it's still fresh in your mind. Use ultrathink.\"\ninclude_bead_context = true   # Include project state from bv\n```\n\n## Robot Mode (AI Automation)\n\nMachine-readable JSON output for AI agents and automation.\n\n### State Inspection\n\n```bash\nntm --robot-status              # Sessions, panes, agent states\nntm --robot-context=SESSION     # Context window usage\nntm --robot-snapshot            # Unified state: sessions + beads + mail\nntm --robot-tail=SESSION        # Recent pane output\nntm --robot-inspect-pane=SESS   # Detailed pane inspection\nntm --robot-files=SESSION       # File changes with attribution\nntm --robot-metrics=SESSION     # Session metrics\nntm --robot-plan                # bv execution plan\nntm --robot-dashboard           # Dashboard summary\nntm --robot-health              # Project health\n```\n\n### Agent Control\n\n```bash\nntm --robot-send=SESSION --msg=\"Fix auth\" --type=claude\nntm --robot-spawn=SESSION --spawn-cc=2 --spawn-wait\nntm --robot-interrupt=SESSION\nntm --robot-assign=SESSION --assign-beads=bd-1,bd-2\nntm --robot-replay=SESSION --replay-id=ID\n```\n\n### Bead Management\n\n```bash\nntm --robot-bead-claim=BEAD_ID --bead-assignee=agent\nntm --robot-bead-create --bead-title=\"Fix bug\" --bead-type=bug\nntm --robot-bead-show=BEAD_ID\nntm --robot-bead-close=BEAD_ID --bead-close-reason=\"Fixed\"\n```\n\n### CASS Integration\n\n```bash\nntm --robot-cass-search=\"auth error\" --cass-since=7d\nntm --robot-cass-context=\"how to implement auth\"\nntm --robot-cass-status\n```\n\n### Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| `0` | Success |\n| `1` | Error |\n| `2` | Unavailable\u002FNot implemented |\n\n## Work Distribution\n\nIntegration with BV for intelligent work assignment:\n\n```bash\nntm work triage               # Full triage with recommendations\nntm work triage --by-label    # Group by domain\nntm work triage --quick       # Quick wins only\nntm work alerts               # Stale issues, priority drift, cycles\nntm work search \"JWT auth\"    # Semantic search\nntm work impact src\u002Fapi\u002F*.go  # Impact analysis\nntm work next                 # Single best next action\n```\n\n### Intelligent Assignment\n\n```bash\nntm --robot-assign=myproject --assign-strategy=balanced  # Default\nntm --robot-assign=myproject --assign-strategy=speed     # Maximize throughput\nntm --robot-assign=myproject --assign-strategy=quality   # Best agent-task match\nntm --robot-assign=myproject --assign-strategy=dependency # Unblock downstream\n```\n\n### Agent Capability Matrix\n\n| Agent | Best At |\n|-------|---------|\n| **Claude** | Analysis, refactoring, documentation, architecture |\n| **Codex** | Feature implementation, bug fixes, quick tasks |\n| **Gemini** | Documentation, analysis, features |\n\n## Profiles & Personas\n\n```bash\nntm profiles list                    # List profiles\nntm profiles show architect          # Show details\nntm spawn myproject --profiles=architect,implementer,tester\nntm spawn myproject --profile-set=backend-team\n```\n\n### Built-in Profiles\n\n`architect`, `implementer`, `reviewer`, `tester`, `documenter`\n\n## Agent Mail Integration\n\n```bash\nntm mail send myproject --to GreenCastle \"Review API changes\"\nntm mail send myproject --all \"Checkpoint: sync status\"\nntm mail inbox myproject\nntm mail read myproject --agent BlueLake\nntm mail ack myproject 42\n```\n\n### Pre-commit Guard\n\n```bash\nntm hooks guard install    # Prevent conflicting commits\nntm hooks guard uninstall\n```\n\n## Notifications\n\nMulti-channel notifications for events:\n\n```toml\n[notifications]\nenabled = true\nevents = [\"agent.error\", \"agent.crashed\", \"agent.rate_limit\"]\n\n[notifications.desktop]\nenabled = true\n\n[notifications.webhook]\nenabled = true\nurl = \"https:\u002F\u002Fhooks.slack.com\u002F...\"\n```\n\n### Event Types\n\n`agent.error`, `agent.crashed`, `agent.rate_limit`, `rotation.needed`, `session.created`, `session.killed`, `health.degraded`\n\n## Alerting System\n\n### Alert Types\n\n| Type | Severity | Description |\n|------|----------|-------------|\n| `unhealthy` | High | Agent enters unhealthy state |\n| `degraded` | Medium | Agent performance degrades |\n| `rate_limited` | Medium | API rate limit detected |\n| `restart_failed` | High | Restart attempt failed |\n| `max_restarts` | Critical | Restart limit exceeded |\n\n```bash\nntm --robot-alerts\nntm --robot-dismiss-alert=ALERT_ID\n```\n\n## Command Hooks\n\n```toml\n# ~\u002F.config\u002Fntm\u002Fhooks.toml\n\n[[command_hooks]]\nevent = \"post-spawn\"\ncommand = \"notify-send 'NTM' 'Agents spawned'\"\n\n[[command_hooks]]\nevent = \"pre-send\"\ncommand = \"echo \\\"$(date): $NTM_MESSAGE\\\" >> ~\u002F.ntm-send.log\"\n```\n\n### Available Events\n\n`pre-spawn`, `post-spawn`, `pre-send`, `post-send`, `pre-add`, `post-add`, `pre-shutdown`, `post-shutdown`\n\n## Safety System\n\nBlocks dangerous commands from AI agents:\n\n```bash\nntm safety status              # Protection status\nntm safety check \"git reset --hard\"\nntm safety install             # Install git wrapper + Claude hook\nntm safety uninstall\n```\n\n### Protected Commands\n\n| Pattern | Risk | Action |\n|---------|------|--------|\n| `git reset --hard` | Loses uncommitted changes | Block |\n| `git push --force` | Overwrites remote history | Block |\n| `rm -rf \u002F` | Catastrophic deletion | Block |\n| `DROP TABLE` | Database destruction | Block |\n\n## Multi-Agent Strategies\n\n### Divide and Conquer\n\n```bash\nntm send myproject --cc \"design the database schema\"\nntm send myproject --cod \"implement the models\"\nntm send myproject --gmi \"write tests\"\n```\n\n### Competitive Comparison\n\n```bash\nntm send myproject --all \"implement a rate limiter\"\nntm view myproject  # Compare side-by-side\n```\n\n### Review Pipeline\n\n```bash\nntm send myproject --cc \"implement feature X\"\nntm send myproject --cod \"review Claude's code\"\nntm send myproject --gmi \"write tests for edge cases\"\n```\n\n## Configuration\n\n```bash\nntm config init          # Create ~\u002F.config\u002Fntm\u002Fconfig.toml\nntm config show          # Show current config\nntm config project init  # Create .ntm\u002Fconfig.toml in project\n```\n\n### Example Config\n\n```toml\nprojects_base = \"~\u002FDeveloper\"\n\n[agents]\nclaude = 'claude --dangerously-skip-permissions'\ncodex = \"codex --dangerously-bypass-approvals-and-sandbox\"\ngemini = \"gemini --yolo\"\n\n[tmux]\ndefault_panes = 10\npalette_key = \"F6\"\n\n[context_rotation]\nenabled = true\nwarning_threshold = 0.80\nrotate_threshold = 0.95\n```\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `NTM_PROJECTS_BASE` | Base directory for projects |\n| `NTM_THEME` | Color theme: `auto`, `mocha`, `latte`, `nord`, `plain` |\n| `NTM_ICONS` | Icon set: `nerd`, `unicode`, `ascii` |\n| `NTM_REDUCE_MOTION` | Disable animations |\n| `NTM_PROFILE` | Enable performance profiling |\n\n## Themes & Display\n\n### Color Themes\n\n| Theme | Description |\n|-------|-------------|\n| `auto` | Detect light\u002Fdark |\n| `mocha` | Default dark, warm |\n| `latte` | Light variant |\n| `nord` | Arctic-inspired |\n| `plain` | No color |\n\n### Agent Colors\n\n| Agent | Color |\n|-------|-------|\n| Claude | Mauve (Purple) |\n| Codex | Blue |\n| Gemini | Yellow |\n| User | Green |\n\n### Display Width Tiers\n\n| Width | Behavior |\n|-------|----------|\n| \u003C120 cols | Stacked layout |\n| 120-199 cols | List\u002Fdetail split |\n| 200-239 cols | Wider gutters |\n| 240+ cols | Full detail |\n\n## Pane Naming Convention\n\nPattern: `\u003Cproject>__\u003Cagent>_\u003Cnumber>`\n\n- `myproject__cc_1` - First Claude\n- `myproject__cod_2` - Second Codex\n- `myproject__gmi_1` - First Gemini\n\nStatus indicators: **C** = Claude, **X** = Codex, **G** = Gemini, **U** = User\n\n## Shell Aliases\n\nAfter `eval \"$(ntm init zsh)\"`:\n\n| Category | Aliases |\n|----------|---------|\n| Agent Launch | `cc`, `cod`, `gmi` |\n| Session | `cnt`, `sat`, `qps` |\n| Agent Mgmt | `ant`, `bp`, `int` |\n| Navigation | `rnt`, `lnt`, `snt`, `vnt`, `znt` |\n| Dashboard | `dash`, `d` |\n| Output | `cpnt`, `svnt` |\n| Utilities | `ncp`, `knt`, `cad` |\n\n## Installation\n\n```bash\n# One-liner (recommended)\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FDicklesworthstone\u002Fntm\u002Fmain\u002Finstall.sh | bash\n\n# Homebrew\nbrew install dicklesworthstone\u002Ftap\u002Fntm\n\n# Go install\ngo install github.com\u002FDicklesworthstone\u002Fntm\u002Fcmd\u002Fntm@latest\n\n# Docker\ndocker pull ghcr.io\u002Fdicklesworthstone\u002Fntm:latest\n```\n\n## Upgrade\n\n```bash\nntm upgrade              # Check and install updates\nntm upgrade --check      # Check only\nntm upgrade --yes        # Auto-confirm\n```\n\n## Tmux Essentials\n\n| Keys | Action |\n|------|--------|\n| `Ctrl+B, D` | Detach |\n| `Ctrl+B, [` | Scroll\u002Fcopy mode |\n| `Ctrl+B, z` | Toggle zoom |\n| `Ctrl+B, Arrow` | Navigate panes |\n| `F6` | Open NTM palette (after `ntm bind`) |\n\n## Integration with Flywheel\n\n| Tool | Integration |\n|------|-------------|\n| **Agent Mail** | Message routing, file reservations, pre-commit guard |\n| **BV** | Work distribution, triage, assignment strategies |\n| **CASS** | Search past sessions via robot mode |\n| **CM** | Procedural memory for agent handoffs |\n| **DCG** | Safety system integration |\n| **UBS** | Auto-scanning on file changes |\n","# NTM — Named Tmux Manager\n\nA Go CLI that transforms tmux into a **multi-agent command center** for orchestrating Claude Code, Codex, and Gemini agents in parallel. Spawn, manage, and coordinate AI agents across tiled panes with stunning TUI, automated context rotation, and deep integrations with the Agent Flywheel ecosystem.\n\n## Why This Exists\n\nManaging multiple AI coding agents is painful:\n- **Window chaos**: Each agent needs its own terminal\n- **Context switching**: Jumping between windows breaks flow\n- **No orchestration**: Same prompt to multiple agents requires manual copy-paste\n- **Session fragility**: Disconnecting from SSH loses all agent sessions\n- **No visibility**: Hard to see agent status at a glance\n\nNTM solves all of this with one session containing many agents, persistent across SSH disconnections.\n\n## Quick Start\n\n```bash\n# Install\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FDicklesworthstone\u002Fntm\u002Fmain\u002Finstall.sh | bash\n\n# Add shell integration\necho 'eval \"$(ntm init zsh)\"' >> ~\u002F.zshrc && source ~\u002F.zshrc\n\n# Interactive tutorial\nntm tutorial\n\n# Check dependencies\nntm deps -v\n\n# Create multi-agent session\nntm spawn myproject --cc=2 --cod=1 --gmi=1\n\n# Send prompt to all Claude agents\nntm send myproject --cc \"Explore this codebase and summarize its architecture.\"\n\n# Open command palette (or press F6 after `ntm bind`)\nntm palette myproject\n```\n\n## Session Creation\n\n### Spawn Agents\n\n```bash\nntm spawn myproject --cc=3 --cod=2 --gmi=1   # 3 Claude + 2 Codex + 1 Gemini\nntm quick myproject --template=go             # Full project scaffold + agents\nntm create myproject --panes=10               # Empty panes only\nntm spawn myproject --profiles=architect,implementer,tester\n```\n\n### Agent Flags\n\n| Flag | Agent | CLI Command |\n|------|-------|-------------|\n| `--cc=N` | Claude Code | `claude` |\n| `--cod=N` | Codex CLI | `codex` |\n| `--gmi=N` | Gemini CLI | `gemini` |\n\n### Add More Agents\n\n```bash\nntm add myproject --cc=2              # Add 2 more Claude agents\nntm add myproject --cod=1 --gmi=1     # Add mixed agents\n```\n\n## Sending Prompts\n\n```bash\nntm send myproject --cc \"Implement user auth\"     # To all Claude\nntm send myproject --cod \"Write unit tests\"       # To all Codex\nntm send myproject --gmi \"Review and document\"    # To all Gemini\nntm send myproject --all \"Review current state\"   # To ALL agents\nntm interrupt myproject                           # Ctrl+C to all\n```\n\n## Session Navigation\n\n| Command | Alias | Description |\n|---------|-------|-------------|\n| `ntm list` | `lnt` | List all tmux sessions |\n| `ntm attach` | `rnt` | Attach to session |\n| `ntm status` | `snt` | Show pane details with agent counts |\n| `ntm view` | `vnt` | Unzoom, tile layout, attach |\n| `ntm zoom` | `znt` | Zoom to specific pane |\n| `ntm dashboard` | `dash`, `d` | Interactive visual dashboard |\n| `ntm kill` | `knt` | Kill session (`-f` to force) |\n\n## Command Palette\n\nFuzzy-searchable TUI with pre-configured prompts:\n\n```bash\nntm palette myproject    # Open palette\nntm bind                 # Set up F6 keybinding\nntm bind --key=F5        # Use different key\n```\n\n### Palette Features\n\n- Animated gradient banner with Catppuccin themes\n- Fuzzy search with live filtering\n- Pin\u002Ffavorite commands (`Ctrl+P` \u002F `Ctrl+F`)\n- Live preview pane with metadata\n- Quick select with numbers 1-9\n- Visual target selector (All\u002FClaude\u002FCodex\u002FGemini)\n\n### Palette Navigation\n\n| Key | Action |\n|-----|--------|\n| `↑\u002F↓` or `j\u002Fk` | Navigate |\n| `1-9` | Quick select |\n| `Enter` | Select command |\n| `Esc` | Back \u002F Quit |\n| `?` | Help overlay |\n| `Ctrl+P` | Pin\u002Funpin |\n| `Ctrl+F` | Favorite |\n\n## Interactive Dashboard\n\n```bash\nntm dashboard myproject   # Or: ntm dash myproject\n```\n\n### Dashboard Features\n\n- Visual pane grid with color-coded agent cards\n- Live agent counts (Claude\u002FCodex\u002FGemini\u002FUser)\n- Token velocity badges (tokens-per-minute)\n- Context usage indicators (green\u002Fyellow\u002Forange\u002Fred)\n- Real-time refresh with `r`\n\n### Dashboard Navigation\n\n| Key | Action |\n|-----|--------|\n| `↑\u002F↓` or `j\u002Fk` | Navigate panes |\n| `1-9` | Quick select |\n| `z` or `Enter` | Zoom to pane |\n| `r` | Refresh |\n| `c` | View context |\n| `m` | Open Agent Mail |\n| `q` | Quit |\n\n## Output Capture\n\n```bash\nntm copy myproject:1              # Copy specific pane\nntm copy myproject --all          # Copy all panes\nntm copy myproject --cc           # Copy Claude panes only\nntm copy myproject --pattern 'ERROR'  # Filter by regex\nntm copy myproject --code         # Extract code blocks only\nntm copy myproject --output out.txt   # Save to file\nntm save myproject -o ~\u002Flogs      # Save all outputs\n```\n\n## Monitoring & Analysis\n\n```bash\nntm activity myproject --watch    # Real-time activity\nntm health myproject              # Health status\nntm watch myproject --cc          # Stream output\nntm extract myproject --lang=go   # Extract code blocks\nntm diff myproject cc_1 cod_1     # Compare panes\nntm grep 'error' myproject -C 3   # Search with context\nntm analytics --days 7            # Session statistics\nntm locks myproject --all-agents  # File reservations\n```\n\n### Activity States\n\n| State | Icon | Description |\n|-------|------|-------------|\n| WAITING | ● | Idle, ready for work |\n| GENERATING | ▶ | Producing output |\n| THINKING | ◐ | Processing (no output yet) |\n| ERROR | ✗ | Encountered error |\n| STALLED | ◯ | Stopped unexpectedly |\n\n## Checkpoints\n\n```bash\nntm checkpoint save myproject -m \"Before refactor\"\nntm checkpoint list myproject\nntm checkpoint show myproject 20251210-143052\nntm checkpoint delete myproject 20251210-143052 -f\n```\n\n## Context Window Rotation\n\nNTM monitors context usage and auto-rotates agents before exhausting context.\n\n### How It Works\n\n1. **Monitoring**: Token usage estimated per agent\n2. **Warning**: Alert at 80% usage\n3. **Compaction**: Try `\u002Fcompact` or summarization first\n4. **Rotation**: Fresh agent with handoff summary if needed\n\n### Context Indicators\n\n| Color | Usage | Status |\n|-------|-------|--------|\n| Green | \u003C 40% | Plenty of room |\n| Yellow | 40-60% | Comfortable |\n| Orange | 60-80% | Approaching threshold |\n| Red | > 80% | Needs attention |\n\n### Automatic Compaction Recovery\n\nWhen context is compacted, NTM sends a recovery prompt:\n\n```toml\n[context_rotation.recovery]\nenabled = true\nprompt = \"Reread AGENTS.md so it's still fresh in your mind. Use ultrathink.\"\ninclude_bead_context = true   # Include project state from bv\n```\n\n## Robot Mode (AI Automation)\n\nMachine-readable JSON output for AI agents and automation.\n\n### State Inspection\n\n```bash\nntm --robot-status              # Sessions, panes, agent states\nntm --robot-context=SESSION     # Context window usage\nntm --robot-snapshot            # Unified state: sessions + beads + mail\nntm --robot-tail=SESSION        # Recent pane output\nntm --robot-inspect-pane=SESS   # Detailed pane inspection\nntm --robot-files=SESSION       # File changes with attribution\nntm --robot-metrics=SESSION     # Session metrics\nntm --robot-plan                # bv execution plan\nntm --robot-dashboard           # Dashboard summary\nntm --robot-health              # Project health\n```\n\n### Agent Control\n\n```bash\nntm --robot-send=SESSION --msg=\"Fix auth\" --type=claude\nntm --robot-spawn=SESSION --spawn-cc=2 --spawn-wait\nntm --robot-interrupt=SESSION\nntm --robot-assign=SESSION --assign-beads=bd-1,bd-2\nntm --robot-replay=SESSION --replay-id=ID\n```\n\n### Bead Management\n\n```bash\nntm --robot-bead-claim=BEAD_ID --bead-assignee=agent\nntm --robot-bead-create --bead-title=\"Fix bug\" --bead-type=bug\nntm --robot-bead-show=BEAD_ID\nntm --robot-bead-close=BEAD_ID --bead-close-reason=\"Fixed\"\n```\n\n### CASS Integration\n\n```bash\nntm --robot-cass-search=\"auth error\" --cass-since=7d\nntm --robot-cass-context=\"how to implement auth\"\nntm --robot-cass-status\n```\n\n### Exit Codes\n\n| Code | Meaning |\n|------|---------|\n| `0` | Success |\n| `1` | Error |\n| `2` | Unavailable\u002FNot implemented |\n\n## Work Distribution\n\nIntegration with BV for intelligent work assignment:\n\n```bash\nntm work triage               # Full triage with recommendations\nntm work triage --by-label    # Group by domain\nntm work triage --quick       # Quick wins only\nntm work alerts               # Stale issues, priority drift, cycles\nntm work search \"JWT auth\"    # Semantic search\nntm work impact src\u002Fapi\u002F*.go  # Impact analysis\nntm work next                 # Single best next action\n```\n\n### Intelligent Assignment\n\n```bash\nntm --robot-assign=myproject --assign-strategy=balanced  # Default\nntm --robot-assign=myproject --assign-strategy=speed     # Maximize throughput\nntm --robot-assign=myproject --assign-strategy=quality   # Best agent-task match\nntm --robot-assign=myproject --assign-strategy=dependency # Unblock downstream\n```\n\n### Agent Capability Matrix\n\n| Agent | Best At |\n|-------|---------|\n| **Claude** | Analysis, refactoring, documentation, architecture |\n| **Codex** | Feature implementation, bug fixes, quick tasks |\n| **Gemini** | Documentation, analysis, features |\n\n## Profiles & Personas\n\n```bash\nntm profiles list                    # List profiles\nntm profiles show architect          # Show details\nntm spawn myproject --profiles=architect,implementer,tester\nntm spawn myproject --profile-set=backend-team\n```\n\n### Built-in Profiles\n\n`architect`, `implementer`, `reviewer`, `tester`, `documenter`\n\n## Agent Mail Integration\n\n```bash\nntm mail send myproject --to GreenCastle \"Review API changes\"\nntm mail send myproject --all \"Checkpoint: sync status\"\nntm mail inbox myproject\nntm mail read myproject --agent BlueLake\nntm mail ack myproject 42\n```\n\n### Pre-commit Guard\n\n```bash\nntm hooks guard install    # Prevent conflicting commits\nntm hooks guard uninstall\n```\n\n## Notifications\n\nMulti-channel notifications for events:\n\n```toml\n[notifications]\nenabled = true\nevents = [\"agent.error\", \"agent.crashed\", \"agent.rate_limit\"]\n\n[notifications.desktop]\nenabled = true\n\n[notifications.webhook]\nenabled = true\nurl = \"https:\u002F\u002Fhooks.slack.com\u002F...\"\n```\n\n### Event Types\n\n`agent.error`, `agent.crashed`, `agent.rate_limit`, `rotation.needed`, `session.created`, `session.killed`, `health.degraded`\n\n## Alerting System\n\n### Alert Types\n\n| Type | Severity | Description |\n|------|----------|-------------|\n| `unhealthy` | High | Agent enters unhealthy state |\n| `degraded` | Medium | Agent performance degrades |\n| `rate_limited` | Medium | API rate limit detected |\n| `restart_failed` | High | Restart attempt failed |\n| `max_restarts` | Critical | Restart limit exceeded |\n\n```bash\nntm --robot-alerts\nntm --robot-dismiss-alert=ALERT_ID\n```\n\n## Command Hooks\n\n```toml\n# ~\u002F.config\u002Fntm\u002Fhooks.toml\n\n[[command_hooks]]\nevent = \"post-spawn\"\ncommand = \"notify-send 'NTM' 'Agents spawned'\"\n\n[[command_hooks]]\nevent = \"pre-send\"\ncommand = \"echo \\\"$(date): $NTM_MESSAGE\\\" >> ~\u002F.ntm-send.log\"\n```\n\n### Available Events\n\n`pre-spawn`, `post-spawn`, `pre-send`, `post-send`, `pre-add`, `post-add`, `pre-shutdown`, `post-shutdown`\n\n## Safety System\n\nBlocks dangerous commands from AI agents:\n\n```bash\nntm safety status              # Protection status\nntm safety check \"git reset --hard\"\nntm safety install             # Install git wrapper + Claude hook\nntm safety uninstall\n```\n\n### Protected Commands\n\n| Pattern | Risk | Action |\n|---------|------|--------|\n| `git reset --hard` | Loses uncommitted changes | Block |\n| `git push --force` | Overwrites remote history | Block |\n| `rm -rf \u002F` | Catastrophic deletion | Block |\n| `DROP TABLE` | Database destruction | Block |\n\n## Multi-Agent Strategies\n\n### Divide and Conquer\n\n```bash\nntm send myproject --cc \"design the database schema\"\nntm send myproject --cod \"implement the models\"\nntm send myproject --gmi \"write tests\"\n```\n\n### Competitive Comparison\n\n```bash\nntm send myproject --all \"implement a rate limiter\"\nntm view myproject  # Compare side-by-side\n```\n\n### Review Pipeline\n\n```bash\nntm send myproject --cc \"implement feature X\"\nntm send myproject --cod \"review Claude's code\"\nntm send myproject --gmi \"write tests for edge cases\"\n```\n\n## Configuration\n\n```bash\nntm config init          # Create ~\u002F.config\u002Fntm\u002Fconfig.toml\nntm config show          # Show current config\nntm config project init  # Create .ntm\u002Fconfig.toml in project\n```\n\n### Example Config\n\n```toml\nprojects_base = \"~\u002FDeveloper\"\n\n[agents]\nclaude = 'claude --dangerously-skip-permissions'\ncodex = \"codex --dangerously-bypass-approvals-and-sandbox\"\ngemini = \"gemini --yolo\"\n\n[tmux]\ndefault_panes = 10\npalette_key = \"F6\"\n\n[context_rotation]\nenabled = true\nwarning_threshold = 0.80\nrotate_threshold = 0.95\n```\n\n## Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `NTM_PROJECTS_BASE` | Base directory for projects |\n| `NTM_THEME` | Color theme: `auto`, `mocha`, `latte`, `nord`, `plain` |\n| `NTM_ICONS` | Icon set: `nerd`, `unicode`, `ascii` |\n| `NTM_REDUCE_MOTION` | Disable animations |\n| `NTM_PROFILE` | Enable performance profiling |\n\n## Themes & Display\n\n### Color Themes\n\n| Theme | Description |\n|-------|-------------|\n| `auto` | Detect light\u002Fdark |\n| `mocha` | Default dark, warm |\n| `latte` | Light variant |\n| `nord` | Arctic-inspired |\n| `plain` | No color |\n\n### Agent Colors\n\n| Agent | Color |\n|-------|-------|\n| Claude | Mauve (Purple) |\n| Codex | Blue |\n| Gemini | Yellow |\n| User | Green |\n\n### Display Width Tiers\n\n| Width | Behavior |\n|-------|----------|\n| \u003C120 cols | Stacked layout |\n| 120-199 cols | List\u002Fdetail split |\n| 200-239 cols | Wider gutters |\n| 240+ cols | Full detail |\n\n## Pane Naming Convention\n\nPattern: `\u003Cproject>__\u003Cagent>_\u003Cnumber>`\n\n- `myproject__cc_1` - First Claude\n- `myproject__cod_2` - Second Codex\n- `myproject__gmi_1` - First Gemini\n\nStatus indicators: **C** = Claude, **X** = Codex, **G** = Gemini, **U** = User\n\n## Shell Aliases\n\nAfter `eval \"$(ntm init zsh)\"`:\n\n| Category | Aliases |\n|----------|---------|\n| Agent Launch | `cc`, `cod`, `gmi` |\n| Session | `cnt`, `sat`, `qps` |\n| Agent Mgmt | `ant`, `bp`, `int` |\n| Navigation | `rnt`, `lnt`, `snt`, `vnt`, `znt` |\n| Dashboard | `dash`, `d` |\n| Output | `cpnt`, `svnt` |\n| Utilities | `ncp`, `knt`, `cad` |\n\n## Installation\n\n```bash\n# One-liner (recommended)\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FDicklesworthstone\u002Fntm\u002Fmain\u002Finstall.sh | bash\n\n# Homebrew\nbrew install dicklesworthstone\u002Ftap\u002Fntm\n\n# Go install\ngo install github.com\u002FDicklesworthstone\u002Fntm\u002Fcmd\u002Fntm@latest\n\n# Docker\ndocker pull ghcr.io\u002Fdicklesworthstone\u002Fntm:latest\n```\n\n## Upgrade\n\n```bash\nntm upgrade              # Check and install updates\nntm upgrade --check      # Check only\nntm upgrade --yes        # Auto-confirm\n```\n\n## Tmux Essentials\n\n| Keys | Action |\n|------|--------|\n| `Ctrl+B, D` | Detach |\n| `Ctrl+B, [` | Scroll\u002Fcopy mode |\n| `Ctrl+B, z` | Toggle zoom |\n| `Ctrl+B, Arrow` | Navigate panes |\n| `F6` | Open NTM palette (after `ntm bind`) |\n\n## Integration with Flywheel\n\n| Tool | Integration |\n|------|-------------|\n| **Agent Mail** | Message routing, file reservations, pre-commit guard |\n| **BV** | Work distribution, triage, assignment strategies |\n| **CASS** | Search past sessions via robot mode |\n| **CM** | Procedural memory for agent handoffs |\n| **DCG** | Safety system integration |\n| **UBS** | Auto-scanning on file changes |\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fdicklesworthstone\u002Fntm",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill ntm",{"tool":68,"command":69},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill ntm",{"tool":71,"command":72},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill ntm","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdicklesworthstone\u002Fntm\u002FSKILL.md",true,[76],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"skill-report.json","REFERENCE","参考文档",8299,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdicklesworthstone\u002Fntm\u002Fskill-report.json",[83,93,103,112,118,125],{"skillNo":84,"name":85,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":89,"publishedAt":48},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[88],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[90,91,92],"model","model hierarchy","model hierarchy skill",{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":99,"publishedAt":48},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[98],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[100,101,102],"MCP","zoom","zoom mcp",{"skillNo":104,"name":105,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":48},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[109,110,111,101],"sdk","zoom apps sdk","apps",{"skillNo":113,"name":114,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":48},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[114],{"skillNo":119,"name":120,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":124,"publishedAt":48},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[123],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[120],{"skillNo":126,"name":127,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":48},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[127]]