A

Alloy

Orchestrates Codex, Claude, Grok, and Antigravity CLIs using existing subscriptions, with Jev task routing, read-only review panels, and managed worktree execution with independent review

tlangridge/alloy · v0.0.0 · Development & Workflow

tlangridgecaution

Trust Score

60

Security

59

Surfaces

3

What is Alloy?

Alloy is a published development & workflow plugin for AI coding agents in the codex ecosystem, developed by tlangridge and distributed through the HOL AI plugin registry. Orchestrates Codex, Claude, Grok, and Antigravity CLIs using existing subscriptions, with Jev task routing, read-only review panels, and managed worktree execution with independent review

Canonical slug
tlangridge/alloy
Version
v0.0.0 · updated Oct 2, 2026

Trust & Reputation

HOL Trust Score
60

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
64pts
Maintenance
55pts
MCP Posture
100pts
Plugin Security
59pts
Provenance
70pts
Publisher Quality
75pts

Registry Snapshot

Publisher verification
No
Marketplace source
Unknown
Scanner
Broker fallback
Safety label
caution
Digest verified
Yes
3 bundled skills — copy or download SKILL.mdOpen skills

Trust & reputation

Trust & Reputation

HOL Trust Score
60

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
64pts
Maintenance
55pts
MCP Posture
100pts
Plugin Security
59pts
Provenance
70pts
Publisher Quality
75pts

Provenance

Plugin root
.
Source repo
https://github.com/tlangridge/Alloy
Source commit
5ee0ed623b4f…
Publisher verified
No
Owner verified
Not owner verified

Continuous scanner CI not detected

This plugin remains listed. Its overall trust score is reduced by 10% because security checks are not maintained in the source repository's CI.

Optional: maintain the scanner in the source repository's CI to receive the full trust score. Listing does not require that change.

Verified badge not detected

Add the HOL verified badge to the repository README to score +2% trust. Plugin owners can open that pull request from Guard Plugins.

Security Posture

caution
Safety label
59
Security score
0
High findings
Provider
registry-broker-fallback
Grade
F · caution
Version
Unknown
cisco-skill-scanner: unknown

Findings

mediumpublishabilitypublishability.link.missing.websiteURL

websiteURL should be present for marketplace readiness.

mediumpublishabilitypublishability.link.missing.privacyPolicyURL

privacyPolicyURL should be present for marketplace readiness.

mediumpublishabilitypublishability.link.missing.termsOfServiceURL

termsOfServiceURL should be present for marketplace readiness.

lowoperational-securitysupply-chain.lockfile-missing

Repository snapshot does not include a lockfile.

infoskill-securityskill-scan.unavailable

Cisco skill scanner timed out after 60000 ms

infoskill-securityskill-scan.unavailable

Cisco skill scanner timed out after 60000 ms

infoskill-securityskill-scan.unavailable

Cisco skill scanner timed out after 60000 ms

Alloy — Frequently asked questions

What is Alloy?
Alloy is an AI plugin in the HOL registry. Orchestrates Codex, Claude, Grok, and Antigravity CLIs using existing subscriptions, with Jev task routing, read-only review panels, and managed worktree execution with independent review
How do I install Alloy?
Install Alloy in your harness: Codex — codex plugin marketplace add tlangridge/Alloy; Any agent — npx skills add tlangridge/Alloy. Full step-by-step guidance is on the HOL plugin page.
How do I install Alloy in Codex?
To install Alloy in Codex, start with codex plugin marketplace add tlangridge/Alloy. The complete step-by-step install guide for Codex is on the HOL plugin page.
Is Alloy free?
Pricing for Alloy is published on its HOL plugin page when the maker schedules a launch.
Who publishes Alloy?
Alloy is published by tlangridge and listed on HOL.
Is Alloy available now?
Alloy availability is listed on its HOL plugin page.

Install Guidance

Install in Codex

Install through the Codex CLI plugin marketplace.

Codex plugin docs
  1. 1

    Register the marketplace

    Run in any terminal. Codex reads the marketplace entry from .agents/plugins/marketplace.json (or the legacy .claude-plugin path) in the repository. If the repository ships none, add the generated entry from the Advanced section below first.

    shell
  2. 2

    Install from the Plugins browser

    Open Codex, open the Plugins browser, choose the Alloy marketplace, and install Alloy.

  3. 3

    Verify the marketplace registration

    shell

Plugin Manifest

{
  "name": "Alloy",
  "version": "0.0.0",
  "description": "Orchestrates Codex, Claude, Grok, and Antigravity CLIs using existing subscriptions, with Jev task routing, read-only review panels, and managed worktree execution with independent review",
  "repository": "https://github.com/tlangridge/Alloy",
  "homepage": "https://github.com/tlangridge/Alloy",
  "interface": {
    "displayName": "Alloy",
    "developerName": "tlangridge",
    "category": "Development & Workflow"
  },
  "skills": "./",
  "registryIndexVersion": 5
}

Marketplace Source

Repo URL
https://github.com/tlangridge/Alloy
Marketplace path
Unknown
Source path
.
Install policy
Unspecified

Skills

3 SKILL.md files ship with this plugin. Preview, copy, or download each one, then install them with the Skills CLI.

Share
skills-cli
  • alloy-execute

    alloy-execute/SKILL.md

    >-

    SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.

  • alloy-usage

    alloy-usage/SKILL.md

    >-

    SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.

  • alloy

    SKILL.md

    >-

    SKILL.md content is not in this snapshot. Open the raw file to copy it from the source repository.

File Inventory

.codex-plugin/plugin.json

plugin-manifest

478 bytes

bcf68569556615b0…

.github/ISSUE_TEMPLATE/bug_report.md

file

493 bytes

c4cf2a0f1895f4f1…

.github/ISSUE_TEMPLATE/feature_request.md

file

568 bytes

ed5fd059ee9a6e6c…

.github/PULL_REQUEST_TEMPLATE.md

file

681 bytes

813b6a5f59437630…

.github/workflows/ci.yml

file

1,932 bytes

35fc25b1f95ccdff…

AGENTS.md

file

1,195 bytes

bae73e848ce67e78…

agents/openai.yaml

file

189 bytes

4647d2160af4956c…

alloy-execute/agents/openai.yaml

file

239 bytes

026e97c9d71b4db4…

alloy-execute/SKILL.md

skill

3,344 bytes

54cabfd7d02a1954…

alloy-usage/SKILL.md

skill

2,054 bytes

af1ebfcbbf734fac…

bench/harness.py

file

21,213 bytes

be5fc53e47a44b4a…

bench/pricing.json

file

3,291 bytes

42dba6ea48cbb6b9…

bench/profiles.json

file

2,725 bytes

cbd340a075f8f1d3…

bench/program.md

file

9,350 bytes

92d0b4467e3529eb…

bench/RESULTS.md

file

7,102 bytes

4393903140f5cc4c…

bench/run.py

file

7,823 bytes

c507525190c27169…

bench/score.py

file

18,240 bytes

422d8231d6668a2a…

bench/TASK_FORMAT.md

file

4,383 bytes

ce4593ea94406ab9…

bench/tasks/consult-dashsvc-tenant-leak/repo/dashsvc/__init__.py

file

35 bytes

baed755bfb0ba9d4…

bench/tasks/consult-dashsvc-tenant-leak/repo/dashsvc/cache.py

file

1,795 bytes

61edc0d1cfcf6e80…

bench/tasks/consult-dashsvc-tenant-leak/repo/dashsvc/params.py

file

412 bytes

226eca53adc78d24…

bench/tasks/consult-dashsvc-tenant-leak/repo/dashsvc/reports.py

file

1,056 bytes

560214e22066fdbf…

bench/tasks/consult-dashsvc-tenant-leak/repo/dashsvc/service.py

file

1,144 bytes

717d94d4f929e16b…

bench/tasks/consult-dashsvc-tenant-leak/repo/dashsvc/tenants.py

file

1,177 bytes

66641730ec9c1825…

bench/tasks/consult-dashsvc-tenant-leak/repo/README.md

file

487 bytes

a9af8f75c5220d5d…

bench/tasks/consult-dashsvc-tenant-leak/repo/tests/test_service.py

file

2,546 bytes

396e17bb56cd9bfa…

bench/tasks/consult-dashsvc-tenant-leak/task.json

file

2,082 bytes

c3bf7d673d727267…

bench/tasks/consult-eventbus-staging-route/repo/eventbus/__init__.py

file

36 bytes

a6d4b85b619782c4…

bench/tasks/consult-eventbus-staging-route/repo/eventbus/bus.py

file

592 bytes

348a958d13e33d3b…

bench/tasks/consult-eventbus-staging-route/repo/eventbus/channels.py

file

592 bytes

8aa862260223f651…

bench/tasks/consult-eventbus-staging-route/repo/eventbus/config.py

file

605 bytes

fbde292f825635f3…

bench/tasks/consult-eventbus-staging-route/repo/eventbus/demo.py

file

1,146 bytes

597aedbfc92c64f0…

bench/tasks/consult-eventbus-staging-route/repo/eventbus/routing.py

file

701 bytes

fb2d9d235ece9824…

bench/tasks/consult-eventbus-staging-route/repo/README.md

file

649 bytes

95d77fe270bf7b07…

bench/tasks/consult-eventbus-staging-route/repo/tests/test_bus.py

file

1,107 bytes

cc391355085740ea…

bench/tasks/consult-eventbus-staging-route/task.json

file

692 bytes

48328825622dc267…

bench/tasks/consult-fxrecon-fetch-count/repo/fixtures/rates.json

file

139 bytes

c5aa9c8f42918bf1…

bench/tasks/consult-fxrecon-fetch-count/repo/fixtures/september.json

file

1,055 bytes

fc5d0d71f98cf38b…

bench/tasks/consult-fxrecon-fetch-count/repo/fxrecon/__init__.py

file

56 bytes

d64c16d735c3ea01…

bench/tasks/consult-fxrecon-fetch-count/repo/fxrecon/__main__.py

file

631 bytes

d62b0df6f86677bc…

bench/tasks/consult-fxrecon-fetch-count/repo/fxrecon/feed.py

file

866 bytes

587436c128fe0a08…

bench/tasks/consult-fxrecon-fetch-count/repo/fxrecon/ledger.py

file

774 bytes

17e4262fa22c92c0…

bench/tasks/consult-fxrecon-fetch-count/repo/fxrecon/rates.py

file

593 bytes

bdacbf5b8bec45fd…

bench/tasks/consult-fxrecon-fetch-count/repo/fxrecon/reconcile.py

file

1,047 bytes

0db55ae8f6df3b0a…

bench/tasks/consult-fxrecon-fetch-count/repo/README.md

file

523 bytes

50f449f9b15a644a…

bench/tasks/consult-fxrecon-fetch-count/repo/tests/test_rates.py

file

1,406 bytes

ed685df1f95f4d58…

bench/tasks/consult-fxrecon-fetch-count/task.json

file

1,231 bytes

5bd671b750b643d9…

bench/tasks/consult-logprune-keep-unit/repo/logprune.py

file

2,399 bytes

6a4d22004043d289…

bench/tasks/consult-logprune-keep-unit/repo/README.md

file

540 bytes

8b05e0f7f2fbbfbc…

bench/tasks/consult-logprune-keep-unit/repo/tests/test_logprune.py

file

1,354 bytes

ba120e765f09ed6d…

bench/tasks/consult-logprune-keep-unit/task.json

file

872 bytes

38effbfa252c11cb…

bench/tasks/consult-meterbill-grand-total/repo/fixtures/september.json

file

520 bytes

db8b30762f1a0b6c…

bench/tasks/consult-meterbill-grand-total/repo/meterbill/__init__.py

file

57 bytes

771521e7cc677552…

bench/tasks/consult-meterbill-grand-total/repo/meterbill/__main__.py

file

617 bytes

3b818d3d8c3493a0…

bench/tasks/consult-meterbill-grand-total/repo/meterbill/invoice.py

file

998 bytes

4e37935e67f4f0de…

bench/tasks/consult-meterbill-grand-total/repo/meterbill/money.py

file

618 bytes

f5f402a6dea7c7d5…

bench/tasks/consult-meterbill-grand-total/repo/meterbill/promos.py

file

432 bytes

583806f7696d05d7…

bench/tasks/consult-meterbill-grand-total/repo/meterbill/ratecard.py

file

662 bytes

f7cd99407d37f402…

bench/tasks/consult-meterbill-grand-total/repo/README.md

file

609 bytes

3ccf42af03489829…

bench/tasks/consult-meterbill-grand-total/repo/tests/test_invoice.py

file

1,488 bytes

3239221f751baf0d…

bench/tasks/consult-meterbill-grand-total/task.json

file

771 bytes

bf2a4bfa4eba3850…

bench/tasks/consult-notifier-add-channel/repo/notifier/__init__.py

file

78 bytes

ebdc5751653220cb…

bench/tasks/consult-notifier-add-channel/repo/notifier/__main__.py

file

60 bytes

489db07c2c32943d…

bench/tasks/consult-notifier-add-channel/repo/notifier/channels/__init__.py

file

70 bytes

5b5ce874e802dfc0…

bench/tasks/consult-notifier-add-channel/repo/notifier/channels/base.py

file

910 bytes

5bc2f67a3d97c3b6…

bench/tasks/consult-notifier-add-channel/repo/notifier/channels/email.py

