Every way to extend FrontierAgent, with the manifest facts that matter: which surface it plugs into, what it declares, and which key it wants.
-
Full catalog: every verified FrontierAgent project (6) in CATALOG.md
-
Machine-readable: the same rows as data in catalog.csv and plugins.json, a registry feed in dsh-market's schema
FrontierAgent is Apodex AI's open-source agent runtime and terminal client, released 2026-08-22 under Apache 2.0 alongside the Apodex-1.1 model. You get a command-line TUI with two workflows: ReAct, one stateful agent that researches, reads files, writes deliverables and runs commands inside a task-scoped sandbox, and Agent Team, a coordinator that keeps a task board, fans work out to parallel sub-agents, and synthesizes their reports. The same engine runs the benchmark suite Apodex evaluates its models on.
Three surfaces let you add something of your own, and they are not equally open. The difference matters before you spend a weekend on one:
| Surface | What you ship | Reaches the shipped terminal? |
|---|---|---|
| Skills | a SKILL.md directory under plugins/skills/ |
Yes, through a profile's skills: list |
| Workflow plugins | a Python package under workflows/ exporting register(ctx) |
Not selectable: --mode accepts react and agent_team only |
| Tools | nothing, from outside | No. The registry is a closed allowlist |
Skills are the surface to build on. No code, no fork, no Python: a directory, a Markdown file with YAML frontmatter, and one line in a profile you own. FrontierAgent ships zero skills, so everything here is somebody's own.
Workflow plugins are real but half-wired. The loader genuinely discovers any package you drop
in workflows/ and calls its register(ctx), and registration works. The terminal then refuses to
select it, because mode selection is checked against a hardcoded pair before the profile is read.
Today a workflow plugin is reachable from the evaluation kernel or from your own code embedding the
framework, not from frontier-agent --mode.
Tools cannot be added from outside at all. plugins/tools/__init__.py is a fixed import list
and the framework's own architecture guide says it plainly: adding a Python module under
plugins/tools/ does not make it agent-accessible. A custom tool object still works when your own
code passes it to the agent loop directly, which is what a workflow plugin's node function can do.
Install the runtime:
git clone https://github.com/ApodexAI/FrontierAgent.git && cd FrontierAgent && uv sync --python 3.12 --extra devPoint it at any OpenAI-compatible endpoint by writing .env, then open the terminal:
uv run frontier-agent --mode react --cwd /path/to/projectSwap in the multi-agent coordinator when the task splits into independent parts:
uv run frontier-agent --mode agent_team --cwd /path/to/projectyoutube-transcripts by
ZeroPointRepo lets an agent read video. Transcripts with
timestamps, video and channel search, and handle resolution, for when the claim you need is in a
conference talk rather than a paper. Needs TRANSCRIPT_API_KEY, free tier.
Install
git clone https://github.com/ZeroPointRepo/transcriptapi-frontieragent-skill.git plugins/skills/youtube-transcripts- Read video: transcripts, search, and channel lookup with youtube-transcripts by ZeroPointRepo. Frontmatter parses, declares
bashandread_text, ships a helper script. NeedsTRANSCRIPT_API_KEY, free tier. MIT.
FrontierAgent bundles no skills of its own, and it opened on 2026-08-22, so this section starts almost empty. If you have written one, open an issue and it goes in.
- Run one stateful agent that researches, edits files and iterates in a sandbox with stateful_react_agent by Apodex AI. Bundled. Registers
stateful-react-agent, exportsregister(ctx)and a module-levelPipelineSpec. Apache-2.0. - Split a task across parallel sub-agents behind a coordinator with a task board with agent_team by Apodex AI. Bundled. Registers
agent-teamandagent-team-report, plus main and sub agent roles. Apache-2.0.
Both shipped plugins are the vendor's own. No third-party workflow package exists yet.
- Run a Chinese-language deep-research build with an evidence chain on every conclusion with deepresearch-community by dappweb. Downstream distribution from 元话 (metachina.ai), targets local and on-premise model endpoints. Apache-2.0.
- The runtime, the terminal client, and the evaluation suite with FrontierAgent by Apodex AI. The upstream project. Apache-2.0.
- Reproduce the deep-research benchmark numbers with AgentHarness by Apodex AI. Evaluation harness for Apodex-1.0 on public benchmarks. Apache-2.0.
- Read the method behind the model with the Apodex-1.1 tech report by Apodex AI. arXiv:2608.23283.
- Score a run against 41 verifiable deep-search queries with FrontierSearchBench by Apodex AI. Bundled benchmark with official scorers. Apache-2.0.
- Pull the weights with the Apodex collection on Hugging Face by Apodex AI.
- Skip model hosting entirely with the Apodex API platform by Apodex AI. OpenAI-compatible endpoint, free trial at time of writing.
- Ask the people building it in the Apodex AI Discord by Apodex AI.
- Pick the right install path before you start with the installation chooser by Apodex AI. Routes on where the model runs, not on your operating system.
- Get the terminal open against a hosted endpoint with the endpoint quickstart by Apodex AI. No Docker, no local model. Also in 中文.
- Understand the runtime before you extend it with the framework architecture guide by Apodex AI. Pipeline specs, the observer contract, agent teams, and the sandbox model.
- Author a workflow end to end with the workflow authoring guide by Apodex AI. Agent definitions, pipeline specs, node functions, profiles, and the registration hook.
- Drive the terminal properly with the TUI user guide by Apodex AI. Approvals,
/revert, steering, and session resume. Also in 中文. - Run it in Docker with the Docker and Compose guide by Apodex AI. Published amd64 and arm64 images, no local Python.
- Serve the model on your own NVIDIA GPU with the Linux NVIDIA guide by Apodex AI. SGLang in Docker, with a no-nested-Docker variant and a GPU compatibility matrix.
A skill is a directory holding a SKILL.md with YAML frontmatter. It is the only surface you can
extend from outside without touching the framework's code.
mkdir -p plugins/skills/my-skillA minimal SKILL.md:
---
name: my-skill
description: One sentence on what this does and when to reach for it.
version: 1.0.0
author: you
license: MIT
tags:
- research
allowed-tools:
- bash
- read_text
---
# My skill
The workflow the agent should follow, written for the agent.Enable it in a profile. The built-ins ship with skills: [], and a file at
~/.apodex/profiles/react.yaml overrides the built-in of the same name, so you never edit the
package:
skills: ["*"]Five things the loader does that the docs do not spell out, each of them a real trip hazard:
- The directory name is the skill id.
namein the frontmatter is only a display name. A profile allowlist and the enable/disable state both key on the directory. read_textmust be in the role's tools. The framework injects skill metadata into the system prompt and expects the model to openSKILL.mditself. Withoutread_textthe model sees your skill listed and can never read it, which looks exactly like the skill being ignored.- Descriptions are cut at 250 characters in the injected block, and the whole block is capped around 8,000. Write a description that survives the cut, and put the detail in the body.
- Skills live in the install tree, not your home directory. The path is
<FrontierAgent>/plugins/skills/, resolved from the package location, with no environment override. The profile that enables them can live in~/.apodex/, but the skill itself cannot. - Frontmatter failures are silent. A
SKILL.mdwhose YAML does not parse loads with empty metadata rather than raising, so a stray tab costs youallowed-toolsand you get no warning.tagsandallowed-toolsmust be YAML lists; a plain string is dropped.
Your key is your own business. FrontierAgent loads a repo-root .env into the process environment
at import and shell commands inherit it, so a variable you document in SKILL.md resolves inside
the commands you tell the agent to run. Nothing infers or validates your variable name, so say
plainly what happens when it is missing.
A workflow plugin is a Python package under workflows/ exporting register(context). The loader
walks that directory, imports every child with an __init__.py, and calls register on each.
def register(ctx):
ctx.register_agent(AgentDefinition(
role_id="my_role",
display_name="My Role",
allowed_tools=["read_file", "read_text"],
))
ctx.register_pipeline(PipelineSpec(
pipeline_id="my-workflow",
name="My Workflow",
entry_point="run",
terminal_nodes=["run"],
nodes=[...],
transitions=[...],
))Four things worth knowing before you commit to this surface:
- Read the reachability line in the table above first. Registration succeeds and the terminal
still will not offer your pipeline:
--modeand/modeare both checked against a hardcoded pair of names before any profile is loaded. You reach a custom pipeline from the evaluation kernel or from your own embedding code. registercannot add a tool. The context exposes pipeline, agent and topology registration and nothing else, and the tool map is built before plugins load. To give your nodes a tool of your own, build the tool object in the node function and hand it to the agent loop directly.- Registration is validated and it fails quietly. A malformed
AgentDefinitionis logged and skipped, and the run continues without your workflow. Watch the log the first time. - Pipeline ids are claimed first-come. Registering an id that already exists raises rather than overriding, so pick something specific.
🛡️ Security notice
This is a curated list, not a security audit. A listing means the project is real and working as of its last check, not that its code has been reviewed for safety. Read a project before you install it or hand it credentials, the same as you would any package or browser extension.
🤝 Contributing
PRs are very welcome, see CONTRIBUTING.md for the format and the acceptance rules.
Maintained by ZeroPointRepo · list content licensed
CC BY 4.0 · Built with crhq.ai
Unofficial, community-maintained. Not affiliated with or endorsed by the FrontierAgent project or
its maintainers.