AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Zellij Tab Pane

skill-dapi-claude-code-marketplace-zellij-tab-pane · by dapi

|

No reviews yet
0 installs
21 views
0.0% view→install

Install

$ agentstack add skill-dapi-claude-code-marketplace-zellij-tab-pane

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-dapi-claude-code-marketplace-zellij-tab-pane)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Zellij Tab Pane? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Zellij Tab/Pane Skill

Open a tab or pane in zellij -- empty, with a shell command, with a Claude session, or with a GitHub issue.

Decision Tree

Step 1: Container
  "pane"/"panel"/"панель" -> PANE
  "tab"/"вкладка"/default  -> TAB

Step 2: Mode
  nothing to run              -> A (empty)
  shell command               -> B (command)
  Claude prompt/plan/task     -> C (claude session)
  GitHub issue (#N / URL)     -> D (issue dev via start-issue)

Mode A: Empty Tab/Pane

User just wants a new tab or pane, nothing to run.

Tab name: user-specified or shell-HH:MM (e.g. shell-14:35).

TAB

timeout 5 zellij action new-tab --name "$TAB_NAME" || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

PANE

timeout 5 zellij action new-pane || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

Mode B: Command in Tab/Pane

User wants to run a shell command (npm test, make build, etc.) in a new tab or pane.

Tab name: derived from command (e.g. npm-test, make-build). Max 20 chars.

TAB

TAB_NAME=""

timeout 5 zellij action new-tab --name "$TAB_NAME" -- $CMD || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

PANE

timeout 5 zellij run -- $CMD || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

Mode C: Claude Session in Tab/Pane

User wants an interactive Claude Code session with instructions/plan/task.

Tab name: auto-generated from context (1-2 words, max 20 chars):

  • Has issue reference -> #123
  • Has plan file -> plan-audit
  • General task -> refactor, fix-tests
  • Fallback -> claude-HH:MM

Step 1: Write bash launch script

SCRIPT=$(mktemp /tmp/claude-tab-XXXXXX.sh)
cat > "$SCRIPT" '
PROMPT=''
clear
echo "Launching claude with prompt: $PROMPT"
echo ""
exec claude --dangerously-skip-permissions "$PROMPT"
SCRIPT_EOF
chmod +x "$SCRIPT"

Why a script: Prompts can be multi-line with quotes and special characters; a heredoc in a temp script avoids complex escaping in command arguments.

Step 2: Launch

TAB
TAB_NAME=""

timeout 5 zellij action new-tab --name "$TAB_NAME" -- bash "$SCRIPT" || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  elif ! command -v claude &>/dev/null; then echo "claude not found in PATH"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}
PANE
timeout 5 zellij run -- bash "$SCRIPT" || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  elif ! command -v claude &>/dev/null; then echo "claude not found in PATH"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

Mode D: Issue Development in Tab/Pane

User wants to start development on a GitHub issue. Recognized when request contains an issue reference (number, #number, or GitHub URL).

Tab name: always #NUMBER.

Issue Number Parsing

parse_issue_number() {
  local arg="$1"
  if [[ "$arg" =~ github\.com/.*/issues/([0-9]+) ]]; then
    echo "${BASH_REMATCH[1]}"
  elif [[ "$arg" =~ ^#?([0-9]+)$ ]]; then
    echo "${BASH_REMATCH[1]}"
  else
    echo ""
  fi
}

Issue Argument Format

| Format | Example | Result | |--------|---------|--------| | Number | 123 | Issue #123 | | With hash | #123 | Issue #123 | | URL | https://github.com/owner/repo/issues/123 | Issue #123 |

TAB

ISSUE_NUMBER=$(parse_issue_number "$ARG")

timeout 5 zellij action new-tab --name "#${ISSUE_NUMBER}" -- start-issue $ISSUE_NUMBER || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  elif ! command -v start-issue &>/dev/null; then echo "start-issue not found in PATH"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

PANE

timeout 5 zellij run -- start-issue $ISSUE_NUMBER || {
  _rc=$?
  echo "Command failed. Diagnosing..."
  if [ -z "$ZELLIJ" ]; then echo "Not in zellij session"
  elif [ $_rc -eq 124 ]; then echo "Timed out -- zellij may be hanging"
  elif ! command -v start-issue &>/dev/null; then echo "start-issue not found in PATH"
  else echo "Unknown error (exit code: $_rc)"
  fi
  exit $_rc
}

Examples

Example 1: Empty tab

User: "open a new zellij tab"

timeout 5 zellij action new-tab --name "shell-14:35"

Example 2: Command in pane

User: "run npm test in a pane"

timeout 5 zellij run -- npm test

Example 3: Command in tab

User: "run make build in new tab"

timeout 5 zellij action new-tab --name "make-build" -- make build

Example 4: Claude session in tab

User: "execute the plan from docs/plans/audit.md in new tab"

SCRIPT=$(mktemp /tmp/claude-tab-XXXXXX.sh)
cat > "$SCRIPT"  "$SCRIPT" << 'SCRIPT_EOF'
#!/bin/bash
cd '/home/danil/code/project'
PROMPT='Refactor the auth module: extract JWT validation into separate service'
clear
echo "Launching claude with prompt: $PROMPT"
echo ""
exec claude --dangerously-skip-permissions "$PROMPT"
SCRIPT_EOF
chmod +x "$SCRIPT"

timeout 5 zellij run -- bash "$SCRIPT"

Example 6: Issue in tab

User: "start issue #45 in a new tab"

timeout 5 zellij action new-tab --name "#45" -- start-issue 45

Example 7: Issue URL in pane

User: "start https://github.com/org/repo/issues/123 in a pane"

timeout 5 zellij run -- start-issue https://github.com/org/repo/issues/123

Dependencies

  • zellij -- terminal multiplexer (must be running)
  • claude -- Claude Code CLI (for Mode C only)
  • start-issue -- issue development command (for Mode D only)

Errors

| Error | Cause | Solution | |-------|-------|----------| | Timed out | zellij hanging (exit code 124) | Restart zellij | | Not in zellij session | Running outside zellij | Start zellij first | | claude not found | Claude CLI not in PATH | Install Claude Code | | start-issue not found | start-issue not in PATH | Install or add to PATH | | Invalid issue format | Bad argument | Use number, #number, or URL | | Script not created | /tmp not writable | Check disk space |

Important

  • Skill works only inside zellij session
  • TAB modes use new-tab -- CMD (atomic, no race conditions)
  • PANE modes use zellij run -- CMD
  • For Mode C, session is interactive (not -p print mode) -- remains a working chat

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.