Remove references to repos that aren't public - #78
Merged
Conversation
Step 7 wrote into a hardcoded personal catalog path, and several docs pointed at private reference repos that a reader can't access. Make the catalog opt-in via `$CLAUDE_SKILLS_CATALOG` with no default path — a hardcoded one would mean writing into a directory the user never asked this skill to touch — and reframe the validation guidance around any repo the contributor maintains. Anonymize the private-repo citations in RESEARCH.md rather than deleting them, so the replication evidence behind each finding survives. Also document `gardener` as the open-source companion that dispatches generated skills across a fleet, and record that Steps 3, 5, and 6 are a load-bearing interface for it: changing where a skill is written, what it's named, or what Step 6 creates is a breaking change there. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
dmccoystephenson
added a commit
that referenced
this pull request
Aug 3, 2026
Step 7 wrote into a hardcoded personal catalog path, and several docs pointed at private reference repos that a reader can't access. Make the catalog opt-in via `$CLAUDE_SKILLS_CATALOG` with no default path — a hardcoded one would mean writing into a directory the user never asked this skill to touch — and reframe the validation guidance around any repo the contributor maintains. Anonymize the private-repo citations in RESEARCH.md rather than deleting them, so the replication evidence behind each finding survives. Also document `gardener` as the open-source companion that dispatches generated skills across a fleet, and record that Steps 3, 5, and 6 are a load-bearing interface for it: changing where a skill is written, what it's named, or what Step 6 creates is a breaking change there. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepares create-dev-loop to be made public, by removing every reference a reader can't follow.
Step 7 (personal catalog) wrote into a hardcoded personal catalog path. It's now opt-in via
$CLAUDE_SKILLS_CATALOG, with no default path — a hardcoded one would mean writing into a directory the user never asked this skill to touch. Unset, or set to something that isn't a git repo, skips the step silently, as before. Also tightened the surrounding instructions: match the existing table's column order rather than assuming this one, and skip rather than inventing a table if the catalog has none.Validation guidance in
CLAUDE.mdandCONTRIBUTING.mdnamed private reference repos as the fixtures. Reframed around any repo the contributor maintains, with a warning to prefer a low-stakes one the first time — Step 6 creates a GitHub repo, and Steps 3 and 5 write outside the project directory.RESEARCH.mdcitations are anonymized rather than deleted, so the replication evidence behind each finding survives without naming an inaccessible repo. The retrofit-checklist note inCLAUDE.mdno longer depends on a privateCONVENTIONS.md.Cross-linking: documented
gardeneras the open-source companion that dispatches generated skills across a fleet of repos, unattended and safety-gated. The split is now stated explicitly in both projects: create-dev-loop decides what a skill knows about its repo, gardener decides when and how safely one gets to run, and neither requires the other.The consequential part of that cross-link is a new
CLAUDE.mdsection recording that Steps 3, 5, and 6 are a load-bearing interface, not internal detail. gardener reads a generated skill from exactly the paths Step 3 and Step 5 write, and invokes/create-dev-loopitself to bootstrap a skill for a repo that lacks one. Changing where a skill is written, what it's named, or what Step 6 creates is a breaking change there and needs flagging in the PR description.Research grounding
No finding applies — this is a docs-and-configuration change. The one edit to
create-dev-loop.md(Step 7) changes where an optional catalog entry is written, not how repos are explored or how skills are structured, so no phase behavior or template placeholder is affected.The
RESEARCH.mdedits are anonymization only. No finding, citation, confidence level, or Implementations entry is added, removed, or reinterpreted.Doc sync check
README.md's "What it does" Step list still matchescreate-dev-loop.md's Steps 1:1 — Step 7's description updated in both; verified byscripts/check_docs.py{{placeholder}}added or changed has a corresponding Step 4 substitution-table row — none added or changedRESEARCH.mdupdated — anonymization only, per aboveTest plan
scripts/check_docs.pypasses locally (also runs in CI on this PR), covering the README ↔ Steps 1:1 invariant, placeholder/substitution-table coverage, and relative links between the repo's own docs.No behavioral validation run against a live repo, and none is needed here: the only
create-dev-loop.mdchange is Step 7, whose entire code path is already gated behind a variable that is unset for every existing user, so the observable behavior for anyone not opting in is identical — the step skips silently, exactly as it did when the old hardcoded directory was absent. Steps 1–6, all placeholders, and the generated skill's content are untouched.Separately verified that no reference to a non-public repo remains, by grepping both this repo and gardener against the full list of the account's private repositories. The only surviving matches are English words that happen to also be repo names.
🤖 Generated with Claude Code
drafted by Claude on behalf of Daniel Stephenson