Skip to content

Repository files navigation

Awesome Entry count Upstream version Last commit Unofficial License

FrontierAgent skills, plugins, and workflows

Every way to extend FrontierAgent, with the manifest facts that matter: which surface it plugs into, what it declares, and which key it wants.


Contents


What is FrontierAgent?

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.

FrontierAgent quickstart

Install the runtime:

git clone https://github.com/ApodexAI/FrontierAgent.git && cd FrontierAgent && uv sync --python 3.12 --extra dev

Point it at any OpenAI-compatible endpoint by writing .env, then open the terminal:

uv run frontier-agent --mode react --cwd /path/to/project

Swap in the multi-agent coordinator when the task splits into independent parts:

uv run frontier-agent --mode agent_team --cwd /path/to/project

⭐ Featured skill

youtube-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

The catalog

Skills

  • Read video: transcripts, search, and channel lookup with youtube-transcripts by ZeroPointRepo. Frontmatter parses, declares bash and read_text, ships a helper script. Needs TRANSCRIPT_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.

Workflow Plugins

  • 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, exports register(ctx) and a module-level PipelineSpec. 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-team and agent-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.

Distributions

  • 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.

Official & Reference

Guides & Install

Writing a FrontierAgent skill

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-skill

A 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:

  1. The directory name is the skill id. name in the frontmatter is only a display name. A profile allowlist and the enable/disable state both key on the directory.
  2. read_text must be in the role's tools. The framework injects skill metadata into the system prompt and expects the model to open SKILL.md itself. Without read_text the model sees your skill listed and can never read it, which looks exactly like the skill being ignored.
  3. 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.
  4. 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.
  5. Frontmatter failures are silent. A SKILL.md whose YAML does not parse loads with empty metadata rather than raising, so a stray tab costs you allowed-tools and you get no warning. tags and allowed-tools must 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.

Writing a FrontierAgent workflow plugin

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:

  1. Read the reachability line in the table above first. Registration succeeds and the terminal still will not offer your pipeline: --mode and /mode are 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.
  2. register cannot 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.
  3. Registration is validated and it fails quietly. A malformed AgentDefinition is logged and skipped, and the run continues without your workflow. Watch the log the first time.
  4. Pipeline ids are claimed first-come. Registering an id that already exists raises rather than overriding, so pick something specific.

Good to know

🛡️ 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.

About

FrontierAgent skills and plugins: extensions, workflows, and setup guides for Apodex AI's agent framework.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors