Skip to content

Add bulkpublish-social-scheduling skill #513

Add bulkpublish-social-scheduling skill

Add bulkpublish-social-scheduling skill #513

name: Validate Subagents, Commands, Hooks, and MCP Servers
on:
push:
# Run on pushes to any branch
branches: [ '**' ]
pull_request:
paths:
- 'plugins/**/agents/*.md'
- 'plugins/**/commands/*.md'
- 'plugins/**/hooks/*.md'
- 'plugins/all-skills/skills/*/SKILL.md'
- '!README.md'
- '!CONTRIBUTING.md'
- '.github/workflows/validate-subagents.yml'
- 'scripts/**'
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: |
npm init -y
npm install gray-matter ajv ajv-formats glob chalk
- name: Validate subagents
run: node scripts/validate-subagents.js
- name: Validate commands
run: node scripts/validate-commands.js
- name: Validate hooks
run: node scripts/validate-hooks.js
- name: Validate skills
run: node scripts/validate-skills.js
- name: Check for naming inconsistencies
run: |
# Check if any agent files have mismatched names
for file in plugins/*/agents/*.md; do
if [[ -f "$file" ]]; then
name=$(grep -E "^name:" "$file" | sed 's/name: //')
basename=$(basename "$file")
expected="${basename%.md}"
if [[ "$name" != "$expected" ]]; then
echo "❌ File $file has name field '$name' but should be '$expected'"
exit 1
fi
fi
done
echo "✅ All agent file names match their name fields"
- name: Upload validation report
if: failure()
uses: actions/upload-artifact@v4
with:
name: validation-report
path: |
validation-report.txt
hook-validation-report.json
skill-validation-report.txt