Skip to content
This repository was archived by the owner on Apr 5, 2026. It is now read-only.

feat: add IoT/ESP32 embedded stack profile (issue #16) #54

feat: add IoT/ESP32 embedded stack profile (issue #16)

feat: add IoT/ESP32 embedded stack profile (issue #16) #54

Workflow file for this run

name: Lint
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
markdown:
name: Markdown lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: DavidAnson/markdownlint-cli2-action@v19
with:
globs: "**/*.md"
validate-skills:
name: Validate skill routing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check skill routing targets exist
run: |
errors=0
for skill_md in claude/skills/*/SKILL.md; do
skill_dir=$(dirname "$skill_md")
for wf in $(grep -oP 'workflows/[a-z0-9-]+\.md' "$skill_md" | sort -u); do
if [ ! -f "$skill_dir/$wf" ]; then
echo "::error file=$skill_md::References $wf but file not found at $skill_dir/$wf"
errors=$((errors + 1))
fi
done
done
if [ "$errors" -gt 0 ]; then
echo "Found $errors missing workflow file(s)"
exit 1
fi
echo "All skill routing targets exist"
verify-skill-count:
name: Verify skill counts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: README skill count matches directory count
run: |
ACTUAL=$(ls -d claude/skills/*/ | wc -l | tr -d ' ')
README_COUNT=$(grep -oP '\d+(?= skills)' README.md | head -1)
if [ "$ACTUAL" != "$README_COUNT" ]; then
echo "::error file=README.md::README says $README_COUNT skills but claude/skills/ has $ACTUAL directories. Update README."
exit 1
fi
echo "OK: $ACTUAL skills match README"
- name: Verify script skill list matches directories
run: |
LISTED=$(grep 'for skill in' setup/legacy/verify.sh | sed 's/.*for skill in //;s/;.*//' | tr ' ' '\n' | sort)
PRESENT=$(ls claude/skills/ | sort)
MISSING=$(comm -23 <(echo "$LISTED") <(echo "$PRESENT"))
if [ -n "$MISSING" ]; then
echo "::error file=setup/legacy/verify.sh::Skills listed in verify.sh but not found in claude/skills/: $MISSING"
exit 1
fi
UNLISTED=$(comm -13 <(echo "$LISTED") <(echo "$PRESENT"))
if [ -n "$UNLISTED" ]; then
echo "::warning::Skills in claude/skills/ not listed in verify.sh: $UNLISTED"
fi
echo "OK: verify.sh skill list is accurate"