Skip to content

chore(skills): review README and repo about text on every release#1429

Merged
carlos-alm merged 4 commits into
mainfrom
chore/release-skill-about-text
Jun 10, 2026
Merged

chore(skills): review README and repo about text on every release#1429
carlos-alm merged 4 commits into
mainfrom
chore/release-skill-about-text

Conversation

@carlos-alm

Copy link
Copy Markdown
Contributor

Summary

  • Adds a Repo "about" text check to Step 5 of the /release skill, so the GitHub repository description, homepage URL, and topics are reviewed on every release (not just when user-facing features change)
  • Updates the PR body template in Step 7 with two new checklist items for the README roadmap cross-check and the "about" text review

What changed

Step 5 is renamed from Update README.md to Update README.md and repo "about" text and now includes:

  • Instructions to fetch current metadata via gh api repos/optave/ops-codegraph-tool --jq ...
  • A checklist of what to review (description staleness, topic/tag currency, homepage URL)
  • The gh api --method PATCH and PUT /topics commands to apply updates directly (no commit needed)
  • A note that "about" changes should be recorded in the PR description

Step 7 PR body template gains:

  • - [ ] README roadmap order matches ROADMAP.md
  • - [ ] Repo "about" description and topics are current

Test plan

  • /release skill runs Step 5 with both README and "about" checks
  • PR body template renders correctly on GitHub

Add a "Repo about text" check to Step 5 of the /release skill so the
GitHub description and topics are reviewed each release, not just when
user-facing features change. Update the PR body template to include the
new checklist items.
@claude

claude Bot commented Jun 10, 2026

Copy link
Copy Markdown

Claude finished @carlos-alm's task —— View job


PR Review: chore(skills): review README and repo about text on every release

  • Read changed file and gather context
  • Phase 1: Root cause analysis
  • Phase 2: Configuration change detection
  • Phase 3: Test integrity
  • Phase 4: Code quality
  • Phase 5: Backlog compliance
  • Post final assessment

Root Cause Analysis

Problem Being Solved: The GitHub repository "about" metadata (description, topics, homepage URL) was not part of the release checklist, so it could silently drift out of sync as the project evolved. This PR adds an explicit review step and direct API commands so the agent performing the release doesn't forget or skip it.

Why This Approach: Adding it to the existing Step 5 (alongside README review) is logical — both are non-committed, human-visible documentation surfaces. The gh api commands give the agent a concrete, low-friction way to fetch and patch the metadata without requiring any file edits or commits.

Risk Assessment: Low. This is a pure documentation/skills change that affects only the Claude Code release skill. No source code, no tests, no configuration touched.


Phase 2: Configuration Change Detection

No linting rules, TypeScript flags, test timeouts, or build configuration were touched. ✓

Phase 3: Test Integrity

No test files modified. ✓


Phase 4: Code Quality — Minor Issues

1. Internal contradiction on recording "about" changes (lines 210 vs 235)

Line 210 says:

"about" text changes are applied directly to GitHub — they don't require a commit or a PR entry.

But line 235 (Step 7 PR creation instruction) says:

Create PR (include a note if repo "about" text was updated directly on GitHub)

And the PR body template in Step 7 adds:

- Review README and repo "about" text for accuracy

These are contradictory. Line 210 explicitly says no PR entry needed, but Step 7 tells the agent to record what was updated in the PR description. The intent is clearly to record it (good!), but the wording at line 210 should be corrected to say something like: "these changes don't require a commit, but record any changes made in the PR description."

2. PUT /topics example is incomplete as a template (line 207)

gh api --method PUT repos/optave/ops-codegraph-tool/topics \
  -f "names[]=cli" -f "names[]=code-analysis" -f "names[]=dependency-graph" -f "names[]=tree-sitter"

The skill already explains "replaces the full list — include all desired topics," which is the key risk here: a naive agent might copy this template verbatim and wipe topics not in this example (e.g., sqlite, mcp, language-specific tags). The instruction to fetch existing topics first (via gh api ... --jq '.topics') is already there, but the example command should reinforce "this replaces all topics" more prominently — or at minimum note that the agent must include all currently active topics, not just the ones in the example.

3. Minor wording: "no PR entry" vs "record in PR description" (line 210)

