Skip to content

Generalize Phase 4 external-signal step to support no-CI repos #21

Closed

Description

@dmccoystephenson

Problem

Observed during the example-h-dev-loop#8 retrofit: PR #15's Phase 4 rubric anchor — "wait for CI to be green" — does not apply to create-dev-loop itself, which has no CI. The retrofit had to manually substitute "run manual validation against a fixture repo" as the external anchor, because CLAUDE.md designates that as create-dev-loop's testing-changes process.

This is a real category, not a one-off:

  • Skill repos for tools (like create-dev-loop) often have no automated test suite.
  • Documentation-only repos have no CI.
  • Some private project repos disable CI for cost or simplicity.

The template currently hardcodes the CI assumption.

Motivation

The empirical basis for requiring an external anchor (RESEARCH.md §1) is independent of what the anchor is — what matters is that the rubric is grounded in some external signal, not in pure intrinsic judgment. The template should let each generated skill name its anchor.

Proposal

Introduce two new placeholders:

Placeholder Meaning
EXTERNAL_SIGNAL_LABEL Short label for the anchor, e.g. "CI", "manual validation", "snapshot regression suite"
EXTERNAL_SIGNAL_CMD The command or step list that produces the anchor signal. For CI: gh pr checks <number> --watch. For manual validation: a fenced checklist.

Phase 4 step 1 becomes:

Wait for {{EXTERNAL_SIGNAL_LABEL}} to be green. This is the external anchor for the rubric below; without it, the rubric is just opinion.

{{EXTERNAL_SIGNAL_CMD}}

If it fails, fix the underlying issue, push, and re-confirm. Do not start the rubric until {{EXTERNAL_SIGNAL_LABEL}} passes.

Step 2 in the create-dev-loop exploration adds: "What is the external anchor for self-review?" — answered by inspecting .github/workflows/, CLAUDE.md's testing-changes section, or defaults to "running the project's test command locally" if neither exists.

Acceptance criteria

  • New {{EXTERNAL_SIGNAL_LABEL}} and {{EXTERNAL_SIGNAL_CMD}} placeholders added to the substitution table
  • Phase 4 step 1 uses both placeholders
  • Phase 4 rubric's last universal item renamed from CI to {{EXTERNAL_SIGNAL_LABEL}}
  • Phase 6's "external vs. internal" note references {{EXTERNAL_SIGNAL_LABEL}} instead of CI
  • Edge cases use {{EXTERNAL_SIGNAL_LABEL}} not "CI"
  • Step 2 exploration question added to identify the anchor for the target repo

Retrofit

Per CLAUDE.md's promotion rule, retrofit PRs needed for all four child skills:

  • example-l-dev-loop, example-q-dev-loop, example-a-dev-loop → label = "CI"
  • example-h-dev-loop → label = "manual validation" (this PR will simplify what was hand-rolled in example-h-dev-loop#8)

Related


drafted by Claude on behalf of Daniel Stephenson

Activity

  1. added a commit that references this issue on May 25, 2026
    b426851
  2. added a commit that references this issue on Aug 3, 2026
    31b3ad7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions