claude-grid
Launch a single Konsole window at a given path containing 2 or 4 split panes, each running a fresh Claude Code session in that path.
Skill by danielrosehill
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/danielrosehill-claude-grid
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/claude-grid
What's inside
- Skill name
claude-grid- Description
- Launch a single Konsole window at a given path containing 2 or 4 split panes, each running a fresh Claude Code session in that path. Use when the user asks for a "claude grid", "2-pane claude", "4-pane claude", "split konsole with claudes", "quad claude", or similar — i.e. they want multiple parallel Claude sessions in the same path, visible side-by-side. Default count is 2; pass `4` (or "quad") for the 2×2 grid.
- License
- MIT
- Instructions
- 120 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Claude Grid
Spawn one Konsole window at a given path with N parallel Claude sessions tiled inside it.
- **2 panes**: Split Left/Right (vertical divider).
- **4 panes**: 2×2 grid (Split Left/Right, then Split Top/Bottom on each side).
All panes start in the same `cwd`. Each runs an independent `claude` — no shared memory between them.
## When to use
The user wants several parallel Claude sessions on the same project visible at once — typically for fan-out work (try N approaches in parallel, batch up independent tasks, or just have a "main + scratch" layout). Distinct from:
- `sideclaude` — one tangent into a single side pane, with a plan file as brief.
- `new-claude-here` / `new-claude-at` — single fresh session in a *new window*.
## Inputs
- `path` — directory to launch in. Default `$PWD`. Resolve `~` and relative paths to absolute.
- `count` — `2` or `4`. Default `2`. Reject other values with a one-line note.
## Steps
### 1. Spawn the window with pane 1
Spawn a fresh Konsole running `claude` at `path`. Force a separate process so the new window's D-Bus service is independent and findable:
```bash
TARGET="$1" # absolute path
COUNT="${2:-2}" # 2 or 4
before_svcs=$(qdbus6 2>/dev/null | grep -E '^ org\.kde\.konsole-' | sort)
setsid konsole --separate --workdir "$TARGET" -e claude >/dev/null 2>&1 &
```
Poll briefly (up to ~3s) for a new D-Bus service to appear:
```bash
for i in $(seq 1 30); do
sleep 0.1
after_svcs=$(qdbus6 2>/dev/null | grep -E '^ org\.kde\.konsole-' | sort)
NEW_SVC=$(comm -13 <(echo "$before_svcs") <(echo "$after_svcs") | tr -d ' ' | head -1)
[ -n "$NEW_SVC" ] && break
done
[ -z "$NEW_SVC" ] && { echo "Could not find new Konsole D-Bus service — abort." >&2; exit 1; }
WIN="/Windows/1"
```
### 2. Add the splits
`createSplit(viewId, horizontalSplit)`:
- `horizontalSplit=true` → Split **Left/Right** (panes laid out horizontally, vertical divider).
- `horizontalSplit=false` → Split **Top/Bottom**.
Helper to find the newest session id after a split:
```bash
new_session_after() {
local svc="$1" win="$2" before="$3"
local after
after=$(qdbus6 "$svc" "$win" sessionList | tr ' ' '\n' | sort -n)
comm -13 <(echo "$before") <(echo "$after") | tail -1
}
run_claude_in() {
local svc="$1" sid="$2"
qdbus6 "$svc" "/Sessions/$sid" runCommand "claude"
}
```
#### count = 2
```bash
A=$(qdbus6 "$NEW_SVC" "$WIN" currentSession)
before=$(qdbus6 "$NEW_SVC" "$WIN" sessionList | tr ' ' '\n' | sort -n)
qdbus6 "$NEW_SVC" "$WIN" createSplit "$A" true # Split Left/Right
B=$(new_session_after "$NEW_SVC" "$WIN" "$before")
run_claude_in "$NEW_SVC" "$B"
```
#### count = 4
```bash
A=$(qdbus6 "$NEW_SVC" "$WIN" currentSession)
before=$(qdbus6 "$NEW_SVC" "$WIN" sessionList | tr ' ' '\n' | sort -n)
qdbus6 "$NEW_SVC" "$WIN" createSplit "$A" true # Split L/R → A | B
B=$(new_session_after "$NEW_SVC" "$WIN" "$before")
before=$(qdbus6 "$NEW_SVC" "$WIN" sessionList | tr ' ' '\n' | sort -n)
qdbus6 "$NEW_SVC" "$WIN" createSplit "$A" false # Split T/B on A → A / C
C=$(new_session_after "$NEW_SVC" "$WIN" "$before")
before=$(qdbus6 "$NEW_SVC" "$WIN" sessionList | tr ' ' '\n' | sort -n)
qdbus6 "$NEW_SVC" "$WIN" createSplit "$B" false # Split T/B on B → B / D
D=$(new_session_after "$NEW_SVC" "$WIN" "$before")
run_claude_in "$NEW_SVC" "$B"
run_claude_in "$NEW_SVC" "$C"
run_claude_in "$NEW_SVC" "$D"
```
### 3. Report back
Tell the user:
- Path the grid was launched in.
- Number of panes (2 or 4).
- D-Bus service of the new window (so a follow-up skill can target it).
## Notes
- New panes from `createSplit` inherit the parent pane's `cwd`, so all sessions land in `$TARGET` without an explicit `cd`.
- `qdbus6` on Plasma 6; fall back to `qdbus` on older systems.
- The first pane was launched with `-e claude` so it's already running. Only the *added* panes need `runCommand "claude"`.
- Konsole's `--tabs-from-file` can launch multiple tabs but does **not** support splits — that's why this skill uses the D-Bus path.
- If the user later wants to broadcast the same input to all panes, that's a Konsole built-in (`Edit → Copy Input To → All Tabs / All Panes in Window`); not scripted here.
- For counts other than 2 or 4 (e.g. 3, 6), reject with a note rather than guessing a layout — the geometry is ambiguous and worth a one-line clarifying question.From danielrosehill/Claude-Hopper, MIT.
More from danielrosehill/Claude-Hopper
- 0.391score
claude-and-shell
danielrosehill
Launch a single Konsole window at a target directory split left/right — left pane runs Claude Code, right pane is a raw shell at the same path (no Claude).
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
clipboard-handover
danielrosehill
Short YAML handover displayed in chat and copied to clipboard.
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
handover
danielrosehill
End-of-session menu — wrap up this Claude session.
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
handover-with-tasks
danielrosehill
Write a handover document that includes an open task list for the next agent.
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
new-claude-at
danielrosehill
Open a new Konsole window running a fresh Claude Code CLI session at an arbitrary path.
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
new-claude-here
danielrosehill
Open a new Konsole window at the current working directory running a fresh Claude Code CLI session, then close the current Konsole.
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
new-workspace
danielrosehill
Provision a minimal meta-tools workspace.
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
sideclaude
danielrosehill
Capture a side-task/idea that surfaced mid-thread, save it as a plan file in the repo, and spawn a new Konsole running a fresh Claude Code session at the…
SkillCFreshness: C★ 1Claude Code +9 - 0.391score
spawn-planning-repo
danielrosehill
Create a sibling planning repo for the current project, seed it with planning context moved out of the main repo, and push to GitHub.
SkillCFreshness: C★ 1Claude Code +9 - 0.388score
start-from-handover
danielrosehill
Open the current Claude session against a previously-written handover file and continue from the Outstanding section.
SkillCFreshness: C★ 1Claude Code +9 - 0.388score
start-leftover
danielrosehill
Pick one or more open items from `planning/leftover-tasks.md` and spawn a fresh Claude session focused on them.
SkillCFreshness: C★ 1Claude Code +9 - 0.387score
terminal-here
danielrosehill
Open a new Konsole terminal window at the current working directory.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Apr 29, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/danielrosehill/Claude-Hopper
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from danielrosehill
- 0.470score
plugin-data-storage
danielrosehill
Canonical reference for where Claude Code plugins should persist user data.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
save-plan
danielrosehill
Save a Claude Code plan (from ExitPlanMode, design discussion, or multi-step task) to persistent storage.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
onboard
danielrosehill
First-run onboarding for the adb-ops plugin.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
context-gate
danielrosehill
One-shot context-checkpoint workflow — when the current session is getting cluttered, write a structured handover plan capturing what's done and what's…
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
context-workflow-reference
danielrosehill
Reference and worked example for the CONTEXT.md / CLAUDE.md two-file workflow.
SkillAFreshness: A★ 2Claude Code +9 - 0.470score
scaffold-planning
danielrosehill
Create a lightweight `planning/` folder in the current repo with leftover-tasks.md, blockers.md, session-logs/, and handovers/.
SkillAFreshness: A★ 2Claude Code +9
Cite this page
claude-grid skill. Agent Mart. https://agentmart.dev/skills/danielrosehill-claude-grid (last updated 2026-10-24)