Recued
Menu
← Back to recipes

Work on GitHub Issues

by recued-core v5 15 views

Use “Work on GitHub Issues” in Recued. Choose Codex, Claude Code, Pi or OpenCode to work on open GitHub issues, each on its own branch and folder beside your clone. Pi and OpenCode run without a sandbox, and can use the repository’s own setup. Skip or continue issues already worked on by that tool, show each answer, and optionally commit the changes.

How it works 177 steps

Inspect the data fetches, transforms, gates, and output this recipe runs.

Process (177 steps)
■ runner default
Apply default
■ runner_name switch
Map runner to one of: pi, codex, opencode, claude-code
⚠ guard_runner guard
Stop if runner name is missing
■ agent_lane switch
Map setting repo setup to one of: true
■ commit_setting default
Apply default
■ commit_mode switch
Map commit setting to one of: codex
■ skip_codex_continue any
Check if any of the conditions are true
■ skip_claude_continue any
Check if any of the conditions are true
■ skip_pi_continue any
Check if any of the conditions are true
■ skip_opencode_continue any
Check if any of the conditions are true
■ skip_pi_repo_continue any
Check if any of the conditions are true
■ skip_opencode_repo_continue any
Check if any of the conditions are true
■ skip_codex_message any
Check if any of the conditions are true
■ skip_claude_message any
Check if any of the conditions are true
■ skip_pi_message any
Check if any of the conditions are true
■ skip_opencode_message any
Check if any of the conditions are true
■ skip_pi_repo_message any
Check if any of the conditions are true
■ skip_opencode_repo_message any
Check if any of the conditions are true
■ github_repo trim
Trim whitespace from setting repo
■ github_repo_parts split
Split github repo into parts
■ repo_key lowercase
Convert github repo parts 0}} {{step github repo parts 1 to lowercase
◆ issues_raw recued-core.github-pack.issue.search
Search issue on github pack
■ issues default
Apply default
⚠ guard_issues guard
Stop if issues is empty
■ real_issues filter
Filter by condition
◆ repo_identity recued-core.git.repo.common_dir
Common dir repo on git
◆ repo_root recued-core.git.repo.root
Root repo on git
■ clone_root trim
Trim whitespace from repo root stdout
■ clone_id sha256
Apply sha256
◆ session_records core.storage.shared.list
List storage shared
◆ legacy_session_records core.storage.shared.list
List storage shared
■ legacy_sessions filter
Filter by condition
◆ legacy_session_clones recued-core.git.repo.common_dir
Common dir repo on git
■ compatible_legacy_sessions filter
Filter by condition
■ legacy_session_entries map
Extract from each item
■ session_entries flatten
Flatten nested lists in
■ issue_rows map
Extract from each item
■ issue_sessions enrich_by
Apply enrich_by
◆ branch_probe recued-core.git.repo.branch_exists
Branch exists repo on git
■ failed_branch_probes filter
Filter by condition
■ branch_errors map
Extract from each item
■ new_probes filter
Filter by condition
■ known_probes filter
Filter by condition
■ new_issues map
Extract from each item
■ known_issues map
Extract from each item
■ new_batch slice
Take a subset of
■ continue_batch slice
Take a subset of
■ continue_candidates switch
Map setting continue previous to one of: true
◆ known_worktrees recued-core.git.repo.worktree_path
Worktree path repo on git
■ failed_worktree_probes filter
Filter by condition
■ worktree_probe_errors map
Extract from each item
■ successful_worktree_probes filter
Filter by condition
■ known_paths map
Extract result.stdout from each item
■ registered_worktrees filter
Filter by condition
■ owner_checkout_worktrees filter
Filter by condition
■ owner_checkout_errors map
Extract from each item
■ attached_worktrees filter
Filter by condition
■ unattached_worktrees filter
Filter by condition
■ attached_inputs map
Extract from each item
■ unattached_inputs map
Extract from each item
◆ recover_worktrees recued-core.git.repo.worktree_attach
Worktree attach repo on git
■ failed_recoveries filter
Filter by condition
■ recovery_errors map
Extract from each item
■ successful_recoveries filter
Filter by condition
■ recovered_inputs map
Extract from each item
■ recovered_with_session filter
Filter by condition
■ recovered_without_session filter
Filter by condition
■ recovered_new_inputs map
Extract from each item
■ continue_inputs flatten
Flatten nested lists in
◆ worktrees recued-core.git.repo.worktree_add
Worktree add repo on git
■ new_review_inputs map
Extract from each item
■ review_inputs flatten
Flatten nested lists in
■ codex_review_inputs switch
Map runner to one of: codex
■ claude_review_inputs switch
Map runner to one of: claude-code
■ pi_review_inputs switch
Map agent lane to one of: pi
■ opencode_review_inputs switch
Map agent lane to one of: opencode
■ pi_repo_review_inputs switch
Map agent lane to one of: pi_repo_setup
■ opencode_repo_review_inputs switch
Map agent lane to one of: opencode_repo_setup
◆ codex_reviews recued-core.codex-pack.codex.review
Review codex on codex pack
skip: item.ready equal false
◆ claude_reviews recued-core.claude-code-pack.claude_code.task
Task claude code on claude code pack
skip: item.ready equal false
◆ pi_reviews recued-core.pi-agent-pack.pi.task
Task pi on pi agent pack
skip: item.ready equal false
◆ opencode_reviews recued-core.opencode-pack.opencode.task
Task opencode on opencode pack
skip: item.ready equal false
◆ pi_repo_reviews recued-core.pi-agent-pack.pi_repo_setup.task
Task pi repo setup on pi agent pack
skip: item.ready equal false
◆ opencode_repo_reviews recued-core.opencode-pack.opencode_repo_setup.task
Task opencode repo setup on opencode pack
skip: item.ready equal false
■ reviews flatten
Flatten nested lists in
■ new_results map
Extract from each item
■ by_id_inputs filter
Filter by condition
■ skip_folder_check all
Check if all conditions are true
◆ session_folders recued-core.git.repo.root
Root repo on git
skip: step.skip_folder_check equal true
■ session_folders_found filter
Filter by condition
■ session_folders_paths map
Extract result.stdout from each item
■ session_folders_keys map
Extract from each item
◆ target_folders recued-core.git.repo.root
Root repo on git
skip: step.skip_folder_check equal true
■ target_folders_found filter
Filter by condition
■ target_folders_paths map
Extract result.stdout from each item
■ target_folders_keys map
Extract from each item
■ folder_matches enrich_by
Apply enrich_by
■ same_folder_numbers filter
Filter by condition
■ by_id_checked enrich_by
Apply enrich_by
■ same_folder_inputs filter
Filter by condition
■ moved_inputs filter
Filter by condition
■ resume_by_id switch
Map skip folder check to one of: true
■ moved_sessions switch
Map skip folder check to one of: true
■ moved_session_errors map
Extract from each item
■ resume_newest filter
Filter by condition
◆ codex_continued recued-core.codex-pack.codex.resume_session
Resume session codex on codex pack
skip: step.skip_codex_continue equal true
◆ claude_continued recued-core.claude-code-pack.claude_code.resume_session
Resume session claude code on claude code pack
skip: step.skip_claude_continue equal true
◆ pi_continued recued-core.pi-agent-pack.pi.resume_session
Resume session pi on pi agent pack
skip: step.skip_pi_continue equal true
◆ opencode_continued recued-core.opencode-pack.opencode.resume_session
Resume session opencode on opencode pack
skip: step.skip_opencode_continue equal true
◆ pi_repo_continued recued-core.pi-agent-pack.pi_repo_setup.resume_session
Resume session pi repo setup on pi agent pack
skip: step.skip_pi_repo_continue equal true
◆ opencode_repo_continued recued-core.opencode-pack.opencode_repo_setup.resume_session
Resume session opencode repo setup on opencode pack
skip: step.skip_opencode_repo_continue equal true
■ continued coalesce
Use the first available value from: codex continued, claude continued, pi continued, opencode continued, pi repo continued, opencode repo continued,
◆ codex_continued_newest recued-core.codex-pack.codex.resume
Resume codex on codex pack
skip: step.skip_codex_continue equal true
◆ claude_continued_newest recued-core.claude-code-pack.claude_code.resume
Resume claude code on claude code pack
skip: step.skip_claude_continue equal true
◆ pi_continued_newest recued-core.pi-agent-pack.pi.resume
Resume pi on pi agent pack
skip: step.skip_pi_continue equal true
◆ opencode_continued_newest recued-core.opencode-pack.opencode.resume
Resume opencode on opencode pack
skip: step.skip_opencode_continue equal true
◆ pi_repo_continued_newest recued-core.pi-agent-pack.pi_repo_setup.resume
Resume pi repo setup on pi agent pack
skip: step.skip_pi_repo_continue equal true
◆ opencode_repo_continued_newest recued-core.opencode-pack.opencode_repo_setup.resume
Resume opencode repo setup on opencode pack
skip: step.skip_opencode_repo_continue equal true
■ continued_newest coalesce
Use the first available value from: codex continued newest, claude continued newest, pi continued newest, opencode continued newest, pi repo continued newest, opencode repo continued newest,
■ continued_results map
Extract from each item
■ continued_newest_results map
Extract from each item
■ continued_all flatten
Flatten nested lists in
■ all_results flatten
Flatten nested lists in
◆ answers core.storage.file.read-temp
Read temp storage file
skip: item.file_ref is_null
■ answer_text map
Extract result.bytes_b64 from each item
■ results_flat map
Extract from each item
■ review_rows map
Extract from each item
■ review_table to_table
Format results as a data table
■ now date_add
Add 0 days to
■ results_to_save filter
Filter by condition
◆ session_saves core.storage.shared.write
Write storage shared
skip: item.session_id is_null
■ commit_candidates filter
Filter by condition
■ git_messages map
Extract from each item
skip: step.commit_mode not_equal git
■ git_message_list default
Apply default
■ codex_message_batch filter
Filter by condition
◆ codex_commit_messages recued-core.codex-pack.codex.commit_message
Commit message codex on codex pack
skip: step.skip_codex_message equal true
◆ claude_commit_messages recued-core.claude-code-pack.claude_code.commit_message
Commit message claude code on claude code pack
skip: step.skip_claude_message equal true
◆ pi_commit_messages recued-core.pi-agent-pack.pi.commit_message
Commit message pi on pi agent pack
skip: step.skip_pi_message equal true
◆ opencode_commit_messages recued-core.opencode-pack.opencode.commit_message
Commit message opencode on opencode pack
skip: step.skip_opencode_message equal true
◆ pi_repo_commit_messages recued-core.pi-agent-pack.pi_repo_setup.commit_message
Commit message pi repo setup on pi agent pack
skip: step.skip_pi_repo_message equal true
◆ opencode_repo_commit_messages recued-core.opencode-pack.opencode_repo_setup.commit_message
Commit message opencode repo setup on opencode pack
skip: step.skip_opencode_repo_message equal true
■ commit_messages coalesce
Use the first available value from: codex commit messages, claude commit messages, pi commit messages, opencode commit messages, pi repo commit messages, opencode repo commit messages,
■ commit_message_list default
Apply default
◆ message_files core.storage.file.read-temp
Read temp storage file
skip: item.ok equal false
■ message_text map
Extract result.bytes_b64 from each item
■ codex_messages map
Extract from each item
■ commit_batch flatten
Flatten nested lists in
■ with_message filter
Filter by condition
■ without_message filter
Filter by condition
◆ staging recued-core.git.repo.stage_all
Stage all repo on git
◆ staged_probe recued-core.git.repo.has_staged_changes
Has staged changes repo on git
skip: item.ok equal false
■ commit_ready filter
Filter by condition
■ nothing_staged filter
Filter by condition
■ staging_failed filter
Filter by condition
■ commit_inputs map
Extract from each item
◆ commits recued-core.git.repo.commit
Commit repo on git
■ commit_rows map
Extract from each item
■ unchanged_rows map
Extract from each item
■ staging_failed_rows map
Extract from each item
■ no_message_rows map
Extract from each item
■ commit_report flatten
Flatten nested lists in
■ commit_lines map
Extract note from each item
■ commit_table to_table
Format results as a data table
■ committed filter
Filter by condition
■ answered filter
Filter by condition
■ failed filter
Filter by condition
■ label_filter default
Apply default
■ issue_count count
Count items in real issues
■ new_count count
Count items in new issues
■ started_count count
Count items in review inputs
■ known_count count
Count items in known issues
■ continued_count count
Count items in continued all
■ continued_newest_count count
Count items in continued newest results
■ answered_count count
Count items in answered
■ failed_count count
Count items in failed
■ committed_count count
Count items in committed
■ card to_summary
Format results as a summary card
▼
Output
summary card
table review_table
table commit_table
Settings 9 configurable

Configurable at install. Defaults shown — change them anytime in Recued.

repo setting = —
commit setting = none
labels setting =
runner setting = codex
repo dir setting = —
follow up setting = Continue working on this issue. Check what you changed so far, finish anything left, and summarize the result.
max issues setting = 5
repo setup setting = false
continue previous setting = false

Uses (37 operations)

Pack operation Search issue on github pack recued-core.github-pack.issue.search
Pack operation Common dir repo on git recued-core.git.repo.common_dir
Pack operation Root repo on git recued-core.git.repo.root
Shared store List storage shared core.storage.shared.list
Pack operation Branch exists repo on git recued-core.git.repo.branch_exists
Pack operation Worktree path repo on git recued-core.git.repo.worktree_path
Pack operation Worktree attach repo on git recued-core.git.repo.worktree_attach
Pack operation Worktree add repo on git recued-core.git.repo.worktree_add
Pack operation Review codex on codex pack recued-core.codex-pack.codex.review
Pack operation Task claude code on claude code pack recued-core.claude-code-pack.claude_code.task
Pack operation Task pi on pi agent pack recued-core.pi-agent-pack.pi.task
Pack operation Task opencode on opencode pack recued-core.opencode-pack.opencode.task
Pack operation Task pi repo setup on pi agent pack recued-core.pi-agent-pack.pi_repo_setup.task
Pack operation Task opencode repo setup on opencode pack recued-core.opencode-pack.opencode_repo_setup.task
Pack operation Resume session codex on codex pack recued-core.codex-pack.codex.resume_session
Pack operation Resume session claude code on claude code pack recued-core.claude-code-pack.claude_code.resume_session
Pack operation Resume session pi on pi agent pack recued-core.pi-agent-pack.pi.resume_session
Pack operation Resume session opencode on opencode pack recued-core.opencode-pack.opencode.resume_session
Pack operation Resume session pi repo setup on pi agent pack recued-core.pi-agent-pack.pi_repo_setup.resume_session
Pack operation Resume session opencode repo setup on opencode pack recued-core.opencode-pack.opencode_repo_setup.resume_session
Pack operation Resume codex on codex pack recued-core.codex-pack.codex.resume
Pack operation Resume claude code on claude code pack recued-core.claude-code-pack.claude_code.resume
Pack operation Resume pi on pi agent pack recued-core.pi-agent-pack.pi.resume
Pack operation Resume opencode on opencode pack recued-core.opencode-pack.opencode.resume
Pack operation Resume pi repo setup on pi agent pack recued-core.pi-agent-pack.pi_repo_setup.resume
Pack operation Resume opencode repo setup on opencode pack recued-core.opencode-pack.opencode_repo_setup.resume
Files Read temp storage file core.storage.file.read-temp
Shared store Write storage shared core.storage.shared.write
Pack operation Commit message codex on codex pack recued-core.codex-pack.codex.commit_message
Pack operation Commit message claude code on claude code pack recued-core.claude-code-pack.claude_code.commit_message
Pack operation Commit message pi on pi agent pack recued-core.pi-agent-pack.pi.commit_message
Pack operation Commit message opencode on opencode pack recued-core.opencode-pack.opencode.commit_message
Pack operation Commit message pi repo setup on pi agent pack recued-core.pi-agent-pack.pi_repo_setup.commit_message
Pack operation Commit message opencode repo setup on opencode pack recued-core.opencode-pack.opencode_repo_setup.commit_message
Pack operation Stage all repo on git recued-core.git.repo.stage_all
Pack operation Has staged changes repo on git recued-core.git.repo.has_staged_changes
Pack operation Commit repo on git recued-core.git.repo.commit

Trust & control

What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.

What it's allowed to do

Read Shared store core.storage.shared.list read-only
Read Files core.storage.file.read-temp read-only
Write Shared store core.storage.shared.write external change

34 more aren't listed here. You'll see them at install.

Data it touches

SurfacesShared storeFiles
Warehousedata.shared

About

Tags

githubcodexreviewpipelined-259awaitedclaude-codepiopencode

Details

177 steps 9 configurable settings recipe_id: work-github-issues