@leeovery/claude-technical-workflows 2.1.8 → 2.1.10
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.
- package/README.md +0 -8
- package/package.json +3 -4
- package/skills/migrate/SKILL.md +2 -2
- package/{scripts → skills/migrate/scripts}/migrations/005-plan-external-deps-frontmatter.sh +0 -0
- package/skills/start-discussion/SKILL.md +2 -2
- package/skills/start-implementation/SKILL.md +2 -2
- package/{scripts/discovery-for-implementation-and-review.sh → skills/start-implementation/scripts/discovery.sh} +2 -2
- package/skills/start-planning/SKILL.md +2 -2
- package/skills/start-review/SKILL.md +2 -2
- package/skills/start-review/scripts/discovery.sh +114 -0
- package/skills/start-specification/SKILL.md +2 -2
- /package/{scripts → skills/migrate/scripts}/migrate.sh +0 -0
- /package/{scripts → skills/migrate/scripts}/migrations/001-discussion-frontmatter.sh +0 -0
- /package/{scripts → skills/migrate/scripts}/migrations/002-specification-frontmatter.sh +0 -0
- /package/{scripts → skills/migrate/scripts}/migrations/003-planning-frontmatter.sh +0 -0
- /package/{scripts → skills/migrate/scripts}/migrations/004-sources-object-format.sh +0 -0
- /package/{scripts/discovery-for-discussion.sh → skills/start-discussion/scripts/discovery.sh} +0 -0
- /package/{scripts/discovery-for-planning.sh → skills/start-planning/scripts/discovery.sh} +0 -0
- /package/{scripts/discovery-for-specification.sh → skills/start-specification/scripts/discovery.sh} +0 -0
package/README.md
CHANGED
|
@@ -265,14 +265,6 @@ agents/
|
|
|
265
265
|
├── planning-task-author.md # Write full task detail
|
|
266
266
|
└── planning-dependency-grapher.md # Analyze task dependencies and priorities
|
|
267
267
|
|
|
268
|
-
scripts/ # Helper scripts for skills
|
|
269
|
-
├── migrate.sh # Migration orchestrator
|
|
270
|
-
├── discovery-for-discussion.sh # Discovery for discussion skill
|
|
271
|
-
├── discovery-for-specification.sh # Discovery for specification skill
|
|
272
|
-
├── discovery-for-planning.sh # Discovery for planning skill
|
|
273
|
-
├── discovery-for-implementation-and-review.sh # Discovery for impl/review
|
|
274
|
-
└── migrations/ # Individual migration scripts (numbered)
|
|
275
|
-
|
|
276
268
|
tests/
|
|
277
269
|
└── scripts/ # Shell script tests for discovery and migrations
|
|
278
270
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leeovery/claude-technical-workflows",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.10",
|
|
4
4
|
"description": "Technical workflow skills & commands for Claude Code",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Lee Overy <me@leeovery.com>",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"scripts": {
|
|
13
13
|
"postinstall": "claude-manager add",
|
|
14
14
|
"preuninstall": "npx --yes --package=@leeovery/claude-manager claude-manager remove",
|
|
15
|
-
"test:scripts:discovery": "bash tests/scripts/test-discovery-for-discussion.sh && bash tests/scripts/test-discovery-for-specification.sh && bash tests/scripts/test-discovery-for-planning.sh && bash tests/scripts/test-discovery-for-implementation-
|
|
15
|
+
"test:scripts:discovery": "bash tests/scripts/test-discovery-for-discussion.sh && bash tests/scripts/test-discovery-for-specification.sh && bash tests/scripts/test-discovery-for-planning.sh && bash tests/scripts/test-discovery-for-implementation.sh && bash tests/scripts/test-discovery-for-review.sh",
|
|
16
16
|
"test:scripts:migration": "bash tests/scripts/test-migration-001.sh && bash tests/scripts/test-migration-002.sh && bash tests/scripts/test-migration-003.sh"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
"skills",
|
|
23
23
|
"commands",
|
|
24
24
|
"agents",
|
|
25
|
-
"hooks"
|
|
26
|
-
"scripts"
|
|
25
|
+
"hooks"
|
|
27
26
|
]
|
|
28
27
|
}
|
package/skills/migrate/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: migrate
|
|
3
3
|
description: "Run migrations to keep workflow files in sync with the current system design. This skill is mandatory before running any workflow skill."
|
|
4
|
-
allowed-tools: Bash(
|
|
4
|
+
allowed-tools: Bash(./scripts/migrate.sh)
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Migrate
|
|
@@ -13,7 +13,7 @@ Keeps your workflow files up to date with how the system is designed to work. Ru
|
|
|
13
13
|
Run the migration script:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
./scripts/migrate.sh
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
### If files were updated
|
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: start-discussion
|
|
3
3
|
description: "Start a technical discussion. Discovers research and existing discussions, offers multiple entry paths, and invokes the technical-discussion skill."
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Bash(
|
|
5
|
+
allowed-tools: Bash(./scripts/discovery.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/research-analysis.md)
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Invoke the **technical-discussion** skill for this conversation.
|
|
@@ -55,7 +55,7 @@ Invoke the `/migrate` skill and assess its output.
|
|
|
55
55
|
Run the discovery script to gather current state:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
./scripts/discovery.sh
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
This outputs structured YAML. Parse it to understand:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: start-implementation
|
|
3
3
|
description: "Start an implementation session from an existing plan. Discovers available plans, checks environment setup, and invokes the technical-implementation skill."
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Bash(
|
|
5
|
+
allowed-tools: Bash(./scripts/discovery.sh)
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Invoke the **technical-implementation** skill for this conversation.
|
|
@@ -55,7 +55,7 @@ Invoke the `/migrate` skill and assess its output.
|
|
|
55
55
|
Run the discovery script to gather current state:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
./scripts/discovery.sh
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
This outputs structured YAML. Parse it to understand:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
#
|
|
3
|
-
# Discovers the current state of plans for /start-implementation
|
|
3
|
+
# Discovers the current state of plans for /start-implementation command.
|
|
4
4
|
#
|
|
5
|
-
# Outputs structured YAML that the
|
|
5
|
+
# Outputs structured YAML that the command can consume directly.
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
set -eo pipefail
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: start-planning
|
|
3
3
|
description: "Start a planning session from an existing specification. Discovers available specifications, gathers context, and invokes the technical-planning skill."
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Bash(
|
|
5
|
+
allowed-tools: Bash(./scripts/discovery.sh)
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Invoke the **technical-planning** skill for this conversation.
|
|
@@ -55,7 +55,7 @@ Invoke the `/migrate` skill and assess its output.
|
|
|
55
55
|
Run the discovery script to gather current state:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
./scripts/discovery.sh
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
This outputs structured YAML. Parse it to understand:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: start-review
|
|
3
3
|
description: "Start a review session from an existing plan and implementation. Discovers available plans, validates implementation exists, and invokes the technical-review skill."
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Bash(
|
|
5
|
+
allowed-tools: Bash(./scripts/discovery.sh)
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Invoke the **technical-review** skill for this conversation.
|
|
@@ -55,7 +55,7 @@ Invoke the `/migrate` skill and assess its output.
|
|
|
55
55
|
Run the discovery script to gather current state:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
./scripts/discovery.sh
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
This outputs structured YAML. Parse it to understand:
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# Discovers the current state of plans for /start-review command.
|
|
4
|
+
#
|
|
5
|
+
# Outputs structured YAML that the command can consume directly.
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
set -eo pipefail
|
|
9
|
+
|
|
10
|
+
PLAN_DIR="docs/workflow/planning"
|
|
11
|
+
SPEC_DIR="docs/workflow/specification"
|
|
12
|
+
|
|
13
|
+
# Helper: Extract a frontmatter field value from a file
|
|
14
|
+
# Usage: extract_field <file> <field_name>
|
|
15
|
+
extract_field() {
|
|
16
|
+
local file="$1"
|
|
17
|
+
local field="$2"
|
|
18
|
+
local value=""
|
|
19
|
+
|
|
20
|
+
# Extract from YAML frontmatter (file must start with ---)
|
|
21
|
+
if head -1 "$file" 2>/dev/null | grep -q "^---$"; then
|
|
22
|
+
value=$(sed -n '2,/^---$/p' "$file" 2>/dev/null | \
|
|
23
|
+
grep -i -m1 "^${field}:" | \
|
|
24
|
+
sed -E "s/^${field}:[[:space:]]*//i" || true)
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
echo "$value"
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# Helper: Extract frontmatter content (between first pair of --- delimiters)
|
|
31
|
+
extract_frontmatter() {
|
|
32
|
+
local file="$1"
|
|
33
|
+
awk 'BEGIN{c=0} /^---$/{c++; if(c==2) exit; next} c==1{print}' "$file" 2>/dev/null
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# Start YAML output
|
|
38
|
+
echo "# Review Command State Discovery"
|
|
39
|
+
echo "# Generated: $(date -Iseconds)"
|
|
40
|
+
echo ""
|
|
41
|
+
|
|
42
|
+
#
|
|
43
|
+
# PLANS
|
|
44
|
+
#
|
|
45
|
+
echo "plans:"
|
|
46
|
+
|
|
47
|
+
plan_count=0
|
|
48
|
+
|
|
49
|
+
if [ -d "$PLAN_DIR" ] && [ -n "$(ls -A "$PLAN_DIR" 2>/dev/null)" ]; then
|
|
50
|
+
echo " exists: true"
|
|
51
|
+
echo " files:"
|
|
52
|
+
|
|
53
|
+
for file in "$PLAN_DIR"/*.md; do
|
|
54
|
+
[ -f "$file" ] || continue
|
|
55
|
+
|
|
56
|
+
name=$(basename "$file" .md)
|
|
57
|
+
topic=$(extract_field "$file" "topic")
|
|
58
|
+
topic=${topic:-"$name"}
|
|
59
|
+
status=$(extract_field "$file" "status")
|
|
60
|
+
status=${status:-"unknown"}
|
|
61
|
+
date=$(extract_field "$file" "date")
|
|
62
|
+
date=${date:-"unknown"}
|
|
63
|
+
format=$(extract_field "$file" "format")
|
|
64
|
+
format=${format:-"MISSING"}
|
|
65
|
+
specification=$(extract_field "$file" "specification")
|
|
66
|
+
specification=${specification:-"${name}.md"}
|
|
67
|
+
plan_id=$(extract_field "$file" "plan_id")
|
|
68
|
+
|
|
69
|
+
# Check if linked specification exists
|
|
70
|
+
spec_exists="false"
|
|
71
|
+
spec_file="$SPEC_DIR/$specification"
|
|
72
|
+
if [ -f "$spec_file" ]; then
|
|
73
|
+
spec_exists="true"
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
echo " - name: \"$name\""
|
|
77
|
+
echo " topic: \"$topic\""
|
|
78
|
+
echo " status: \"$status\""
|
|
79
|
+
echo " date: \"$date\""
|
|
80
|
+
echo " format: \"$format\""
|
|
81
|
+
echo " specification: \"$specification\""
|
|
82
|
+
echo " specification_exists: $spec_exists"
|
|
83
|
+
if [ -n "$plan_id" ]; then
|
|
84
|
+
echo " plan_id: \"$plan_id\""
|
|
85
|
+
fi
|
|
86
|
+
|
|
87
|
+
plan_count=$((plan_count + 1))
|
|
88
|
+
done
|
|
89
|
+
|
|
90
|
+
echo " count: $plan_count"
|
|
91
|
+
else
|
|
92
|
+
echo " exists: false"
|
|
93
|
+
echo " files: []"
|
|
94
|
+
echo " count: 0"
|
|
95
|
+
fi
|
|
96
|
+
|
|
97
|
+
echo ""
|
|
98
|
+
|
|
99
|
+
#
|
|
100
|
+
# WORKFLOW STATE SUMMARY
|
|
101
|
+
#
|
|
102
|
+
echo "state:"
|
|
103
|
+
|
|
104
|
+
echo " has_plans: $([ "$plan_count" -gt 0 ] && echo "true" || echo "false")"
|
|
105
|
+
echo " plan_count: $plan_count"
|
|
106
|
+
|
|
107
|
+
# Determine workflow state for routing
|
|
108
|
+
if [ "$plan_count" -eq 0 ]; then
|
|
109
|
+
echo " scenario: \"no_plans\""
|
|
110
|
+
elif [ "$plan_count" -eq 1 ]; then
|
|
111
|
+
echo " scenario: \"single_plan\""
|
|
112
|
+
else
|
|
113
|
+
echo " scenario: \"multiple_plans\""
|
|
114
|
+
fi
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: start-specification
|
|
3
3
|
description: "Start a specification session from existing discussions. Discovers available discussions, offers consolidation assessment for multiple discussions, and invokes the technical-specification skill."
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Bash(
|
|
5
|
+
allowed-tools: Bash(./scripts/discovery.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/discussion-consolidation-analysis.md)
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
Invoke the **technical-specification** skill for this conversation.
|
|
@@ -55,7 +55,7 @@ Invoke the `/migrate` skill and assess its output.
|
|
|
55
55
|
Run the discovery script to gather current state:
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
|
|
58
|
+
./scripts/discovery.sh
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
This outputs structured YAML. Parse it to understand:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{scripts/discovery-for-discussion.sh → skills/start-discussion/scripts/discovery.sh}
RENAMED
|
File without changes
|
|
File without changes
|
/package/{scripts/discovery-for-specification.sh → skills/start-specification/scripts/discovery.sh}
RENAMED
|
File without changes
|