Skip to content
Merged
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
7 changes: 4 additions & 3 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
"source": "./packages/sc-gh-stack",
"category": "tools",
"description": "Stacked pull requests with the gh-stack GitHub CLI extension, run the way that lands: an append-only, linear stack of frozen layers above a named trunk, one stack writer, QA and CI on the top only, one atomic merge. Ships the sc-gh-stack skill (model, preconditions, recipes, full command guide) and the sc-gh-stack-view skill (one-call coherence, mergeability, CI and landing table). Supersedes the generic gh-stack skill.\n",
"version": "0.1.0",
"version": "0.1.1",
"author": {
"name": "randlee"
},
Expand All @@ -166,7 +166,7 @@
"name": "sc-git-worktree",
"source": "./packages/sc-git-worktree",
"description": "Manage git worktrees with optional tracking and protected branch safeguards: create, scan, cleanup, abort, and update worktrees using a standard sibling folder layout with tracking documents. Prevents accidental deletion of protected branches.\n",
"version": "0.13.0",
"version": "0.14.0",
"author": {
"name": "randlee"
},
Expand All @@ -176,7 +176,8 @@
"worktree",
"workflow",
"agents",
"branching"
"branching",
"gh-stack"
],
"category": "tools"
},
Expand Down
52 changes: 26 additions & 26 deletions .claude-plugin/registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"scripts": 0,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.711653+00:00"
"lastUpdated": "2026-09-23T06:05:07.118783+00:00"
},
{
"name": "sc-ci-automation",
Expand All @@ -38,7 +38,7 @@
"scripts": 1,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.712662+00:00"
"lastUpdated": "2026-09-23T06:05:07.119819+00:00"
},
{
"name": "sc-codex",
Expand All @@ -55,7 +55,7 @@
"scripts": 2,
"schemas": 2
},
"lastUpdated": "2026-09-23T05:29:06.713425+00:00"
"lastUpdated": "2026-09-23T06:05:07.120619+00:00"
},
{
"name": "sc-coding-agent-hardening",
Expand All @@ -72,7 +72,7 @@
"scripts": 0,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.713874+00:00"
"lastUpdated": "2026-09-23T06:05:07.121081+00:00"
},
{
"name": "sc-commit-push-pr",
Expand All @@ -89,7 +89,7 @@
"scripts": 9,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.714491+00:00"
"lastUpdated": "2026-09-23T06:05:07.121745+00:00"
},
{
"name": "sc-delay-tasks",
Expand All @@ -106,7 +106,7 @@
"scripts": 2,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.715065+00:00"
"lastUpdated": "2026-09-23T06:05:07.122357+00:00"
},
{
"name": "sc-docling-pdf",
Expand All @@ -123,11 +123,11 @@
"scripts": 0,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.715902+00:00"
"lastUpdated": "2026-09-23T06:05:07.123165+00:00"
},
{
"name": "sc-gh-stack",
"version": "0.1.0",
"version": "0.1.1",
"description": "Stacked pull requests with the gh-stack GitHub CLI extension, run the way that lands: an append-only, linear stack of frozen layers above a named trunk, one stack writer, QA and CI on the top only, one atomic merge. Ships the sc-gh-stack skill (model, preconditions, recipes, full command guide) and the sc-gh-stack-view skill (one-call coherence, mergeability, CI and landing table). Supersedes the generic gh-stack skill.\n",
"author": "randlee",
"license": "MIT",
Expand All @@ -140,11 +140,11 @@
"scripts": 3,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.716818+00:00"
"lastUpdated": "2026-09-23T06:05:07.124081+00:00"
},
{
"name": "sc-git-worktree",
"version": "0.13.0",
"version": "0.14.0",
"description": "Manage git worktrees with optional tracking and protected branch safeguards: create, scan, cleanup, abort, and update worktrees using a standard sibling folder layout with tracking documents. Prevents accidental deletion of protected branches.\n",
"author": "randlee",
"license": "MIT",
Expand All @@ -153,11 +153,11 @@
"artifacts": {
"commands": 1,
"skills": 1,
"agents": 5,
"agents": 6,
"scripts": 7,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.717743+00:00"
"lastUpdated": "2026-09-23T06:05:07.125067+00:00"
},
{
"name": "sc-github-issue",
Expand All @@ -174,7 +174,7 @@
"scripts": 1,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.718745+00:00"
"lastUpdated": "2026-09-23T06:05:07.126099+00:00"
},
{
"name": "sc-just",
Expand All @@ -191,7 +191,7 @@
"scripts": 0,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.719756+00:00"
"lastUpdated": "2026-09-23T06:05:07.127102+00:00"
},
{
"name": "sc-kanban",
Expand All @@ -208,7 +208,7 @@
"scripts": 5,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.720422+00:00"
"lastUpdated": "2026-09-23T06:05:07.127868+00:00"
},
{
"name": "sc-launch-term",
Expand All @@ -225,7 +225,7 @@
"scripts": 3,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.721076+00:00"
"lastUpdated": "2026-09-23T06:05:07.128494+00:00"
},
{
"name": "sc-launchpad",
Expand All @@ -242,7 +242,7 @@
"scripts": 2,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.721743+00:00"
"lastUpdated": "2026-09-23T06:05:07.129165+00:00"
},
{
"name": "sc-manage",
Expand All @@ -259,7 +259,7 @@
"scripts": 8,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.722385+00:00"
"lastUpdated": "2026-09-23T06:05:07.129845+00:00"
},
{
"name": "sc-refactory",
Expand All @@ -276,7 +276,7 @@
"scripts": 10,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.723454+00:00"
"lastUpdated": "2026-09-23T06:05:07.130913+00:00"
},
{
"name": "sc-repomix-nuget",
Expand All @@ -293,7 +293,7 @@
"scripts": 3,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.724105+00:00"
"lastUpdated": "2026-09-23T06:05:07.131556+00:00"
},
{
"name": "sc-roslyn-diff",
Expand All @@ -310,7 +310,7 @@
"scripts": 6,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.724765+00:00"
"lastUpdated": "2026-09-23T06:05:07.132277+00:00"
},
{
"name": "sc-rust",
Expand All @@ -327,7 +327,7 @@
"scripts": 0,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.725868+00:00"
"lastUpdated": "2026-09-23T06:05:07.133451+00:00"
},
{
"name": "sc-startup",
Expand All @@ -344,17 +344,17 @@
"scripts": 1,
"schemas": 0
},
"lastUpdated": "2026-09-23T05:29:06.726546+00:00"
"lastUpdated": "2026-09-23T06:05:07.134183+00:00"
}
],
"metadata": {
"totalPackages": 20,
"totalCommands": 17,
"totalSkills": 29,
"totalAgents": 51,
"totalAgents": 52,
"totalScripts": 63,
"totalSchemas": 2
},
"generated": "2026-09-23T05:29:06.726555+00:00",
"lastUpdated": "2026-09-23T05:29:06.726556+00:00"
"generated": "2026-09-23T06:05:07.134194+00:00",
"lastUpdated": "2026-09-23T06:05:07.134195+00:00"
}
11 changes: 6 additions & 5 deletions docs/registries/nuget/registry.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://yourcompany.github.io/schemas/package-registry.schema.json",
"version": "2.0.0",
"generated": "2026-09-23T05:29:06Z",
"generated": "2026-09-23T06:05:07Z",
"repo": "randlee/synaptic-canvas",
"marketplace": {
"name": "Synaptic Canvas",
Expand Down Expand Up @@ -167,7 +167,7 @@
},
"sc-git-worktree": {
"name": "sc-git-worktree",
"version": "0.13.0",
"version": "0.14.0",
"status": "beta",
"tier": 1,
"description": "Manage git worktrees with optional tracking and protected branch safeguards: create, scan, cleanup, abort, and update worktrees using a standard sibling folder layout with tracking documents. Prevents accidental deletion of protected branches.\n",
Expand All @@ -184,12 +184,13 @@
"worktree",
"workflow",
"agents",
"branching"
"branching",
"gh-stack"
],
"artifacts": {
"commands": 1,
"skills": 1,
"agents": 5,
"agents": 6,
"scripts": 7,
"schemas": 0
},
Expand Down Expand Up @@ -727,7 +728,7 @@
"readme": "https://raw.githubusercontent.com/randlee/synaptic-canvas/main/packages/sc-gh-stack/README.md",
"changelog": "https://raw.githubusercontent.com/randlee/synaptic-canvas/main/packages/sc-gh-stack/CHANGELOG.md",
"dependents": [],
"version": "0.1.0",
"version": "0.1.1",
"description": "Stacked pull requests with the gh-stack GitHub CLI extension, run the way that lands: an append-only, linear stack of frozen layers above a named trunk, one stack writer, QA and CI on the top only, one atomic merge. Ships the sc-gh-stack skill (model, preconditions, recipes, full command guide) and the sc-gh-stack-view skill (one-call coherence, mergeability, CI and landing table). Supersedes the generic gh-stack skill.\n",
"license": "MIT",
"author": {
Expand Down
2 changes: 1 addition & 1 deletion packages/sc-gh-stack/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "sc-gh-stack",
"description": "Stacked pull requests with the gh-stack GitHub CLI extension, run the way that lands: an append-only, linear stack of frozen layers above a named trunk, one stack writer, QA and CI on the top only, one atomic merge. Ships the sc-gh-stack skill (model, preconditions, recipes, full command guide) and the sc-gh-stack-view skill (one-call coherence, mergeability, CI and landing table). Supersedes the generic gh-stack skill.",
"version": "0.1.0",
"version": "0.1.1",
"author": {
"name": "randlee"
},
Expand Down
5 changes: 5 additions & 0 deletions packages/sc-gh-stack/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ All notable changes to the **sc-gh-stack** package will be documented in this fi
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.1] - 2026-09-23

