say
Use when reporting a finding about code to the user during grilling, grill-with-docs, or systematic-debugging, and when drafting or rewriting prose for a…
Skill by HundredBillion
Chalk Labs
Need help deploying say?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hundredbillion-say
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/say
What's inside
- Skill name
say- Description
- Use when reporting a finding about code to the user during grilling, grill-with-docs, or systematic-debugging, and when drafting or rewriting prose for a human reader (Slack, Jira, PR, email). Pairs plain-language meaning with exact technical anchors so a non-developer can follow and the developer can decide.
- License
- MIT
- Instructions
- 77 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Say — Communicate Clearly to a Human
`say` governs *how* you communicate to a person. It has two modes. **The audience/destination selects the mode — not the subject matter.**
- Explaining something about the code **to the developer, in-session, so they can decide** → **code-findings mode**.
- Drafting or rewriting a message **addressed to a person on a human channel** (Slack, Jira, PR, email) → **general-prose mode** — even when the subject is a bug.
When genuinely ambiguous, ask one short clarifying question before writing.
`say` is a **communication style** you layer on at the moment you communicate — not a template that replaces the structure of whatever skill you are running.
## Code-findings mode
Use when explaining code to the developer so they can decide. The full form is four beats:
1. **Headline** — the plain bottom line: what it means for the product or user.
2. **What this code does** — one or two sentences of context, so the reader needs no prior familiarity with the file.
3. **What's wrong** (or **What's happening**, for non-bug findings) — split into two registers:
- *Plain:* the consequence in human terms.
- *Technical:* exact file / function / line range and the precise mechanism.
4. **Your call** — the decision, as options. Each option reads: **plain choice** *(technical action)* — trade-off.
**Governing principle — pair, don't pick.** Every finding carries *both* registers, woven together, never one at the expense of the other. The *Technical* line is the load-bearing anchor: always name specific code so the finding is decidable — never "somewhere in the payment flow."
### Worked example
> **Failed payments are being reported as successful.**
>
> **What this code does:** `PaymentService.charge()` is the step that actually bills a customer's card. When a charge fails, it is supposed to retry a few times before giving up.
>
> **What's wrong:**
> - *Plain:* If every retry fails, the code still acts like the payment worked — so a customer could get their order without paying.
> - *Technical:* `charge()` lines 40–52 — the retry loop catches and discards every exception, so after retries are exhausted the method returns normally instead of propagating the failure.
>
> **Your call** — two options:
> - **Block the order** *(fail hard, propagate the error)* — safer, nobody slips through unpaid.
> - **Let it through, flag for review** *(catch → emit `PaymentFailed` to the review queue)* — friendlier to the customer, but someone has to staff the queue.
### Layering onto other skills
`say` is invoked by other skills at the moment they communicate about code; it does not replace their structure.
- **systematic-debugging** reports findings (root cause, hypothesis) → use the **full four-beat**.
- **grilling / grill-with-docs** ask questions → "Your call" is already the question, so do not force the four-beat. Use only the **explanatory beats** (beats 2–3: *what this code does* / *what's happening*, paired registers) to set up the question, then ask the question in grilling's own format.
## General-prose mode
Use when drafting or rewriting a message addressed to a human reader. Plain, concise prose a non-developer understands. Apply these rules (from plainlanguage.gov):
1. Write for the reader, not yourself. Lead with what they need.
2. Main point first. No throat-clearing ("I wanted to mention that…").
3. Active voice. Name the actor.
4. Short sentences, one idea each.
5. Common words over fancy ones (use → utilize, about → regarding, start → commence).
6. No hidden verbs ("decide", not "make a decision").
7. Avoid jargon, or define it on first use.
8. Cut hedging and filler ("basically", "just", "I think", "in order to" → "to").
9. Concrete over abstract — name the system, the number, the action.
10. Read it aloud. If you would not say it to a coworker, rewrite it.
**"No technical detail" means no code-level detail** — no file / function / line numbers, no `charge()`-style anchors. It does **not** mean omitting scope or impact: which systems are affected, what you are doing, and what the reader should do stay in.
### Worked example
> *Input:* "i found a bug in krypton and i'm fixing it now but there's a chance that it will impact argon, and helium"
>
> *Output:* **Heads up:** I found a bug in Krypton and I'm fixing it now. There's a chance the fix touches Argon and Helium too — I'll flag here if either is affected. No action needed from anyone yet.
(Argon and Helium stay — naming the affected systems is content, not jargon.)
### Input / output behavior
- A brief or topic → generate a fresh draft. Existing text (or a file of text) → rewrite in place, then add a one-line note on the biggest change.
- Default to ready-to-paste prose — no "Here's a draft:" preamble.
- Match the medium (Slack → casual; PR → markdown sections; email → greeting + body) and the user's voice if a sample is given.From HundredBillion/dmi_superpowers, MIT.
More from HundredBillion/dmi_superpowers
- 0.609score
subagent-driven-development
HundredBillion
Use when executing a written implementation plan (TSP) whose tasks are independent, in the current session.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
property-based-testing
HundredBillion
Use when a parser, serializer, normalizer, comparator, reversible transformation, numeric operation, or state transition should be tested over an input domain…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
creating-a-pull-request
HundredBillion
Use when opening, creating, or writing a pull request, pushing a branch for review, or running gh pr create - covers the PR title, body, and evidence so the…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
improve-codebase-architecture
HundredBillion
Use when a debugging post-mortem concludes the root cause was architectural (no test seam, tangled callers, hidden coupling), or when the user asks for an…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
source-grounded-development
HundredBillion
Use when implementation correctness depends on a framework, library, platform, protocol, or tool whose APIs and recommended patterns vary by version
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
executing-plans
HundredBillion
Use when executing an approved written TSP inline, when your human partner chose this session as the implementer, or when subagents are unavailable
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
migrating-safely
HundredBillion
Use when replacing or removing a database shape, public API, event contract, dependency, service, or feature that active consumers must leave without downtime…
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
prototype
HundredBillion
Build a throwaway prototype to flesh out a design — a runnable terminal app for state/business-logic questions, or several radically different UI variations…
SkillAFreshness: A★ 3Claude Code +9 - 0.581score
brainstorming
HundredBillion
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillAFreshness: A★ 3Claude Code +9 - 0.579score
finishing-a-development-branch
HundredBillion
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting…
SkillAFreshness: A★ 3Claude Code +9 - 0.579score
domain-modeling
HundredBillion
Build and sharpen a project's domain model.
SkillAFreshness: A★ 3Claude Code +9 - 0.579score
dispatching-parallel-agents
HundredBillion
Use when facing 2+ independent tasks with no shared state or ordering between them and no written plan to work from — ad-hoc fan-out.
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 19, 2026 (4 months ago)
- Last release
- Oct 18, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from HundredBillion
- 0.609score
subagent-driven-development
HundredBillion
Use when executing a written implementation plan (TSP) whose tasks are independent, in the current session.
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
creating-a-pull-request
HundredBillion
Use when opening, creating, or writing a pull request, pushing a branch for review, or running gh pr create - covers the PR title, body, and evidence so the…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
migrating-safely
HundredBillion
Use when replacing or removing a database shape, public API, event contract, dependency, service, or feature that active consumers must leave without downtime…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
improve-codebase-architecture
HundredBillion
Use when a debugging post-mortem concludes the root cause was architectural (no test seam, tangled callers, hidden coupling), or when the user asks for an…
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
executing-plans
HundredBillion
Use when executing an approved written TSP inline, when your human partner chose this session as the implementer, or when subagents are unavailable
SkillAFreshness: A★ 3Claude Code +9 - 0.604score
source-grounded-development
HundredBillion
Use when implementation correctness depends on a framework, library, platform, protocol, or tool whose APIs and recommended patterns vary by version
SkillAFreshness: A★ 3Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get say running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
say skill. Agent Mart. https://agentmart.dev/skills/hundredbillion-say (last updated 2026-10-24)