ACT Data's institutional knowledge, encoded as installable agent plugins for Claude Code, ChatGPT, Codex, and GitHub Copilot.
- What this is
- Quick start
- Plugin catalog
- Repository layout
- Conventions
- Scripts and validation
- Adding a plugin
- Where it fits
- Contributing and governance
- Status and open items
An agent plugin marketplace for ACT Data. It packages shared engineering and operations knowledge for Claude Code, ChatGPT, Codex, and GitHub Copilot.
Tip
New to this repository? docs/onboarding.md is the day-one guide: what a
plugin marketplace is, how to get the gate running, what to read in what order, and real first
tasks.
/plugin marketplace add patterson-agents/actdata-plugins
/plugin install act-plugin-dev@actdata-plugins
From a local checkout:
cd actdata-plugins
claude
/plugin marketplace add .
/plugin install act-plugin-dev@actdata-pluginsThen:
"create a plugin for managing our deploy runbooks" ← /act-plugin-dev:create-plugin
"validate this plugin before I open a PR" ← delegates to plugin-validator
"how do I write a PreToolUse hook?" ← hook-development skill fires
The ChatGPT desktop app discovers .agents/plugins/marketplace.json from the repository. Restart
the app, open the Plugins Directory, choose ACT Data Plugins, and install a plugin. From Codex:
codex plugin marketplace add .
codex plugin add act-plugin-dev@actdata-pluginsGitHub Copilot CLI reads .github/plugin/marketplace.json:
copilot plugin marketplace add .
copilot plugin install act-plugin-dev@actdata-pluginsWarning
Marketplace names occupy one flat global namespace. Registering a second marketplace under
the name actdata-plugins replaces this one rather than merging with it.
| Plugin | What it is | Components |
|---|---|---|
act-plugin-devDevelopment | Build and review portable plugins while retaining host-specific guidance for commands, agents, hooks, and MCP. | 11 skills · 3 agents · 1 command |
act-platform-engineeringOperations | Assessment and operations for PostgreSQL, ZFS, Linux hosts and Proxmox VE. | 23 skills · 7 agents · 9 commands |
act-work-trackingWorkflow | Zoho Projects work tracking and operations reporting. | 6 skills · 1 agent · 3 commands |
act-gitlab-ciEngineering | GitLab CI/CD jobs, MCP, authentication, troubleshooting, and pipeline standards. | 10 skills · 1 agent · 3 commands · 1 MCP |
code-reviewsEngineering | The code review methodology as a skill, plus installation into an existing harness: managed Code Review, GitHub Actions, GitLab CI, local hooks, or Copilot instructions. No runtime. | 2 skills · 10 references · 7 templates |
actdata-plugins/
├── .claude-plugin/marketplace.json # Claude Code catalog
├── .agents/plugins/marketplace.json # ChatGPT and Codex catalog
├── .github/plugin/marketplace.json # GitHub Copilot catalog
├── plugins/
│ └── act-plugin-dev/
│ ├── .claude-plugin/plugin.json # Claude manifest
│ ├── .codex-plugin/plugin.json # OpenAI manifest
│ ├── plugin.json # Copilot manifest
│ ├── README.md
│ ├── skills/<name>/ # SKILL.md · references/ · examples/ · scripts/
│ ├── agents/
│ └── commands/
├── scripts/
│ ├── check-size.ts # 2 MiB tracked-byte budget validator
│ ├── check-no-binaries.ts # fonts / office / archive / oversized-raster validator
│ ├── verify-all.sh # the gate battery -- CI and pre-commit both call this
│ └── tests/run-tests.sh # TDD fixtures for the two validators
├── docs/ # see docs/README.md for the index
│ ├── onboarding.md # start here on day one
│ ├── architecture.md # how the marketplace works
│ ├── verification.md # every gate check, and what nothing checks
│ ├── troubleshooting.md # symptom -> cause -> fix
│ ├── releasing.md · glossary.md
│ ├── assets/ # placeholder wordmark -- see docs/assets/README.md
│ └── decisions/ # ADRs
├── .github/ # issue + PR templates, ci.yml
├── .githooks/ # pre-commit (opt in: git config core.hooksPath .githooks)
├── CONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md · CODEOWNERS
└── README.md # you are here
Load-bearing, not stylistic. scripts/verify-all.sh enforces the mechanical ones.
| Rule | What it means |
|---|---|
| kebab-case everywhere | Plugin names, skill directory names, command and agent filenames. |
| Skill name equals directory name | skills/foo/SKILL.md must carry name: foo. Title Case fails the gate. The most common defect when importing a skill from elsewhere. |
Plugins live at plugins/<name>/ | marketplace.json declares metadata.pluginRoot: "./plugins". |
| Register, or it does not exist | Every shipped plugin needs entries in the Claude, OpenAI, and Copilot marketplaces. |
| Version everywhere | All host manifests and versioned marketplace entries must agree. The gate checks them. |
${CLAUDE_PLUGIN_ROOT} stays literal | Never an absolute path a tool happened to resolve. The gate greps for expanded forms. |
Prefer .tmp/ over /tmp | Scratch goes in the repository's gitignored .tmp/ so generated work stays durable and inspectable. |
| No binaries | No fonts, PDFs, Office documents, archives, or raster images over 50 KiB. SVG is exempt at any size. |
| 2 MiB tracked-byte budget | Measured with git ls-files, not du. |
| Conventional commits | <type>(<scope>): <summary>, e.g. feat(act-plugin-dev): add skill-reviewer agent. |
The validators are TypeScript importing only node:* builtins — no build step and no
dependency on this repository's package.json. They run with node (v24+).
node scripts/check-size.ts .
node scripts/check-no-binaries.ts .| Contract | Value |
|---|---|
| Argument | a path to check |
Exit 0 | pass |
Exit 1 | violations found |
Exit 2 | could not evaluate |
| Output | LEVEL|file|line|rule|message |
Run everything — the validator suites, the skill-name invariant, manifest parsing, marketplace registration and version consistency, the two validators repository-wide, and the expanded-path grep:
sh scripts/verify-all.shThis is the single gate battery. .github/workflows/ci.yml and .githooks/pre-commit both call
it; it is the one place the repository's invariants are defined.
Important
check-size.ts and check-no-binaries.ts read tracked files via git ls-files. Until work
is staged or committed, they have almost nothing to measure and will pass trivially. Stage your
changes before trusting a green run.
Use the guided workflow — it creates the directory, writes the manifest, registers the marketplace entry, and runs the gate:
/act-plugin-dev:create-plugin
Doing it by hand means, at minimum: plugins/<name>/.claude-plugin/plugin.json, a README.md, a
marketplace.json entry with a matching version and a relevance block, a row in the catalog
table above, and a green sh scripts/verify-all.sh.
actdata-plugins is one of several sibling marketplaces in the
patterson-agents organization. Each is an independent
repository with its own catalog.
| Marketplace | Role |
|---|---|
patterson-corp | Enterprise — capability true for all of Patterson (engineering standards, brand) |
actdata-plugins | ACT Data — this repository |
patterson-labs | Incubating — work that has not yet earned durable status |
patterson-dental, patterson-vet | Sub-org — segment-particular capability |
The repository furniture here — the gate battery, the validators, the README shape, the governance
files — follows patterson-corp, so someone moving between them finds the same structure.
| File | Purpose |
|---|---|
docs/ | Full documentation: onboarding, architecture, verification, troubleshooting, releasing, glossary |
docs/onboarding.md | Start here on day one: environment setup, orientation, and first tasks |
CONTRIBUTING.md | Repository conventions, the gate, and how to add a plugin |
CODE_OF_CONDUCT.md | Contributor Covenant, adapted for a B2B engineering context |
SECURITY.md | Private vulnerability reporting |
CODEOWNERS | A reviewing team for every top-level path |
.github/ISSUE_TEMPLATE/ | Bug, feature, and new-plugin proposal forms |
.github/workflows/ci.yml | Runs scripts/verify-all.sh on every push and pull request |
.githooks/pre-commit | The fast local gate (opt in with git config core.hooksPath .githooks) |
docs/decisions/ | ADRs, with an index and the format |
Note
This repository is new. The items below are known gaps, recorded rather than papered over.
- Brand assets are placeholders. No ACT Data logo, wordmark, or palette exists.
docs/assets/ships an invented mark using the inherited Patterson palette. Seedocs/assets/README.md. - Three empty plugin shells are unregistered, as described above.
act-gitlab-ci's pipeline standards are derived, not authoritative. They are translated from a standard written for Azure DevOps and GitHub, which does not permit GitLab and whose approved-tools list excludes GitLab's built-in scanners. The conflict is recorded rather than resolved; see_SOURCES.md.- The license identifier
LicenseRef-ACT-Internalis provisional. ACT Data's licensing posture for internal agent tooling has not been confirmed. act-plugin-devis a fork, not a dependency. It does not track upstreamplugin-dev. Re-syncing is manual; the divergence is recorded in its README.