/promoting-dev-to-main
Use when preparing, reviewing, resolving conflicts for, or merging a CORAL release pull request from the long-lived dev branch into main.
$ npx -y skills add Human-Agent-Society/CORAL --skill promoting-dev-to-main --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/promoting-dev-to-main
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when preparing, reviewing, resolving conflicts for, or merging a CORAL release pull request from the long-lived dev branch into main.
SKILL.md
promoting-dev-to-main.SKILL.mdname: promoting-dev-to-main
description: Use when preparing, reviewing, resolving conflicts for, or merging a CORAL release pull request from the long-lived dev branch into main.
Promoting dev to main
Core rule
Merge `dev → main` release PRs with a **merge commit**. Never squash or rebase these promotions.
Ordinary contribution PRs still target `dev` and may be squash-merged. The release promotion is the exception because `main` must retain `dev` in its ancestry. Squashing a promotion makes the next release re-present old commits and can create large false conflicts.
Workflow
1. Confirm the PR is exactly `base=main`, `head=dev` and no duplicate release PR is open. 2. Review `main..dev`, required CI, and deployment checks. 3. In GitHub, open the merge-method dropdown and choose **Create a merge commit**. With the CLI, use:
gh pr merge <number> --repo Human-Agent-Society/CORAL --merge
4. Keep the long-lived `dev` branch. Do not delete or force-push it. 5. Fetch both branches and verify the released `dev` tip is an ancestor of `main`:
git fetch origin dev main
git merge-base --is-ancestor origin/dev origin/main
Exit status `0` is required. 6. Confirm post-merge CI, release automation, deployments, and production smoke checks.
If GitHub reports conflicts
Do not force-rebase the shared `dev` branch. First inspect the topology and reproduce conflicts with `git merge-tree`.
If an earlier release was squash-merged, `main` may have the same tree as an earlier `dev` commit without sharing its ancestry. Verify tree equivalence before choosing a repair. Prefer merging `main` back into `dev` and pushing normally; use an ancestry-only `ours` merge only when exact tree equality proves `main` contains no unique content to preserve.
Red flags
- GitHub's primary button says **Squash and merge**.
- A command uses `--squash`, `--rebase`, or a force-push.
- The release workflow proposes deleting `dev`.
- Conflict resolution starts before checking commit topology and tree equality.
Stop when any red flag appears and return to the workflow above.
Quick reference
| PR | Allowed merge method | |---|---| | Feature/fix/docs branch → `dev` | Repository default; usually squash | | `dev` → `main` release promotion | Merge commit only |
Read more
name: promoting-dev-to-main description: Use when preparing, reviewing, resolving conflicts for, or merging a CORAL release pull request from the long-lived dev branch into main.
Promoting dev to main
Core rule
Merge `dev → main` release PRs with a **merge commit**. Never squash or rebase these promotions.
Ordinary contribution PRs still target `dev` and may be squash-merged. The release promotion is the exception because `main` must retain `dev` in its ancestry. Squashing a promotion makes the next release re-present old commits and can create large false conflicts.
Workflow
1. Confirm the PR is exactly `base=main`, `head=dev` and no duplicate release PR is open. 2. Review `main..dev`, required CI, and deployment checks. 3. In GitHub, open the merge-method dropdown and choose **Create a merge commit**. With the CLI, use:
gh pr merge <number> --repo Human-Agent-Society/CORAL --merge
4. Keep the long-lived `dev` branch. Do not delete or force-push it. 5. Fetch both branches and verify the released `dev` tip is an ancestor of `main`:
git fetch origin dev main git merge-base --is-ancestor origin/dev origin/main
Exit status `0` is required. 6. Confirm post-merge CI, release automation, deployments, and production smoke checks.
If GitHub reports conflicts
Do not force-rebase the shared `dev` branch. First inspect the topology and reproduce conflicts with `git merge-tree`.
If an earlier release was squash-merged, `main` may have the same tree as an earlier `dev` commit without sharing its ancestry. Verify tree equivalence before choosing a repair. Prefer merging `main` back into `dev` and pushing normally; use an ancestry-only `ours` merge only when exact tree equality proves `main` contains no unique content to preserve.
Red flags
- GitHub's primary button says **Squash and merge**.
- A command uses `--squash`, `--rebase`, or a force-push.
- The release workflow proposes deleting `dev`.
- Conflict resolution starts before checking commit topology and tree equality.
Stop when any red flag appears and return to the workflow above.
Quick reference
| PR | Allowed merge method | |---|---| | Feature/fix/docs branch → `dev` | Repository default; usually squash | | `dev` → `main` release promotion | Merge commit only |
Robust, lightweight infrastructure for multi-agent self-evolution, built for autoresearch. CORAL is infrastructure for autonomous AI agent organizations that run experiments, share knowledge, and continuously improve solutions.
Other skills on coral.
- /coral-debug
Verify and debug changes to CORAL itself — smallest reproduce loop per area (grader / daemon / CLI / hooks / manager / workspace / hub / template / config / web), where to look when something breaks (hung graders, agent restart loops, stalled agents, missing heartbeat actions,
Open skill - /coral-extend
Add a new component to the CORAL framework itself — a new agent runtime under `coral/agent/builtin/` (claude_code/codex/cursor_agent style), a new CLI command in `coral/cli/`, a new bundled skill or subagent template under `coral/template/skills/` or `coral/template/agents/`, a
Open skill - /coral-new-task
End-to-end recipe for adding a new task under `examples/` — the three pieces that have to line up (`task.yaml`, `seed/`, and `grader/`), what to put in each, the `TaskGrader` API surface, the `coral validate` → smoke-test loop, and the common mistakes (repo_path pointing at the
Open skill - /create-notes
Write a note to {shared_dir}/notes/ that future agents can actually act on. Use after every coral eval, when a heartbeat (reflect / consolidate / pivot) asks for a note, or when you discover a grader / build / runtime issue that future agents will hit. Covers 4 note variants
Open skill - /deep-research
Research the problem domain before coding. Web search for techniques, save raw sources, write structured findings, update the index.
Open skill - /organize-files
Organize the shared notes directory when it becomes hard to navigate. Restructure within research/ and experiments/, deduplicate, update index.md.
Open skill

