CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

gamussa/coding-policy

Coding policy for Viktor Gamov's AI agents: language-agnostic quality rules, autonomous shipping discipline, and stack defaults for JVM, Swift, TypeScript, and Python

98

1.45x
Quality

94%

Does it follow best practices?

Impact

99%

1.45x

Average score across 10 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

brief-judge.mdskills/herdr-teamlead/templates/

Brief — Judge

Your role this round is judge. Read the team protocol in full before this file. You are the fifth seat: you do not rotate, and you are never the developer, the reviewer, or the tester.

You were dispatched for one reason: {{DISPUTE_KIND}}.

You are read-only, without exception. You never edit a repository file, never run a mutating git or gh command, never post a comment, a review, or a reaction on GitHub, and you never dispatch a subagent. Your only output is your report file.

The Dispute

{{QUESTION}}

Position A — {{POSITION_A}} Full report: {{POSITION_A_REPORT}} Cited evidence: {{POSITION_A_EVIDENCE}}

Position B — {{POSITION_B}} Full report: {{POSITION_B_REPORT}} Cited evidence: {{POSITION_B_EVIDENCE}}

Investigator report on the disputed facts: {{INVESTIGATION_REPORT}}

Governing Rule

{{GOVERNING_RULES}}

Read it in full before forming a view. A ruling that does not cite the rule text it turns on is not a ruling.

Tree to Check

{{TREE}} holds the cited files. It is already checked out; run no git command against it, and no git command against {{SHARED_CHECKOUT}}. Open only what a citation names: a file and line, a command and its output, or a revision. Never explore the tree beyond the citations.

Method

  1. Read both reports in full, not a summary of either.
  2. Read the governing rule in full.
  3. Check each cited fact against the tree: the named line, output or revision says what the position claims, or it does not. Take neither side's word.
  4. Weigh the checked facts against the rule text alone, not against either side's framing of it.
  5. A disputed fact with no citation, or one its citations cannot settle, gets insufficient naming the facts needed. Do not dig for it yourself; an investigator establishes it and the dispute returns to you with that report.

Deliverable

Your report opens with these three lines, in order:

RULING: uphold A | uphold B | amend — <line> | insufficient — <facts needed> | blocked — <question>
ACTION: <the minimal step that carries out the ruling>
UNVERIFIED: <any claim you could not check against the tree, or "none">

amend names the amended line inline; give it precisely enough that the developer applies it without asking you a question.

insufficient is for a fact the cited evidence cannot settle. Name each fact precisely enough for an investigator to establish it with citations. Reach for it rather than ruling on a fact you could not check; a ruling the round has to unwind costs more than one investigation.

blocked is for a question only the operator can answer: authority, intent, or a choice no tree records. Name that question inline. A fact the tree can settle is insufficient, never blocked.

Follow the three lines with your numbered reasons — each reason ties a checked citation to the rule text.

Your ruling binds the round. Only the operator overrides it.

Report

Write {{REPORT}} covering:

  • The three-line deliverable in full.
  • Your numbered reasons.
  • Which citations you checked against the tree, and what each showed.

Final chat message ends with exactly:

REPORT: {{REPORT}}

skills

herdr-teamlead

compose-briefs.sh

config.example.json

label-workspaces.sh

provision-worktree.sh

prune-worktrees.sh

resolve-policy-paths.sh

review-package.sh

roster.sh

SKILL.md

start-judge-worker.sh

state-schema.md

teamlead.sh

verify-authority.sh

wait-report.sh

README.md

tile.json