@devo-bmad-custom/agent-orchestration 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/package.json +1 -1
  2. package/src/.agents/skills/tmux-commands/SKILL.md +353 -0
  3. package/src/bmm/data/project-context-template.md +26 -26
  4. package/src/bmm/teams/default-party.csv +20 -20
  5. package/src/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +14 -14
  6. package/src/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -197
  7. package/src/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +10 -10
  8. package/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -10
  9. package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +12 -12
  10. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +226 -226
  11. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -288
  12. package/src/bmm/workflows/4-implementation/correct-course/instructions.md +207 -207
  13. package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -1444
  14. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
  15. package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -230
  16. package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -74
  17. package/src/bmm/workflows/document-project/instructions.md +130 -130
  18. package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
  19. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
  20. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
  21. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
  22. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
  23. package/src/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -33
  24. package/src/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -110
  25. package/src/core/agents/bmad-master.md +56 -56
  26. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -187
  27. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -168
  28. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/vision-framework/SKILL.md +0 -475
  29. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/vision-framework/references/vision-requests.md +0 -736
  30. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/vision-framework/references/visionkit-scanner.md +0 -738
  31. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/weatherkit/SKILL.md +0 -410
  32. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/weatherkit/references/weatherkit-patterns.md +0 -567
  33. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/widgetkit/SKILL.md +0 -497
  34. package/src/.agents/skills/ui-ux-pro-custom/data/swift-ios-skills/widgetkit/references/widgetkit-advanced.md +0 -871
  35. package/src/.agents/skills/ui-ux-pro-custom/data/typography.csv +0 -58
  36. package/src/.agents/skills/ui-ux-pro-custom/data/ui-reasoning.csv +0 -101
  37. package/src/.agents/skills/ui-ux-pro-custom/data/ux-guidelines.csv +0 -100
  38. package/src/.agents/skills/ui-ux-pro-custom/data/web-interface.csv +0 -31
  39. package/src/.agents/skills/ui-ux-pro-custom/scripts/core.py +0 -253
  40. package/src/.agents/skills/ui-ux-pro-custom/scripts/design_system.py +0 -1067
  41. package/src/.agents/skills/ui-ux-pro-custom/scripts/search.py +0 -114
  42. package/src/.agents/skills/ux-audit/SKILL.md +0 -151
  43. package/src/.agents/skills/websocket-engineer/SKILL.md +0 -168
  44. package/src/.agents/skills/websocket-engineer/references/alternatives.md +0 -391
  45. package/src/.agents/skills/websocket-engineer/references/patterns.md +0 -400
  46. package/src/.agents/skills/websocket-engineer/references/protocol.md +0 -195
  47. package/src/.agents/skills/websocket-engineer/references/scaling.md +0 -333
  48. package/src/.agents/skills/websocket-engineer/references/security.md +0 -474
  49. package/src/.agents/skills/writing-skills/SKILL.md +0 -655
  50. package/src/.agents/skills/writing-skills/anthropic-best-practices.md +0 -1150
  51. package/src/.agents/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  52. package/src/.agents/skills/writing-skills/graphviz-conventions.dot +0 -172
  53. package/src/.agents/skills/writing-skills/persuasion-principles.md +0 -187
  54. package/src/.agents/skills/writing-skills/render-graphs.js +0 -168
  55. package/src/.agents/skills/writing-skills/testing-skills-with-subagents.md +0 -384
  56. package/src/.claude/commands/bmad-track-compact.md +0 -19
  57. package/src/.claude/commands/bmad-track-extended.md +0 -19
  58. package/src/.claude/commands/bmad-track-large.md +0 -19
  59. package/src/.claude/commands/bmad-track-medium.md +0 -19
  60. package/src/.claude/commands/bmad-track-nano.md +0 -19
  61. package/src/.claude/commands/bmad-track-rv.md +0 -18
  62. package/src/.claude/commands/bmad-track-small.md +0 -19
  63. package/src/.claude/commands/master-orchestrator.md +0 -15
  64. package/src/_memory/master-orchestrator-sidecar/docs-index.md +0 -3
  65. package/src/_memory/master-orchestrator-sidecar/instructions.md +0 -2616
  66. package/src/_memory/master-orchestrator-sidecar/memories.md +0 -8
  67. package/src/_memory/master-orchestrator-sidecar/session-state.md +0 -15
  68. package/src/_memory/master-orchestrator-sidecar/triage-history.md +0 -3
  69. package/src/_memory/master-orchestrator-sidecar/workflows-overview.html +0 -1230
  70. package/src/core/agents/master-orchestrator.md +0 -54
  71. package/src/docs/dev/tmux/actions_popup.py +0 -291
  72. package/src/docs/dev/tmux/actions_popup.sh +0 -110
  73. package/src/docs/dev/tmux/claude_usage.sh +0 -15
  74. package/src/docs/dev/tmux/colors.conf +0 -26
  75. package/src/docs/dev/tmux/cpu_usage.sh +0 -7
  76. package/src/docs/dev/tmux/dispatch.sh +0 -10
  77. package/src/docs/dev/tmux/float_init.sh +0 -13
  78. package/src/docs/dev/tmux/float_term.sh +0 -23
  79. package/src/docs/dev/tmux/open_clip.sh +0 -14
  80. package/src/docs/dev/tmux/paste_clipboard.sh +0 -13
  81. package/src/docs/dev/tmux/paste_image_wrapper.sh +0 -94
  82. package/src/docs/dev/tmux/ram_usage.sh +0 -3
  83. package/src/docs/dev/tmux/title_sync.sh +0 -54
  84. package/src/docs/dev/tmux/tmux-setup.md +0 -867
  85. package/src/docs/dev/tmux/tmux.conf +0 -127
  86. package/src/docs/dev/tmux/xclip +0 -18
