github-workflow
GitHub自动化GitHub仓库从Issue到Merge的全流程工作流,涵盖计划、PR监控、CI修复、预发审查及合并后复盘,通过Webhook和Cron触发。
Trigger Scenarios
Install
npx skills add nearai/ironclaw --skill github-workflow -g -y
SKILL.md
Frontmatter
{
"name": "github-workflow",
"version": "0.1.0",
"requires": {
"skills": [
"github"
]
},
"activation": {
"tags": [
"developer",
"github",
"automation",
"workflow"
],
"keywords": [
"github workflow",
"CI automation",
"PR automation",
"automate repo",
"issue to merge",
"workflow setup",
"github automation"
],
"patterns": [
"(?i)(set ?up|install|enable).*(workflow|automation) for .+\/.+",
"(?i)automate (this |my )?(repo|repository|PRs|CI)",
"(?i)github (workflow|automation|pipeline)"
],
"max_context_tokens": 2000
},
"description": "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."
}
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.mdor 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 actionsstaging_branch: defaultstaging(or null if no staging workflow)main_branch: defaultmainbatch_interval_hours: default8
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_emittool 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_createwithname,goal(the prompt), andcadence(cron expression orevent:<pattern>)
- Replace placeholders (
- If a mission already exists (check
mission_list), update rather than duplicate. - If
staging_branchis null, skipwf-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>: onissue.openedorissue.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_authorissue_number,pr_numberci_status,ci_conclusionreview_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_emitwith a syntheticissue.openedpayload for the target repo.- Confirm at least one mission fired.
- Check corresponding mission status.
- Confirm no unrelated missions fired.
Version History
- 5380a32 Current 2026-08-20 07:08


