npx skills add ...
npx skills add microsoft/vscode --skill author-contributions
Identify all files a specific author contributed to on a branch vs its upstream, tracing code through renames. Use when asked who edited what, what code an author contributed, or to audit authorship before a merge. This skill should be run as a subagent — it performs many git operations and returns a concise table.
npx skills add microsoft/vscode --skill author-contributions
When asked to find all files a specific author contributed to on a branch (compared to main or another upstream), follow this procedure. The goal is to produce a simple table that both humans and LLMs can consume.
This skill involves many sequential git commands. Delegate it to a subagent with a prompt like:
Find every file that author "Full Name" contributed to on branch
<branch>compared to<upstream>. Trace contributions through file renames. Return a markdown table with columns: Status (DIRECT or VIA_RENAME), File Path, and Lines (+/-). Include a summary line at the end.
Match the requested person to their exact --author= string. Do not guess — short usernames won't match full display names (resolve via git log or the GitHub MCP get_me tool).
For each commit hash, extract touched files:
Union all results into a set (author_files).
For every commit on the branch (not just the author's), extract renames:
Parse lines with R status to build a map: new_path → {old_paths}.
These are the files that will actually land when the branch merges.
For each file in step 4:
author_files → DIRECTauthor_files → VIA_RENAMEFormat the result as a markdown table:
.py script, run it, then delete it.--author does substring matching but you must verify the right person is matched (e.g., don't match "Joshua Smith" when looking for "Josh S."). Use the GitHub MCP get_me tool or git log output to resolve the correct full name.contrib/chat/ → agentSessions/ → sessions/. The rename map must be walked transitively.After following the process above, run this script to cross-check files touched by an author against the branch diff. You can do this both with an without src/vs/sessions.