From open-source
Open-source pull request creation: PR descriptions, titles, fork workflows, and contribution compliance. Invoke whenever task involves any interaction with pull requests for external repositories — contributing code, opening PRs from forks, writing PR descriptions, or preparing changes for upstream submission.
npx claudepluginhub xobotyi/cc-foundry --plugin open-sourceThis skill uses the workspace's default tool permissions.
**Every PR is a proposal to a stranger's codebase. Respect their time, follow their rules, prove your change deserves to
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Every PR is a proposal to a stranger's codebase. Respect their time, follow their rules, prove your change deserves to exist.
Agent-generated PRs are rejected more often than human PRs — not because the code is wrong, but because they lack context, violate implicit norms, and burden maintainers with unnecessary review work. This skill exists to prevent that.
${CLAUDE_SKILL_DIR}/references/pr-descriptions.md Full description anatomy:
summary/body/metadata structure, templates, anti-patterns, scaling description depth to change size${CLAUDE_SKILL_DIR}/references/agent-pr-quality.md Why agent PRs get rejected: seven
agent-only failure modes, measurable quality gaps, implicit knowledge problem, trust-building signals${CLAUDE_SKILL_DIR}/references/fork-workflow.md Fork setup, branch discipline, upstream sync,
pre-submission cleanup, gh CLI submission, review response protocol${CLAUDE_SKILL_DIR}/references/contribution-compliance.md CLAs, DCOs, project
guideline discovery, AI contribution transparencyBefore writing any code or opening any PR, complete these checks. Skipping preparation is the primary cause of rejected contributions.
CONTRIBUTING.md — it is authoritative. Follow every instruction it contains.README.md for project vision, scope, and setupCODE_OF_CONDUCT.md if present.github/pull_request_template.md) — you must use it.editorconfig, formatting toolsSigned-off-by trailer to every commit (git commit -s)The title is the first thing a reviewer reads. It determines whether they engage now, later, or never.
Rules:
Calibration examples:
If the project uses conventional commits for PR titles:
fix(auth): resolve session expiry race condition
feat(api): add rate limiting to public endpoints
docs(readme): update installation instructions for v3
The description is a permanent record. It must communicate what changed and why — not just repeat the diff.
For detailed description structure, templates, and scaling guidance, read
${CLAUDE_SKILL_DIR}/references/pr-descriptions.md.
When contributing to a repository you do not have write access to:
upstream remote pointing to the originalFor complete fork mechanics and gh CLI commands, read ${CLAUDE_SKILL_DIR}/references/fork-workflow.md.
Do not create the pull request until the user explicitly approves it. After completing the pre-submission checklist,
present the full draft to the user — title, description, target repository, base branch, and any labels. Wait for
explicit approval before executing the gh pr create command or any equivalent action. The user may request changes,
and you iterate until approved.
This gate exists because pull requests are public, affect real maintainers, and represent the user's reputation. An agent submitting PRs without human review is the exact behavior that causes maintainer distrust.
When the target project is on GitHub, use gh for PR creation:
# Check for existing PRs and issues first
gh search prs --repo OWNER/REPO "keywords" --state all
gh search issues --repo OWNER/REPO "keywords" --state all
# Create PR from fork
gh pr create \
--title "Fix login timeout on slow connections" \
--body "$(cat pr-description.md)" \
--base main
# Create draft PR for early feedback
gh pr create --draft --title "[WIP] Add rate limiting" --body "..."
# Check CI status after submission
gh pr checks
For non-trivial changes, open a draft PR early — before the work is complete. This gets feedback on approach before you invest heavily, and signals to maintainers that you're working on the problem.
AI agents producing PRs must apply extra rigor to avoid the failure patterns that cause maintainer distrust.
For detailed rejection data, failure modes, and trust-building strategies, read
${CLAUDE_SKILL_DIR}/references/agent-pr-quality.md.
Scenario: You fixed a bug where the login button becomes unresponsive on Safari when Content Security Policy headers are strict. Issue #247 reported the problem.
Preparation:
fix(scope): format, descriptions use the project template.git commit -s on all commits.Title: fix(auth): resolve login button unresponsive on Safari with strict CSP
Description:
## What
Fix login button click handler failing silently on Safari when
Content-Security-Policy headers block inline event handlers.
Closes #247.
## Why
Safari enforces CSP `script-src` more strictly than Chrome/Firefox
for dynamically attached event listeners. The login handler used
`setAttribute('onclick', ...)` which Safari blocks under strict CSP.
## How
Replace `setAttribute('onclick', ...)` with `addEventListener('click', ...)`
in the auth module. This is CSP-compliant across all browsers.
See also #201 (different Safari auth issue, confirmed unrelated).
## Testing
- Added integration test: login flow with strict CSP headers (Safari UA)
- Verified existing auth tests pass
- Manual test on Safari 17.2, Chrome 120, Firefox 121
## Trade-offs
None — `addEventListener` is strictly better here. No behavioral change
for Chrome/Firefox users.
Before opening the PR, verify: