Install
$ agentstack add skill-yasunori0418-skills-project-session ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo 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.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
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 →About
project-session
ghq 管理下のプロジェクトを 1 つ選び、そのディレクトリで(ブランチを変えず・worktree も作らず) claude を detached tmux セッションとして起動する単発オーケストレーション。tmux セッション起動という 外部影響を伴うため、disable-model-invocation: true とし /project-session の明示実行時のみ動作する (明示実行=起動意図とみなし、追加の承認ゲートは挟まない)。
worktree を切って複数セッションを並列・stacked に回す /parallel-worktree と対をなす単発・非 worktree 版: 現在のブランチのまま 1 つの claude を立てるだけ。
起動引数
/project-session [プロジェクト名(部分一致可)] [claudeへ渡す引数...]
- 先頭 1 トークン: プロジェクト指定(ghq list への部分一致キー。省略可)。
- 残り全部: claude への passthrough 引数(
--model opus/-p '...'/--remote-control等、素通し)。
決定論ツール(scripts/launch.sh)
ghq 照合・セッション名決定・tmux 起動は bash /scripts/launch.sh に委譲する (` はプラグイン実行時 ${CLAUDEPLUGINROOT}/project-session`、個人 skill 配置時は この SKILL.md があるディレクトリ)。3 サブコマンドと exit code 契約:
launch.sh list—ghq listをそのまま 1 行 1 件で出力(引数省略時の一覧提示用)。launch.sh resolve— 部分一致解決の結果で分岐:- 一意: stdout に relpath 1 行、exit 0
- 複数: stdout に候補一覧、stderr に
ambiguous、exit 2 - 0 件: stdout に全一覧、stderr に
not found、exit 3 launch.sh launch [claude引数...]— 本体。ツール欠落は exit 1、解決が一意でなければ
resolve と同じ出力・exit code(2/3)で中断する。成功時は起動して次を stdout へ出力する:
`` SESSION: nput PROJECT: github.com/yasunori0418/nput PATH: /home/yasunori/src/github.com/yasunori0418/nput BRANCH: main DIRTY: clean | N files CLAUDE_ARGS: (無し | 実際に渡した引数列) ATTACH: tmux attach -t nput ``
フロー
- 引数省略(プロジェクト未指定)→
launch.sh listを実行し、番号付き一覧を提示して選択させる。
AskUserQuestion は選択肢 4 個上限なので、候補が多いときは本文に番号付きで列挙し自由記述で受ける。 選ばれた relpath(または basename)を query にして次へ。
- 指定あり → いきなり
launch.sh launch [claude引数...]を実行:
- exit 0: 起動成功。出力の SESSION/PROJECT/PATH/BRANCH/DIRTY/ATTACH を整形して報告する。
DIRTY: N files でも止めない(未コミット変更は情報提供のみ)。
- exit 2(曖昧): stdout の候補一覧を提示して選択させ、選んだ relpath で
launchを再実行する。 - exit 3(0 件): stdout の全一覧を提示して選び直させる。
- exit 1:
tmux/ghq/claude欠落など。stderr のメッセージをそのまま伝える。
- 起動後は
ATTACH:行(tmux attach -t)を添えて結果を報告する。
挙動の要点(ユーザー説明用。規則の正はスクリプト。ここで再現しない)
- セッション名: repo 名を sanitize(
[^A-Za-z0-9_-]+→-、前後-除去。例arto.vim→arto-vim)。
ghq list 内で repo 名(basename)が重複する場合のみ owner-repo(例 NixOS-nixpkgs)。
- 同名 tmux セッション: 使用中なら
-2,-3… の最初の空き番号を suffix する。 --remote-control補完: 値なしの--remote-control(末尾、または直後が-始まり)のときだけ、
実セッション名(suffix 込み)を値として自動注入する。ユーザーが値を書いた場合は触らない(最初の 1 個のみ)。
- 事前チェック:
tmux/ghq/claudeの欠落のみ中断。現在ブランチ・dirty は報告するだけで止めない。
連携スキル
parallel-worktree: worktree を分けて複数セッションを並列・stacked に回したいときはこちら(本スキルは単発版)。
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: yasunori0418
- Source: yasunori0418/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.