bl-stack

Manage git-branchless commit stacks - view, navigate, and edit commits

9 stars

Best use case

bl-stack is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Manage git-branchless commit stacks - view, navigate, and edit commits

Teams using bl-stack should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/bl-stack/SKILL.md --create-dirs "https://raw.githubusercontent.com/jpoutrin/product-forge/main/plugins/git-workflow/skills/bl-stack/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/bl-stack/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How bl-stack Compares

Feature / Agentbl-stackStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Manage git-branchless commit stacks - view, navigate, and edit commits

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# /bl-stack - Git-Branchless Stack Management

**Category:** Git Workflow

Manage commit stacks using git-branchless. View your stack, navigate between commits, and edit any commit in the stack with automatic restacking.

## Usage

```
/bl-stack [action] [options]
```

## Actions

| Action | Description |
|--------|-------------|
| `show` | Display the commit stack (default) |
| `prev [N]` | Move to parent commit (N commits up) |
| `next [N]` | Move to child commit (N commits down) |
| `amend` | Amend current commit + restack descendants |
| `reword` | Change commit message + restack descendants |
| `restack` | Rebase descendants onto amended commit |
| `reorder` | Interactive rebase to reorder/squash commits |

## Examples

```bash
# View current stack
/bl-stack
/bl-stack show

# Navigate
/bl-stack prev      # Go up one commit
/bl-stack prev 2    # Go up two commits
/bl-stack next      # Go down one commit

# Edit commits
/bl-stack amend     # After making changes, amend current commit
/bl-stack reword    # Change current commit's message

# Reorganize
/bl-stack reorder   # Interactive rebase (pick, squash, drop, reorder)
/bl-stack restack   # Fix abandoned commits after manual amend
```

## Execution

This command delegates to the `bl-stack-expert` agent:

```
Task(subagent_type="git-workflow:bl-stack-expert",
     prompt="Execute stack operation: <action>")
```

## Execution Instructions

1. **Verify Prerequisites**
   - Check git-branchless is installed
   - Check repository is initialized for branchless

2. **Show Current State**
   - Run `git sl` to display the stack
   - Explain smartlog icons (◆ ◯ ● ✕)

3. **Execute Action**
   - For `show`: Display and explain the stack
   - For `prev/next`: Navigate and confirm position
   - For `amend`: Stage changes and run `git amend`
   - For `reword`: Open editor for message change
   - For `restack`: Rebase descendants onto current commit
   - For `reorder`: Run `git rebase -i main`

4. **Confirm Result**
   - Show final state with `git sl`

## Interactive Flow

```
User: /bl-stack

Agent: Showing your commit stack...

◆ abc1234 (main) initial commit
┃
◯ def5678 feat: add User class
┃
◯ ghi9012 feat: add validation
┃
● jkl3456 feat: add repository

Stack has 3 draft commits (◯) above main (◆).
You are at: feat: add repository (● = current position)

Commands:
- /bl-stack prev   : Go to "feat: add validation"
- /bl-stack amend  : Amend current commit
- /bl-stack reword : Change commit message
```

```
User: /bl-stack prev 2

Agent: Navigating up 2 commits...

◆ abc1234 (main) initial commit
┃
● def5678 feat: add User class  ← You are now here
┃
◯ ghi9012 feat: add validation
┃
◯ jkl3456 feat: add repository

Moved from "feat: add repository" to "feat: add User class"
```

```
User: /bl-stack amend

Agent: Amending current commit...

Changes staged:
  M src/user.py (+15 lines)

Running git amend...
Restacking 2 descendant commits...

◆ abc1234 (main) initial commit
┃
● xyz9999 feat: add User class  ← Amended
┃
◯ abc1111 feat: add validation  ← Restacked
┃
◯ def2222 feat: add repository  ← Restacked

Commit amended and stack updated.
```

## Error Handling

| Error | Resolution |
|-------|------------|
| git-branchless not installed | Provide installation command |
| Not a git repository | Inform user |
| Repo not initialized | Suggest `git branchless init` |
| Dirty working directory | Prompt to commit or stash |
| Conflicts during restack | Guide through resolution |

Related Skills

zod

9
from jpoutrin/product-forge

Zod schema validation patterns and type inference. Auto-loads when validating schemas, parsing data, validating forms, checking types at runtime, or using z.object/z.string/z.infer in TypeScript.

typescript-import-style

9
from jpoutrin/product-forge

Merge-friendly import formatting (one-per-line, alphabetical). Auto-loads when writing TypeScript/JavaScript imports to minimize merge conflicts in parallel development. Enforces consistent grouping and sorting.

setup-mcp-auth

9
from jpoutrin/product-forge

Configure authentication for an existing FastMCP server

fastmcp

9
from jpoutrin/product-forge

FastMCP TypeScript framework patterns for MCP servers. Auto-loads when building MCP servers, creating tools/resources/prompts, implementing authentication, configuring transports, or working with FastMCP in TypeScript.

add-mcp-tool

9
from jpoutrin/product-forge

Add a new tool to an existing FastMCP server with guided configuration

add-mcp-resource

9
from jpoutrin/product-forge

Add a new resource or resource template to an existing FastMCP server

plan-with-team

9
from jpoutrin/product-forge

Validate plan file ownership

privacy-compliance

9
from jpoutrin/product-forge

GDPR, CCPA, and privacy compliance guidance for data protection. Use when handling personal data, implementing consent management, or ensuring regulatory compliance across jurisdictions.

oauth

9
from jpoutrin/product-forge

OAuth 2.0 and OpenID Connect implementation patterns. Use when implementing authentication, authorization flows, or integrating with OAuth providers like Google, GitHub, or custom identity providers.

mcp-security

9
from jpoutrin/product-forge

Use when securing MCP servers, preventing prompt injection, implementing authorization, validating user input, or building secure multi-agent pipelines. Provides 5-layer defense architecture patterns.

rag-cag-security

9
from jpoutrin/product-forge

Security patterns for RAG and CAG systems with multi-tenant isolation. Use when building retrieval-augmented or cache-augmented generation systems that require tenant isolation, access control, and secure data handling.

chunking-strategies

9
from jpoutrin/product-forge

Document chunking strategies for RAG systems. Use when implementing document processing pipelines to determine optimal chunking approaches based on document type and retrieval requirements.