General-purpose coding policy for Baruch's AI agents
73
91%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
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).
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || 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) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
python3 "$CP/skills/release/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 CP to the project-local plugin, falling back to
$HOME/.tessl/plugins/jbaruch/coding-policy, then to . in a coding-policy
clone, and stops with an install instruction anywhere else.
CP=.tessl/plugins/jbaruch/coding-policy; [ -d "$CP" ] || CP="$HOME/$CP"; [ -d "$CP" ] || 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) CP=. ;; *) echo "coding-policy plugin not found: run tessl install jbaruch/coding-policy" >&2; exit 1 ;; esac
bash "$CP/skills/adopt-fork-pr/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
hooks
rules
skills
adopt-fork-pr
herdr-foreman
classify
foreman
references
templates
tests
herdr-standup
migrate-to-plugin
onboard-repo
release
references
tests