-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsync-skills.sh
More file actions
executable file
·92 lines (80 loc) · 3.13 KB
/
sync-skills.sh
File metadata and controls
executable file
·92 lines (80 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env bash
# Syncs skills and agent files from the canonical source to all tool-specific directories.
#
# Source of truth:
# plugins/scrapingbee-cli/skills/scrapingbee-cli/ → canonical skill (Claude Code plugin)
# plugins/scrapingbee-cli/skills/scrapingbee-cli/.claude/agents/scraping-pipeline.md → canonical agent
#
# Skills destinations:
# .agents/skills/scrapingbee-cli/ (Amp, RooCode, Gemini CLI)
# .github/skills/scrapingbee-cli/ (GitHub Copilot)
# .kiro/skills/scrapingbee-cli/ (Kiro IDE)
# .opencode/skills/scrapingbee-cli/ (OpenCode)
#
# Agent destinations (markdown):
# .gemini/agents/scraping-pipeline.md
# .github/agents/scraping-pipeline.agent.md (note: .agent.md extension for Copilot)
# .augment/agents/scraping-pipeline.md
# .factory/droids/scraping-pipeline.md
# .kiro/agents/scraping-pipeline.md
# .opencode/agents/scraping-pipeline.md
#
# NOT synced (different format, update manually):
# .amazonq/cli-agents/scraping-pipeline.json (JSON format)
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")" && pwd)"
SOURCE_SKILL="$REPO_ROOT/plugins/scrapingbee-cli/skills/scrapingbee-cli"
SOURCE_GUARD="$REPO_ROOT/plugins/scrapingbee-cli/skills/scrapingbee-cli-guard"
SOURCE_AGENT="$SOURCE_SKILL/.claude/agents/scraping-pipeline.md"
# ---------------------------------------------------------------------------
# Skills
# ---------------------------------------------------------------------------
echo "Syncing skills..."
SKILL_DIRS=(
"$REPO_ROOT/.agents/skills/scrapingbee-cli"
"$REPO_ROOT/.github/skills/scrapingbee-cli"
"$REPO_ROOT/.kiro/skills/scrapingbee-cli"
"$REPO_ROOT/.opencode/skills/scrapingbee-cli"
)
for dest in "${SKILL_DIRS[@]}"; do
rsync -a --delete \
--exclude='.claude' \
--exclude='.DS_Store' \
"$SOURCE_SKILL/" "$dest/"
echo " Updated: $dest"
done
# Guard skill
echo "Syncing guard skill..."
GUARD_DIRS=(
"$REPO_ROOT/.agents/skills/scrapingbee-cli-guard"
"$REPO_ROOT/.github/skills/scrapingbee-cli-guard"
"$REPO_ROOT/.kiro/skills/scrapingbee-cli-guard"
"$REPO_ROOT/.opencode/skills/scrapingbee-cli-guard"
)
for dest in "${GUARD_DIRS[@]}"; do
mkdir -p "$dest"
rsync -a --delete \
--exclude='.DS_Store' \
"$SOURCE_GUARD/" "$dest/"
echo " Updated: $dest"
done
# ---------------------------------------------------------------------------
# Agents
# ---------------------------------------------------------------------------
echo "Syncing agents..."
AGENT_DESTINATIONS=(
"$REPO_ROOT/.gemini/agents/scraping-pipeline.md"
"$REPO_ROOT/.github/agents/scraping-pipeline.agent.md"
"$REPO_ROOT/.augment/agents/scraping-pipeline.md"
"$REPO_ROOT/.factory/droids/scraping-pipeline.md"
"$REPO_ROOT/.kiro/agents/scraping-pipeline.md"
"$REPO_ROOT/.opencode/agents/scraping-pipeline.md"
)
for dest in "${AGENT_DESTINATIONS[@]}"; do
cp "$SOURCE_AGENT" "$dest"
echo " Updated: $dest"
done
# ---------------------------------------------------------------------------
echo ""
echo "Note: .amazonq/cli-agents/scraping-pipeline.json uses JSON format — update manually."
echo "Done."