feat: share agent workflows and review guidance - #1
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
🟢 Approval recommended
The changes are coherent, well-covered by new tests, and the pull_request_target workflow is implemented in a metadata-only, read-only manner without checking out or executing PR-head code.
Pull request overview
This PR updates the engineering bootstrap and repo guidance so both assistants (Codex via .agents/skills and Claude via .claude/skills) load the same verified skill snapshot, and adds a pinned, metadata-only GitHub Action to validate contribution conventions (titles/subjects, attribution footers, paragraph wrapping, and David’s branch prefix rule).
Changes:
- Link skills into both
.agents/skills/and.claude/skills/, with conflict/redirect protections and offline upgrade coverage. - Add a reusable contribution-metadata composite action + consumer workflow template that reads PR/commit metadata via API (no PR-head checkout/execution).
- Consolidate contributor guidance: branch/commit/PR rules moved into the downloaded commits skill; PR templates simplified; docs updated.
File summaries
| File | Description |
|---|---|
tests/test_sync_engineering.py |
Extends refresh tests to cover .claude/skills symlink discovery, conflicts, and offline upgrades. |
tests/test_contribution.py |
Adds regression tests for the new contribution metadata validator (including untrusted text handling). |
templates/workflows/origin89-contribution.yml |
Adds a pinned, metadata-only pull_request_target workflow template to run the contribution check. |
templates/pull_request_template.md |
Replaces the oversized PR template with concise prompts aligned to the new rules. |
templates/agents/sync-engineering.py |
Updates activation to manage both .agents/skills and .claude/skills safely before switching the cache pointer. |
templates/agents/gitignore.fragment |
Ignores managed .claude/skills/origin89-* links alongside the existing .agents links. |
templates/agents/CLAUDE.md |
Adds a template Claude entrypoint that imports @AGENTS.md. |
templates/agents/claude-settings.fragment.json |
Adds a template fragment to disable Claude’s default PR/commit attribution. |
templates/agents/AGENTS.md |
Clarifies task-start instructions to read commits rules before branch/commit/push/PR operations. |
skills/origin89-working/SKILL.md |
Adjusts “working” guidance to explicitly point to commits rules before Git operations and PR writing. |
skills/origin89-testing/SKILL.md |
Clarifies PR validation summary expectations (paths covered vs. PR size). |
skills/origin89-commits/SKILL.md |
Expands scope to branches/pushes/PRs, adds David branch convention, and PR-body formatting rules. |
docs/skill-validation.md |
Adds validation scenarios for the commits skill (branch naming + PR drafting). |
docs/adopting.md |
Updates adoption guidance for .claude integration and documents the contribution-metadata workflow/action usage. |
CONTRIBUTING.md |
Aligns repo contribution rules with the updated commits skill and references the metadata check. |
CLAUDE.md |
Adds root-level import of @AGENTS.md for Claude startup. |
AGENTS.md |
Updates workflow validation guidance to render both $default-branch and $engineering-commit before actionlint. |
.github/workflows/check.yml |
Adds a CI workflow to run unit tests on PRs and pushes to main. |
.github/pull_request_template.md |
Adds the concise PR template as the active GitHub PR template. |
.github/actions/contribution/check.py |
Implements metadata validation (subjects, attribution, prose hard-wrapping, and branch prefix rules). |
.github/actions/contribution/action.yml |
Composite action to fetch PR + commit pages via gh api and run the validator safely. |
.claude/settings.json |
Disables Claude attribution in this repo via committed settings. |
Review details
- Files reviewed: 22/22 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70dd2a5567
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a5cbaaa6aa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 02fd4e5c05
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6bab52f121
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for link in targets: | ||
| if link.name not in new_names and link.is_symlink(): | ||
| link.unlink() |
There was a problem hiding this comment.
Roll back when retired skill removal fails
When unlinking a retired skill fails—for example, because .claude/skills becomes unwritable—the shared current pointer has already moved to the new snapshot, so the refresh reports failure while leaving a dangling managed link. A retry cannot repair it because the new state no longer includes the retired name. Fresh evidence after the prior rollback fix is that this removal loop remains outside the protected transaction; remove retired links before committing the pointer or include them in rollback/retry bookkeeping.
AGENTS.md reference: AGENTS.md:L29-L31
Useful? React with 👍 / 👎.
|
|
||
| jobs: | ||
| claude-review: | ||
| if: github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.repository |
There was a problem hiding this comment.
Skip automatic reviews for Dependabot PRs
When Dependabot opens or updates a non-draft PR, its branch is normally in the base repository and therefore passes this condition, but GitHub withholds Actions secrets from Dependabot-triggered pull_request runs. The job consequently invokes the action with an empty CLAUDE_CODE_OAUTH_TOKEN and fails instead of producing a review, potentially blocking dependency PRs when this check is required. Exclude dependabot[bot] or use a supported authentication path that does not depend on repository secrets.
Useful? React with 👍 / 👎.
Change
Claude now imports
AGENTS.mdand discovers the same verified skills as Codex. Clarify branch, commit, push, and PR guidance, disable default Claude attribution, and shorten the PR template. Failed activation removes newly created links while preserving the previous snapshot.Add the two Claude workflow templates and native Codex/Copilot review instructions. Hosted reviewers use repository rules when the shared skills are unavailable. Shared skills reach adopting repositories on their next refresh after this merges.
Confirmed problems left outside the current fix must be tracked with
gh: search for duplicates, create an issue with evidence when needed, verify it, and return its URL. Current PR defects stay in the review; if filing is blocked, provide a draft and explain why.Validation
just checkpassed all 31 tests, including cache updates, offline use, local skill conflicts, and six activation-failure cases that preserve existing discovery links and allow a retry. Skill validation and rendered workflow lint passed. A disposable consumer verified shared checkout, instruction imports, references, and license notices without invoking Claude. These checks validate setup, not whether a live assistant follows the instructions.