@leeovery/claude-technical-workflows 2.0.32 → 2.0.34

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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Start a specification session from existing discussions. Discovers available discussions, offers consolidation assessment for multiple discussions, and invokes the technical-specification skill.
3
- allowed-tools: Bash(../../scripts/specification-discovery.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/discussion-consolidation-analysis.md)
3
+ allowed-tools: Bash(.claude/scripts/specification-discovery.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/discussion-consolidation-analysis.md)
4
4
  ---
5
5
 
6
6
  Invoke the **technical-specification** skill for this conversation.
@@ -35,7 +35,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
35
35
  Run the discovery script to gather current state:
36
36
 
37
37
  ```bash
38
- ../../scripts/specification-discovery.sh
38
+ .claude/scripts/specification-discovery.sh
39
39
  ```
40
40
 
41
41
  This outputs structured YAML. Parse it to understand:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.32",
3
+ "version": "2.0.34",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -15,15 +15,31 @@ SPEC_DIR="docs/workflow/specification"
15
15
  CACHE_FILE="docs/workflow/.cache/discussion-consolidation-analysis.md"
16
16
 
17
17
  # Helper: Extract a frontmatter field value from a file
18
+ # Supports both YAML frontmatter and markdown format (**Field**: Value)
18
19
  # Usage: extract_field <file> <field_name>
19
20
  extract_field() {
20
21
  local file="$1"
21
22
  local field="$2"
22
- # Read until --- (end of frontmatter), find field, extract value
23
- # Use grep -m1 and || true to handle no match gracefully
24
- sed -n '/^---$/,/^---$/p' "$file" 2>/dev/null | \
25
- grep -m1 "^${field}:" | \
26
- sed "s/^${field}:[[:space:]]*//" || true
23
+ local value=""
24
+
25
+ # Try YAML frontmatter first (only if file starts with ---)
26
+ if head -1 "$file" 2>/dev/null | grep -q "^---$"; then
27
+ value=$(sed -n '2,/^---$/p' "$file" 2>/dev/null | \
28
+ grep -m1 "^${field}:" | \
29
+ sed "s/^${field}:[[:space:]]*//" || true)
30
+ fi
31
+
32
+ # If empty, try markdown format: **Field**: Value
33
+ # Only search the header (before first ## heading) to avoid body matches
34
+ if [ -z "$value" ]; then
35
+ value=$(awk '/^## /{exit} {print}' "$file" 2>/dev/null | \
36
+ grep -i -m1 "^\*\*${field}\*\*:" | \
37
+ sed -E "s/^\*\*[^*]+\*\*:[[:space:]]*//" || true)
38
+ # Normalize to lowercase for consistency
39
+ value=$(echo "$value" | tr '[:upper:]' '[:lower:]')
40
+ fi
41
+
42
+ echo "$value"
27
43
  }
28
44
 
29
45
  # Helper: Extract array field from frontmatter (returns space-separated values)