Skip to content

Improve amber-issue-handler.yml: eyes reaction, better comments, fix session links #1267

@redhat-ship-help

Description

@redhat-ship-help

Summary

Three UX improvements to the amber-issue-handler.yml GitHub Action workflow to provide better feedback when Amber is processing issues and PRs.

1. Add 👀 reaction when the GitHub Action acknowledges a @ambient-code comment

When a comment containing @ambient-code is posted on an issue or PR, the GitHub Action should immediately add an 👀 (eyes) reaction to that comment. This gives instant visual feedback that the action has been triggered and is processing, similar to how CodeRabbit does it.

Where to change: In the handle-comment job, add an early step (before the Resolve context step or at the very beginning of Resolve context) that uses the GitHub API to add a reaction:

gh api repos/${{ github.repository }}/issues/comments/${{ github.event.comment.id }}/reactions \
  -X POST -f content=eyes

This should also apply to the handle-issue-label job — react to the label event (or the issue itself) with 👀 to signal acknowledgement.

2. Improve the issue comment posted after ambient-code:auto-fix label is applied

Currently the Post-session labels and comment step (line 119-128) posts this comment after the session completes:

Session `session-xxxxx` created (phase: Running). PR will have the `ambient-code:managed` label.

Problems:

  • The comment only appears once the session/PR is done (since wait: 'true' is set on the action). It should be posted immediately when the issue is first processed, not after the session finishes.
  • The comment includes a raw session UUID which isn't useful — it should include a clickable link to the session instead.
  • The comment is posted by the GitHub Actions bot, not the ambient-code bot. Investigate if this can be changed (e.g. by having the ambient-action post the comment instead, or using a PAT associated with the ambient-code bot user).

Suggested improved comment format:

🤖 Amber is working on this issue. [View session](<PLATFORM_HOST>/projects/<NAMESPACE>/sessions/<SESSION_NAME>)

Implementation note: The PLATFORM_HOST secret and session name are available. The comment step needs to be moved before the Create session step (or split into two: one immediate acknowledgement, one post-session update). The session name is available from steps.session.outputs.session-name.

Since the action uses wait: 'true', an alternative approach is to restructure so that:

  1. An immediate comment is posted when the workflow starts (before session creation)
  2. The session link is added once the session name is known (this may require splitting the create+wait or using the API directly to create the session first)

3. Fix broken session links in PR bodies and comments

The session links that Amber includes in PR bodies and comments are currently broken. Instead of resolving the environment variables, they render as literal template strings:

https://github.com/ambient-code/platform/pull/${PLATFORM_HOST}/projects/${AG...ESPACE}/sessions/session-xxxxx

The issue is that the prompt instructs the agent to use $PLATFORM_HOST, $AGENTIC_SESSION_NAMESPACE, and $AGENTIC_SESSION_NAME in markdown links, but the agent is not properly expanding these variables when constructing the link text.

Where the link format is defined: Lines 104-105, 110, and similar in the prompt text:

🤖 [Ambient Session]($PLATFORM_HOST/projects/$AGENTIC_SESSION_NAMESPACE/sessions/$AGENTIC_SESSION_NAME)

The agent needs to evaluate these env vars and substitute them into the URL. The variables are passed via environment-variables on lines 116-117. The agent may be treating the $VAR syntax as literal text rather than shell variables. This needs debugging — it could be that the agent needs explicit instructions to read and substitute env vars, or the prompt needs to use a different notation.

Files to modify

  • .github/workflows/amber-issue-handler.yml — all three changes are in this file

Notes

  • The permissions block already includes issues: write which is needed for reactions.
  • The GitHub Actions bot vs ambient-code bot attribution question (item 2) may not be solvable within the workflow alone — it depends on whether the GITHUB_TOKEN can be replaced with a PAT or GitHub App token for the ambient-code bot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ambient-code:auto-fixAmber agent: automated low-risk fixes (formatting, linting)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions