Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .claude-plugin/registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -205,24 +205,24 @@
{
"name": "sc-launch-term",
"version": "0.12.0",
"description": "Launch Claude, Codex, and Gemini sessions in supported terminals with platform-aware terminal autodetect and optional tmux session management.\n",
"description": "Launch Claude (including Fable), Codex (including Sol, Terra, and Luna), and Gemini sessions in supported terminals with platform-aware autodetect, cmux workspace tabs, and optional tmux session management.\n",
"author": "randlee",
"license": "MIT",
"keywords": [],
"category": "tools",
"artifacts": {
"commands": 0,
"commands": 9,
"skills": 0,
"agents": 0,
"scripts": 3,
"schemas": 0
},
"lastUpdated": "2026-04-29T04:44:47.191851+00:00"
"lastUpdated": "2026-08-09T14:54:36.245664"
},
{
"name": "sc-launchpad",
"version": "0.12.0",
"description": "Launch Claude, Codex, or Gemini as a separate background sub-agent runtime, with explicit ATM teammate-mode normalization and roster registration.\n",
"description": "Launch Claude (including Fable), Codex (including Sol, Terra, and Luna), or Gemini as a separate background sub-agent runtime, with explicit ATM teammate-mode normalization and roster registration.\n",
"author": "synaptic-canvas",
"license": "MIT",
"keywords": [],
Expand All @@ -234,7 +234,7 @@
"scripts": 2,
"schemas": 0
},
"lastUpdated": "2026-04-29T04:44:47.192473+00:00"
"lastUpdated": "2026-08-09T14:54:36.395961"
},
{
"name": "sc-manage",
Expand Down Expand Up @@ -323,13 +323,13 @@
}
],
"metadata": {
"totalPackages": 17,
"totalCommands": 10,
"totalSkills": 20,
"totalPackages": 18,
"totalCommands": 19,
"totalSkills": 21,
"totalAgents": 45,
"totalScripts": 50,
"totalSchemas": 2
},
"generated": "2026-05-15T21:50:55.867734+00:00",
"lastUpdated": "2026-05-15T21:50:55.867734+00:00"
"generated": "2026-08-09T14:54:36.395998",
"lastUpdated": "2026-08-09T14:54:36.396000"
}
15 changes: 15 additions & 0 deletions packages/sc-docling-pdf/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2026-04-22

### Added

- Initial local-only `sc-docling-pdf` package release.
- `docling-pdf-extraction` skill for profile-aware PDF conversion.
- References for text, scan/OCR, rich, VLM, and code-oriented conversion profiles.
- Markdown, image, table, and JSON output guidance.
11 changes: 10 additions & 1 deletion packages/sc-launch-term/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "sc-launch-term",
"description": "Launch Claude, Codex, and Gemini sessions in supported terminals with platform-aware terminal autodetect and optional tmux session management.",
"description": "Launch Claude (including Fable), Codex (including Sol, Terra, and Luna), and Gemini sessions in supported terminals with platform-aware autodetect, cmux workspace tabs, and optional tmux session management.",
"version": "0.12.0",
"author": {
"name": "randlee"
Expand All @@ -12,8 +12,13 @@
"macos",
"windows",
"tmux",
"cmux",
"claude",
"fable",
"codex",
"sol",
"terra",
"luna",
"gemini"
],
"scripts": [
Expand All @@ -25,6 +30,10 @@
"./commands/sc/sonnet.md",
"./commands/sc/haiku.md",
"./commands/sc/opus.md",
"./commands/sc/fable.md",
"./commands/sc/sol.md",
"./commands/sc/terra.md",
"./commands/sc/luna.md",
"./commands/sc/codex.md",
"./commands/sc/gemini.md"
]
Expand Down
11 changes: 11 additions & 0 deletions packages/sc-launch-term/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]
### Added
- Added the `/sc:fable` Claude model command.
- Added cmux terminal/workspace-tab launching.
- Added shared `/sc:sol`, `/sc:terra`, and `/sc:luna` Codex model launchers.
- Deprecated `/sc:codex` now routes to the Terra model and identity pool.
- Added sci-fi/cyberpunk identity pools for the Sol, Terra, and Luna aliases.

### Fixed
- Use Codex's supported `--yolo` automation flag and `--enable hooks` feature flag for model launches.

## [0.10.0] - 2026-04-25
### Added
- Initial `sc-launch-term` release with `/sc:sonnet`, `/sc:haiku`, `/sc:opus`, `/sc:codex`, and `/sc:gemini`.
Expand Down
39 changes: 27 additions & 12 deletions packages/sc-launch-term/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# sc-launch-term

Launch Claude, Codex, and Gemini sessions in supported terminals with a shared
autodetect launcher.
autodetect launcher. Codex exposes Sol, Terra, and Luna model aliases through
one shared model-launch implementation.

## Commands

- `/sc:sonnet`
- `/sc:haiku`
- `/sc:opus`
- `/sc:fable`
- `/sc:sol`
- `/sc:terra`
- `/sc:luna`
- `/sc:codex`
- `/sc:gemini`

Expand All @@ -17,32 +22,36 @@ Each command accepts:
- `--terminal <name>` to force a specific terminal backend
- `--tab` to request a new tab when the backend supports it
- `--tmux` to create or attach to a named tmux session
- `--identity <name>` required when `ATM_TEAM` is set; exports both `ATM_TEAM` and `ATM_IDENTITY`
- `--identity <name>` optional; if omitted, the launcher generates a model-specific identity and exports both `ATM_TEAM` and `ATM_IDENTITY`
- `-- <args...>` to forward extra CLI args to the launched tool

## Terminal Backends

Autodetect order:

- macOS: `iterm2`, `ghostty`, `wezterm`, `warp`, `terminal`
- macOS: `iterm2`, `ghostty`, `wezterm`, `warp`, `cmux`, `terminal`
- Windows: `wt`, `warp`

Supported explicit values:

- macOS: `auto`, `iterm2`, `ghostty`, `wezterm`, `warp`, `terminal`
- macOS: `auto`, `iterm2`, `ghostty`, `wezterm`, `warp`, `cmux`, `terminal`
- Windows: `auto`, `wt`, `windows-terminal`, `warp`

Notes:

- Warp automation uses Warp launch configurations and opens a new window.
- `/sc:sonnet`, `/sc:haiku`, and `/sc:opus` launch `claude` directly with
- cmux automation creates and focuses a new cmux workspace, which is cmux's tab primitive.
- `/sc:sonnet`, `/sc:haiku`, `/sc:opus`, and `/sc:fable` launch `claude` directly with
`--model <name> --dangerously-skip-permissions`, so they no longer depend on
shell aliases or functions.
- When `--tmux` is used with those Claude model commands, the launcher also
- `/sc:sol`, `/sc:terra`, and `/sc:luna` launch Codex with
`--model gpt-5.6-sol`, `--model gpt-5.6-terra`, and `--model gpt-5.6-luna`
respectively, using the shared Codex launcher and model-specific identity pools.
- `/sc:codex` is a deprecated compatibility alias for `/sc:terra`.
- When `--tmux` is used with Claude model commands, the launcher also
adds `--teammate-mode tmux` to match the current local wrappers.
- If `ATM_TEAM` is set in the current environment, every launch requires
`--identity <name>` and exports both `ATM_TEAM` and `ATM_IDENTITY=<name>`
into the launched session.
- If `ATM_TEAM` is set in the current environment, every launch exports both
`ATM_TEAM` and an explicit or generated `ATM_IDENTITY=<name>` into the launched session.
- When `ATM_TEAM` is set, the launcher also runs
`atm teams add-member <team> <identity> --model <model> --cwd <dir>` before
starting the AI tool. Pane-specific `--pane-id` wiring is intentionally left
Expand All @@ -62,9 +71,11 @@ This package is intended for global command installation under `~/.claude/`.
## Security and Runtime Notes

- The commands launch locally installed CLIs only. They do not download code or open network connections by themselves.
- `/sc:sonnet`, `/sc:haiku`, and `/sc:opus` invoke the local `claude` CLI with `--dangerously-skip-permissions`, so use this package only in environments where that launch model is acceptable.
- `/sc:codex` and `/sc:gemini` forward to the local `codex` and `gemini` executables on `PATH`.
- When `ATM_TEAM` is present, the launcher requires `--identity <name>` and exports both `ATM_TEAM` and `ATM_IDENTITY` into the child session.
- `/sc:sonnet`, `/sc:haiku`, `/sc:opus`, and `/sc:fable` invoke the local `claude` CLI with `--dangerously-skip-permissions`, so use this package only in environments where that launch model is acceptable.
- `/sc:sol`, `/sc:terra`, `/sc:luna`, and deprecated `/sc:codex` forward to the local `codex` executable on `PATH`.
- `/sc:gemini` forwards to the local `gemini` executable on `PATH`.
- cmux requires the local `cmux` CLI on `PATH`; cmux launches always target a new workspace/tab.
- When `ATM_TEAM` is present, the launcher exports both `ATM_TEAM` and an explicit or generated `ATM_IDENTITY` into the child session.
- In ATM teammate mode, the launcher also runs `atm teams add-member <team> <identity> --model <model> --cwd <dir>` before starting the tool.
- `--tmux` creates or reuses a local tmux session and therefore depends on a trusted local `tmux` installation.
- The installed wrapper is `.claude/scripts/sc-term-launch.sh`, which resolves Python through the local machine in this order: `python3`, `py -3`, then `python`.
Expand All @@ -75,6 +86,10 @@ This package is intended for global command installation under `~/.claude/`.
/sc:sonnet ~/projects/foo
/sc:haiku ~/projects/foo --terminal ghostty
/sc:opus ~/projects/foo --tab
/sc:fable ~/projects/foo --terminal cmux --tab
/sc:sol ~/projects/foo
/sc:terra ~/projects/foo --terminal cmux --tab
/sc:luna ~/projects/foo
/sc:codex ~/projects/foo --identity alice
/sc:sonnet ~/projects/foo -- --continue
/sc:codex ~/projects/foo --tmux
Expand Down
112 changes: 9 additions & 103 deletions packages/sc-launch-term/commands/sc/codex.md
Original file line number Diff line number Diff line change
@@ -1,115 +1,21 @@
---
description: Launch Codex CLI in a supported terminal at a specified directory
argument-hint: "[dir] [--terminal <name>] [--tab] [--tmux] [--identity <name>]"
description: Deprecated compatibility alias for launching Codex Terra in a supported terminal
argument-hint: "[dir] [--terminal <name>] [--tab] [--tmux] [--identity <name>] [-- <codex args...>]"
allowed-tools: Bash, AskUserQuestion
---

Launch Codex CLI in a supported terminal.
`/sc:codex` is retained as a deprecated compatibility alias. It routes to the `terra` model and Terra identity pool, launching Codex as `gpt-5.6-terra`.

## Arguments
Use `/sc:terra` for new invocations. The shared launcher handles argument parsing, terminal selection, cmux workspace/tab creation, tmux session collision handling, identity generation, and Codex passthrough arguments.

Parse from `$ARGUMENTS`:
- `dir` optional positional target directory. Default: `$PWD`.
- `--terminal <name>` optional explicit backend. Default: `auto`.
- `--tab` optional request for a new tab instead of a new window when supported.
- `--tmux` optional tmux session flow using the session name `"{folder} - codex"`.
- `--identity <name>` optional. If omitted, a random name is generated. Exports both `ATM_TEAM` and `ATM_IDENTITY=<name>` into the launched session.
For this compatibility alias, resolve the optional directory and arguments using the same contract as the model commands, then invoke:

Supported backends:
- macOS: `iterm2`, `ghostty`, `wezterm`, `warp`, `terminal`
- Windows: `wt`, `warp`

Backend notes:
- Warp opens a new window only; reject `--tab` if `warp` is selected.
- `--tmux` requires `tmux` on `PATH`. On Windows, only use it if your shell already supports `tmux`.
- If `ATM_TEAM` is set and `--identity` is supplied, the launcher registers the member first with `atm teams add-member <team> <identity> --model codex --cwd <dir>`.

The launched command is:

```text
codex --yolo -c features.codex_hooks=true
```

## Steps

**Step 0** — If `$ARGUMENTS` contains `--help`, print the following and stop:

```
Usage: /sc:codex [dir] [--terminal <name>] [--tab] [--tmux] [--identity <name>]

Launch Codex CLI in a supported terminal.

Examples:
/sc:codex
/sc:codex ~/projects/foo
/sc:codex ~/projects/foo --terminal wt
/sc:codex ~/projects/foo --tab
/sc:codex ~/projects/foo --tmux
/sc:codex ~/projects/foo --identity alice
```

**Step 1** — Parse `$ARGUMENTS`. Extract `dir`, `--terminal`, `--tab`, `--tmux`, and `--identity`.

**Step 2** — Resolve `dir` to an absolute path.

**Step 3** — If `warp` is selected with `--tab`, stop and explain that scripted Warp launches open a new window only.

**Step 4** — Build `TERM_ARG`: `--terminal <name>` if supplied, otherwise omit.

**Step 5** — Resolve identity: use `--identity <name>` if supplied, otherwise generate a random name. Build `IDENTITY_ARG` from the resolved value.

### Without `--tmux`

Run and stop:

```bash
.claude/scripts/sc-term-launch.sh launch "codex --yolo -c features.codex_hooks=true" "<resolved_dir>" <TERM_ARG> <TAB_ARG> <IDENTITY_ARG> --member-model codex
```

### With `--tmux`

**Step 6** — Build `SESSION_NAME = "{basename(dir)} - codex"`.

**Step 7** — Check whether tmux session naming is available:

```bash
.claude/scripts/sc-term-launch.sh check-session "<SESSION_NAME>"
```

Parse JSON: `{"available": bool, "exists": bool, "next_name": str}`.

If `available` is false, stop and tell the user that local tmux support is unavailable.

If `exists` is false, run and stop:

```bash
.claude/scripts/sc-term-launch.sh launch "codex --yolo -c features.codex_hooks=true" "<resolved_dir>" <TERM_ARG> <TAB_ARG> <IDENTITY_ARG> --member-model codex --tmux "<SESSION_NAME>"
```

If `exists` is true, use `AskUserQuestion` exactly once with:
- `Connect to existing session (no Codex)`
- `Connect to existing session + Codex in new pane`
- `New session: <next_name>`
- `Enter custom session name`

Handle responses:

**Connect (no Codex)**:
```bash
.claude/scripts/sc-term-launch.sh attach "<SESSION_NAME>" <TERM_ARG> <TAB_ARG>
.claude/scripts/sc-term-launch.sh launch-codex-model codex "<resolved_dir>" <TERM_ARG> <TAB_ARG> <IDENTITY_ARG> <CODEX_ARG_TAIL>
```

**Connect + Codex pane**:
```bash
.claude/scripts/sc-term-launch.sh attach-pane "<SESSION_NAME>" "codex --yolo -c features.codex_hooks=true" --cwd "<resolved_dir>" <TERM_ARG> <TAB_ARG> <IDENTITY_ARG> --member-model codex
```
The deprecated `codex` model alias is normalized by the launcher to:

**New session (`next_name`)**:
```bash
.claude/scripts/sc-term-launch.sh launch "codex --yolo -c features.codex_hooks=true" "<resolved_dir>" <TERM_ARG> <TAB_ARG> <IDENTITY_ARG> --member-model codex --tmux "<next_name>"
```

**Enter custom name** — ask for the session name in a follow-up message, then:
```bash
.claude/scripts/sc-term-launch.sh launch "codex --yolo -c features.codex_hooks=true" "<resolved_dir>" <TERM_ARG> <TAB_ARG> <IDENTITY_ARG> --member-model codex --tmux "<custom_name>"
```text
codex --model gpt-5.6-terra --yolo --enable hooks
```
Loading
Loading