Commit Graph

14 Commits

Author SHA1 Message Date
Michael Sitarzewski 04e95b875f Exclude integrations/ from the source-agent scan (it's convert.sh output)
#592 added `integrations` to AGENT_DIRS in convert.sh and lint-agents.sh and to
the lint workflow paths, to make those lists match divisions.json. That was
wrong: integrations/ is not a source-agent category — it's where convert.sh
WRITES per-tool conversions (e.g. openclaw output → integrations/openclaw/<agent>/SOUL.md).
It holds 957 conversion outputs across openclaw/opencode/qwen/antigravity, vs
248 real source agents in the 17 genuine categories.

Scanning integrations/ as source made the toolchain re-convert its own outputs:
the same agent appears under every tool (brand-guardian ×5), output slugs
collide, and convert.sh's last-writer-wins corrupts the catalog — which broke
downstream parity checks. convert.sh originally omitted integrations on purpose;
#592 misread that deliberate exclusion as drift.

Fix: drop integrations from convert.sh / lint-agents.sh AGENT_DIRS and the lint
workflow, remove it from divisions.json (it's not a division), and add it to
NON_DIVISION_DIRS in check-divisions.sh so the guard's canonical set is the real
17 source categories. The `strategy` additions from #592 were correct and stay.

check-divisions.sh now PASSES at 17 divisions consistent across divisions.json,
directories, scripts, and CI.

Note: integrations/mcp-memory holds 2 real source agents stranded in the output
tree; relocating them to a real category is left as separate follow-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:29:02 -05:00
Michael Sitarzewski a5688be6cc Add divisions.json — division presentation metadata (label, icon, color) (#592)
* Add divisions.json — presentation metadata (label, icon, color) per division

Establishes a source of truth for how each division (top-level agent directory)
is presented: a display label, a Lucide icon name, and a brand color. Lets the
Agency Agents app (and any other tooling) render divisions consistently —
including fixing "GIS" (was title-cased to "Gis") and covering `gis` +
`integrations`, which had no metadata before.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Make divisions.json the source of truth + enforce in CI

divisions.json now drives the division set. Add scripts/check-divisions.sh
(CI: check-divisions.yml, runs on every PR with no path filter) which fails
if divisions.json disagrees with the directories on disk, the AGENT_DIRS
arrays in convert.sh / lint-agents.sh, or the lint-agents.yml path filters,
or if any entry lacks label/icon/color.

Fixes pre-existing drift surfaced by the new check: integrations was missing
from convert.sh and lint-agents.sh; integrations and strategy were missing
from lint-agents.sh and the lint workflow (so those agents weren't being
linted at all).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 15:13:33 -05:00
Cyruschu430 a077c9ac0b feat: add GIS division with 13 specialized agents across 4 tiers (#572)
* feat: add GIS division with 13 specialized agents across 4 tiers

- Strategic: Technical Consultant, Solution Engineer
- Core: GIS Analyst, Spatial Data Engineer, Geoprocessing Specialist, QA Engineer
- Emerging: GeoAI/ML Engineer, BIM/GIS Specialist, 3D & Scene Developer,
  Spatial Data Scientist, Drone/Reality Mapping
- Delivery: Web GIS Developer, Cartography Designer

Also:
- Add Smart Campus Digital Twin use case scenario
- Update agent counts (218→231) and division counts (15→16)
- All agents follow existing format: frontmatter + identity + mission + rules + process

* Wire gis/ division into toolchain + reconcile roster

The PR added the gis/ agents + README rows but didn't register the
division where the toolchain looks, so the 13 agents would be silently
skipped by convert/install/lint. Register gis (alpha: after
game-development) in:
- scripts/convert.sh AGENT_DIRS
- scripts/install.sh AGENT_DIRS + ALL_DIVISIONS + division_emoji (🌍)
- scripts/lint-agents.sh AGENT_DIRS
- .github/workflows/lint-agents.yml (paths trigger + changed-file globs)

README: count 231 -> 232 / 16 divisions and add the Strategy Duel Agent
roster row (reconciles the row #390 left out), so rows == count == 232.

Verified: lint PASS, convert generates all 13, `install.sh --list teams`
shows "gis 13 agents", roster drift 0.

Co-Authored-By: Cyruschu430 <Cyruschu430@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Hermes Agent <agent@hermes.ai>
Co-authored-by: Michael Sitarzewski <msitarzewski@gmail.com>
Co-authored-by: Cyruschu430 <Cyruschu430@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 15:42:10 -05:00
Michael Sitarzewski 8237f99b85 feat: add Security division (resolves RFC #438) (#566)
New security/ division: 6 new agents (#223, #326) + 4 relocated; differentiated Security Architect; 209 agents / 15 divisions. 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>
2026-06-04 16:55:28 -05:00
Michael Sitarzewski b8270c29e3 fix: normalize CRLF in email-strategist + guard linter against CRLF (#561)
marketing/marketing-email-strategist.md (#509) landed with CRLF line
endings, which violate .gitattributes (*.md text eol=lf) and broke
./scripts/lint-agents.sh — head -1 saw "---\r" and reported a confusing
"missing frontmatter opening ---" on a file that visibly starts with ---.

- Normalize that file to LF (content-neutral; 0 non-whitespace changes).
- Add a CRLF guard to lint-agents.sh that fails fast with a clear,
  actionable message instead of the misleading frontmatter error.

Thanks @hedonnn for the Email Marketing Strategist agent — great content;
just needed the line endings normalized.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 19:34:26 -05:00
Guillaume Bolivard 060c2076bc fix: align local linter scope with CI workflow (#546)
Removes strategy/ from lint-agents.sh AGENT_DIRS so the local linter no longer errors on the frontmatter-less NEXUS docs, matching the CI workflow's scope.

Thanks to @GuillaumeBld for the fix.
2026-06-02 18:04:42 -05:00
Ryanba 3d574c9aac docs: align agent linting with OpenClaw section split (#230)
Fixes OpenClaw section classification in lint script — correctly routes Learning & Memory section.
2026-04-11 23:25:50 -05:00
Michael Sitarzewski e73f4019ae fix: add finance/ to scripts, CI, README, and CONTRIBUTING.md (#437)
Adds finance/ to AGENT_DIRS in all 3 scripts, CI workflow trigger paths, CONTRIBUTING.md category list, and README.md division roster. Also fixes duplicate sales entry in lint-agents.sh.
2026-04-11 01:14:35 -05:00
everforge 618582cdcc fix: align agent lint with convert.sh and CI (#333)
Expands CI lint workflow to trigger on academic/ changes. Hardens lint-agents.sh with file existence checks and portable word-count handling (macOS/BSD compatibility).
2026-04-10 18:46:45 -05:00
Alon Kolyakov 37e5c521c9 refactor: sync agent directory lists across all scripts (#253)
Syncs agent directory lists (academic/, sales/, strategy/) across all three scripts: lint-agents.sh, convert.sh, install.sh. Refactors install.sh to use shared AGENT_DIRS constant, eliminating duplication. Closes #242.
2026-04-10 18:46:28 -05:00
Michael Sitarzewski 74e756be57 Support nested agent directories and add game-development category
- Add game-development to AGENT_DIRS in convert.sh, lint-agents.sh,
  install.sh, and the CI workflow
- Remove maxdepth 1 from find commands so nested subdirectories
  (e.g., game-development/unity/) are discovered
- Update CI git diff globs to **/*.md for recursive matching
- Remove strategy from lint AGENT_DIRS (playbooks, not agents)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 09:06:47 -05:00
Michael Sitarzewski 1707291599 Add paid-media category to scripts and CI workflow
Prepares infrastructure for the upcoming Paid Media Division (PR #83).
Registers paid-media in convert.sh, lint-agents.sh, install.sh, and
the lint-agents GitHub Actions workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 08:18:35 -05:00
jiangnan 2ded8e99a8 Address review feedback on CI lint workflow
- Fix ((errors++)) causing early exit under set -e
- Fix command injection in workflow by using env variable
- Add strategy/ directory to lint paths and AGENT_DIRS
2026-03-06 06:03:35 +08:00
jiangnan 976c08e4c3 Add CI workflow to validate agent file format
Adds a lint script and GitHub Actions workflow that checks agent
markdown files for required YAML frontmatter fields (name, description,
color) and recommends standard sections. Only changed files in PRs
are validated to avoid blocking on pre-existing issues.
2026-03-06 04:37:53 +08:00