The note says Record any changes made in the PR description so reviewers know what was updated. — this is good, but it directly follows the sentence they don't require a commit or a PR entry, making the two sentences appear to contradict. Suggest changing the first sentence to: "these changes don't require a commit," and dropping "or a PR entry."


Phase 5: Backlog Compliance

  • Zero-dep: ✓ — no new npm dependencies
  • Foundation-aligned: ✓ — modifies only the release skill (a .claude/ workflow artifact); no cloud API calls, no new infrastructure
  • Problem-fit: 2/5 — the "about" text check is useful operational hygiene, but it doesn't reduce token waste, prevent hallucinated dependencies, or catch blast-radius breakage. It's squarely in "nice-to-have maintenance" territory. That said, it belongs in the release skill regardless of problem-fit score.
  • Breaking: No — purely additive to a skill file; no CLI surface, no API contract, no DB schema changes
  • Tier: 1

Final Assessment

## Root Cause Analysis
Problem Being Solved: Repo "about" metadata could silently drift during releases
Why This Approach: Minimal — adds gh api commands to existing README review step
Risk Assessment: Very low — skill-only change, no source code touched

## Backlog Compliance
- Zero-dep: ✓
- Foundation-aligned: ✓
- Problem-fit: 2 — operational hygiene, tangential to the core AI navigation problem
- Breaking: No
- Tier: 1

## Critical Concerns
None — but two wording issues should be fixed before merge:
1. Line 210 says "no PR entry needed" while Step 7 says to record changes in the PR description — contradictory. Fix: remove "or a PR entry" from line 210.
2. The PUT /topics example command should note more prominently that it replaces ALL topics, to prevent an agent from silently wiping unlisted ones.

## Final Recommendation
- Rating: ⭐⭐⭐☆☆ (3/5)
- Action: APPROVE WITH CONDITIONS
- Reasoning: The change is correct in intent and low risk. The two wording inconsistencies (especially the "no PR entry" contradiction) are small but could cause an agent following the skill to silently omit recording "about" changes in the PR body, defeating half the purpose. Fix those before merging.

@greptile-apps

greptile-apps Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR extends the /release skill to include a GitHub repository "about" metadata review (description, homepage, topics) in Step 5 alongside the existing README check, and updates the Step 7 PR body template with corresponding checklist items and a structured placeholder for recording any "about" changes.

  • Step 5 is split into a README.md sub-section (unchanged content) and a new Repo "about" text sub-section with gh api fetch, review checklist, and PATCH/PUT update commands; full-replace semantics for the topics PUT are explicitly called out via comment lines.
  • Step 7 PR body template gains a freeform Repo "about" updated: bullet (with an HTML placeholder) and two new Test plan checklist items, giving agents a structured place to record metadata changes and confirm the cross-checks ran.

Confidence Score: 5/5

Safe to merge — the change is purely additive instructions in a skill document with no runtime code paths.

The diff touches only a Markdown skill document. The new 'about' sub-step follows a clean fetch-review-update pattern, the atomic-replace warning for the topics PUT is explicit, and the PR body template now has a structured placeholder for recording metadata changes. No gaps or conflicting instructions were found.

No files require special attention.

Important Files Changed

Filename Overview
.claude/skills/release/SKILL.md Adds a well-structured 'Repo about text' sub-step to Step 5 with fetch → review → update commands and appropriate atomic-replace warnings; Step 7 PR template gains a placeholder bullet and two checklist items. No logic errors or gaps found.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Step 5: Update README.md\nand repo about text] --> B[README.md sub-step]
    A --> C[Repo about text sub-step]
    B --> B1[Check commands/MCP tables]
    B --> B2[Check roadmap section]
    B --> B3[Roadmap ordering cross-check\nvs ROADMAP.md]
    C --> C1["gh api GET\nfetch description, homepage, topics"]
    C1 --> C2{Any field stale?}
    C2 -->|description / homepage| C3["gh api PATCH\n-f description=... -f homepage=..."]
    C2 -->|topics| C4["gh api PUT /topics\nstart from fetched list,\nadd/remove as needed"]
    C2 -->|nothing stale| C5[No API call needed]
    C3 --> C6[Record changes\nin PR description]
    C4 --> C6
    C5 --> C6
    B3 --> D[Step 7: Create PR]
    C6 --> D
    D --> D1["PR body includes:\n- Repo about updated: placeholder\n- README roadmap order matches ROADMAP.md\n- Repo about description and topics are current"]
