-
Notifications
You must be signed in to change notification settings - Fork 2.7k
feat: Add Claude Agent Skills for automated PR descriptions and docstrings #4607
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughAdds two new skill documentation files: a Google-style Python docstring generator and a LiveKit-style PR description generator. Both are Markdown docs containing usage, templates, formatting examples, and guidelines. No code or public API changes were made. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. 📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
✏️ Tip: You can disable this entire section by setting Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In @.claude/skills/docstring/SKILL.md:
- Line 6: Update the SKILL.md description to clarify that pdoc3 does not
automatically interpret Google-style docstrings unless configured: state that
users must pass the CLI flag `--docformat google` or include a module-level
declaration `__docformat__ = "google"` (or recommend adding that declaration) so
sections like `Args:` render correctly; mention pdoc3 and Google-style
docstrings explicitly and suggest adding the module-level declaration as the
recommended option.
In @.claude/skills/pr-description/SKILL.md:
- Line 37: Update the guideline line that currently reads "Run `ruff check
--fix` and `ruff format` before finalizing" in
.claude/skills/pr-description/SKILL.md to clarify scope by either appending "for
Python changes" or replacing it with a reference to CONTRIBUTING.md (e.g., "see
CONTRIBUTING.md for language-specific formatters") so the ruff requirement only
applies to Python changes; locate the exact string "Run `ruff check --fix` and
`ruff format` before finalizing" in SKILL.md and make the wording change
accordingly.
🧹 Nitpick comments (2)
.claude/skills/docstring/SKILL.md (2)
41-43: Inconsistent section naming: "Example" vs "Examples".Line 41 shows
Example:(singular) in the format template, while Line 67 mentions "Examples section" (plural) in the guidelines. Google-style docstrings typically useExamples:(plural) even for a single example.📝 Proposed fix for consistency
- Example: + Examples: >>> function_name("hello", 42) TrueOr update the guideline to match:
-- Add Examples section for complex functionality +- Add Example section for complex functionalityRecommend using the plural form
Examples:as it's more commonly seen in Google-style docstrings.Also applies to: 67-67
64-64: Clarify imperative mood guideline scope.The guideline states "Use imperative mood ('Return' not 'Returns')" but this applies specifically to the first summary line, not to section descriptions. In the
Returns:section itself, descriptive text (e.g., "Description of return value") is appropriate, as shown correctly in the example.📝 Proposed clarification
-- Use imperative mood ("Return" not "Returns") +- Use imperative mood for the first line ("Return" not "Returns")
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.claude/skills/docstring/SKILL.md.claude/skills/pr-description/SKILL.md
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
Repo: livekit/agents PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-16T07:44:56.353Z
Learning: Applies to **/*.py : Use Google-style docstrings
📚 Learning: 2026-01-16T07:44:56.353Z
Learnt from: CR
Repo: livekit/agents PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-16T07:44:56.353Z
Learning: Applies to **/*.py : Use Google-style docstrings
Applied to files:
.claude/skills/docstring/SKILL.md
🔇 Additional comments (2)
.claude/skills/docstring/SKILL.md (1)
1-67: Well-structured docstring skill aligned with project standards.The skill documentation is comprehensive and aligns well with the retrieved learning that specifies using Google-style docstrings for Python files. The format examples are clear, and the guidelines provide good guidance for documentation quality.
Based on learnings, this adheres to the project's requirement to use Google-style docstrings.
.claude/skills/pr-description/SKILL.md (1)
36-36: CONTRIBUTING.md path is valid. The file exists at the repository root as referenced in the guideline, so the absolute path/CONTRIBUTING.mdis correct.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
|
Hey team! 👋 Just wanted to add some context here. I've also opened an RFC issue (#4608) that provides a broader proposal for Agent Skills in this repo. This PR is a minimal first step: just The RFC (#4608) proposes more comprehensive skills like Happy to iterate on either based on your feedback. Thanks for considering! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In @.claude/skills/docstring/SKILL.md:
- Around line 12-15: The fenced code block containing the commands "/docstring
ClassName" and "/docstring path/to/file.py" lacks a language tag; update the
opening triple-backticks to include a language (for example use "text" or
"bash") so the block reads like "```text" to satisfy Markdownlint MD040 and
remove tooling noise.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.claude/skills/docstring/SKILL.md.claude/skills/pr-description/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (1)
- .claude/skills/pr-description/SKILL.md
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
Repo: livekit/agents PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-16T07:44:56.353Z
Learning: Applies to **/*.py : Use Google-style docstrings
📚 Learning: 2026-01-16T07:44:56.353Z
Learnt from: CR
Repo: livekit/agents PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-01-16T07:44:56.353Z
Learning: Applies to **/*.py : Use Google-style docstrings
Applied to files:
.claude/skills/docstring/SKILL.md
🪛 markdownlint-cli2 (0.18.1)
.claude/skills/docstring/SKILL.md
12-12: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
Summary
Add Claude Agent Skills to automate repetitive developer workflows.
What are Agent Skills?
Skills are
.claude/skills/<name>/SKILL.mdfiles that provide Claude with project-specific instructions for common tasks. They're gaining significant traction in the AI developer tools space (see: Pipecat, Vercel Labs).Added Skills
pr-description: Generates consistent, high-quality PR descriptions following LiveKit conventions.docstring: Generates Google-style docstrings compatible with pdoc3.Why?
Inspired by Pipecat's implementation and recent discussions in the AI developer community.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.