Production-grade platform engineering handbook — Kubernetes, Terraform, Flux CD, GitHub Actions, AWS, and more.
64
80%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
#!/usr/bin/env bash
# Generated by platform-skills setup-agents — copy verbatim, do not regenerate
# Run: bash scripts/verify-agents.sh
# Add to CI: exits non-zero on missing references
PASS=0; FAIL=0
check() {
if eval "$2" &>/dev/null; then
echo "✓ $1"
PASS=$((PASS+1))
else
echo "✗ $1"
FAIL=$((FAIL+1))
fi
}
info() { echo "ℹ️ $1 (not generated for this repo)"; }
echo "=== Agent setup verification ==="
check "AGENTS.md present" "test -f AGENTS.md"
# Read which tool targets were generated from .platform-skills/manifest
# Valid tokens: copilot-vscode, copilot-cloud, copilot-app, cursor, codex, windsurf, vscode-mcp
# One token per line; lines starting with # are comments.
while read -r target; do
case "$target" in
copilot-vscode|copilot-cloud) check "Copilot agent files" "ls .github/agents/*.agent.md" ;;
copilot-app) check "Copilot App setup" "test -f .github/copilot-setup-steps.yml" ;;
cursor) check "Cursor rules" "test -d .cursor/rules && ls .cursor/rules/*.mdc" ;;
codex) check "Codex config" "test -f agents/openai.yaml" ;;
windsurf) check "Windsurf rules" "test -f .windsurfrules" ;;
vscode-mcp) check "MCP wired (VS Code)" "grep -qr '\"servers\"\|mcpServers' .vscode/" ;;
esac
done < <(grep -vE '^#|^[[:space:]]*$' .platform-skills/manifest 2>/dev/null)
if [ ! -f .platform-skills/manifest ]; then
echo "ℹ️ .platform-skills/manifest not found — run setup-agents generate to create it"
fi
echo "--- Checking agent file references (staleness) ---"
# Extract only backtick-quoted tokens from agent files — prose mentions of filenames
# are not checked. Real path references in agent prompts live in backticks.
for agent in .github/agents/*.agent.md .cursor/rules/*.mdc; do
[ -f "$agent" ] || continue
# Strip fenced code blocks and URL lines before extracting tokens.
AGENT_LINES=$(awk '/^```/{skip=!skip; next} !skip{print}' "$agent" \
| grep -vE 'https?://')
# Extract backtick-quoted content only
BACKTICK_REFS=$(echo "$AGENT_LINES" | grep -oE '`[^`]+`' | tr -d '`')
# Check file paths (must contain a / to avoid bare filename false positives)
while read -r p; do
[ -z "$p" ] && continue
test -f "$p" || { echo "⚠️ $agent references missing file: $p"; FAIL=$((FAIL+1)); }
done < <(echo "$BACKTICK_REFS" \
| grep -oE '[a-zA-Z0-9_./-]*(/[a-zA-Z0-9_.@-]+)+\.(py|ts|go|tf|yaml|yml|json|md|sh|kt|kts|rs|cs|rb|php)' \
| grep -vE '<[a-zA-Z]')
# Check directory paths (trailing slash; single segment like src/ is valid)
while read -r d; do
[ -z "$d" ] && continue
test -d "${d%/}" || { echo "⚠️ $agent references missing directory: $d"; FAIL=$((FAIL+1)); }
done < <(echo "$BACKTICK_REFS" \
| grep -oE '[a-zA-Z][a-zA-Z0-9_.-]*(/[a-zA-Z0-9_.-]*)/' \
| grep -vE '<[a-zA-Z]' \
| sort -u)
done
echo "--- $PASS passed, $FAIL issues ---"
exit $((FAIL > 0)).claude-plugin
.github
assets
commands
docs
examples
agent-self-improve
argocd
awesome-docs
aws
cloudfront
functions
lambda-edge
functions
azure
compliance
conventional-commits
datadog
llm-observability
demo
documentation
dora
dynatrace
fluxcd
github-actions
composite-actions
configure-cloud
db-migrate
docker-build-push
k8s-deploy
notify-slack
pr-comment
release-tag
security-scan
setup-env
setup-terraform
terraform-plan
helm
web-service
templates
karpenter
kubernetes
kyverno
mcp
observability
openshift
pr-review
ownership
runtime-security
setup-agents
terraform
references
scripts
skills
platform-skills
tests