This repository ships agent personas (Markdown), routing skills (Markdown), PowerShell installation scripts, and PowerShell hook scripts. It does not run as a long-lived service, hold credentials, or transit network traffic on its own.
Realistic security concerns therefore fall into a small set of categories:
- PowerShell script execution —
scripts/*.ps1andhooks/*.ps1run on the user's machine as their user account. A malicious change could read files, modify~/.claude/settings.json, or run arbitrary commands. - Settings.json corruption —
scripts/install-hooks-in-settings.ps1modifies~/.claude/settings.json. A bug here could break a user's Claude Code configuration. Mitigation in place: pre-write backup (.bak-<timestamp>), JSON validation pre/post, atomic write, rollback on failure. - Hook prompt injection —
hooks/suggest-agents.ps1reads stdin (the user's prompt) and emits text the assistant sees. A hostile pattern in stdin content cannot escalate beyond emitting hint text; the hook never executes input as code. - Telemetry log leakage —
hooks/log-skill-fired.ps1writes to~/.claude/agency-agents-fork-skill-firings.jsonl. It records: timestamp, skill name, session id, whether args were present. It does not record prompt content or args. - Agent definition contents — Agent
.mdfiles are personas read by Claude as system context. They cannot directly execute anything; they shape behavior. A malicious persona could attempt prompt-injection-style manipulation of the assistant.
If you find a security issue, please do not open a public GitHub issue for high-severity findings. Instead:
- Email the maintainer at the address listed in this repository's
git logauthor field, or - Open a private security advisory on GitHub.
Include:
- The affected file (path + line/commit if possible)
- The category from the list above (or "other" with explanation)
- A minimal reproduction (input that triggers it, observed behavior, expected behavior)
- Your assessment of severity and any suggested fix
You should expect an acknowledgment within ~7 days. Coordinated disclosure timelines depend on severity:
| Severity | Target fix window |
|---|---|
| Arbitrary code execution from default install | 7 days |
| Settings corruption or destructive write | 14 days |
| Telemetry leakage of prompt/args content | 14 days |
| Persona that meaningfully misleads downstream tools | 30 days |
| Documentation-only / hardening request | best effort |
- Bugs in Claude Code itself, in MCP servers, or in upstream Anthropic skills — report those to the appropriate vendor.
- General "this persona could give bad advice" feedback — open a normal GitHub issue with the
bug_reporttemplate. - Performance or quality-of-output issues with specific agents — same, normal issue.
- Behaviors of the upstream msitarzewski/agency-agents repo we forked from — report to upstream.
Only master is actively maintained. There are no version tags; the rolling head is the supported version. Pinning is supported by commit SHA only.
- Hooks are silent on error. Hook scripts use
try/catchwithexit 0so a malformed payload or write failure never blocks tool execution. - Installation is idempotent. Re-running
install.ps1does not corrupt prior state. Re-runninginstall-hooks-in-settings.ps1detects existing hook entries and skips. .bakfiles on settings modification. Every run that mutates~/.claude/settings.jsonwrites a timestamped backup first; failure to write the backup aborts the run.- No outbound network. None of the scripts in this repo call out to remote URLs. The only network operation in the user's workflow is
git pull/git pushagainst their own remote. - CI on every push and PR.
Lint Skillsworkflow runsscripts/lint-skills.ps1onubuntu-latestwithpwsh. CI failure blocks merge expectations. - Cross-reference audit available.
scripts/audit-agent-refs.ps1verifies every agent slug mentioned in routing skills resolves to a real file — catches typos and stale references before they ship.
This repository is MIT-licensed (preserved from upstream). The license disclaims warranty. Security best-effort is provided by maintainers in good faith, not as a contractual obligation.