mirror of
https://github.com/mattpocock/skills.git
synced 2026-09-12 10:28:06 +07:00
The Agent Plugins standard reads only the immediate children of skills/ and cannot be pointed elsewhere, so a bucketed tree is invisible to every conformant client. Rather than generate a flat copy of the repo into a package directory — a builder, a validator, an allowlist, a drift CI job, and every skill committed twice — remove the buckets. - skills/ is flat and holds exactly the promoted 25 - in-progress/ -> drafts/, misc/ -> extras/, deprecated/ deleted - new root plugin.json (Agent Plugins 1.0) - .claude-plugin/plugin.json loses its 25-entry skills array - docs/ keeps its category folders; it is now the only place a skill's category lives Reasoning in .agents/adr/0003. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
26 lines
507 B
Bash
Executable File
26 lines
507 B
Bash
Executable File
#!/bin/bash
|
|
|
|
INPUT=$(cat)
|
|
COMMAND=$(echo "$INPUT" | jq -r '.tool_input.command')
|
|
|
|
DANGEROUS_PATTERNS=(
|
|
"git push"
|
|
"git reset --hard"
|
|
"git clean -fd"
|
|
"git clean -f"
|
|
"git branch -D"
|
|
"git checkout \."
|
|
"git restore \."
|
|
"push --force"
|
|
"reset --hard"
|
|
)
|
|
|
|
for pattern in "${DANGEROUS_PATTERNS[@]}"; do
|
|
if echo "$COMMAND" | grep -qE "$pattern"; then
|
|
echo "BLOCKED: '$COMMAND' matches dangerous pattern '$pattern'. The user has prevented you from doing this." >&2
|
|
exit 2
|
|
fi
|
|
done
|
|
|
|
exit 0
|