Files
agency-agents/.github/workflows/lint-agents.yml
Michael Sitarzewski 247cf4d0c8 feat: add Security division (resolves RFC #438)
Creates the 15th division, security/, consolidating the security-focused
agents that were proposed across PRs #223, #326, #383 and scattered in
other divisions. Implements the consensus from RFC #438.

New agents (6):
- Application Security Engineer, Cloud Security Architect, Incident
  Responder, Penetration Tester, Threat Intelligence Analyst (from #223)
- Senior SecOps Engineer (from #326)

Relocated into security/ (4):
- engineering-security-engineer -> security-architect (differentiated to
  architecture/threat-modeling; code-level work hands off to AppSec)
- engineering-threat-detection-engineer
- specialized/compliance-auditor
- specialized/blockchain-security-auditor

Wiring: security added to AGENT_DIRS (convert/install/lint) + the CI
workflow paths/diff filter; README gains a Security Division section and
the relocated rows are removed from their old tables; CONTRIBUTING lists
the new category. Counts updated to 209 agents / 15 divisions. #223's
stray .claude/settings.local.json is not included.

All 10 pass lint + the originality check; convert generates all 209 cleanly.

Closes #223, #326.

Co-Authored-By: anonym88-ai <anonym88-ai@users.noreply.github.com>
Co-Authored-By: caveat-ops <caveat-ops@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 16:54:54 -05:00

65 lines
1.9 KiB
YAML

name: Lint Agent Files
on:
pull_request:
paths:
- "academic/**"
- "design/**"
- "engineering/**"
- "finance/**"
- "game-development/**"
- "marketing/**"
- "paid-media/**"
- "sales/**"
- "security/**"
- "product/**"
- "project-management/**"
- "testing/**"
- "support/**"
- "spatial-computing/**"
- "specialized/**"
jobs:
lint:
name: Validate agent frontmatter and structure
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed agent files
id: changed
run: |
FILES=$(git diff --name-only --diff-filter=ACMR origin/${{ github.base_ref }}...HEAD -- \
'academic/**/*.md' 'design/**/*.md' 'engineering/**/*.md' 'finance/**/*.md' 'game-development/**/*.md' 'marketing/**/*.md' 'paid-media/**/*.md' 'sales/**/*.md' 'security/**/*.md' 'product/**/*.md' \
'project-management/**/*.md' 'testing/**/*.md' 'support/**/*.md' \
'spatial-computing/**/*.md' 'specialized/**/*.md')
{
echo "files<<ENDOFLIST"
echo "$FILES"
echo "ENDOFLIST"
} >> "$GITHUB_OUTPUT"
if [ -z "$FILES" ]; then
echo "No agent files changed."
else
echo "Changed files:"
echo "$FILES"
fi
- name: Run agent linter
if: steps.changed.outputs.files != ''
env:
CHANGED_FILES: ${{ steps.changed.outputs.files }}
run: |
chmod +x scripts/lint-agents.sh
./scripts/lint-agents.sh $CHANGED_FILES
- name: Check agent originality
if: steps.changed.outputs.files != ''
env:
CHANGED_FILES: ${{ steps.changed.outputs.files }}
run: |
chmod +x scripts/check-agent-originality.sh
./scripts/check-agent-originality.sh $CHANGED_FILES