Skip to content

Add analyze-innersource-video Claude Code skill - #925

Open
rrrutledge wants to merge 6 commits into
InnerSourceCommons:mainfrom
rrrutledge:add-analyze-innersource-video-skill
Open

Add analyze-innersource-video Claude Code skill#925
rrrutledge wants to merge 6 commits into
InnerSourceCommons:mainfrom
rrrutledge:add-analyze-innersource-video-skill

Conversation

@rrrutledge

Copy link
Copy Markdown
Contributor

Summary

Checks in a Claude Code skill (.claude/skills/analyze-innersource-video/SKILL.md) that's been living only on one contributor's machine until now, despite already being used to produce a real merged PR (#909, Thales Group Known Instance).

The skill takes a YouTube URL of an InnerSource Commons talk and:

  • Fetches the transcript and video metadata (title, uploader, description - often the only source for the speaker's organization)
  • Surveys this repo's existing pattern patlets for thematically adjacent patterns
  • Categorizes the talk's content into Known Instance candidates, clarifications to an existing pattern, or new pattern candidates
  • Applies a "uniquely InnerSource" filter to screen out generic engineering advice that happens to come up in an InnerSource talk but isn't specific to cross-team/cross-org contribution dynamics
  • Always proposes and asks for confirmation before editing any file or opening a PR

Test plan

  • Confirm the skill loads correctly for Claude Code sessions working in this repo
  • Re-run the skill against a new talk and confirm the output format matches what's documented

🤖 Generated with Claude Code

Adds a Claude Code skill that analyzes an InnerSource Commons community
call video against this repo's pattern library: it fetches the talk's
transcript and metadata, surveys adjacent patterns, and categorizes the
talk's content into Known Instance candidates, clarifications to an
existing pattern, or genuinely new pattern candidates - applying a
"uniquely InnerSource" filter to screen out generic engineering advice
that isn't specific to cross-team, cross-org contribution dynamics.

The skill always proposes and asks for confirmation before editing any
pattern file or opening a PR - it never auto-commits. This was already
used manually to produce the Thales Group Known Instance PR (InnerSourceCommons#909); this
commit is the first time the skill itself is checked into the repo
rather than living only on one contributor's machine.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>

### Step 3 — Survey adjacent patterns

Extract every pattern's title + patlet via a small script (write to `.tmp/extract_patlets.py`). Read the resulting file in full — you want the patlet, not just the title, to judge relevance.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

All patterns (title + patlet) should be available in https://github.com/InnerSourceCommons/InnerSourcePatterns/blob/main/README.md#list-of-patterns

Not sure if pointing Claude to this directly would make things easier/faster/cheaper?

(I haven't used Claude myself)

@spier spier added the ⚙️ Type - Meta Improving how we collaborate in this repo is the main focus of this issue / PR label Aug 11, 2026
rrrutledge and others added 2 commits August 11, 2026 16:12
Two corrections per review:

- Step 1 now accepts a transcript handed to it directly (the
  going-forward case: an automated source pulls a Zoom transcript once a
  community call finishes, with no YouTube URL involved at all) as well
  as a YouTube URL to fetch from - the URL-fetch path stays for backlog
  talks and one-off requests.
- Step 8's "one concern per PR" is replaced with "one talk = one PR":
  bundle everything a single talk's analysis found - Known Instances
  across multiple patterns, clarifications, new pattern drafts - into
  one PR, matching how InnerSourceCommons#909 actually added Thales across five patterns
  in a single PR. Only split PRs across genuinely different source talks.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Per review: stop framing this as two parallel input paths ("YouTube URL
or transcript"). The skill takes a transcript - full stop; where it came
from is the caller's concern, not something this document needs to
branch on. YouTube-specific fetch mechanics (youtube-transcript-api,
yt-dlp) stay as a practical note for when a transcript still needs to be
pulled from a video, not as the document's primary framing. Generalizes
metadata field descriptions and "cite the source link" away from
video-specific phrasing, and retitles the output template's "Video
summary" to "Talk summary" to match.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@rrrutledge
rrrutledge marked this pull request as ready for review August 12, 2026 02:39
rrrutledge and others added 3 commits August 12, 2026 08:26
The old guidance ("one talk is one data point, not proof a pattern is
widely applicable") read as a reason to hold back drafting a genuine
new-pattern candidate. But this process only ever sees one talk at a
time, so that standard would mean a new pattern candidate never gets
drafted at all. Checked meta/contributor-handbook.md: maturity level 1
(Initial) has NO validation requirement - it's explicitly for a single
unstructured idea. One instance is what's needed for level 2
(Structured); only 3+ need level 3 (Validated). So the guidance now says
to draft at Initial from one talk, which is exactly what that level is
for - confirmed against Paired Onboarding Sprint (InnerSourceCommons#926), the first
pattern this skill has drafted this way.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Per Sebastian Spier's review: the repo's own README.md already has a
"List of Patterns" section with every pattern's title and patlet, kept
current as patterns are added (spot-checked against the newest merged
pattern - it's there). Reading that one file directly is simpler and
more reliable than writing and running a script to walk the patterns/
directory and regex out each Patlet section.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: Sebastian Spier <github@spier.hu>
…stance

Topical keyword overlap (e.g. 'developer environment') isn't enough - the
GDK/Internal Developer Platform mismatch on InnerSourceCommons#926 happened because a local
dev tool got matched to a pattern about centralized, deployed platforms
purely on theme.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙️ Type - Meta Improving how we collaborate in this repo is the main focus of this issue / PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants