signoff-flow

Use when user mentions signoff, sign-off, approval workflow, initiative approval, BMAD workflow, or wants to manage product initiatives through approval stages (PRD, UX, Architecture, Epics, Readiness). Automatically installs required tools and guides users through complete signoff workflow.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "signoff-flow" with this command: npx skills add kikeacevedo/signoff-flow-skill/kikeacevedo-signoff-flow-skill-signoff-flow

Signoff Flow Workflow

Guide initiatives through a structured approval process using GitHub PRs as gates and Jira tickets for visibility.

CRITICAL: Auto-Install Behavior

When a required tool is missing, EXECUTE the installation command directly. Do NOT just show the command to the user.

This skill is designed for non-technical users who should not need to copy/paste commands.

CRITICAL: Confirmation Required for External Actions

ALWAYS ask for user confirmation BEFORE executing these actions:

ActionRequires ConfirmationExample Confirmation Message
Commit & Push✅ YES"I'm about to commit and push these changes to GitHub. Proceed?"
Create Pull Request✅ YES"I'm about to create a PR titled '[BMAD][FEAT-123] PRD' with reviewers @user1, @user2. Proceed?"
Create Jira Tickets✅ YES"I'm about to create 3 Jira tickets in project PROJ: [list tickets]. Proceed?"
Install tools❌ NOExecute automatically
Clone repo❌ NOExecute automatically
Create local files❌ NOExecute automatically

Wait for explicit user confirmation (e.g., "yes", "proceed", "go ahead") before executing confirmed actions.

Pre-flight Check (ALWAYS RUN FIRST)

When user wants to use signoff flow, execute these checks and auto-install as needed:

Step 1: Check and Install Homebrew (macOS)

which brew

If brew is NOT found and OS is macOS:

Tell the user: "I need to install Homebrew first. This requires your password and may take a few minutes."

Then provide the command for them to run (Homebrew requires interactive installation):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Wait for confirmation before continuing.

Step 2: Check and Install Git

which git

If git is NOT found:

  • macOS: EXECUTE xcode-select --install (requires user interaction)
  • Tell user to wait for installation to complete

Step 3: Check and Install GitHub CLI

which gh

If gh is NOT found, AUTOMATICALLY EXECUTE:

macOS:

brew install gh

Windows:

winget install --id GitHub.cli -e

DO NOT just show the command. EXECUTE IT.

After installation, verify:

gh --version

Step 4: Check GitHub Authentication

gh auth status

If NOT authenticated:

Tell the user: "I need to connect to your GitHub account. This will open a browser window."

Then EXECUTE:

gh auth login --web

This is interactive and requires user action in the browser.

Step 5: Check and Install Atlassian CLI (for Jira)

which acli

If acli is NOT found, AUTOMATICALLY EXECUTE:

brew tap atlassian/homebrew-acli && brew install acli

DO NOT just show the command. EXECUTE IT.

After installation, verify:

acli --version

Step 6: Check Jira Authentication

acli jira auth status

If NOT authenticated:

⚠️ This step requires manual user action because the command needs interaction after browser auth.

Tell the user:

I need you to connect to your Jira account. This is a one-time setup.

Please run this command in your terminal:

    acli jira auth login --web

This will:
1. Open your browser for Atlassian login
2. After you authorize, come back to the terminal
3. Press ENTER to complete the authentication

Let me know when you're done!

DO NOT execute this command directly - it will hang waiting for user input.

Wait for user to confirm they completed authentication, then verify:

acli jira auth status

Step 7: Check Project

Look for _bmad-output/governance/governance.yaml in the current directory.

If not found, help user find or clone a project.

Summary of Auto-Install Behavior

ToolCheck CommandInstall Command (EXECUTE, don't suggest)
Homebrewwhich brewInteractive - guide user
Gitwhich gitxcode-select --install (interactive)
gh CLIwhich ghbrew install gh
Atlassian CLIwhich aclibrew tap atlassian/homebrew-acli && brew install acli
AuthCheck CommandAuth CommandNotes
GitHubgh auth statusgh auth login --webEXECUTE - works automatically
Jiraacli jira auth statusacli jira auth login --web⚠️ USER MUST RUN MANUALLY - requires Enter after browser auth

Important Instructions for Claude

  1. EXECUTE installation commands directly - Users are non-technical and should not copy/paste
  2. Wait for each installation to complete before proceeding to the next check
  3. Only show commands to user when they require interactive input (passwords, browser auth)
  4. Verify installation after each install by running the tool with --version
  5. Be patient - installations can take 1-2 minutes
  6. ALWAYS ASK FOR CONFIRMATION before commit/push, creating PRs, or creating Jira tickets

Workflow Steps (After Prerequisites Met)

Finding a Project

If no governance found in current directory:

# List user's GitHub orgs
gh api user/orgs -q '.[].login'

# List recent repos
gh repo list --limit 10

Ask user which project they want to work on.

Cloning a Project

When user specifies a project (e.g., "HALO/my-project"):

mkdir -p ~/signoff-projects
gh repo clone OWNER/REPO ~/signoff-projects/REPO
cd ~/signoff-projects/REPO

Setting Up Governance

If _bmad-output/governance/governance.yaml doesn't exist, ask for:

  • BA lead GitHub username(s)
  • Design lead GitHub username(s)
  • Dev lead GitHub username(s)
  • Jira project key

Then CREATE the file:

version: 1
groups:
  ba:
    leads:
      github_users: ["username1"]
  design:
    leads:
      github_users: ["username2"]
  dev:
    leads:
      github_users: ["username3"]

jira:
  project_key: "PROJECT"
  issue_types:
    signoff_request: "Task"

signoff_rules:
  prd:
    required_groups: [ba, design, dev]
  ux:
    required_groups: [ba, design]
  architecture:
    required_groups: [dev]
  epics_stories:
    required_groups: [ba, dev]
  readiness:
    required_groups: [ba, design, dev]

Creating an Initiative

Ask for:

  • Initiative key (e.g., FEAT-123)
  • Title

Create directory structure:

_bmad-output/initiatives/<key>/
├── state.yaml
├── timeline.md
└── artifacts/

Advancing Through Stages (WITH CONFIRMATIONS)

For each stage (prd → ux → architecture → epics_stories → readiness):

Step 1: Create artifact stub (NO confirmation needed)

Create the artifact file locally.

Step 2: Create branch (NO confirmation needed)

git checkout -b bmad/<key>/<artifact>

Step 3: Commit and Push (⚠️ CONFIRMATION REQUIRED)

BEFORE executing, show the user:

I'm about to commit and push these changes to GitHub:

📁 Files to commit:
- _bmad-output/initiatives/<key>/artifacts/<ARTIFACT>.md
- _bmad-output/initiatives/<key>/state.yaml

📝 Commit message: "[BMAD][<key>] Add <artifact> artifact"

🔄 This will push to branch: bmad/<key>/<artifact>

Do you want me to proceed? (yes/no)

Wait for user confirmation before executing:

git add .
git commit -m "[BMAD][<key>] Add <artifact> artifact"
git push -u origin bmad/<key>/<artifact>

Step 4: Create Pull Request (⚠️ CONFIRMATION REQUIRED)

BEFORE executing, show the user:

I'm about to create a Pull Request on GitHub:

📋 Title: [BMAD][<key>] <Artifact>
📝 Description: BMAD signoff request for <artifact> phase
👥 Reviewers: @user1, @user2, @user3 (from governance config)
🔀 Branch: bmad/<key>/<artifact> → main

Do you want me to proceed? (yes/no)

Wait for user confirmation before executing:

gh pr create --title "[BMAD][<key>] <Artifact>" --body "BMAD signoff request..." 
gh pr edit --add-reviewer user1,user2,user3

Step 5: Create Jira Tickets (⚠️ CONFIRMATION REQUIRED)

BEFORE executing, show the user:

I'm about to create Jira tickets for signoff:

🎫 Project: <JIRA_PROJECT_KEY>
📝 Tickets to create:
  1. "[BMAD][<key>][<artifact>] Signoff required — BA"
  2. "[BMAD][<key>][<artifact>] Signoff required — DESIGN"  
  3. "[BMAD][<key>][<artifact>] Signoff required — DEV"

Do you want me to proceed? (yes/no)

Wait for user confirmation before executing:

acli jira workitem create --project "KEY" --type "Task" --summary "[BMAD][<key>][<artifact>] Signoff - BA"
acli jira workitem create --project "KEY" --type "Task" --summary "[BMAD][<key>][<artifact>] Signoff - DESIGN"
acli jira workitem create --project "KEY" --type "Task" --summary "[BMAD][<key>][<artifact>] Signoff - DEV"

Example Conversation (Correct Behavior with Confirmations)

User: I want to advance the PRD for initiative FEAT-100

Agent: I've created the PRD artifact locally. Now I need to push it to GitHub.

       I'm about to commit and push these changes:
       
       📁 Files: _bmad-output/initiatives/FEAT-100/artifacts/PRD.md
       📝 Commit: "[BMAD][FEAT-100] Add PRD artifact"
       🔀 Branch: bmad/FEAT-100/prd
       
       Do you want me to proceed?

User: yes

Agent: ✅ Changes committed and pushed.
       
       Now I'll create a Pull Request.
       
       📋 Title: [BMAD][FEAT-100] PRD
       👥 Reviewers: @alice (BA), @bob (Design), @charlie (Dev)
       
       Do you want me to proceed?

User: yes

Agent: ✅ PR #42 created: https://github.com/org/repo/pull/42
       
       Finally, I'll create Jira tickets for tracking.
       
       🎫 Tickets to create in PROJECT:
         1. "[BMAD][FEAT-100][prd] Signoff required — BA"
         2. "[BMAD][FEAT-100][prd] Signoff required — DESIGN"
         3. "[BMAD][FEAT-100][prd] Signoff required — DEV"
       
       Do you want me to proceed?

User: yes

Agent: ✅ Created tickets: PROJECT-101, PROJECT-102, PROJECT-103
       
       All done! The PRD is now pending signoff.

WRONG Behavior (Do NOT do this)

User: I want to advance the PRD

Agent: [Creates files, commits, pushes, creates PR, creates tickets all at once]
       
       ✅ Done! Created PR and 3 Jira tickets.

THIS IS WRONG. The agent should ask for confirmation before each external action.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

changelog-curator

从变更记录、提交摘要或发布说明中整理对外 changelog,并区分用户价值与内部改动。;use for changelog, release-notes, docs workflows;do not use for 捏造未发布功能, 替代正式合规审批.

Archived SourceRecently Updated
Automation

klaviyo

Klaviyo API integration with managed OAuth. Access profiles, lists, segments, campaigns, flows, events, metrics, templates, catalogs, and webhooks. Use this skill when users want to manage email marketing, customer data, or integrate with Klaviyo workflows. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).

Archived SourceRecently Updated
Automation

lifelog

生活记录自动化系统。自动识别消息中的日期(今天/昨天/前天/具体日期),使用 SubAgent 智能判断,记录到 Notion 对应日期,支持补录标记。 适用于:(1) 用户分享日常生活点滴时自动记录;(2) 定时自动汇总分析并填充情绪、事件、位置、人员字段

Archived SourceRecently Updated
Automation

unified-self-improving

统一自我进化系统,整合 self-improving-agent、self-improving、mulch 三个技能的优势,提供结构化日志、三层存储、自动升级、模式检测、命名空间隔离和 token 高效的 JSONL 格式支持。

Archived SourceRecently Updated