📦 deps(skills): sync thirdparty skills

This commit is contained in:
ci[bot] 2026-06-19 16:05:53 +00:00
parent da3e48a6ee
commit e9790f1efe
4 changed files with 31 additions and 12 deletions

View File

@ -251,7 +251,7 @@ sequences — the single most expensive failure observed. Track progress in
a ledger file, not only in todos. a ledger file, not only in todos.
- At skill start, check for a ledger: - At skill start, check for a ledger:
`cat "$(git rev-parse --git-path sdd)/progress.md"`. Tasks listed there `cat "$(git rev-parse --show-toplevel)/.superpowers/sdd/progress.md"`. Tasks listed there
as complete are DONE — do not re-dispatch them; resume at the first task as complete are DONE — do not re-dispatch them; resume at the first task
not marked complete. not marked complete.
- When a task's review comes back clean, append one line to the ledger in - When a task's review comes back clean, append one line to the ledger in
@ -260,6 +260,8 @@ a ledger file, not only in todos.
- The ledger is your recovery map: the commits it names exist in git even - The ledger is your recovery map: the commits it names exist in git even
when your context no longer remembers creating them. After compaction, when your context no longer remembers creating them. After compaction,
trust the ledger and `git log` over your own recollection. trust the ledger and `git log` over your own recollection.
- `git clean -fdx` will destroy the ledger (it's git-ignored scratch); if
that happens, recover from `git log`.
## Prompt Templates ## Prompt Templates

View File

@ -5,9 +5,8 @@
# tasks intact. # tasks intact.
# #
# Usage: review-package BASE HEAD [OUTFILE] # Usage: review-package BASE HEAD [OUTFILE]
# Default OUTFILE: <git-dir>/sdd/review-<base7>..<head7>.diff — unique per # Default OUTFILE: <repo-root>/.superpowers/sdd/review-<base7>..<head7>.diff
# repo instance and per range, so concurrent sessions cannot collide and a # (named per range, so a re-review after fixes gets a distinct fresh file).
# re-review after fixes always gets a distinctly named fresh file.
set -euo pipefail set -euo pipefail
if [ $# -lt 2 ] || [ $# -gt 3 ]; then if [ $# -lt 2 ] || [ $# -gt 3 ]; then
@ -24,9 +23,7 @@ git rev-parse --verify --quiet "$head" >/dev/null || { echo "bad HEAD: $head" >&
if [ $# -eq 3 ]; then if [ $# -eq 3 ]; then
out=$3 out=$3
else else
dir=$(git rev-parse --git-path sdd) dir=$("$(cd "$(dirname "$0")" && pwd)/sdd-workspace")
mkdir -p "$dir"
dir=$(cd "$dir" && pwd)
out="$dir/review-$(git rev-parse --short "$base")..$(git rev-parse --short "$head").diff" out="$dir/review-$(git rev-parse --short "$base")..$(git rev-parse --short "$head").diff"
fi fi

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Resolve and ensure the working-tree directory SDD uses for its short-lived
# artifacts: task briefs, implementer reports, review packages, and the
# progress ledger. Print the directory's absolute path.
#
# The workspace lives in the working tree (not under .git/) because Claude Code
# treats .git/ as a protected path and denies agent writes there — which blocks
# an implementer subagent from writing its report file. A self-ignoring
# .gitignore keeps the workspace out of `git status` and out of accidental
# commits without modifying any tracked file.
#
# Single source of truth for the workspace location, so task-brief and
# review-package cannot drift to different directories.
#
# Usage: sdd-workspace
set -euo pipefail
root=$(git rev-parse --show-toplevel)
dir="$root/.superpowers/sdd"
mkdir -p "$dir"
printf '*\n' > "$dir/.gitignore"
cd "$dir" && pwd

View File

@ -4,8 +4,8 @@
# through the controller's context. # through the controller's context.
# #
# Usage: task-brief PLAN_FILE TASK_NUMBER [OUTFILE] # Usage: task-brief PLAN_FILE TASK_NUMBER [OUTFILE]
# Default OUTFILE: <git-dir>/sdd/task-<N>-brief.md — unique per repo # Default OUTFILE: <repo-root>/.superpowers/sdd/task-<N>-brief.md
# instance, so concurrent sessions cannot collide. # (per worktree; concurrent runs in the same working tree share it).
set -euo pipefail set -euo pipefail
if [ $# -lt 2 ] || [ $# -gt 3 ]; then if [ $# -lt 2 ] || [ $# -gt 3 ]; then
@ -20,9 +20,7 @@ n=$2
if [ $# -eq 3 ]; then if [ $# -eq 3 ]; then
out=$3 out=$3
else else
dir=$(git rev-parse --git-path sdd) dir=$("$(cd "$(dirname "$0")" && pwd)/sdd-workspace")
mkdir -p "$dir"
dir=$(cd "$dir" && pwd)
out="$dir/task-${n}-brief.md" out="$dir/task-${n}-brief.md"
fi fi