Human-tagged feature work in GitHub Issues

A workflow where a single labeler triggers agent creation for feature requests, excluding themselves from assignment.

This pattern is useful when a PM or tech lead triages incoming requests and decides which ones are ready for an agent to pick up.

What it does

  • Watches the acme/app repository
  • Triggers when an issue is labeled agent-ready and feature
  • Excludes the PM (@pm-alice) from assignment — they labeled it, they don't implement it
  • Uses a feature-workspace with broader context and planning instructions
  • Moves the issue to in-review when done
  • Does not terminate on leave — the agent stays alive to handle review feedback

Issue tracker

text
Settings -> Workspaces -> feature-workspace -> Issue Trackers
Add GitHub Issues:
  token: ${GITHUB_TOKEN}
  webhook secret: ${GITHUB_WEBHOOK_SECRET}

Workflow: feature-bot

yaml
# .elasticclaw/workflows/feature-bot.yaml
schema_version: v1
name: feature-bot
trigger:
  github_issues:
    event: issue_labeled
    repositories:
      - acme/app
    states:
      - open
    labels:
      - agent-ready
      - feature
tags: [feature]

stages:
  - id: working
    label: Working
    entry: true
    on_enter:
      inject: |
        Read CONTEXT.md, plan the feature, implement it, and open a PR.

  - id: pr_opened
    label: PR Opened
    triggers:
      - message_contains: "[DONE]"
    on_enter:
      add_labels: [in-review]

  - id: merged
    label: Merged
    triggers:
      - pr_merged: {}
    terminal: true

The labeling workflow

  1. User opens a feature request issue in acme/app
  2. PM reviews it, adds labels agent-ready + feature
  3. Workflow webhook fires — labels match, issue is open → agent spawned
  4. Agent implements the feature, opens a PR, sends [DONE]
  5. Issue moved to in-review, agent watches for CI/review comments
  6. PM removes agent-ready label → agent stays alive (terminate_on_leave: false)
  7. PR merges → agent terminates automatically

Workspace: feature-workspace

A workspace with planning instructions and broader context for feature work.

yaml
# .elasticclaw/workspaces/feature-workspace/elasticclaw-config.yaml
name: feature-workspace
provider: daytona
llm_key: fireworks-kimi
default_model: fireworks/accounts/fireworks/models/kimi-k2p6
repositories:
  - repo: acme/app
    permissions: write
tags: [feature]
markdown
# .elasticclaw/workspaces/feature-workspace/AGENTS.md
You are a feature implementation agent. Read CONTEXT.md, propose a plan,
then implement. Open a PR and send [DONE] <pr-url> when ready.

GitHub webhook setup

  1. Go to repo → Settings → Webhooks → Add webhook
  2. Payload URL: https://server.example.com/api/workspaces/feature-workspace/webhooks/github-issues
  3. Content type: application/json
  4. Secret: the webhook secret from workspace issue tracker settings
  5. Events: Issues