@@ -1,94 +0,0 @@
1
- #!/bin/bash
2
- # paste_image_wrapper.sh — reads clipboard via wl-paste, types path into pane.
3
- #
4
- # Requires: wl-clipboard (sudo apt-get install -y wl-clipboard)
5
- # Optional: imagemagick for BMP/non-PNG conversion
6
- #
7
- # $1 = pane_id (e.g. %0)
8
-
9
- PANE="${1:-}"
10
- WL_PASTE="/usr/bin/wl-paste"
11
-
12
- # Timestamped filenames — delete any tmux_clip_* files not from today
13
- TIMESTAMP=$(date +%Y%m%d_%H%M%S)
14
- TODAY=$(date +%Y%m%d)
15
- find /tmp -maxdepth 1 -name 'tmux_clip_*' ! -name "tmux_clip_${TODAY}*" -delete 2>/dev/null || true
16
-
17
- PNGFILE="/tmp/tmux_clip_${TIMESTAMP}.png"
18
- RAWFILE="/tmp/tmux_clip_${TIMESTAMP}_raw"
19
- SVGFILE="/tmp/tmux_clip_${TIMESTAMP}.svg"
20
- HTMLFILE="/tmp/tmux_clip_${TIMESTAMP}.html"
21
- TXTFILE="/tmp/tmux_clip_${TIMESTAMP}.txt"
22
-
23
- send_path() {
24
- [ -n "$1" ] && [ -n "$PANE" ] && tmux send-keys -t "$PANE" "$1"
25
- }
26
-
27
- TYPES=$("$WL_PASTE" --list-types 2>/dev/null)
28
- [ -z "$TYPES" ] && exit 0
29
-
30
- IMAGE_TYPE=$(echo "$TYPES" | grep -i "^image/" | head -1)
31
-
32
- # ── Image ─────────────────────────────────────────────────────────────────────
33
- if [ -n "$IMAGE_TYPE" ]; then
34
- if echo "$TYPES" | grep -qi "image/png"; then
35
- "$WL_PASTE" --type image/png > "$PNGFILE" 2>/dev/null
36
- elif echo "$IMAGE_TYPE" | grep -qi "svg"; then
37
- "$WL_PASTE" --type "$IMAGE_TYPE" > "$SVGFILE" 2>/dev/null
38
- command -v convert &>/dev/null \
39
- && convert "$SVGFILE" "$PNGFILE" 2>/dev/null \
40
- || cp "$SVGFILE" "$PNGFILE"
41
- else
42
- "$WL_PASTE" --type "$IMAGE_TYPE" > "$RAWFILE" 2>/dev/null
43
- command -v convert &>/dev/null \
44
- && { convert "$RAWFILE" "$PNGFILE" 2>/dev/null && rm -f "$RAWFILE"; } \
45
- || mv "$RAWFILE" "$PNGFILE"
46
- fi
47
-
48
- # WSLg Wayland bridge sometimes lists image types but writes 0 bytes.
49
- # Fall back to PowerShell (Windows clipboard API) when wl-paste produces empty output.
50
- if [ ! -s "$PNGFILE" ]; then
51
- WINPATH=$(wslpath -w "$PNGFILE" 2>/dev/null)
52
- powershell.exe -NoProfile -Command "
53
- Add-Type -AssemblyName System.Windows.Forms
54
- \$img = [System.Windows.Forms.Clipboard]::GetImage()
55
- if (\$img -ne \$null) { \$img.Save('$WINPATH') }
56
- " 2>/dev/null
57
- fi
58
-
59
- [ -s "$PNGFILE" ] || exit 1
60
- send_path "@$PNGFILE"
61
- /usr/bin/wl-copy --type image/png < "$PNGFILE" 2>/dev/null || true
62
- exit 0
63
- fi
64
-
65
- # ── Files from file manager ───────────────────────────────────────────────────
66
- if echo "$TYPES" | grep -qi "text/uri-list"; then
67
- URIS=$("$WL_PASTE" --type text/uri-list 2>/dev/null)
68
- ALL_PATHS=""
69
- while IFS= read -r uri; do
70
- [ -z "$uri" ] && continue
71
- fpath=$(printf '%s' "$uri" | sed 's|^file://||' \
72
- | python3 -c "import sys,urllib.parse; print(urllib.parse.unquote(sys.stdin.read().strip()))" 2>/dev/null)
73
- [ -n "$fpath" ] && ALL_PATHS="$ALL_PATHS @$fpath"
74
- done <<< "$URIS"
75
- [ -n "$ALL_PATHS" ] && send_path "${ALL_PATHS# }"
76
- exit 0
77
- fi
78
-
79
- # ── HTML ──────────────────────────────────────────────────────────────────────
80
- if echo "$TYPES" | grep -qi "text/html"; then
81
- "$WL_PASTE" --type text/html > "$HTMLFILE" 2>/dev/null
82
- send_path "$HTMLFILE"
83
- exit 0
84
- fi
85
-
86
- # ── Plain text ────────────────────────────────────────────────────────────────
87
- TEXT=$("$WL_PASTE" 2>/dev/null)
88
- FIRST_LINE=$(printf '%s' "$TEXT" | head -1 | tr -d ' ')
89
- if [ -f "$FIRST_LINE" ] || [ -d "$FIRST_LINE" ]; then
90
- send_path "@$FIRST_LINE"
91
- else
92
- printf '%s' "$TEXT" > "$TXTFILE"
93
- send_path "$TXTFILE"
94
- fi
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
- read -r total used <<< $(free -m | awk '/^Mem:/{print $2, $3}')
3
- [ "$total" -gt 0 ] && echo "$(( 100 * used / total ))%" || echo "N/A"
@@ -1,54 +0,0 @@
1
- #!/bin/bash
2
- # Syncs active pane title → window name and (if window 1) session name.
3
- # Respects @window-name-locked and @session-name-locked flags set by manual renames.
4
- # Called from pane-title-changed hook and fallback hooks (after-select-window, client-focus-in).
5
- #
6
- # All tmux commands use -t PANE_ID so they target the correct session/window
7
- # regardless of which session is "current" for this subprocess.
8
- #
9
- # Args:
10
- # $1 pane_id e.g. %17
11
- # $2 pane_active 1 or 0
12
- # $3 window_index e.g. 1
13
- # $4 pane_title e.g. "✳ Claude Code"
14
- # $5 cwd_basename e.g. "Squidhub"
15
-
16
- PANE_ID="$1"
17
- PANE_ACTIVE="$2"
18
- WINDOW_INDEX="$3"
19
- PANE_TITLE="$4"
20
- CWD="$5"
21
-
22
- # Always clear the placeholder hash — pane now has a real title
23
- tmux set-option -pt "$PANE_ID" @pane-hash "" 2>/dev/null || true
24
-
25
- # Only the active pane drives window/session naming
26
- [ "$PANE_ACTIVE" = "1" ] || exit 0
27
-
28
- # Rename window only if user has not manually locked it
29
- wl=$(tmux show-options -wqv -t "$PANE_ID" @window-name-locked 2>/dev/null)
30
- if [ -z "$wl" ]; then
31
- tmux rename-window -t "$PANE_ID" -- "$PANE_TITLE" 2>/dev/null || true
32
- fi
33
-
34
- # Rename session (with cwd suffix for uniqueness) only if:
35
- # - this is window 1, AND
36
- # - user has not manually locked the session name
37
- if [ "$WINDOW_INDEX" = "1" ]; then
38
- sl=$(tmux show-options -qv -t "$PANE_ID" @session-name-locked 2>/dev/null)
39
- if [ -z "$sl" ]; then
40
- TARGET="$PANE_TITLE · $CWD"
41
- # If another session already has this name, append short pane ID to disambiguate
42
- EXISTING=$(tmux list-sessions -F "#{session_name}" 2>/dev/null | grep -Fx "$TARGET")
43
- CURRENT=$(tmux display-message -p -t "$PANE_ID" "#{session_name}" 2>/dev/null)
44
- if [ -n "$EXISTING" ] && [ "$CURRENT" != "$TARGET" ]; then
45
- # Strip % from pane ID for a clean suffix e.g. "✳ Claude Code · Squidhub · 20"
46
- SUFFIX="${PANE_ID#%}"
47
- TARGET="$PANE_TITLE · $CWD · $SUFFIX"
48
- fi
49
- tmux rename-session -t "$PANE_ID" -- "$TARGET" 2>/dev/null || true
50
- fi
51
- fi
52
-
53
- # Force status bar to repaint immediately
54
- tmux refresh-client -S 2>/dev/null || true