### Changed
- `recipe-cut-layer.md` now points to `sc-git-worktree --create-stacked <layer> <top> <trunk>` (0.14.0+), which performs the cut from `origin/<top>` with `--no-track`; the old advice to refresh the local ref and use plain `--create` is gone.

## [0.1.0] - 2026-09-23

### Added
Expand Down
2 changes: 1 addition & 1 deletion packages/sc-gh-stack/commands/sc-gh-stack-view.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: sc-gh-stack-view
description: Print the one-call coherence, mergeability, CI and LANDING table for every open gh stack (read-only). Paste the script output verbatim.
version: 0.1.0
version: 0.1.1
options:
- name: --trunk
description: Only stacks whose trunk is this branch (e.g. develop, integrate/phase-bc).
Expand Down
2 changes: 1 addition & 1 deletion packages/sc-gh-stack/commands/sc-gh-stack.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: sc-gh-stack
description: Run stacked PRs with gh-stack the way that lands (append-only layers, one stack writer, QA/CI on the top, one atomic merge). Routes to the sc-gh-stack skill and its recipes.
version: 0.1.0
version: 0.1.1
options:
- name: --status
description: Run /sc-gh-stack-view and paste the coherence, mergeability, CI and LANDING table verbatim.
Expand Down
2 changes: 1 addition & 1 deletion packages/sc-gh-stack/manifest.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: sc-gh-stack
version: 0.1.0
version: 0.1.1
description: >
Stacked pull requests with the gh-stack GitHub CLI extension, run the way
that lands: an append-only, linear stack of frozen layers above a named
Expand Down
2 changes: 1 addition & 1 deletion packages/sc-gh-stack/skills/sc-gh-stack-view/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: sc-gh-stack-view
version: 0.1.0
version: 0.1.1
description: One-call coherence, mergeability, CI and LANDING table for every open gh stack. Use for any stacked-PR status question, before and after every link, unstack, rebase or merge, or /sc-gh-stack-view. Never check layers one branch at a time.
entry_point: /sc-gh-stack-view
---
Expand Down
2 changes: 1 addition & 1 deletion packages/sc-gh-stack/skills/sc-gh-stack/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: sc-gh-stack
version: 0.1.0
version: 0.1.1
description: Run stacked PRs with the gh stack extension the way that lands (append-only frozen layers on a named trunk, one stack writer, QA/CI on the top, one atomic merge). Use for any stack, stacked/dependent PRs, gh stack link/unstack/merge, landing, a red layer, or /sc-gh-stack. Supersedes /gh-stack.
entry_point: /sc-gh-stack
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ docs or evidence layer. The layer is a new worktree cut from the current
`push --force-with-lease` targets the parent branch. The first push is
`git push -u origin <layer>`.

