Plug agents in, keep status hopping.

bunny.fyi

Agent Instructions

Copy this English instruction document and give it directly to Cursor, Codex, or Claude Code so the agent can post status updates to the monitoring API during work.

For implementation, fixes, refactors, migrations, and document work.

Mode guidance

Use this mode when you are reporting progress on a bounded work item such as a feature, bug fix, migration, refactor, or document task.

Choose this mode when

For implementation, fixes, refactors, migrations, and document work.

Send updates when

  • when you start an important task
  • when you complete a meaningful milestone
  • periodically during long-running work
  • immediately if you are blocked or hit an error
  • once more when the task is complete

Recommended schema choices

Subject type guidance

`subjectType` should describe the work item, such as `task`, `feature`, `bug`, `migration`, `refactor`, or `doc`.

Recommended status values

  • in_progress for active work
  • complete only when the real task is actually finished
  • warning for degraded progress or partial issues
  • failed for errors or blocked execution

Recommended view types

  • status_card for current step status
  • metric_grid for headline metrics or summary counters
  • timeline for milestone or event progress
  • table for structured row and column monitoring data
  • log_stream for execution logs
  • checklist for step-by-step progress
  • alert for high-signal failures or urgent warnings

Instruction document

Copy and paste this whole block into the target development agent.

https://www.bunny.fyi/api/recordstest_agent_key_local_123Cursor / Codex / Claude Code
# Agent Status Reporting Instructions

## Overview

This document is intended for development-focused AI agents such as Cursor, Codex, and Claude Code.

Always send structured progress updates to the bunny.fyi status API while working on this task.

Reporting mode: Task Progress

Use this mode when you are reporting progress on a bounded work item such as a feature, bug fix, migration, refactor, or document task.

## Important rules

- Never send the example payload unchanged.
- Always replace example values with real values from the current project and current task.
- Do not send a status update just to confirm that you read these instructions.
- Generate a fresh current ISO timestamp for every update.
- Use `complete` only when the actual task is finished.
- Choose identifiers carefully:
  - `projectId`: the real current project or repo name
  - `agentId`: the actual agent you are running as, such as `cursor`, `codex`, or `claude_code`
  - `subjectId`: the real task, issue, service, pipeline, feature, or workstream identifier for the work in progress

## When to send updates

Send an update:
- when you start an important task
- when you complete a meaningful milestone
- periodically during long-running work
- immediately if you are blocked or hit an error
- once more when the task is complete

## API endpoint

https://www.bunny.fyi/api/records

## Authentication

Use this API key:

test_agent_key_local_123

Send the key in either of these ways:
- Authorization: Bearer test_agent_key_local_123
- x-api-key: test_agent_key_local_123

## Payload example

Send POST requests with JSON payloads similar to the example below.
Fields may be omitted if they are not relevant.

{
  "projectId": "<current-project-name>",
  "agentId": "<current-agent-name>",
  "subjectId": "<current-task-or-issue-id>",
  "subjectType": "<task|feature|bug|migration|refactor|doc>",
  "title": "<short current work title>",
  "summary": "<short progress summary for humans viewing the dashboard>",
  "status": "in_progress",
  "viewType": "status_card",
  "timestamp": "<current-iso-timestamp>",
  "data": {
    "notes": [
      "<important progress note>",
      "<optional second progress note>"
    ],
    "staleAfterMinutes": 120,
    "checks": [
      { "label": "<check name>", "value": "<current state>", "status": "in_progress" }
    ]
  }
}

## Recommended status values

- in_progress for active work
- complete only when the real task is actually finished
- warning for degraded progress or partial issues
- failed for errors or blocked execution

## Recommended view types

- status_card for current step status
- metric_grid for headline metrics or summary counters
- timeline for milestone or event progress
- table for structured row and column monitoring data
- log_stream for execution logs
- checklist for step-by-step progress
- alert for high-signal failures or urgent warnings

## Identifier guidance

`subjectType` should describe the work item, such as `task`, `feature`, `bug`, `migration`, `refactor`, or `doc`.

## Example data shapes

### status_card

{
  "notes": [
    "Started implementation",
    "Auth helper completed"
  ],
  "checks": [
    { "label": "API auth", "value": "done", "status": "complete" },
    { "label": "Instructions page", "value": "in progress", "status": "in_progress" }
  ],
  "staleAfterMinutes": 120
}

### timeline

{
  "events": [
    {
      "at": "2026-03-14T10:00:00.000Z",
      "label": "Work started",
      "description": "Initial implementation began."
    },
    {
      "at": "2026-03-14T10:30:00.000Z",
      "label": "Milestone complete",
      "description": "API authentication check was added."
    }
  ]
}

### metric_grid

{
  "metrics": [
    { "label": "Files changed", "value": 12, "unit": "" },
    { "label": "Tests passing", "value": 24, "unit": "" },
    { "label": "Coverage", "value": 87, "unit": "%" }
  ],
  "highlights": [
    "Core implementation is complete.",
    "One follow-up check remains."
  ]
}

### log_stream

{
  "lines": [
    {
      "at": "2026-03-14T10:05:00.000Z",
      "level": "info",
      "message": "Fetching current route files."
    },
    {
      "at": "2026-03-14T10:06:00.000Z",
      "level": "warn",
      "message": "Build retry required after import error."
    }
  ]
}

### table

{
  "columns": [
    { "key": "step", "label": "Step" },
    { "key": "owner", "label": "Owner" },
    { "key": "state", "label": "State" }
  ],
  "rows": [
    { "step": "Auth helper", "owner": "codex", "state": "complete" },
    { "step": "Instructions page", "owner": "codex", "state": "in_progress" }
  ]
}

### checklist

{
  "items": [
    {
      "label": "Define API key config",
      "description": "Shared config exported for page and backend.",
      "checked": true,
      "status": "complete"
    },
    {
      "label": "Build instructions page",
      "description": "Visible page and copy button still in progress.",
      "checked": false,
      "status": "in_progress"
    }
  ]
}

### alert

{
  "severity": "failed",
  "alerts": [
    {
      "title": "Build failed",
      "description": "Type error detected in the API route.",
      "source": "build",
      "code": "TS_BUILD_ERROR"
    }
  ]
}

## Guidelines

- Keep every update short and clear.
- Write updates so a human can understand progress quickly from the dashboard.
- Focus on progress and state instead of deep code details.
- Prefer meaningful milestone updates over noisy low-value chatter.