Loading

Reviews (5): Last reviewed commit: "Merge branch 'main' into chore/release-s..." | Re-trigger Greptile

Comment on lines +199 to +209
```bash
# Update description and/or homepage
gh api --method PATCH repos/optave/ops-codegraph-tool \
-f description="NEW DESCRIPTION" \
-f homepage="https://..."

# Update topics (replaces the full list — include all desired topics)
gh api --method PUT repos/optave/ops-codegraph-tool/topics \
-f "names[]=cli" -f "names[]=code-analysis" -f "names[]=dependency-graph" -f "names[]=tree-sitter"
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Full-replace semantics not reinforced before the example command

PUT /repos/{owner}/{repo}/topics replaces the complete topics list atomically. The inline note says "replaces the full list — include all desired topics," but the example command only enumerates four topics. An agent that uses the example as a near-literal template (rather than building the list from the fetched topics in the earlier gh api call) would silently drop any topics not in that hardcoded example. Prefacing the command with an explicit instruction to start from the fetched list — e.g., "Merge the fetched topics with any additions/removals before running the PUT; do not rely on the example list below" — would prevent accidental topic loss.

Fix in Claude Code

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — added two comment lines before the PUT example making the full-replace semantics explicit: 'start from the fetched list above, then add/remove as needed' and 'This PUT replaces ALL topics atomically; do NOT copy the example below verbatim — build the full list from the currently active topics first, then adjust.'

@carlos-alm

Copy link
Copy Markdown
Contributor Author

Addressed Claude's review feedback:

  • Issue 1 (line 210 contradiction): Removed "or a PR entry" from the note, so it now reads "they don't require a commit" — no longer contradicts Step 7's instruction to record changes in the PR description.
  • Issue 2 (PUT /topics example): Added explicit comment lines before the example command: 'start from the fetched list above, then add/remove as needed' and 'This PUT replaces ALL topics atomically; do NOT copy the example below verbatim — build the full list from the currently active topics first, then adjust.'
  • Issue 3 (PR template placeholder): Added a structured bullet in the PR body Summary block: '- Repo "about" updated: ' so agents have a designated place to record what was changed.

@carlos-alm

Copy link
Copy Markdown
Contributor Author

@greptileai

@carlos-alm

Copy link
Copy Markdown
Contributor Author

@claude

@claude

claude Bot commented Jun 10, 2026

Copy link
Copy Markdown

Claude finished @carlos-alm's task —— View job


Re-review: chore(skills): review README and repo about text on every release

  • Gather context
  • Read SKILL.md to verify the three fixes
  • Post final assessment

All three issues from the original review are correctly resolved:

Issue 1 — Line 210 contradiction
Line 212 now reads: "they don't require a commit" — the contradictory "or a PR entry" phrase has been removed. No longer conflicts with Step 7's instruction to record changes in the PR description.

Issue 2 — PUT /topics full-replace semantics
Lines 205–207 now contain two explicit comment lines before the example command:

# Update topics — start from the fetched list above, then add/remove as needed.
# This PUT replaces ALL topics atomically; do NOT copy the example below verbatim —
# build the full list from the currently active topics first, then adjust.

This directly addresses the risk of an agent silently wiping unlisted topics by copying the example verbatim.

Issue 3 — PR template placeholder for "about" changes
Line 245 now has a structured bullet in the Summary block:

- Repo "about" updated: 

Agents have a designated, structured place to document exactly what changed (or confirm nothing changed).


Final Assessment

All feedback addressed. The skill is now internally consistent — Step 5's note, Step 7's PR creation instruction, and the PR body template all agree on the expected behavior. The full-replace warning for PUT /topics is now prominent enough to prevent accidental topic loss.

Rating: ✓ Ready to merge

@carlos-alm carlos-alm merged commit c9e2ed3 into main Jun 10, 2026
22 checks passed
@carlos-alm carlos-alm deleted the chore/release-skill-about-text branch June 10, 2026 06:42
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant