General-purpose coding policy for Baruch's AI agents
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Process steps in order. Do not skip ahead.
Classify a referenced pull request and, when it comes from a fork, adopt its branch into the base repo as a same-repo PR the policy reviewer can run on.
Resolve origin's repository first; every gh pr call in this skill names it, never gh's own default (gh repo set-default).
KS=.tessl/plugins/jbaruch/coding-policy/skills/release/; [ -d "$KS" ] || KS="$HOME/$KS"; [ -d "$KS" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) KS=skills/release/ ;; *) echo "coding-policy skill not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
python3 "$KS/origin-repo.py" .Contract: see skills/release/origin-repo.py — top-of-file docstring. Emits { "repo", "owner", "name" }. A non-zero exit means origin is not a GitHub repository this skill can act on: report its stderr diagnostic and finish here.
Run gh pr view <N> --repo <repo> --json number,isCrossRepository,headRefName,headRepositoryOwner,headRepository,author,title,url,state, with <repo> from that output.
isCrossRepository: false — same-repo PR. Proceed to Step 2.isCrossRepository: true — fork PR. Proceed to Step 3.The policy reviewer already covers same-repo PRs. Report the PR's review and check status from gh pr view <N> --repo <repo> --json reviewDecision,statusCheckRollup and finish here. Do not create branches, push, or open duplicate PRs.
Tell the user PR #N comes from fork <headRepositoryOwner.login>/<headRepository.name> and that the policy reviewer's fork-guard skips it. Proceed immediately to Step 4.
Ask with AskUserQuestion:
On Just inspect, report the diff and status, passing --repo <repo> to every gh pr call, then finish here. On Adopt for review, proceed to Step 5.
The block resolves KS to the project-local adopt-fork-pr skill, then that
skill under $HOME, then skills/adopt-fork-pr in a verified coding-policy
clone. Other origins stop with the install command.
KS=.tessl/plugins/jbaruch/coding-policy/skills/adopt-fork-pr/; [ -d "$KS" ] || KS="$HOME/$KS"; [ -d "$KS" ] || case "$(git config --get remote.origin.url)" in git@github.com:jbaruch/coding-policy|git@github.com:jbaruch/coding-policy.git|https://github.com/jbaruch/coding-policy|https://github.com/jbaruch/coding-policy.git|ssh://git@github.com/jbaruch/coding-policy|ssh://git@github.com/jbaruch/coding-policy.git) KS=skills/adopt-fork-pr/ ;; *) echo "coding-policy skill not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$KS/adopt.sh" <N>Contract: see skills/adopt-fork-pr/adopt.sh — top-of-file docstring carries the branch-naming rule, the verbatim new-PR-body and original-PR-comment templates, the idempotency states, and the exit codes. It checks out the fork head, pushes it to a base-repo branch preserving the original commits, opens a same-repo PR, and comments on the original fork PR linking the adopted one. Emits { "state", "adopted_branch", "new_pr_url", "original_pr", "author" }.
Report the adopted PR URL. The original fork PR is left open with a pointer comment — the contributor closes it on their own. From here it is an ordinary same-repo PR: the policy reviewer runs and you merge through your normal flow. Finish here.
.tessl-plugin
rules
skills
migrate-to-plugin
onboard-repo
release
hooks
references