With `sc-git-worktree` installed: `/sc-git-worktree --create <layer> <top>`
after refreshing the local `<top>` ref
(`git fetch origin <top> && git update-ref refs/heads/<top> origin/<top>`),
because that skill branches from the local ref.
With `sc-git-worktree` 0.14.0 or later installed:
`/sc-git-worktree --create-stacked <layer> <top> <trunk>` does exactly this
cut (from `origin/<top>`, `--no-track`), records the parent SHA in tracking
and returns a `stack_handoff` split into writer and stack-writer parts.
Its plain `--create` branches from the local ref and is wrong for a layer.

4. Record the parent SHA the layer was cut from
(`git rev-parse origin/<top>`). It goes in the PR body and any ledger; QA
Expand Down
3 changes: 2 additions & 1 deletion packages/sc-git-worktree/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "sc-git-worktree",
"description": "Create, manage, scan, and clean up git worktrees for parallel development. Maintains tracking of worktree status, branch details, and cleanup history with optional tracking document.",
"version": "0.13.0",
"version": "0.14.0",
"author": {
"name": "randlee"
},
Expand All @@ -18,6 +18,7 @@
],
"agents": [
"./agents/sc-git-worktree-create.md",
"./agents/sc-git-worktree-create-stacked.md",
"./agents/sc-git-worktree-scan.md",
"./agents/sc-git-worktree-cleanup.md",
"./agents/sc-git-worktree-abort.md",
Expand Down
13 changes: 13 additions & 0 deletions packages/sc-git-worktree/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ All notable changes to the **sc-git-worktree** package will be documented in thi
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.14.0] - 2026-09-23