file

506 bytes

d09898fac4c14207…

bench/tasks/consult-notifier-add-channel/repo/notifier/channels/slack.py

file

420 bytes

a197d8469d59755a…

bench/tasks/consult-notifier-add-channel/repo/notifier/channels/sms.py

file

472 bytes

e88e83106ce27d15…

bench/tasks/consult-notifier-add-channel/repo/notifier/cli.py

file

1,162 bytes

cbbc6fdc59ef76ba…

bench/tasks/consult-notifier-add-channel/repo/notifier/registry.py

file

594 bytes

41e79a37691740c9…

bench/tasks/consult-notifier-add-channel/repo/README.md

file

660 bytes

734c902d2154d242…

bench/tasks/consult-notifier-add-channel/repo/tests/test_cli.py

file

1,032 bytes

6ccd6837e2c2ab91…

bench/tasks/consult-notifier-add-channel/task.json

file

1,627 bytes

a1ede056a442891c…

bench/tasks/consult-resplit-tag-parser/task.json

file

796 bytes

8b3e0b46e828bdc4…

bench/tasks/consult-salesreport-q3-total/repo/README.md

file

360 bytes

51e04344bd417585…

bench/tasks/consult-salesreport-q3-total/repo/salesreport/__init__.py

file

31 bytes

65e14190fefd2081…

bench/tasks/consult-salesreport-q3-total/repo/salesreport/__main__.py

file

910 bytes

5026d4b2bbef9299…

bench/tasks/consult-salesreport-q3-total/repo/salesreport/checks.py

file

381 bytes

1fb32f3775e9c6ed…

bench/tasks/consult-salesreport-q3-total/repo/salesreport/reader.py

file

384 bytes

bcf631e8737763b5…

bench/tasks/consult-salesreport-q3-total/repo/salesreport/summary.py

file

627 bytes

1a89a1c18a6af19b…

bench/tasks/consult-salesreport-q3-total/repo/tests/test_summary.py

file

1,032 bytes

dbfb8c7f2d081fbf…

bench/tasks/consult-salesreport-q3-total/task.json

file

608 bytes

ce0e82f7037d8555…

bench/tasks/consult-shipit-startup-import/repo/README.md

file

585 bytes

528af8150f241884…

bench/tasks/consult-shipit-startup-import/repo/shipit/__init__.py

file

59 bytes

b6382cd80fdf6d49…

bench/tasks/consult-shipit-startup-import/repo/shipit/__main__.py

file

58 bytes

223d85c2bac0ce2c…

bench/tasks/consult-shipit-startup-import/repo/shipit/cli.py

file

808 bytes

9221b00491b07f4d…

bench/tasks/consult-shipit-startup-import/repo/shipit/commands/__init__.py

file

228 bytes

24cc9374f5fbc893…

bench/tasks/consult-shipit-startup-import/repo/shipit/commands/deploy.py

file

482 bytes

071fa9e57fee9f51…

bench/tasks/consult-shipit-startup-import/repo/shipit/commands/registry.py

file

246 bytes

aeb1edbab3d5a576…

bench/tasks/consult-shipit-startup-import/repo/shipit/commands/report.py

file

888 bytes

c91e65943296cff5…

bench/tasks/consult-shipit-startup-import/repo/shipit/commands/status.py

file

596 bytes

a9f14230a7a6901c…

bench/tasks/consult-shipit-startup-import/repo/shipit/plugins.py

file

342 bytes

6ac153e83f85b720…

bench/tasks/consult-shipit-startup-import/repo/shipit/render/__init__.py

file

87 bytes

15844403535e8e08…

bench/tasks/consult-shipit-startup-import/repo/shipit/render/formats.py

file

661 bytes

048df3fe046276b8…

bench/tasks/consult-shipit-startup-import/repo/shipit/render/markdown.py

file

103 bytes

8a741d59420308a8…

bench/tasks/consult-shipit-startup-import/repo/shipit/render/notes.py

file

353 bytes

92abba6731fe5888…

bench/tasks/consult-shipit-startup-import/repo/shipit/render/pdf.py

file

478 bytes

1801ba85432a7d67…

bench/tasks/consult-shipit-startup-import/repo/shipit/render/table.py

file

297 bytes

27dce4d4e44d28f4…

bench/tasks/consult-shipit-startup-import/repo/shipit/targets/__init__.py

file

450 bytes

5f6b842efc3622c3…

bench/tasks/consult-shipit-startup-import/repo/shipit/targets/artifacts.py

file

305 bytes

933ac39ba850df40…

Browse all 652 files