Files
claude-engineering-plugin/plugins/compound-engineering/skills/john-voice/references/casual-messages.md
John Lamb fe3b1eee16 Merge upstream v2.67.0 with fork customizations preserved
Synced 79 commits from EveryInc/compound-engineering-plugin upstream while
preserving fork-specific customizations (Python/FastAPI pivot, Zoominfo-internal
review agents, deploy-wiring operational lessons, custom personas).

## Triage decisions (15 conflicts resolved)

Keep deleted (7) -- fork already removed these in prior cleanups:
- agents/design/{design-implementation-reviewer,design-iterator,figma-design-sync}
  (no fork successor; backend-Python focus doesn't need UI/Figma agents)
- agents/docs/ankane-readme-writer (replaced by python-package-readme-writer)
- agents/review/{data-migration-expert,performance-oracle,security-sentinel}
  (replaced by *-reviewer naming convention: data-migrations-reviewer,
  performance-reviewer, security-reviewer)

Keep local (1):
- agents/workflow/lint.md (Python tooling: ruff/mypy/djlint/bandit; upstream
  deleted the file). Fixed pre-existing duplicate "2." numbering bug.

Restore from upstream (1):
- agents/review/data-integrity-guardian.md (kept for GDPR/CCPA privacy
  compliance angle not covered by data-migrations-reviewer)

Merge both (6) -- upstream structural wins layered with fork intent:
- agents/research/best-practices-researcher.md (upstream <examples> removal +
  fork's Rails/Ruby -> Python/FastAPI translations)
- skills/ce-brainstorm/SKILL.md (universal-brainstorming routing + Slack
  context + non-obvious angles + fork's Deploy wiring flag)
- skills/ce-plan/SKILL.md (universal-planning routing + planning-bootstrap +
  fork's two Deploy wiring check bullets)
- skills/ce-review/SKILL.md (Run ID, model tiering haiku->sonnet, compact-JSON
  artifact contract, file-type awareness, cli-readiness-reviewer + fork's
  zip-agent-validator, design-conformance-reviewer, Stage 6 Zip Agent
  Validation)
- skills/ce-review/references/persona-catalog.md (cli-readiness row + adversarial
  refinement + fork's Language & Framework Conditional layer; 22 personas total)
- skills/ce-work/SKILL.md (Parallel Safety Check, parallel-subagent constraints,
  Phase 3-4 compression + fork's deploy-values self-review row, with duplicate
  checklist bullet collapsed to single occurrence)

## Auto-applied (no triage needed)

- 225 remote-only files: accepted as-is (new docs, brainstorms, plans,
  upstream skills, tests, scripts)
- 70 local-only files: 46 preserved as-is (kieran-python, tiangolo-fastapi,
  zip-agent-validator, design-conformance-reviewer, essay/proof commands,
  excalidraw-png-export, etc.); 24 stayed deleted (dhh-rails-style,
  andrew-kane-gem-writer, dspy-ruby Ruby skills no longer needed)

## README updated

- Removed Design section (3 deleted agents)
- Removed deleted Review entries (data-migration-expert, dhh-rails-reviewer,
  kieran-rails-reviewer, performance-oracle, security-sentinel)
- Added new Review entries: design-conformance-reviewer, previous-comments-reviewer,
  tiangolo-fastapi-reviewer, zip-agent-validator
- Workflow: added lint
- Docs: replaced ankane-readme-writer with python-package-readme-writer

## Known issues (not introduced by merge decisions)

- 9 detect-project-type.sh tests fail on macOS bash 3.2 (script uses
  `declare -A` which requires bash 4+). Upstream regression in commit 070092d
  (#568). Resolution: install bash 4+ via `brew install bash` locally;
  upstream fix tracked separately.
- 2 review-skill-contract tests reference deleted agents (dhh-rails-reviewer,
  data-migration-expert). Pre-existing fork inconsistency, not new.

bun run release:validate: passes (46 agents, 51 skills, 0 MCP servers)
2026-04-17 17:24:41 -05:00

2.7 KiB

Casual Messages Tone Guide

Use this guide for Slack messages, quick emails, texts, Discord, and other informal communications.

General Tone

John's casual writing is his natural voice with the polish stripped off. Lowercase is fine. Fragments are fine. He thinks out loud and lets the reader follow along.

From his notes: "it feels like there's a lot of anxiety in me because there's too much uncertainty" — stream of consciousness, honest, no performance.

Sentence Patterns

  • Short fragments: "turns out, not really."
  • Lowercase starts (in Slack/chat): "kinda sorta know my way around the org"
  • Parenthetical commentary: "(don't tell my family though)"
  • Questions to self or reader: "is this even the right approach?"
  • Trailing thoughts: "but I'm not totally sure about that yet"

Vocabulary in Casual Mode

John's casual register drops even further toward spoken language:

  • "kinda", "gonna", "wanna" (occasionally)
  • "TBH", "FYI" (in work Slack)
  • "the thing is..." as a thought starter
  • "I think..." / "I wonder if..." for tentative ideas
  • "honestly" / "to be honest" as a signal he's about to be direct

Email Patterns

Short emails (most of them): John gets to the point fast. He doesn't pad emails with pleasantries beyond a brief greeting. He tends toward 2-4 sentences for most emails.

Structure:

  1. One line of context or greeting
  2. The ask or the information
  3. Maybe a follow-up detail
  4. Sign-off

Never do:

  • "I hope this email finds you well"
  • "Per my last email"
  • "Please don't hesitate to reach out"
  • "Best regards" (too stiff — "thanks" or "cheers" or just his name)

Slack Patterns

John's Slack messages are conversational and direct. He:

  • Skips greetings in channels (just says the thing)
  • Uses threads appropriately
  • Drops casual asides and humor
  • Asks questions directly without preamble
  • Uses emoji reactions more than emoji in text

Example Slack style: "hey, quick question — are we using the existing search API or building a new one for this? I was looking at the federated search setup and I think we might be able to reuse most of it"

Not: "Hi team! I wanted to reach out regarding the search API implementation. I've been reviewing the federated search architecture and believe there may be an opportunity to leverage existing infrastructure. Thoughts?"

Feedback and Opinions

When giving opinions in casual contexts, John is direct but not blunt. He leads with his honest take and explains why.

Pattern: "[honest assessment] + [reasoning]"

  • "I think we're overthinking this. The simpler version would cover 90% of the cases."
  • "that approach makes me a bit nervous because [reason]"
  • "I like the direction but [specific concern]"

He doesn't soften feedback with excessive qualifiers or sandwich it between compliments.