# How the build-iterated-agentic-loop Skill Automates Repeatable Coding Agent Tasks

> Automate repeatable coding agent tasks with the build-iterated-agentic-loop skill. This scaffolding tool generates artifacts for fully automated, repository-local agentic loops.

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

---

**The build-iterated-agentic-loop skill is a scaffolding tool that converts repeatable coding-agent tasks into fully automated, repository-local iterated agentic loops by generating four coordinated artifacts: a SKILL.md file, a GitHub Actions workflow, a persistent memory file, and reference templates.**

The **build-iterated-agentic-loop** skill, hosted in the `humanlayer/skills` repository, enables developers to automate repetitive code maintenance—such as lint fixes, migrations, and test generation—while preserving context across runs and keeping human review manageable. According to the source code, this skill generates a complete automation scaffolding that embodies the **iterated agentic loop** architecture.

---

## What the build-iterated-agentic-loop Skill Creates

When installed, the skill produces four interdependent components that work together to create self-maintaining automation.

### 1. Repo-Local SKILL.md File

The generated **[`SKILL.md`](https://github.com/humanlayer/skills/blob/main/SKILL.md)** at [`.claude/skills/build-iterated-agentic-loop/SKILL.md`](https://github.com/humanlayer/skills/blob/main/.claude/skills/build-iterated-agentic-loop/SKILL.md) encodes the agent's judgment, scope, and validation steps. This file defines *what* the coding agent should find, fix, or migrate within the repository.

### 2. GitHub Actions Workflow

The **workflow file** (e.g., `.github/workflows/agent-<task-name>.yml`) schedules the coding agent with optional cron triggers or manual dispatch. As specified in [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/workflow-template.yml`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/workflow-template.yml), it enforces **PR-bounding**—checking that only one open PR exists per loop before creating new work.

### 3. Agent-Memory File

The **memory file** at `.github/agent-memory/<task-name>.md` stores persistent feedback and constraints across runs. Based on [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/memory-template.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/memory-template.md), it carries standing knowledge such as false-positive patterns and scope exclusions so future iterations improve.

### 4. Reference Templates

The **`references/`** directory contains supporting templates including:

- [`prompt-template.md`](https://github.com/humanlayer/skills/blob/main/prompt-template.md) — injected prompt for the coding agent
- [`workflow-template.yml`](https://github.com/humanlayer/skills/blob/main/workflow-template.yml) — base workflow skeleton
- [`memory-template.md`](https://github.com/humanlayer/skills/blob/main/memory-template.md) — skeleton for persistent memory
- [`agent-iteration.ts`](https://github.com/humanlayer/skills/blob/main/agent-iteration.ts) — optional script for `/iterate` comment handling (located at [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-iteration.ts`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-iteration.ts))

---

## How the Iterated Agentic Loop Architecture Works

The four components implement a closed-loop system with distinct responsibilities:

| Component | Purpose | Persistence |
|-----------|---------|-------------|
| **Skill** ([`SKILL.md`](https://github.com/humanlayer/skills/blob/main/SKILL.md)) | Defines task scope and validation criteria | Version-controlled |
| **Workflow** | Invokes agent, reads memory, creates PRs on success | GitHub Actions runtime |
| **Memory** | Carries learned constraints between iterations | Committed to repository |
| **PR Bounding** | Prevents runaway PR creation via label checking | GitHub API state |

The **PR-bounding mechanism** is critical for safe automation. Before each scheduled run, the workflow checks for existing open PRs with the task-specific label (e.g., `agent-example-task`). If one exists, the run exits cleanly—preventing duplicate or conflicting changes.

---

## Installing and Using the build-iterated-agentic-loop Skill

Add the skill to any target repository using the skills CLI:

```bash
npx skills add humanlayer/skills --skill build-iterated-agentic-loop

```

This command scaffolds the following file structure (paths relative to target repo):

```text
.claude/skills/build-iterated-agentic-loop/SKILL.md          # generated skill definition

.github/workflows/agent-example-task.yml                     # GitHub Actions workflow

.github/agent-memory/example-task.md                         # persistent memory file

.claude/skills/build-iterated-agentic-loop/references/…      # supporting templates

```

The generated workflow combines scheduled execution with manual triggers. The following excerpt from [`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/workflow-template.yml`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/workflow-template.yml) shows the core structure:

```yaml
name: Agent – Example Task
on:
  schedule:
    - cron: "0 13 * * *"      # daily at 13:00 UTC

  workflow_dispatch:

jobs:
  run-agent:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install dependencies
        run: npm ci
      - name: Run coding agent
        env:
          CLAUDE_API_KEY: ${{ secrets.CLAUDE_API_KEY }}
        run: |
          bun run codegen --prompt .claude/skills/build-iterated-agentic-loop/references/prompt-template.md \
          --memory .github/agent-memory/example-task.md \
          > /tmp/pr-body.md
      - name: Create PR
        uses: peter-evans/create-pull-request@v5
        with:
          commit-message: "[Agent] Example Task"
          body-path: /tmp/pr-body.md
          labels: "agent-example-task"

```

---

## Key Configuration Files in the Source Repository

The skill's behavior is defined by these source files in `humanlayer/skills`:

- **[`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)** — Core specification describing the skill's purpose and generation logic
- **[`plugins/build-iterated-agentic-loop/.claude-plugin/plugin.json`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/.claude-plugin/plugin.json)** — Plugin metadata including keywords and description
- **[`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/workflow-template.yml`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/workflow-template.yml)** — Base workflow skeleton with PR-bounding logic
- **[`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/prompt-template.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/prompt-template.md)** — Template for agent prompts
- **[`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/memory-template.md`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/memory-template.md)** — Template for persistent memory structure
- **[`plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-iteration.ts`](https://github.com/humanlayer/skills/blob/main/plugins/build-iterated-agentic-loop/skills/build-iterated-agentic-loop/references/agent-iteration.ts)** — TypeScript handler for `/iterate` comment commands

---

## Use Cases for the build-iterated-agentic-loop Skill

This scaffolding is designed for tasks that are:

- **Repeatable** — Same pattern applies across many files or modules
- **Validatable** — Success criteria can be checked automatically (tests, linting, type checking)
- **Incremental** — Work can be split into small, reviewable PRs
- **Evolving** — Requirements and constraints emerge from previous runs

Concrete examples include: automated dependency migrations, test coverage expansion, documentation synchronization, and gradual refactors across large codebases.

---

## Summary

- **The build-iterated-agentic-loop skill** generates four coordinated artifacts to create self-managing coding agent automation
- **SKILL.md** encodes task scope and validation; **GitHub Actions workflow** handles scheduling and PR creation; **memory file** persists learned constraints; **reference templates** ensure consistency
- **PR-bounding** prevents runaway automation by limiting open PRs per task to one
- Installation via `npx skills add humanlayer/skills --skill build-iterated-agentic-loop` scaffolds complete automation in seconds
- Source implementation resides in `plugins/build-iterated-agentic-loop/` with templates in `references/`

---

## Frequently Asked Questions

### What is an iterated agentic loop in the context of this skill?

An iterated agentic loop is an automation architecture where a coding agent runs repeatedly on a schedule, learns from feedback stored in a persistent memory file, and creates bounded, reviewable pull requests. Each iteration improves based on constraints captured from previous runs, creating a self-tuning maintenance system.

### How does the build-iterated-agentic-loop skill prevent duplicate or excessive PRs?

The generated workflow implements **PR-bounding**: before executing the coding agent, it checks GitHub for open PRs with the task-specific label. If one exists, the run exits without creating new work. This guarantees at most one in-flight PR per automated task.

### What triggers the coding agent to run?

The workflow template supports two triggers: **`schedule`** (cron-based, e.g., daily at 13:00 UTC) and **`workflow_dispatch`** (manual trigger via GitHub UI or API). The default configuration enables both for flexibility between automated and on-demand execution.

### Can the memory file be modified by humans?

Yes. The memory file at `.github/agent-memory/<task-name>.md` is version-controlled and human-editable. Developers can add exclusions, document false positives, or refine scope constraints—changes that persist across agent runs.