Token导航 LogoToken导航

Agent Skill · 开发

backstage(backstage 文档)

backstage 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中需要把零散信息整理成结构清晰的文档时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

backstage 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为执行命令;许可证为 MIT-0,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 1,743。

总安装 24,384周安装 1,016GitHub Stars 公开资料未说明下载 8,128核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.4

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:backstage(backstage 文档)
来源仓库:https://github.com/nonlinear/backstage
安装命令:
openclaw skills install backstage
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install backstage

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

backstage 用于整理文档、README、Markdown 和说明材料,适合在 OpenClaw 中把零散信息整理成结构清晰文档时使用。适用于项目健康状态加载与文档奇偶性校验场景。可触发“早上好 PROJECT”等指令自动同步系统与文档一致性。

安装命令:openclaw skills install backstage,需确认项目目录读写权限。注意触发词需精确匹配,避免误执行导致状态混乱。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install backstage;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

backstage 怎么安装?

在终端执行 openclaw skills install backstage。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

backstage 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

backstage 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 openclaw skills install backstage 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

backstage 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

backstage 用的人多吗?

公开数据是累计安装 24,384 次,近一周安装 1,016 次,下载 8,128 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

backstage 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
backstage

backstage 文档 · 本页

24,384—执行命令MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
backstage
description
Anti-drift protocol script. Ensures parity between docs and system. Triggers: 'bom dia PROJECT' / 'good morning PROJECT' (load project context with health checks)
type
public
version
1.0.2
status
production
author
nonlinear
license
MIT
requires
dependencies

Backstage Skill

Nickname: backstage:

Objective: Universal project status management for AI-assisted development. Ensures documentation matches reality before every commit.


⚠️ Security Notice

This is an admin tool with elevated privileges:

  • Executes checks from global path ($HOME/Documents/backstage/backstage/checks/global/)
  • Pulls remote code from GitHub (https://github.com/nonlinear/backstage)
  • Modifies project files (README, ROADMAP, CHANGELOG with mermaid diagrams)
  • Rsyncs updates when using update backstage trigger

Intended for:

  • Personal use (you control the upstream repo)
  • Trusted teams (shared backstage protocol repo)

Not recommended for:

  • Untrusted third-party projects
  • Public/open-source projects with unknown contributors

Mitigations in place:

  • User confirmation before applying updates
  • Git history (all changes committed, revertable)
  • Symlink detection (admin mode auto-updates)

Use at your own risk. Review update-backstage.sh and checks.sh before running.


🔴 Why This Skill Exists (Anti-Drift)

Backstage-skill = ANTI-DRIFT:

  • ✅ Force context awareness (project/epic)
  • ✅ Health checks prevent chaos
  • ✅ Architecture-first workflow
  • ✅ Roadmap visibility = no surprises

WITHOUT IT: Work happens outside backstage → drift → broken trust → triple metabolic cost

WITH IT: "good morning X" → automatic context load → work inside boundaries → paridade maintained


The Metabolic Cost Problem:

Without backstage, delegation costs triple:

  1. The work itself
  2. Explicating methodology (ethics, preferences, protocols)
  3. Defining WHERE that learning gets stored (VISION? SOUL? SKILL? memory?)

This is exhausting for the human.

Investment is worth it ONLY IF plateau is reached:

  • Human teaches ONCE → AI internalizes
  • Each session: READ context files → act according to ethics
  • Each session: LESS explanation needed
  • Plateau = Human delegates, AI executes without supervision

This skill enforces stabilization. Force context awareness (project/epic/design architecture) to prevent drift. 3x work becomes 1x work.


Policies & Checks Enforcement

Backstage-skill enforces ALL rules in checks/ (deterministic + interpretive, global + local).

Enforcement Model

flowchart TD
    READ_CHK["Read checks/<br/>global + local<br/>[Deterministic .sh + Interpretive .md]"]
    
    CONFLICT{Conflict?}
    MERGE[Merge compatible rules]
    LOCAL[Local wins]
    
    AI["AI interprets .md checks<br/>[Contextual enforcement]"]
    SH["Bash executes .sh checks<br/>[Deterministic validation]"]
    
    AI_ACT[✅ Enforce or discuss]
    AI_AMBIG[⚠️ Ask user]
    
    SH_OK[✅ All checks pass]
    SH_FAIL[❌ Checks failed]
    
    REPORT["Report:<br/>📋 Interpretive (always ✅)<br/>🔍 Deterministic (✅/❌)"]
    
    READ_CHK --> CONFLICT
    CONFLICT -->|No| MERGE
    CONFLICT -->|Yes| LOCAL
    MERGE --> AI
    MERGE --> SH
    LOCAL --> AI
    LOCAL --> SH
    
    AI -->|Clear| AI_ACT
    AI -->|Ambiguous| AI_AMBIG
    
    SH -->|Pass| SH_OK
    SH -->|Fail| SH_FAIL
    
    AI_ACT --> REPORT
    AI_AMBIG --> REPORT
    SH_OK --> REPORT
    SH_FAIL --> REPORT

Two enforcement domains:

  1. Checks (Interpretive)

- checks/global/*.md = Universal workflow rules - checks/local/*.md = Project-specific overrides - Enforced by: AI (reads markdown, interprets context, acts) - Always pass: AI reads, understands, will act accordingly

  1. Checks (Deterministic)

- checks/global/*.sh = Universal validation tests - checks/local/*.sh = Project-specific tests - Enforced by: Bash (executes shell scripts, exit codes) - Pass or fail: ✅ (exit 0) or ❌ (exit non-zero)

Polycentric governance:

  • Global + local rules coexist
  • Local wins on conflict
  • AI merges when compatible

Report format:

📋 Interpretive checks:
  ✅ checks/global/branch-workflow.md (read)
  ✅ checks/global/commit-style.md (read)
  ✅ checks/local/dogfooding.md (read)

🔍 Checks (deterministic):
  ✅ checks/global/navigation-block-readme.sh
  ✅ checks/global/semver-changelog.sh
  ❌ checks/local/pre-merge-tasks.sh (incomplete tasks)

Self-contained: All prompts in SKILL.md (no external prompt files needed).


Mermaid Diagram Generation (Interpretive)

Purpose: Automatically generate + propagate ROADMAP diagram to all backstage files.

Workflow:

  1. Parse ROADMAP.md (deterministic - SH):
   parse-roadmap.sh backstage/ROADMAP.md
   # Output: version|status_emoji|name
  1. Read checks/ diagram rules (interpretive - AI):

- checks/global/navigation-block.md defines default format (linear graph, all epics, sequential) - checks/local/*.md can override (gantt, flowchart, or diagram: none) - Local wins on conflict

  1. Generate mermaid (interpretive - AI):

- Apply checks/ rules to parsed data - Create mermaid syntax matching specification - Example (default):

     graph LR
         A[🏗️ v0.1.0 Active Epic] --> B[📋 v0.2.0 Backlog Epic]
  1. Propagate to all files (deterministic - SH):

- Insert after > 🤖 marker - README.md, ROADMAP.md, CHANGELOG.md - Remove old diagrams (anti-drift)

AI Prompt (when running backstage-start/end):

Read checks/global/navigation-block.md and checks/local/*.md for diagram rules. Run parse-roadmap.sh to extract epics. Generate mermaid diagram following checks/ rules (prefer local over global). Insert diagram after navigation block (> 🤖) in all backstage files. If local checks say diagram: none, skip generation.

Tools:

  • parse-roadmap.sh - Extract version|status|name from ROADMAP.md
  • checks/ - Diagram format rules (type, include/exclude logic, status mapping)

Polycentric Governance (How It Works)

flowchart TD
    GLOBAL_POL[checks/global/*.md<br/>Universal rules]
    LOCAL_POL[checks/local/*.md<br/>Project-specific overrides]
    
    GLOBAL_CHK[checks/global/*.sh<br/>Universal tests]
    LOCAL_CHK[checks/local/*.sh<br/>Project-specific tests]
    
    AI[AI reads checks/]
    BASH[Bash executes checks/]
    CONFLICT{Conflict?}
    
    GLOBAL_POL --> AI
    LOCAL_POL --> AI
    GLOBAL_CHK --> BASH
    LOCAL_CHK --> BASH
    
    AI --> CONFLICT
    CONFLICT -->|Yes| LOCAL_POL
    CONFLICT -->|No| MERGE[Merge rules]
    
    MERGE --> ACTION[Execute workflow]
    LOCAL_POL --> ACTION
    BASH --> ACTION

This skill enforces polycentric governance:

  • Reads ALL checks/**/*.md files (global + local)
  • Executes ALL checks/**/*.sh files (global + local)
  • Merges checks when compatible
  • Prefers local checks on conflict
  • Reports deterministic check results (pass/fail)

Triggered by: "good morning", "good night", "backstage start/end", "update backstage"


Workflow Diagram

flowchart TD
    START["Trigger 1️⃣<br/>[SH]"]
    MODE{"Session mode?"}
    
    %% Common enforcement module
    READ_POL["Read checks/<br/>global + local<br/>[AI interprets MD]"]
    EXEC_CHK["Execute checks/<br/>global + local<br/>[Bash runs SH]"]
    
    REPORT["Report 6️⃣<br/>📋 Interpretive (✅)<br/>🔍 Checks (✅/❌)"]
    CHECKS_GATE{"All checks<br/>passed?"}
    
    %% Start Branch
    START_BRANCH["Read README 🤖 block 2️⃣<br/>[MD → AI]"]
    START_FILES["Locate status files 3️⃣<br/>[SH]"]
    START_GIT["Check git branch 4️⃣<br/>[SH]"]
    START_WORK["Analyze changes 5️⃣<br/>[SH]"]
    START_FIX["🛑 STOP: Fix issues<br/>[AI + SH]"]
    START_UPDATE["Update docs 7️⃣<br/>[SH writes MD]"]
    START_REPORT["Developer context 8️⃣<br/>[AI reads MD]"]
    START_PUSH["Push / Groom 9️⃣<br/>[SH]"]
    
    %% End Branch
    END_FIXES["Add fixes to roadmap<br/>[AI writes MD]"]
    END_PUSH["Commit + push<br/>[SH]"]
    END_VICTORY["Victory lap 🏆<br/>[AI reads MD]"]
    END_BODY["Body check ⏸️<br/>[AI prompt]"]
    END_CLOSE["Close VS Code 🌙<br/>[SH]"]
    END_SILENT["[STAY SILENT]"]
    
    %% Update Backstage Branch
    UPDATE_DETECT["Find backstage/ folder<br/>[SH]"]
    UPDATE_CHECK_SYM{"Symlinked?"}
    UPDATE_SKIP["✅ Already auto-updates<br/>[Report]"]
    UPDATE_FETCH["Fetch upstream<br/>[SH: git clone]"]
    UPDATE_DIFF["Compare local vs upstream<br/>[SH: diff]"]
    UPDATE_UPTODATE{"Changes<br/>found?"}
    UPDATE_UPTODATE_SKIP["✅ Already up to date<br/>[Report]"]
    UPDATE_CHANGELOG["Generate mini changelog<br/>[AI reads diffs]"]
    UPDATE_PROMPT{"User<br/>approves?"}
    UPDATE_ABORT["Aborted<br/>[Report]"]
    UPDATE_APPLY["rsync upstream → local<br/>[SH]"]
    UPDATE_REPORT["🎉 Updated!<br/>[Report changes]"]
    
    %% Flow
    START --> MODE
    
    MODE -->|Start| START_BRANCH
    START_BRANCH --> START_FILES
    START_FILES --> START_GIT
    START_GIT --> START_WORK
    START_WORK --> READ_POL
    START_WORK --> EXEC_CHK
    
    READ_POL --> REPORT
    EXEC_CHK --> REPORT
    REPORT --> CHECKS_GATE
    
    CHECKS_GATE -->|No, start mode| START_FIX
    START_FIX --> READ_POL
    CHECKS_GATE -->|Yes| START_UPDATE
    START_UPDATE --> START_REPORT
    START_REPORT --> START_PUSH
    
    MODE -->|End| READ_POL
    MODE -->|End| EXEC_CHK
    CHECKS_GATE -->|No, end mode| END_FIXES
    CHECKS_GATE -->|Yes| END_PUSH
    END_FIXES --> END_VICTORY
    END_PUSH --> END_VICTORY
    END_VICTORY --> END_BODY
    END_BODY --> END_CLOSE
    END_CLOSE --> END_SILENT
    
    MODE -->|Update| UPDATE_DETECT
    UPDATE_DETECT --> UPDATE_CHECK_SYM
    UPDATE_CHECK_SYM -->|Yes| UPDATE_SKIP
    UPDATE_CHECK_SYM -->|No| UPDATE_FETCH
    UPDATE_FETCH --> UPDATE_DIFF
    UPDATE_DIFF --> UPDATE_UPTODATE
    UPDATE_UPTODATE -->|No| UPDATE_UPTODATE_SKIP
    UPDATE_UPTODATE -->|Yes| UPDATE_CHANGELOG
    UPDATE_CHANGELOG --> UPDATE_PROMPT
    UPDATE_PROMPT -->|No| UPDATE_ABORT
    UPDATE_PROMPT -->|Yes| UPDATE_APPLY
    UPDATE_APPLY --> UPDATE_REPORT

Domain labels:

  • [MD] - Markdown file (checks/*.md, ROADMAP.md) = Human/AI prompts
  • [SH] - Shell script (checks/*.sh, backstage-start.sh) = Machine executables
  • [AI reads MD] - AI parses markdown, understands rules/prompts
  • [AI writes MD] - AI generates markdown content
  • [SH writes MD] - Script modifies markdown files (checkboxes, navigation blocks)
  • [Bash runs SH] - Bash executes shell scripts (deterministic validation)
  • [AI interprets MD] - AI reads checks/, acts contextually

Critical separation:

  • checks/ = prompts - AI reads, interprets, acts
  • checks/ = executors - Bash runs commands, returns exit codes
  • AI intermediates - Reads checks/, executes checks/, integrates report

Notes:

1️⃣ Trigger: "backstage start", "vamos trabalhar no X", "whatsup" (start mode) OR "backstage end", "boa noite", "wrap up" (end mode)

  • Code: backstage-start.sh OR backstage-end.sh

2️⃣ Read README 🤖 block: Find navigation block between > 🤖 markers. Extract all status file paths (ROADMAP, CHANGELOG, checks/, checks/). This is ONLY source of truth for file locations.

  • Code: backstage-start.sh::read_navigation_block()

3️⃣ Locate status files: Use paths from 🤖 block. If missing, STOP and ask user where to create them. Check BOTH global (backstage/checks/global/, backstage/checks/global/) and local (backstage/checks/local/, backstage/checks/local/) for polycentric governance.

  • Code: backstage-start.sh::locate_status_files()

4️⃣ Check git branch: Run git branch --show-current. Determine work context.

  • Code: backstage-start.sh::check_branch()

5️⃣ Analyze changes:

git diff --name-status
git diff --stat
LAST_VERSION=$(grep -m1 "^## v" CHANGELOG.md | cut -d' ' -f2)
git log --oneline "${LAST_VERSION}..HEAD"

Categorize: patch/minor/major. Compare with ROADMAP. Match reality to plans.

  • Code: backstage-start.sh::analyze_changes()

6️⃣ Report - Policies + Checks:

Report format:

📋 Interpretive checks:
  ✅ checks/global/branch-workflow.md (read)
  ✅ checks/global/commit-style.md (read)
  ✅ checks/local/dogfooding.md (read)

🔍 Checks (deterministic):
  ✅ checks/global/navigation-block-readme.sh
  ✅ checks/global/semver-changelog.sh
  ❌ checks/local/pre-merge-tasks.sh (incomplete tasks)

Policies always ✅: AI reads, interprets, will act accordingly

Checks can fail ❌: Exit code determines status

Mode behavior:

  • Start mode: Hard fail (block commit if checks fail)
  • End mode: Soft fail (warn, add to ROADMAP)
  • Code: backstage-start.sh::report_enforcement()

7️⃣ Update docs: If checks pass, auto-update ROADMAP (mark checkboxes) and CHANGELOG (add new entries at TOP, append-only). Bump version. Add navigation menu to all status files.

  • Code: backstage-start.sh::update_docs()

8️⃣ Developer context: Generate outcome-based summary (5 possible states: 🛑 Failed, ⚠️ Mismatch, 🧑 Grooming, ✅ Progress, 🎉 Complete). Show: When, What, Why, Status, Next.

  • Code: backstage-start.sh::show_developer_context()

9️⃣ Push / Groom: If checks passed, commit with appropriate message (progress/release). If grooming mode, just update ROADMAP priorities.

  • Code: backstage-start.sh::prompt_push()

Victory lap 🏆: Brief reminder of achievements (3 main items max + stats). Keep it short.

  • Code: backstage-end.sh::victory_lap()

Body check ⏸️: Ask: Hungry? Thirsty? Tired? Need to stretch? What does body NEED right now?

  • Code: backstage-end.sh::body_check()

Close VS Code 🌙: Run countdown + osascript -e 'quit app "Visual Studio Code"'. CRITICAL: Agent must NOT send ANY message after this or VS Code will prompt "unsaved changes".

  • Code: backstage-end.sh::close_vscode()

[STAY SILENT]: No reply after closing VS Code (prevents unsaved prompt).

🔄 Update Backstage: "update backstage" trigger

  • Find backstage folder: Search CWD for */backstage/ directory
  • Check if symlinked: If checks/global/ is symlink → already auto-updates (skip)
  • Fetch upstream: Clone https://github.com/nonlinear/backstage (temp dir)
  • Compare: Diff local checks/global/ vs upstream
  • Generate changelog: Show NEW, CHANGED, REMOVED files (with descriptions)
  • Prompt user: "Apply updates? (y/n)"
  • Apply if yes: rsync --delete upstream → local
  • Report: What changed, how many files
  • Code: update-backstage.sh

When to Use

Trigger patterns:

"Bom dia" / "Good morning" + PROJECT:

  • bom dia personal / good morning personal
  • bom dia librarian / good morning librarian
  • Action: Load project context + run health checks
  • Output: Current epic, roadmap status, branch info, gaps

"Update backstage":

  • Action: Compare local */backstage/checks/global/ against official repo
  • Detect changes: What's NEW or CHANGED in upstream
  • Show delta: Mini changelog (1 paragraph: what you GAIN if updated)
  • Confirm: User approves update
  • Execute: Pull latest checks/global/ files from upstream
  • Output: Updated files list, what changed

Start mode:

  • "backstage start"
  • "whatsup"
  • "vamos trabalhar no X"
  • "what's the status"
  • Before every commit (especially after long breaks)

End mode:

  • "backstage end"
  • "boa noite"
  • "wrap up"
  • "pause work"
  • End of work session, when tired, or context-switch

"Update Backstage" Workflow

Trigger: update backstage (from any project using backstage protocol)

Purpose: Sync local checks/global/ with latest from upstream repo, show what's new.

How It Works

  1. Detect project backstage folder:
   # Search up from CWD for backstage/ folder
   find . -type d -name "backstage" | grep -E "backstage$"
   # Or read README 🤖 block for backstage location
  1. Confirm upstream source:
   # Check if checks/global/ is symlink (admin mode)
   if [ -L "backstage/checks/global" ]; then
     echo "✅ Symlinked to upstream (auto-updates)"
     exit 0
   fi
   
   # Otherwise, assume official repo
   UPSTREAM="https://github.com/nonlinear/backstage"
   echo "Upstream: $UPSTREAM"
   echo "Confirm this is correct? (y/n)"
  1. Fetch latest from upstream:
   # Clone or pull latest
   TMP_DIR=$(mktemp -d)
   git clone --depth 1 "$UPSTREAM" "$TMP_DIR/backstage"
  1. Compare local vs upstream:
   # Diff local checks/global/ vs upstream
   diff -qr backstage/checks/global/ "$TMP_DIR/backstage/backstage/checks/global/"
  1. Generate mini changelog:
   📦 Backstage Updates Available:
   
   NEW files (3):
   - skill-publish-warning.sh (warns before merging unpublished skills)
   - rebase-cadence.md (suggests rebase if branch >7 days old)
   - epic-notes-orphan-detection.md (detects orphan epic notes)
   
   CHANGED files (2):
   - merge-to-main.md (added Step 0: skill publish check)
   - epic-branch.sh (improved detection logic)
   
   WHAT YOU GAIN:
   Better skill publishing workflow, orphan detection, rebase reminders.
  1. Prompt user:
   Apply these updates? (y/n)
  1. Update if confirmed:
   # Copy upstream checks/global/ to local
   rsync -av --delete "$TMP_DIR/backstage/backstage/checks/global/" backstage/checks/global/
   
   # Cleanup
   rm -rf "$TMP_DIR"
   
   echo "✅ Updated checks/global/ from upstream"
  1. Report:
   🎉 Backstage updated!
   
   Files changed: 5
   - Added: skill-publish-warning.sh, rebase-cadence.md, epic-notes-orphan-detection.md
   - Modified: merge-to-main.md, epic-branch.sh
   
   Next: Run 'backstage start' to test new checks.

Edge Cases

Symlinked (admin mode):

  • If checks/global/ is symlink → already auto-updates
  • Just report: "✅ Already symlinked to upstream (no action needed)"

No changes:

  • If local == upstream → report: "✅ Already up to date"

Conflicts:

  • If user modified global checks locally → warn, ask to resolve
  • Suggest: copy to checks/local/ (overrides) before updating

No internet:

  • If git clone fails → report: "❌ Can't reach upstream (offline?)"

Key Principles

  1. README's 🤖 block = Single source of truth for file locations
  2. Status files = AI prompts (checks/ = tests, checks/ = rules, ROADMAP = backlog, CHANGELOG = history)
  3. Polycentric governance (global + local rules, local wins on conflict)
  4. Checks must pass before commit (non-negotiable for start mode, soft fail for end mode)
  5. CHANGELOG is append-only (never edit old entries, add NEW entry for corrections)
  6. 5 possible outcomes (Failed, Mismatch, Grooming, Progress, Complete)
  7. Documentation auto-syncs with reality (mark checkboxes, bump versions, move epics)
  8. Body check at end (mental health + momentum preservation)
  9. Silent after VS Code close (prevent unsaved prompt)
  10. Works on ANY project (no hardcoded paths, reads README first)

The 5 States (Start Mode)

StateWhenActionCan Push?
🛑 Failed ChecksTests failFix issues❌ NO
⚠️ Docs MismatchCode ≠ docsAuto-update docs✅ YES
🧑 GroomingNo changesPlan next workN/A
✅ In ProgressPartial workUpdate checkboxes✅ YES
🎉 Version CompleteAll done!Move to CHANGELOG✅ YES 🎉

Check Policy

From checks/:

  • Epic branches: Soft fail (warn but allow)
  • Main branch: Hard fail (block merge)
  • Wrap-up (end mode): Soft fail (list fixes, don't push)

The 3-Level System

Level 1: Personal (not tracked)

  • Your books, notes, local config
  • Not part of any project

Level 2: Project-Specific (e.g., Librarian MCP)

  • Generic tool others can use
  • Has status files (ROADMAP, CHANGELOG, checks/, checks/)
  • Example flagship project for Level 3

Level 3: Meta-Workflow (this skill)

  • Works for ANY project
  • No hardcoded paths
  • Reads README to find everything
  • Can be copied anywhere

Reference Prompts

Original prompts (for future refinement):

  • backstage-start.prompt.md - Full start workflow specification
  • backstage-close.prompt.md - Full end workflow specification

Location: /Users/nfrota/Documents/nonlinear/.github/prompts/

Note: This SKILL.md is a DRAFT distillation of those prompts. Future refinements will improve diagram, add emoji notes, clarify steps. The original prompts contain ALL details.


TODO / Future Refinements

  • [ ] Update .sh scripts to read checks/ and checks/ folders
  • [ ] Add emoji notes (like design-discrepancy 1️⃣-8️⃣ format)
  • [ ] Simplify diagram (consolidated enforcement, removed "separate" step)
  • [ ] Add code execution points (where scripts run, if any)
  • [ ] Create templates (for new projects without status files)
  • [ ] Document edge cases (no git, no README, corrupted files)
  • [ ] Add examples (successful runs, failed runs, grooming sessions)
  • [ ] Test on multiple projects (validate universal workflow)
  • [ ] Consider splitting (start vs end as separate skills?)

Created: 2026-02-12 Updated: 2026-02-18 (v1.0.0 - modular checks/checks) Status: Documentation updated, scripts pending Location: ~/Documents/backstage/skills/backstage/SKILL.md

平台分布

OpenClaw

95.03%
按下载量换算7,724

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install backstage 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills