Skip to content

feat: bdt-status Claude mod, bdt pr info, bdt issue take (#68) - #69

Merged
aersam merged 8 commits into
mainfrom
claude-mods-68
Oct 3, 2026
Merged

aersam merged 8 commits into
mainfrom
claude-mods-68

Conversation

@aersam

@aersam aersam commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

What

Issue #68 ("Use Claude Mods"):

  • bdt pr info [--json] – PR link, state, aggregate build state and the issue(s) it closes in one call; build state is judged like bdt pr status on GitHub and Azure DevOps. This is the data source for the Claude Code mod, which now lives in Add bdt-status Claude Code mod (PR/issue link + build state above the prompt) skills#61 (moved out of this PR).
  • bdt issue take [NUMBER] – comments Taken by <user> plus the agent session. No parameters needed: without a number it uses the issue the branch's PR closes. Does nothing if the issue's newest comment already is a claim.
  • bdt issue do now takes the issue first, naming the session it starts (--session-id), and tells the agent not to take it again.
  • SKILL.md / README updated; version 0.30.0.

Breaking

  • The default of every --target / --target-branch option is now dev (was main): pr create/status/info/retry/publish/update/comment/watch-deploy, issue take, commit. Repos whose PRs go into main must pass --target main. This repo has no dev branch, so its own bdt pr create needs --target main.

Notes / limits

  • On Azure DevOps the closed work items come only from URLs in the PR description, and the PR is found against --target-branch. Documented in the README.
  • The session link is only a claude.ai URL when CLAUDE_CODE_BRIDGE_SESSION_ID is set (existing behaviour of detect_agent_session); otherwise the bare id.
  • Follow-ups in bmsuisse/skills: add command 'issue do' #60 (dev-workflow uses bdt issue take), docs: document bdt find-repo #61 (the bdt-status mod).
  • Reviewed with /bms-code-review --full (correctness, security, docs/duplication); findings fixed.

Fixes #68

🤖 Generated with Claude Code

Claude Session: 668a4561-5525-55c6-a144-9b70cfb1fb34

@aersam aersam mentioned this pull request Oct 3, 2026
@aersam aersam changed the title feat: Claude mod + bdt issue take (#68) feat: bdt-status Claude mod, bdt pr info, bdt issue take (#68) Oct 3, 2026
@aersam
aersam marked this pull request as ready for review October 3, 2026 07:54
@aersam
aersam merged commit b30808e into main Oct 3, 2026
1 check passed
aersam and others added 8 commits October 3, 2026 09:47
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- bdt pr info [--json]: PR link/state/aggregate build state/closed issues
- mods/bdt-status: shows that above the prompt in Claude Code (mods, v2.1.287+)
- bdt issue take [NUMBER]: 'Taken by <user>' comment with the agent session link
- marketplace manifest so the mod installs via 'claude plugin install'

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- pr info: closed issues from GitHub's closingIssuesReferences; all-skipped checks are 'none';
  cancelled checks don't fail the build (same as pr status); PR title stripped of control chars
- issue take: sanitised, timeout-bounded user name; says which issue it took
- get_pr takes the field list (no near-duplicate get_pr_info)
- mod: keeps the last PR on a failed refresh, one timer, validates bdt's output
- docs: SKILL triggers, accurate session-link wording, ADO limits

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Latest build per pipeline: failed result -> failing, unfinished -> pending (waiting when a stage
needs approval), none/passing otherwise; unknown if ADO can't be asked.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
One DEFAULT_TARGET_BRANCH for pr create/status/info/retry/publish/update/comment/watch-deploy,
issue take and commit; pass --target main to keep the old behaviour.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Posts 'Taken by <user>' naming the session it generates (--session-id) so the comment links the
right session even when bdt issue do itself runs inside an agent; prompt tells the agent not to
take it again. comment helpers get agent_note=False for this.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… is a claim

Reads the issue's last comment (GitHub GraphQL last:1, ADO comments order=desc) and skips when it
starts with 'Taken by'; applies to issue do too, which still starts the agent.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
pr info --json stays here as its data source.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use Claude Mods

1 participant