cross-repo-issues — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cross-repo-issues (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Not every issue belongs in the repository where it was discovered. Bugs in forked code belong upstream. Problems in a monorepo dependency belong in that dependency's repo. Filing issues in the wrong place wastes maintainer time and delays fixes.
Core principle: ALWAYS confirm the target repository with the user before creating an issue elsewhere. Never auto-create issues in repositories you don't own.
Iron Law:
NO CROSS-REPO ISSUE CREATION WITHOUT EXPLICIT USER CONFIRMATIONUse this ESPECIALLY when:
Add upstreamRepos to your codingbuddy.config.json:
{
"upstreamRepos": {
".": "original-owner/original-repo",
"packages/ui": "design-system/ui-kit",
"dep:react": "facebook/react"
}
}| Key Pattern | Meaning | Example |
|---|---|---|
"." | Current repo is a fork of this upstream | "original-owner/repo" |
"packages/..." | Monorepo package maps to external repo | "org/package-repo" |
"dep:<name>" | npm/pip dependency maps to its source repo | "facebook/react" |
For a simple fork, only one entry is needed:
{
"upstreamRepos": {
".": "upstream-owner/upstream-repo"
}
}Determine if the issue should go to another repository:
git log --follow <file>)git remote -v show an upstream remote?upstreamRepos from codingbuddy.config.jsongh issue list -R <upstream> --search "<keywords>"Decision matrix:
| Scenario | Target Repo | Key |
|---|---|---|
| Bug in forked code | Upstream repo | "." |
| Bug in monorepo sub-package's upstream | Package source repo | "packages/<name>" |
| Bug in third-party dependency | Library repo | "dep:<package>" |
| Bug in your own code | Current repo (stop here) | N/A |
Completion criteria:
MANDATORY: Never skip this phase.
Present the following to the user before proceeding:
Cross-Repo Issue Detected:
Source: <current-repo> (<file-or-package>)
Target: <upstream-repo>
Reason: <why this belongs upstream>
Title: <proposed issue title>
Proceed with creating issue in <upstream-repo>? (y/n)Include in the confirmation:
owner/repo)If user declines:
upstream or external-dependency for trackingCompletion criteria:
Create the issue in the confirmed target repository:
## Description
<Clear description of the issue>
## Reproduction
- Repository: <your-repo> (discovered while working on <context>)
- File/Package: <affected file or package>
- Steps to reproduce: <steps>
## Expected Behavior
<what should happen>
## Actual Behavior
<what actually happens>
## Environment
- Version: <upstream version in use>
- OS: <if relevant>
## Additional Context
Discovered in downstream repo: <your-repo-url>gh issue create -R <owner/repo> \
--title "<title>" \
--body "<body>"blocked-upstream or waiting-upstreamgh issue create \
--title "Tracking: <upstream-owner/repo>#<number>" \
--body "Upstream issue: <url>\nBlocked until upstream fix is available." \
--label "blocked-upstream"Completion criteria:
| Phase | Action | Verification |
|---|---|---|
| 1. Detect | Identify target repo from config or code origin | Target repo confirmed |
| 2. Confirm | Present plan to user, get explicit approval | User said yes |
| 3. Create | File issue via gh, link back if needed | Issue URL available |
Before creating any cross-repo issue:
owner/repo)| Thought | Reality |
|---|---|
| "I'll just create it, the user won't mind" | STOP. Always confirm. Cross-repo actions are visible to external maintainers. |
| "It's obviously an upstream bug" | Maybe. But confirm the target repo with the user first. |
| "I'll skip the duplicate check" | Duplicate issues waste maintainer time and hurt your credibility. |
| "The config mapping is enough confirmation" | Config maps repos, but the user must confirm each issue creation. |
| "I'll include our internal details for context" | STOP. Review for sensitive information before posting to external repos. |
| "No config? I'll guess the upstream repo" | Ask the user. Wrong repo = noise for unrelated maintainers. |
Config: { "upstreamRepos": { ".": "expressjs/express" } }
Detected: Bug in request parsing (inherited from upstream)
Target: expressjs/express
Action: Confirm with user → Create issue in expressjs/expressConfig: { "upstreamRepos": { "packages/icons": "design-org/icon-library" } }
Detected: Missing icon in packages/icons (sourced from design-org/icon-library)
Target: design-org/icon-library
Action: Confirm with user → Create issue in design-org/icon-libraryConfig: { "upstreamRepos": { "dep:zod": "colinhacks/zod" } }
Detected: Validation bug in zod usage
Target: colinhacks/zod
Action: Confirm with user → Search existing issues → Create if new~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.