### Added
- `sc-worktree-create-stacked` agent and `--create-stacked <layer> <parent> <trunk> [--above <layer>]`: cut a gh-stack layer worktree from the parent's **pushed** head with `--no-track`, validate the cut before any mutation (`STACK.LAYER_EXISTS`, `STACK.PARENT_NOT_PUSHED`, `STACK.PARENT_LANDED`, `STACK.PARENT_OFF_TRUNK`, `STACK.ABOVE_INVALID`), record `parent_sha`, and return a `stack_handoff` block (push, PR base, link or mid-stack insert sequence, writer rules) for the agent that works in the worktree.
- Tracking entries carry an optional `stack` object (`trunk`, `parent`, `parent_sha`, `above`, `position`); older rows load unchanged.
- Cleanup refuses to delete a branch that live stack layers sit on unless git shows a merge-commit landing into the children's trunk; abort always refuses (`STACK.HAS_CHILDREN`; batch cleanup reports `stack_blocked` and never sweeps a fresh layer with no commits). `STACK.PARENT_HAS_CHILD` refuses an append that would fork the stack.
- Scan reports `stack_parent_advanced` and `stack_parent_landed` on layer rows, with recommendations.
- `references/stack-layers.md`: the worktree side of the stack model and the writer contract.

### Fixed
- Plain create from a remote-only base no longer sets that base as the new branch's upstream (`--no-track`), so `git push` / `--force-with-lease` cannot target the base branch.
- Merge detection now recognises the `+` marker git prints for branches checked out in other worktrees. Scope: single-branch `--cleanup` of a branch that is merged (or has no unique commits) and still has a worktree used to fail as "unmerged" and needed `merged: true`; it now proceeds and deletes the branch locally and on the remote as the agent contract states. Batch mode already behaved this way.

## [0.10.0] - 2026-04-18

### Added
Expand Down
Loading
Loading