Agent Skill · Apollo Config

apollo-community-review

Run the periodic Apollo GitHub community review automation for apolloconfig/apollo, using the existing issue/pr review skills plus local helper scripts for discovery, policy, posting, and state.

Provider: Apollo Config Path in repo: apollo-community-review/SKILL.md

Skill body

Apollo Community Review

Use this skill when running the recurring Apollo community review automation.

This skill orchestrates:

Discovery notes:

Path notes:

Defaults

Workflow

  1. Sync the isolated mirror:
    python3 "$SKILL_ROOT/scripts/community_review.py" \
      sync-mirror \
      --repo apolloconfig/apollo \
      --mirror-dir ~/.codex/tmp/apollo-review-mirror \
      --default-branch master
    
  2. Discover candidates:
    • Single-repo scan (legacy / focused mode):
      python3 "$SKILL_ROOT/scripts/community_review.py" \
      scan \
      --repo apolloconfig/apollo \
      --actor <github-login> \
      --maintainers <comma-separated-maintainers> \
      --state-file ~/.codex/tmp/apollo-community-review/<github-login>/state.json \
      --initial-lookback-hours 4
      

      If --actor is omitted, the helper resolves it from APOLLO_COMMUNITY_REVIEW_ACTOR or the current gh auth login. If --maintainers is omitted, it falls back to the resolved actor.

    • Org-level scan (preferred for scheduled Apollo maintenance):
      python3 "$SKILL_ROOT/scripts/scan_org.py" \
      --policy-file "$SKILL_ROOT/references/repo-policy.json" \
      --maintainers-file /path/to/repo-maintainers.json \
      --operator-file /path/to/operator-config.json \
      --initial-lookback-hours 4
      

      This enumerates accessible apolloconfig repositories, skips archived / disabled repos, keeps the configured priority repo order first, and returns a flat candidate list plus per-repo scan results/errors. Use repo-maintainers.json for the shared repo→maintainer map and operator-config.json only for local actor overrides so the shared skill does not hardcode a specific maintainer identity.

  3. For each candidate:
    • Fetch thread context with fetch-thread.
    • If it is a PR, also check out the PR head in the isolated mirror before reviewing:
      python3 "$SKILL_ROOT/scripts/community_review.py" \
      checkout-pr-head \
      --repo apolloconfig/apollo \
      --mirror-dir ~/.codex/tmp/apollo-review-mirror \
      --number <pr_number>
      
    • Run the appropriate review skill in output_mode=pipeline.
    • After the review output, append exactly one COMMUNITY_REVIEW_DECISION JSON block with:
      • language
      • decision_confidence
      • recommended_action
      • validation_completed
      • missing_info_fields
      • blocking
      • blocking_reasons
      • draft_body
    • Save the combined output to a temp file, then evaluate policy with:
      python3 "$SKILL_ROOT/scripts/community_review.py" \
      decide \
      --candidate-file <candidate_json> \
      --review-file <review_output_txt>
      
  4. Auto-post only when auto_send_eligible=true.
    • Allowed auto-post actions:
      • issue top-level comment
      • PR top-level comment
    • Never auto-post:
      • approve
      • request changes
      • merge-ready
      • security/admin threads
      • draft PRs
      • threads with a newer maintainer reply after the latest external activity
    • Post via:
      python3 "$SKILL_ROOT/scripts/community_review.py" \
      post-comment \
      --decision-file <decision_json>
      
  5. After each handled thread, persist the processed activity signature:
    python3 "$SKILL_ROOT/scripts/community_review.py" \
      mark-processed \
      --state-file ~/.codex/tmp/apollo-community-review/<github-login>/state.json \
      --candidate-file <candidate_json> \
      --decision-file <decision_json>
    

    If --state-file is omitted, mark-processed reuses the actor-scoped default derived from the candidate metadata.

  6. At the end of the run, summarize all results:
    python3 "$SKILL_ROOT/scripts/community_review.py" \
      summarize \
      --results-file <results_json>
    

Output Rules

Hard Safety Rules