本文へ移動
cccskills
無料GitHub で公開

owner-brief

Shape every agent comment as a short typed brief the owner can triage in seconds — 🔴 issue · 💡 proposal · ✅ done · 🔀 choice · 🛠 action · 👀 review — with all the depth collapsed behind it. Enforced by the require-owner-brief hook. Use before posting ANY GitHub comment as an agent, or when asked to "make this shorter", "brief me", "just tell me what I need to do".

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

The owner brief — one line they act on, everything else collapsed

The owner reads these on a phone, holding ~20 async threads. The depth is not the problem and is never cut — the problem is that it arrives as the notification, so every ping costs a full read.

So: lead with a typed brief, collapse the rest. Same comment, same content, different order.

The six types

Pick exactly one. The last three are ask-human's existing shapes — this is one vocabulary, not a parallel system; reach for that skill's templates when the brief is a hold.

typemeanstypical follow-upmay @mention?
🔴Issuesomething is broken or wrongyou decide whether it's worth fixing nowyes
💡Proposala suggestion you can take or dropyes / no / lateryes
✅Donelanded and verifiednothingno
🔀Choicea real fork, needs your pickA / Byes
🛠Actionyou must do something the agent can'tdo it, then commentyes
👀Reviewapprove or reject a diff/preview✅ / lgtm / changesyes

If two apply, pick the one that describes what you need back, not what you did. A bug you already fixed is ✅, not 🔴.

The other half: don't spend a mention on nothing

An @mention is a request for action. Spending one on an FYI teaches the owner to ignore mentions, which costs far more than the notification. The gate refuses a ✅ carrying a live mention.

Where the noise actually came from. Over the last 100 comments, 29 would notify the owner and 17 of those carried no ask at all — their only mention was the mandatory provenance disclaimer, posted from @pmcp's account. It sits in a blockquote, so a reader never sees it, and GitHub notifies anyway. That was 59% of every ping.

So the disclaimer now writes the handle in a code span:

> 🤖 **Claude Code** · interactive agent · posted from `@pmcp`'s account (not Maarten)

It renders identically and does not notify. Backticking it across the templates removes those 17 pings; the 12 that remain are genuine asks.

GitHub notifies for a mention inside a blockquote and inside <details>. Code spans and fenced blocks are the only places it doesn't. So "hide it in the collapsed section" does not make a mention silent — backtick it, or don't write it.

The shape

Visible part ≤700 chars and ≤10 non-empty lines:

🔴 **<one line: what happened>**
> 🤖 <provenance header — its own hook requires this>

**You:** <the single next action — or "nothing, FYI">
**Depth:** <link to the full comment / PR / run / report>

<details><summary>Findings / patch / evidence</summary>

…everything you were about to write, at any length…

</details>

**You:** is the load-bearing line. If you can't state one next action, you don't yet know what you're asking for — work that out before posting.

Say the visible part plainly (the word-choice layer)

Structure is only half. A brief that is the right shape and still full of repo jargon fails just as hard — the owner said so, repeatedly: "i have no idea what you said", "thats unreadable", "this is gibberish to me". The rule is in AGENTS.md (Plain language); here is what it looks like, from real messages this session:

❌ what was written✅ plain
"work the second group down — re-dispatch the tasks, verify/close the stale ones — so the filter converges to just the 8 that are genuinely yours""8 of these aren't really waiting for you — they got the wrong label. Want me to clean them up? yes / no"
"the sweep will tag the nine stranded PRs status:needs-merge for one-click merging""nine finished PRs will show up needing one tap to merge"
"#2095 keeps it that way going forward"(cut it — the owner doesn't run the plumbing)
"re-dispatch the task to the pipeline""hand it back to run again"

The pattern in every miss: naming the mechanism (the sweep, the filter, the label, the issue number) instead of the outcome (what the owner sees or does). Read the visible part aloud as if to someone who's never seen this repo; any phrase that needs a footnote gets rewritten.

What doesn't count against the limits

Nothing inside <details>, a code fence, the provenance blockquote, an HTML comment marker, or the generated-by footer. Collapse it, don't cut it — if the escape hatch weren't real, agents would delete content instead of moving it, which is worse than the wall.

A comment with no 🤖 header (a human's) is untouched at any length.

Two failure modes

Burying the ask. #2054 posted a patch-to-apply under a question heading, and the gate announced "asked you a question" above 4,372 characters containing no question. The type marker exists so this can't happen: it says what's wanted before anything else is read.

Splitting the thread. Don't post the brief and the depth as two comments — one comment, brief in front, depth in <details>. Two comments doubles the notifications, which is the problem, not the fix.

Enforcement

require-owner-brief (PreToolUse on add_issue_comment) blocks a non-conforming agent comment and prints the vocabulary + the collapse rule. The decision is scripts/owner-brief.mjs — pure, unit-tested, and checked against the real comment corpus.

Why the trigger is "is this an agent comment" and not "does it @mention the owner": the @mention rule was the obvious design and measuring killed it. Of the 29 owner-mentioning comments in the last 100, 17 carry @pmcp only inside the mandatory provenance disclaimer — exactly the long reports being complained about. An @mention gate would have waved the offenders through and constrained only the dozen that already used a standalone address.

Why these limits: across 93 agent comments the visible part runs 0 · 114 · 330 · 591 · 25497 chars and 0 · 1 · 3 · 6 · 217 lines. The median is already 330 chars / 3 lines; 700c/10L refuses the walls, not the norm. The line limit reuses the ~10 lines ask-human already states rather than inventing a second number.

Relationship to ask-human

ask-human covers the blocking subset (🔀 / 🛠 / 👀) in depth: the Needs: line, the recommendation-first rule, the medium-selection table, status:blocked, push-before-you-block. This skill is the wrapper that makes every comment — including the non-blocking 🔴 / 💡 / ✅ — arrive in the same scannable shape. When the brief is a hold, use ask-human's template inside it.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

a11y

無料

Accessibility review for Vue surfaces — the code-cleaning analog of /code-review and /simplify, pointed at WCAG/ARIA. Reviews just your diff (or a package/file), rates findings by severity, and either comments inline on the PR (--comment) or applies the safe fixes for you (--fix). Steers the depth-aware `a11y` subagent. Use when asked to "check accessibility", "a11y this", "audit ARIA/keyboard", or run /a11y.

日本語の概要は準備中です。原文の説明を表示しています。

FriendlyInternet/nuxt-crouton102026年10月13日 更新

ask-human

無料

Emit a blocking question the owner can read in ~10 seconds and answer in one reply — the scannable, recommendation-first handoff every agent posts when it hits a fork it can't own. Leads with the one decision + a recommendation, carries the 🤖 provenance header, doubles as the

日本語の概要は準備中です。原文の説明を表示しています。

FriendlyInternet/nuxt-crouton102026年10月13日 更新

audit

無料

Audit packages for documentation completeness, detect drift between code and docs, and maintain documentation quality across the monorepo. Use when checking package docs, running audits, or reviewing documentation health.

日本語の概要は準備中です。原文の説明を表示しています。

FriendlyInternet/nuxt-crouton102026年10月13日 更新

Author a placeable layout block that looks right at ANY pane size. The one hard rule — size to the PANE with container queries (@container), never the viewport — plus list/form playbooks and the sizing contract (minWidth etc.) the viability metric reads. Use when adding/converting a croutonLayoutBlocks block, or when a block overflows/breaks in a narrow pane.

日本語の概要は準備中です。原文の説明を表示しています。

FriendlyInternet/nuxt-crouton102026年10月13日 更新

When a bug or regression is reported, the FIRST step — before fixing — is to research how and when it was introduced (git archaeology), then record that finding on the tracking issue/PR. Use the moment a bug, error, broken build, or "this used to work" is reported, before writing a fix. Produces a first-bad-commit (or "not a code regression") note you paste onto the issue.

日本語の概要は準備中です。原文の説明を表示しています。

FriendlyInternet/nuxt-crouton102026年10月13日 更新

commit

無料

Smart, granular git commits following monorepo conventions. Analyzes changes, filters to session-relevant files, groups by intent, and uses conventional commit format. Use when committing code changes.

日本語の概要は準備中です。原文の説明を表示しています。

FriendlyInternet/nuxt-crouton102026年10月13日 更新

FriendlyInternet のスキルをすべて見る

このスキルの問題を報告する