# Coding Agents Supported by build-iterated-agentic-loop and design-control-loop

> Discover which coding agents like Claude Code and Codex CLI are supported by build-iterated-agentic-loop and design-control-loop. Learn about agent-runner templates.

- Repository: [HumanLayer/skills](https://github.com/humanlayer/skills)
- Tags: how-to-guide
- Published: 2026-09-12

---

**Both the `build-iterated-agentic-loop` and `design-control-loop` plugins support four headless coding agents—Claude Code, Codex CLI, OpenCode, and CodeLayer—through identical agent-runner template configurations.**

The `humanlayer/skills` repository provides these two plugins to enable autonomous coding agents within GitHub Actions workflows. Both rely on the same [`agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/agent-runner-templates.md) reference documentation to define supported agents, required secrets, and headless CLI invocation patterns.

## Supported Headless Coding Agents

According to the source code in [`plugins/design-control-loop/skills/design-control-loop/references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/plugins/design-control-loop/skills/design-control-loop/references/agent-runner-templates.md) and its duplicate in [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-runner-templates.md), the following four agents are officially supported:

- **Claude Code** – Anthropic’s coding assistant. Requires the `ANTHROPIC_API_KEY` repository secret.
- **Codex CLI** – OpenAI’s Codex model. Requires the `OPENAI_API_KEY` repository secret.
- **OpenCode** – The open-source OpenCode framework supporting both Anthropic and OpenAI back-ends. Requires the appropriate API key secret for the selected provider.
- **CodeLayer** – HumanLayer’s lightweight agent harness, generally Anthropic-backed. Requires `ANTHROPIC_API_KEY` and optionally `GH_TOKEN` for GitHub operations.

Both plugins use the same agent-selection UI and workflow steps, installing the appropriate runner commands and providing response-extraction snippets to convert agent output into PR bodies.

## Configuring Agents in GitHub Actions Workflows

The agent-runner templates provide copy-paste YAML configurations for each supported agent. Below are the specific implementations for two popular options.

### Claude Code Setup

To run Claude Code in a workflow step, install the CLI via npm and invoke it with the required permissions and output formatting:

```yaml
- uses: actions/setup-node@v4
  with:
    node-version: 24
- run: npm install -g @anthropic-ai/claude-code
- name: Run Claude Code
  env:
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
  run: |
    claude -p "$PROMPT" \
      --permission-mode bypassPermissions \
      --output-format stream-json \
      --verbose \
      2>&1 | tee /tmp/agent-output.txt

```

### CodeLayer Setup

CodeLayer uses Bun for execution and supports configurable providers and thinking modes:

```yaml
- uses: oven-sh/setup-bun@v2
- name: Run CodeLayer
  env:
    ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
    GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    FORCE_COLOR: "3"
  run: |
    bunx @humanlayer/cli@latest codelayer \
      --provider anthropic \
      --model claude-opus-4-8 \
      --thinking high \
      --prompt "$PROMPT" \
      2>&1 | tee /tmp/agent-output.txt

```

### Extracting Structured Output

Both plugins use a standard jq-based extraction pattern to parse the JSON stream and generate the final PR body from agent responses:

```yaml
- name: Extract PR body
  run: |
    cat /tmp/agent-output.txt \
      | grep '^{' \
      | jq -s '[.[] | select(.type == "assistant" and .message.content)] | last | .message.content[] | select(.type == "text") | .text' -r \
      > /tmp/pr-body.md

```

## Shared Agent-Runner Architecture

The `build-iterated-agentic-loop` and `design-control-loop` plugins share an identical reference structure. The agent-runner templates are duplicated across both plugins at the following locations:

- [`plugins/design-control-loop/skills/design-control-loop/references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/plugins/design-control-loop/skills/design-control-loop/references/agent-runner-templates.md)
- [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-runner-templates.md)

Supporting files in the design-control-loop plugin include:
- [`plugins/design-control-loop/skills/design-control-loop/references/workflow-template.yml`](https://github.com/humanlayer/skills/blob/main/plugins/design-control-loop/skills/design-control-loop/references/workflow-template.yml) – Provides the skeleton for recurring CI workflows.
- [`plugins/design-control-loop/skills/design-control-loop/references/agent-iteration.ts`](https://github.com/humanlayer/skills/blob/main/plugins/design-control-loop/skills/design-control-loop/references/agent-iteration.ts) – Implements the `/iterate` PR-footer command and prompt generation logic.
- [`plugins/design-control-loop/skills/design-control-loop/SKILL.md`](https://github.com/humanlayer/skills/blob/main/plugins/design-control-loop/skills/design-control-loop/SKILL.md) – Guides the interview-design-build workflow.
- [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/SKILL.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/SKILL.md) – Describes the overall loop creation process.

## Summary

- Both `build-iterated-agentic-loop` and `design-control-loop` support **Claude Code**, **Codex CLI**, **OpenCode**, and **CodeLayer**.
- Each agent requires specific secrets: `ANTHROPIC_API_KEY` for Anthropic-based agents, `OPENAI_API_KEY` for OpenAI models, and `GH_TOKEN` for CodeLayer GitHub operations.
- Configuration templates are identical across both plugins, located at [`references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/references/agent-runner-templates.md) within each plugin's skill directory.
- Agent output extraction uses standardized jq filters to isolate the final assistant message for PR creation.

## Frequently Asked Questions

### Which API keys are required for each coding agent?

Claude Code and CodeLayer require `ANTHROPIC_API_KEY`, while Codex CLI requires `OPENAI_API_KEY`. OpenCode supports both providers and requires the key corresponding to your selected back-end. CodeLayer optionally uses `GH_TOKEN` for GitHub operations.

### Can I use the same agent configuration for both plugins?

Yes. Because both `build-iterated-agentic-loop` and `design-control-loop` reference the same [`agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/agent-runner-templates.md) structure, YAML configuration snippets are interchangeable between the two plugins.

### How does the workflow extract the final output from the agent?

The workflow pipes the agent's JSON stream output to a jq filter that selects the last assistant message with text content, extracting it to [`/tmp/pr-body.md`](https://github.com/humanlayer/skills/blob/main//tmp/pr-body.md) for use in pull request creation.

### Where are the agent runner templates located in the repository?

The templates exist at two mirrored locations: [`plugins/design-control-loop/skills/design-control-loop/references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/plugins/design-control-loop/skills/design-control-loop/references/agent-runner-templates.md) and [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-runner-templates.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-runner-templates.md). Both files contain identical agent definitions and configuration examples.