Skip to content

skills: github-project-status auto-detect, pr-feedback-review companion auth, new introduce-reuse-compliance#3

Merged
yarikoptic merged 8 commits intomasterfrom
enhs
Apr 29, 2026
Merged

skills: github-project-status auto-detect, pr-feedback-review companion auth, new introduce-reuse-compliance#3
yarikoptic merged 8 commits intomasterfrom
enhs

Conversation

@yarikoptic
Copy link
Copy Markdown
Member

Summary

Four small enhancements across existing and new skills:

  • cfcc911 github-project-status: derive repo from git remote when no arg given
    when the skill is invoked without an argument, pick the upstream repo from
    git remote -v (priority: upstreamorigin → first GitHub remote),
    handling both HTTPS and SSH URL forms.

  • 2bab6d4 pr-feedback-review: add companion-account auth and red/green fix workflow
    add AI_COMPANION_TOKEN_FILE config (default ~/.claude/gh-token) so reply
    scripts can post as a dedicated bot account; switch the actionable-comment
    workflow to a red/green TDD loop (failing test → minimal fix → run suite →
    commit, with the SHA quoted in the reply); update Step 9 prompt accordingly.

  • 7374281 + 5ada2e1 — add a new introduce-reuse-compliance skill (migrated
    from ~/.claude/commands/reuse-compliance.md) covering REUSE.toml /
    LICENSES/ / SPDX setup, BIDS data-vs-code separation, DUO ontology codes,
    DEP-3 patch tagging for vendoring repos, and tox / pre-commit / Makefile /
    GHA integration. Named to match the existing introduce-* family.

yarikoptic and others added 8 commits April 7, 2026 13:04
New skill that scans codebases and documentation for duplicated content
using jscpd (token-based detection). Produces a consolidated Markdown
report with an overview table, collapsible per-cluster details showing
the duplicated fragments, and inline mediation recommendations
(difficulty rating + refactoring strategy). Also generates an
interactive HTML report via @jscpd/html-reporter.

Includes generate-report.py helper that converts jscpd JSON output into
the GitHub/Gitea-friendly report format.

Co-Authored-By: Claude Code 2.1.92 / Claude Opus 4.6 <noreply@anthropic.com>
- Use .tmp/ in the scanned project instead of /tmp/ for intermediate
  output (jscpd JSON, HTML reports)
- Use "C" instead of "#" as the cluster column header to avoid GitHub
  auto-linking to issues/PRs
- File references in cluster details are now hyperlinks to the file on
  the tracked remote (e.g., GitHub blob URL with line anchors)
- Auto-detects repo URL and branch from git remote; also accepts
  --repo-url, --branch, --scan-path overrides

Co-Authored-By: Claude Code 2.1.92 / Claude Opus 4.6 <noreply@anthropic.com>
- SKILL.md: don't blindly ignore build/ and dist/ — check if they're
  git-tracked first; find and ignore symlinks to avoid false positives
- classify_cluster: detect asset files (SVG, images, fonts) and suggest
  keeping one copy + symlink/reference
- Overview table: when two files share the same basename but live in
  different directories, show parent/file (e.g., configure-domain/SKILL.md
  / configure-domain/SKILL.md) to distinguish copies across build/dist

Tested on smestern/sciagent which has diverged skill copies across
build/, dist/, and templates/ directories.

Co-Authored-By: Claude Code 2.1.92 / Claude Opus 4.6 <noreply@anthropic.com>
Add a %file column to the overview table showing what percentage of
the smaller involved file is covered by the clone. This distinguishes
full-file copies (100%) from partial overlaps (e.g., 29%), making it
immediately clear which clusters are diverged copies vs shared snippets.

For clusters where %file >= 50%, the detail summary also shows
"N% of file" inline.

Co-Authored-By: Claude Code 2.1.92 / Claude Opus 4.6 <noreply@anthropic.com>
Adds a "no argument" code path: run `git remote -v` and pick upstream by
priority (`upstream` -> `origin` -> first GitHub remote), extracting
`owner/repo` from either HTTPS or SSH URL forms. Lets the skill be
invoked from inside a checkout without retyping the slug.

Co-Authored-By: Claude Code 2.1.123 / Claude Opus 4.7 <noreply@anthropic.com>
…flow

- Add AI_COMPANION_TOKEN_FILE config (default `~/.claude/gh-token`) so
  reply scripts can post as a dedicated bot account (e.g.
  `yarikoptic-gitmate`) instead of the user's personal account. Reply
  scripts source the token file and print the posting account for
  verification.
- For [ADDRESSED] comments, prescribe a red/green TDD loop: extend a
  failing test, apply the minimal fix, run the suite, commit, and
  reference the commit SHA in the reply so reviewers can click through.
  Falls back to "propose only" when a fix is too risky to apply
  immediately.
- Update Step 9 prompt to reflect that fixes are committed earlier and
  the remaining decision is whether to push and post replies.

Co-Authored-By: Claude Code 2.1.123 / Claude Opus 4.7 <noreply@anthropic.com>
Move the REUSE-compliance helper out of `~/.claude/commands/` into a
proper skill in this repo so it can be shared (and symlinked to
`~/.claude/skills/`) like the other CON skills.

Content is preserved from the original command, with two adjustments:
- Skill-format frontmatter (`name`, `allowed-tools`, `user-invocable`)
  with a more discovery-friendly description listing concrete trigger
  scenarios.
- Added a "When to Use" section and a "Commit Co-Authorship" section
  matching the convention used by introduce-codespell and friends.

The proposed-structure example no longer mentions a `.reuseignore` file
(REUSE 3.x deprecated it; the body of the skill already explains this
and recommends `.gitignore` instead).

Co-Authored-By: Claude Code 2.1.123 / Claude Opus 4.7 <noreply@anthropic.com>
Match the `introduce-*` naming used by the other "set this up in a
project" skills (introduce-codespell, introduce-git-bug,
introduce-mailmap). Updates the directory, the `name:` field in the
frontmatter, the heading, the example slash-command in "When to Use",
and the README entry (also re-sorted into its alphabetical slot).

The `~/.claude/skills/` symlink is repointed locally; not part of this
commit.

Co-Authored-By: Claude Code 2.1.123 / Claude Opus 4.7 <noreply@anthropic.com>
@yarikoptic
Copy link
Copy Markdown
Member Author

yarikoptic commented Apr 29, 2026

somehow claude missed that apparently we didn't even have /analyze-duplicates skill here yet! another important one I expect to use across board is the /introduce-reuse-compliance. A fresh sample of running this skill (before renaming to gain introduce- prefix:

@yarikoptic
Copy link
Copy Markdown
Member Author

not yet sure what workflow for contributions here should be -- first we need to make others reuse/share skills I guess. So I will proceed with the merge for now, but let's discuss/centralize if possible/feasible

@yarikoptic yarikoptic merged commit 6fe5e0f into master Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant