skills/re-plan/SKILL.md
# Skill: re-plan ## CLI Bootstrap 在执行任何 `harnessctl` 命令前,校验环境变量 `HARNESSCTL` 是否已配置: ```bash test -n "${HARNESSCTL:-}" && test -x "$HARNESSCTL" || { echo "ERROR: HARNESSCTL 环境变量未设置或不可执行。请先执行: export HARNESSCTL=/path/to/stage-harness/scripts/harnessctl" >&2 exit 1 } ``` Incremental PLAN revision — amends task graph based on upstream SPEC changes. ## Purpose When re-spec adds new acceptance criteria or changes scope, the task plan must be updated. This skill performs task graph merge: add
npx skillsauth add LUAgam/stage-harness skills/re-planInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
在执行任何 harnessctl 命令前,校验环境变量 HARNESSCTL 是否已配置:
test -n "${HARNESSCTL:-}" && test -x "$HARNESSCTL" || {
echo "ERROR: HARNESSCTL 环境变量未设置或不可执行。请先执行: export HARNESSCTL=/path/to/stage-harness/scripts/harnessctl" >&2
exit 1
}
Incremental PLAN revision — amends task graph based on upstream SPEC changes.
When re-spec adds new acceptance criteria or changes scope, the task plan must be updated. This skill performs task graph merge: adding new tasks, adjusting dependencies, and marking completed tasks that need amendment.
Invoked when:
stale.harness/tasks/<epic-id>.*.json.harness/features/<epic-id>/coverage-matrix.jsonCompare amended spec against existing tasks:
For new requirements:
$HARNESSCTL task create --epic-id <epic-id> \
--title "Implement X" \
--depends-on <existing-task-id>
Compute dependencies:
Check impact on completed tasks:
needs_amendmentdoneNew tasks should not simply append to the end. Determine correct position:
Existing: T1(done) → T2(done) → T3(pending) → T4(pending)
New task T5 depends on T2, and T4 depends on T5:
Result: T1(done) → T2(done) → T5(pending) → T3(pending) → T4(pending)
$HARNESSCTL coverage map --epic-id <epic-id> --reset
Ensure new tasks map to new acceptance criteria.
$HARNESSCTL artifact-status set --epic-id <epic-id> \
--path "features/<epic-id>/tasks/" \
--status current --reason "Re-planned via HFB-001"
$HARNESSCTL artifact-status set --epic-id <epic-id> \
--path "features/<epic-id>/coverage-matrix" \
--status current --reason "Re-planned via HFB-001"
# Mark re-plan as completed (REQUIRED — guard will block EXECUTE without this)
$HARNESSCTL feedback re-complete --epic-id <epic-id> \
--feedback-id <HFB-xxx> --stage PLAN \
--artifacts "tasks/,coverage-matrix.json"
$HARNESSCTL stage-gate check PLAN --epic-id <epic-id>
| Scenario | Action |
|----------|--------|
| New AC, no existing task covers it | Create new task |
| Existing pending task partially covers new AC | Amend task description |
| Existing done task's AC changed | Mark task needs_amendment, create follow-up task |
| Existing done task unaffected | Leave as done |
| New task has upstream dependency on done task | Just set depends_on |
| New task blocks existing pending task | Insert before, update dependency chain |
| Artifact | Action |
|----------|--------|
| .harness/tasks/<epic-id>.*.json | New/amended tasks |
| coverage-matrix.json | Updated |
| artifact-status.json | PLAN artifacts → current |
| revision-diff-HFB-*.md | Updated with plan changes |
stale PLAN artifacts resolved to currentdevelopment
在 generate-test-cases 阶段之后执行,逐个验证测试用例并在失败时修复项目代码、重新编译部署、再次验证, 直到通过或达到最大修复次数。覆盖 UI / API / API+UI / 性能测试四个维度,UI 测试通过浏览器真实模拟用户操作并截图, API 测试根据项目代码生成可执行的接口脚本,性能测试调用现有性能/质量技能全量执行。 涉及真实用户登录信息(如手机号+验证码、账号密码、JWT)时必须中断要求用户提供,禁止编造无效凭证。 所有 case 状态变更必须通过 e2e-case-tracker.sh 脚本持久化,确保中途崩溃可恢复、无 case 遗漏。
development
# SKILL: e2e > **核心原则**: > 1. 测试范围跟着本次变动走。后端接口改了,对应的前端流程必须做联调验证;与本次需求无关的功能不测。对于涉及算法、转换准确率等质量敏感型需求,需额外生成专项质量测试。 > 2. **覆盖完整性优先于执行便利性**。不得以"链路复杂"、"需要外部依赖"为由跳过本次变动相关的用例;凡是受变动影响的接口和 UI 流程,都必须生成真实调用/操作用例。 > 3. **UI 测试必须模拟真实用户操作**(定位元素、点击、键入、等待渲染、断言可见文本/状态)。**禁止**将 UI 套件退化为浏览器上下文里的 `page.evaluate(fetch(...))` API 验证——那只是把 API 测试换了执行环境,没有额外价值,不算 UI 测试。 > 4. **通用性**:本 skill 不假设具体业务域,所有规则均以抽象变动面(文件、接口、页面、用户动作)为单位组织,不针对任何特定项目的数据库/领域词汇。 > 5. **E2E 套件必须验证运行时行为**。严禁把"读取源码/配置文件并做字符串/结构匹配"的检查封装成独立 E2E 套件——这类检
tools
# SKILL: deploy ## CLI Bootstrap 在执行任何 `harnessctl` 命令前,先解析本地 CLI 路径: ```bash if [ -z "${HARNESSCTL:-}" ]; then candidates=( "./stage-harness/scripts/harnessctl" "../stage-harness/scripts/harnessctl" "$(git rev-parse --show-toplevel 2>/dev/null)/stage-harness/scripts/harnessctl" ) for candidate in "${candidates[@]}"; do if [ -n "$candidate" ] && [ -x "$candidate" ]; then HARNESSCTL="$candidate" break fi done fi test -n "${HARNESSCTL:-}" && test -x "$H
tools
# SKILL: build ## CLI Bootstrap 在执行任何 `harnessctl` 命令前,先解析本地 CLI 路径: ```bash if [ -z "${HARNESSCTL:-}" ]; then candidates=( "./stage-harness/scripts/harnessctl" "../stage-harness/scripts/harnessctl" "$(git rev-parse --show-toplevel 2>/dev/null)/stage-harness/scripts/harnessctl" ) for candidate in "${candidates[@]}"; do if [ -n "$candidate" ] && [ -x "$candidate" ]; then HARNESSCTL="$candidate" break fi done fi test -n "${HARNESSCTL:-}" && test -x "$HA