GitHub Workflow Automation
Install and maintain a complete issue-to-merge workflow for any GitHub repository. Maps GitHub webhook events and cron schedules into automated missions for planning, implementation, review, CI fixing, staging validation, and post-merge learning.
Workflow
- Gather project parameters from
projects/<owner>-<repo>/project.md or ask the user.
- Verify runtime prerequisites.
- Install or update mission set from templates.
- Run a dry test with
event_emit.
- Monitor outcomes and tune prompts/filters.
Parameters
Read these from the project file in workspace, or collect from the user:
repository: owner/repo (required)
maintainers: GitHub handles allowed to trigger implement/replan actions
staging_branch: default staging (or null if no staging workflow)
main_branch: default main
batch_interval_hours: default 8
Prerequisites
Before installing missions, verify:
- GitHub skill authenticated (for issue/PR/comment/status operations).
- GitHub webhook delivery configured to
POST /webhook/tools/github.
- Webhook HMAC secret configured in the secrets store as
github_webhook_secret.
- Events can also be emitted via
event_emit tool for testing.
Install Procedure
- Open
workflow-routines.md.
- For each template block:
- Replace placeholders (
{{repository}}, {{maintainers}}, branch names)
- Namespace mission names with the repo slug (e.g.
wf-issue-plan-nearai-ironclaw)
- Call
mission_create with name, goal (the prompt), and cadence (cron expression or event:<pattern>)
- If a mission already exists (check
mission_list), update rather than duplicate.
- If
staging_branch is null, skip wf-staging-batch-review.
- Write installation status to
projects/<owner>-<repo>/project.md.
- Confirm install with
mission_list.
Mission Set
Install these missions per repository:
wf-issue-plan-<slug>: on issue.opened or issue.reopened, generate implementation plan comment.
wf-maintainer-gate-<slug>: on maintainer comments, decide update-plan vs start implementation.
wf-pr-monitor-<slug>: on PR open/sync/review-comment/review, address feedback and refresh branch.
wf-ci-fix-<slug>: on CI status/check failures, apply fixes and push updates.
wf-staging-review-<slug>: every N hours, review ready PRs, merge into staging, run batch correctness analysis, fix findings, then merge staging to main.
wf-learning-<slug>: on merged PRs, extract mistakes/lessons and write to shared memory.
Event Filters
Use top-level filters for stability:
repository_name (e.g., owner/repo)
sender_login, comment_author
issue_number, pr_number
ci_status, ci_conclusion
review_state, pr_merged
Operating Rules
- All implementation work on non-main branches.
- PR loop must resolve both human and AI review comments.
- On conflicts with origin/main, refresh branch before continuing.
- Staging-batch is the only path for bulk correctness verification before mainline merge.
- Memory update runs only after successful merge.
Validation
After install, run:
event_emit with a synthetic issue.opened payload for the target repo.
- Confirm at least one mission fired.
- Check corresponding mission status.
- Confirm no unrelated missions fired.
1---2name: github-workflow3description: Install and operate a full GitHub issue-to-merge workflow for any repository using event-driven and cron missions. Handles issue planning, PR monitoring, CI fixing, staging review, and post-merge learning.4---5
6# GitHub Workflow Automation
7
8Install and maintain a complete issue-to-merge workflow for any GitHub repository. Maps GitHub webhook events and cron schedules into automated missions for planning, implementation, review, CI fixing, staging validation, and post-merge learning.
9
10## Workflow
11
121. Gather project parameters from `projects/<owner>-<repo>/project.md` or ask the user.
132. Verify runtime prerequisites.
143. Install or update mission set from templates.
154. Run a dry test with `event_emit`.
165. Monitor outcomes and tune prompts/filters.
17
18## Parameters
19
20Read these from the project file in workspace, or collect from the user:
21- `repository`: `owner/repo` (required)
22- `maintainers`: GitHub handles allowed to trigger implement/replan actions
23- `staging_branch`: default `staging` (or null if no staging workflow)
24- `main_branch`: default `main`
25- `batch_interval_hours`: default `8`
26
27## Prerequisites
28
29Before installing missions, verify:
30- GitHub skill authenticated (for issue/PR/comment/status operations).
31- GitHub webhook delivery configured to `POST /webhook/tools/github`.
32- Webhook HMAC secret configured in the secrets store as `github_webhook_secret`.
33- Events can also be emitted via `event_emit` tool for testing.
34
35## Install Procedure
36
371. Open [`workflow-routines.md`](references/workflow-routines.md).
382. For each template block:
39 - Replace placeholders (`{{repository}}`, `{{maintainers}}`, branch names)
40 - Namespace mission names with the repo slug (e.g. `wf-issue-plan-nearai-ironclaw`)
41 - Call `mission_create` with `name`, `goal` (the prompt), and `cadence` (cron expression or `event:<pattern>`)
423. If a mission already exists (check `mission_list`), update rather than duplicate.
434. If `staging_branch` is null, skip `wf-staging-batch-review`.
445. Write installation status to `projects/<owner>-<repo>/project.md`.
456. Confirm install with `mission_list`.
46
47## Mission Set
48
49Install these missions per repository:
50- `wf-issue-plan-<slug>`: on `issue.opened` or `issue.reopened`, generate implementation plan comment.
51- `wf-maintainer-gate-<slug>`: on maintainer comments, decide update-plan vs start implementation.
52- `wf-pr-monitor-<slug>`: on PR open/sync/review-comment/review, address feedback and refresh branch.
53- `wf-ci-fix-<slug>`: on CI status/check failures, apply fixes and push updates.
54- `wf-staging-review-<slug>`: every N hours, review ready PRs, merge into staging, run batch correctness analysis, fix findings, then merge staging to main.
55- `wf-learning-<slug>`: on merged PRs, extract mistakes/lessons and write to shared memory.
56
57## Event Filters
58
59Use top-level filters for stability:
60- `repository_name` (e.g., `owner/repo`)
61- `sender_login`, `comment_author`
62- `issue_number`, `pr_number`
63- `ci_status`, `ci_conclusion`
64- `review_state`, `pr_merged`
65
66## Operating Rules
67
68- All implementation work on non-main branches.
69- PR loop must resolve both human and AI review comments.
70- On conflicts with origin/main, refresh branch before continuing.
71- Staging-batch is the only path for bulk correctness verification before mainline merge.
72- Memory update runs only after successful merge.
73
74## Validation
75
76After install, run:
771. `event_emit` with a synthetic `issue.opened` payload for the target repo.
782. Confirm at least one mission fired.
793. Check corresponding mission status.
804. Confirm no unrelated missions fired.