Help us improve
Share bugs, ideas, or general feedback.
From eng
Create a pull request with proper metadata, milestone, and issue linking
npx claudepluginhub postsharp/postsharp.engineering.aiskills --plugin engHow this command is triggered — by the user, by Claude, or both
Slash command
/eng:create-pr [issue numbers to close]The summary Claude sees in its command listing — used to decide when to auto-load this command
# Create Pull Request Create a PR with proper metadata, milestone, and issue linking for Metalama/PostSharp repos. ## Arguments $ARGUMENTS - Optional issue numbers to close (e.g., `1234 1235`) ## Workflow 1. **Commit and push** any remaining changes 2. **Check for breaking changes** compared to `develop/YYYY.N`: - If breaking: add `breaking` label to PR and linked issues - Add comment describing the breaking change 3. **Create PR** targeting `develop/YYYY.N` (NOT default branch): PR body format: **NO test plan section** - tests are verified through CI. 4. **Ass...
/pr-createCreates a GitHub pull request for the current branch with structured description including summary, test plan, and optional issue linkage. Accepts [issue-number] [context].
/pr-createAutomatically creates a draft GitHub Pull Request: analyzes Git changes, fills PR template, auto-selects labels, preserves HTML comments.
/finishCreates a pull request with comprehensive description following repo best practices, loading config, verifying git state, summarizing changes, gathering user input, pushing branch, and opening PR.
/pr-createAnalyzes staged Git changes, generates PR description from template, auto-selects labels, and creates Draft Pull Request. Supports marking ready after CI.
/pr-createAutomatically creates GitHub Draft PR: analyzes Git changes, fills PR template from .github/PULL_REQUEST_TEMPLATE.md, auto-selects up to 3 labels by pattern match, preserves HTML.
/SKILLCreates a GitHub pull request with automated quality validation, security scanning, issue linking, and compliance checks. Accepts optional description or issue reference.
Share bugs, ideas, or general feedback.
Create a PR with proper metadata, milestone, and issue linking for Metalama/PostSharp repos.
$ARGUMENTS - Optional issue numbers to close (e.g., 1234 1235)
Commit and push any remaining changes
Check for breaking changes compared to develop/YYYY.N:
breaking label to PR and linked issuesCreate PR targeting develop/YYYY.N (NOT default branch):
gh pr create --base develop/YYYY.N --title "<title>" --body "<body>"
PR body format:
## Summary
- Bullet points describing key changes
## Breaking Changes (if applicable)
- List new interface members or behavioral changes
## Issues Fixed
- #1226 - Brief description
- #1232 - Brief description
NO test plan section - tests are verified through CI.
Assign to milestone - find latest open YYYY.N.B-suffix:
gh api "repos/metalama/Metalama/milestones?state=all&per_page=100" --jq '.[] | "\(.number) \(.title) - \(.state)"' | grep "YYYY.N" | sort -V
# Assign (use milestone NUMBER)
gh api repos/metalama/Metalama/issues/<PR_NUMBER> -X PATCH -f milestone=<NUMBER>
If no open milestone exists, propose creating one.
Assign to current user:
gh api repos/metalama/Metalama/issues/<PR_NUMBER> -X PATCH -f assignees[]="<username>"
Link issues (workaround for non-default base branch):
# Get PR node ID
PR_ID=$(gh api graphql -f query='{ repository(owner: "metalama", name: "Metalama") { pullRequest(number: <PR_NUMBER>) { id } } }' --jq '.data.repository.pullRequest.id')
# Temporarily change base to release branch (GitHub default), then back - links persist!
gh api graphql -f query="mutation { updatePullRequest(input: { pullRequestId: \"$PR_ID\" baseRefName: \"release/YYYY.N\" }) { pullRequest { id } } }"
gh api graphql -f query="mutation { updatePullRequest(input: { pullRequestId: \"$PR_ID\" baseRefName: \"develop/YYYY.N\" }) { pullRequest { id } } }"
Set project status to "In Review":
# Get project item ID
ITEM_ID=$(gh api graphql -f query='{ repository(owner: "metalama", name: "Metalama") { pullRequest(number: <PR_NUMBER>) { projectItems(first: 10) { nodes { id project { title } } } } } }' --jq '.data.repository.pullRequest.projectItems.nodes[] | select(.project.title == "Development") | .id')
# Set status (In review: 4cc61d42)
gh api graphql -f query="mutation { updateProjectV2ItemFieldValue(input: { projectId: \"PVT_kwDOC7gkgc4A030b\" itemId: \"$ITEM_ID\" fieldId: \"PVTSSF_lADOC7gkgc4A030bzgqb1vQ\" value: { singleSelectOptionId: \"4cc61d42\" } }) { projectV2Item { id } } }"
Trigger TeamCity build: Use /eng:tc-build or ask user.
YYYY.N.B-rc