Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add RobinNorberg/oh-my-copilot --skill project-session-managergit clone --depth 1 https://github.com/RobinNorberg/oh-my-copilotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/robinnorberg/oh-my-copilot/project-session-manager)<a href="https://agentmods.dev/skills/robinnorberg/oh-my-copilot/project-session-manager"><img src="https://agentmods.dev/badge/skills/robinnorberg/oh-my-copilot/project-session-manager/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/robinnorberg/oh-my-copilot/project-session-manager"><img src="https://agentmods.dev/badge/skills/robinnorberg/oh-my-copilot/project-session-manager.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00023 | $0.05064 |
| Opus 5 | $0.00012 | $0.02532 |
| Sonnet 5 | $0.00005 | $0.01013 |
| Haiku 4.5 | $0.00002 | $0.00506 |
Grade A, and why
project-session-manager scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
node -e "const{execFileSync}=require('node:child_process');let o='';try{o=execFileSync('tmux',['list-sessions','-F','#{session_name}'],{encoding:'utf8'})}catch{o=''};for(const s of o.split(/\r?\n/).map(x=>x.trim()).filte This is a copy
88% identical to project-session-manager — 85 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 574 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Project Session Manager (PSM) Skill
psm is the compatibility alias for this canonical skill entrypoint.
Quick Start (worktree-first): Start with
omc teleportwhen you want an isolated issue/PR/feature worktree before adding any tmux/session orchestration:omc teleport #123 # Create worktree for issue/PR omc teleport my-feature # Create worktree for feature omc teleport list # List worktreesSee Teleport Command below for details.
Automate isolated development environments using git worktrees and tmux sessions with Claude Code. Enables parallel work across multiple tasks, projects, and repositories.
Canonical slash command: /oh-my-copilot:project-session-manager (alias: /oh-my-copilot:psm).
Commands
| Command | Description | Example |
|---|---|---|
review <ref> |
PR review session | /psm review omc#123 |
fix <ref> |
Issue fix session | /psm fix omc#42 |
feature <proj> <name> |
Feature development | /psm feature omc add-webhooks |
list [project] |
List active sessions | /psm list |
attach <session> |
Attach to session | /psm attach omc:pr-123 |
kill <session> |
Kill session | /psm kill omc:pr-123 |
cleanup |
Clean merged/closed | /psm cleanup |
status |
Current session info | /psm status |
Project References
Supported formats:
- Alias:
omc#123(requires~/.psm/projects.json) - Full:
owner/repo#123 - URL:
https://github.com/owner/repo/pull/123 - Current:
#123(uses current directory's repo)
Configuration
Project Aliases (~/.psm/projects.json)
{
"aliases": {
"omc": {
"repo": "Yeachan-Heo/oh-my-copilot",
"local": "~/Workspace/oh-my-copilot",
"default_base": "main"
}
},
"defaults": {
"worktree_root": "~/.psm/worktrees",
"cleanup_after_days": 14
}
}
Providers
PSM supports multiple issue tracking providers:
| Provider | CLI Required | Reference Formats | Commands |
|---|---|---|---|
| GitHub (default) | gh |
owner/repo#123, alias#123, GitHub URLs |
review, fix, feature |
| Jira | jira |
PROJ-123 (if PROJ configured), alias#123 |
fix, feature |
What ships with it
19 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- lib/config.sh 3.7 KB runs code
- lib/parse.sh 5.9 KB runs code
- lib/providers/azure-devops.sh 1.5 KB runs code
- lib/providers/bitbucket.sh 1.8 KB runs code
- lib/providers/gitea.sh 2.7 KB runs code
- lib/providers/github.sh 1.5 KB runs code
- lib/providers/gitlab.sh 1.5 KB runs code
- lib/providers/interface.sh 1.9 KB runs code
- lib/providers/jira.sh 2.2 KB runs code
- lib/session.sh 5.7 KB runs code
- lib/tmux.sh 7.7 KB runs code
- lib/worktree.sh 6.7 KB runs code
- psm.sh 26 KB runs code
- templates/feature.md 1.1 KB
- templates/issue-fix.md 1.1 KB
- templates/pr-review.md 1.5 KB
- templates/projects.json 412 B
- tests/test-jira-provider.sh 6.2 KB runs code
- tests/test-psm-prompt-injection.sh 12 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 574 lines · 23 tokens per session scan A 848e727122da
project-session-manager is a skill published in the GitHub repository RobinNorberg/oh-my-copilot (5 stars, last pushed 3d ago), licensed MIT. It adds 23 tokens to every session and 5,064 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). It is 88% identical to project-session-manager, differing in 85 lines, and is treated as a copy.
Other skills, from other repositories
project-session-manager
Worktree-first dev environment manager for issues, PRs, and features with optional tmux sessions.
close-task-commit-push-pr
Close the active backlog task (detected from branch name), commit all changes, push to remote, and open a pull request. Use when the user says "close task and ship it", "close task commit push pr", or invokes /close-task-commit-push-pr.
catchup
Summarize and review what changed while you were away. Use after a weekend, vacation, or flight to check missed PRs, git commits, Linear tickets, and meetings — one prioritized brief, not a firehose.
machinist
Use Machinist to create, assign, monitor, and resume software tasks. Use when a coding agent needs to work with Machinist, its GitHub issue workflow, lifecycle labels, direct runs, or managed queue.
linear-cli
Use when the user wants to list, view, start, create, or update Linear issues from the terminal via schpet/linear-cli, including setup, auth, repo config, and safe read/write boundaries.
steward-prep-delivery
Steward-assisted prep for filing issues and PRs — environment capture, template selection, duplicate detection, delivery-policy compliance check.