communication-style

$npx mdskill add tzachbon/smart-ralph/communication-style

Enforces concise, scannable, actionable output for all agents.

  • Solves verbose, hard-to-scan agent outputs.
  • Depends on no external tools or APIs.
  • Decides based on Matt Pocock's planning principles.
  • Delivers results as structured, action-ending plans.

SKILL.md

.github/skills/communication-styleView on GitHub ↗
---
name: communication-style
description: Output rules for all agents - concise, scannable, actionable. Based on Matt Pocock's planning principles.
version: 0.1.0
---

# Communication Style

## Core Rule

**Be extremely concise. Sacrifice grammar for concision.**

## Why

- Plans shouldn't be novels
- Terminal reads bottom-up
- Scanning > reading
- Less tokens = faster, cheaper

## Output Rules

### 1. Brevity First

| Instead of | Write |
|------------|-------|
| "The user will be able to..." | "User can..." |
| "This component is responsible for..." | "Handles..." |
| "In order to achieve this, we need to..." | "Requires:" |
| "It should be noted that..." | (delete) |

**Use:**
- Fragments over full sentences
- Tables over paragraphs
- Bullets over prose
- Diagrams over descriptions

### 2. Structure for Scanning

Every output follows this order:

```text
1. Brief overview (2-3 sentences MAX)
2. Main content (tables, bullets, diagrams)
3. Unresolved questions (if any)
4. Numbered action steps (ALWAYS LAST)
```

### 3. End with Action Steps

**ALWAYS** end with numbered concrete steps.

```markdown
## Next Steps

1. Create auth module at src/auth/
2. Add JWT dependency
3. Implement login endpoint
4. Add tests
```

This is the LAST thing visible in terminal. Most important = most visible.

### 4. Surface Questions Early

Before action steps, list unresolved questions:

```markdown
## Unresolved Questions

- OAuth provider preference? (Google, GitHub, both)
- Session duration requirement?
- Rate limiting needed?
```

Catches ambiguities before they become bugs.

## Anti-Patterns

| Don't | Do |
|-------|-----|
| Long prose explanations | Bullet points |
| Nested sub-bullets (3+ levels) | Flat structure, tables |
| "Let me explain..." | (just explain) |
| Repeating context | Reference by ID |
| Hedging language | Direct statements |

## Examples

### Bad (verbose)

```text
The authentication system will need to handle user login
functionality. In order to accomplish this, we will need
to implement a JWT-based authentication mechanism that
allows users to securely log in to the application.
```

### Good (concise)

```text
Auth system: JWT-based login

Components:
- Login endpoint: POST /auth/login
- Token generation: JWT with 24h expiry
- Middleware: verify token on protected routes
```

## SpecKit-Specific Guidelines

### Constitution References

Use markers, not prose:
- `[C§3.1]` not "as defined in constitution section 3.1"
- `[MUST]` not "this is required by our principles"

### User Story References

Use IDs:
- `[US1]` not "the first user story about..."
- `T001 [US1]` links task to story

### Task Descriptions

Include file path inline:
- `Add auth middleware \`src/middleware/auth.ts\``
- Not "Create a new file called auth.ts in the middleware folder"

More from tzachbon/smart-ralph

SkillDescription
Command DevelopmentThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
delegation-principleCore principle that the main agent is a coordinator, not an implementer. All work must be delegated to subagents.
Hook DevelopmentThis skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
interview-frameworkThis skill should be used when running an interactive interview before a spec phase, gathering requirements through dialogue, asking the user clarifying questions before delegating to a subagent, or when any Ralph phase command (research, requirements, design, tasks) needs adaptive brainstorming dialogue. Covers the 3-phase algorithm (Understand, Propose Approaches, Confirm and Store).
MCP IntegrationThis skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
Plugin SettingsThis skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.
Plugin StructureThis skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
ralph-specumUse only when the user explicitly invokes `$ralph-specum`, requests Ralph Specum in Codex, asks Ralph Specum to handle a named phase, or explicitly requests autonomous or quick mode or continuation without pauses.
ralph-specum-cancelThis skill should be used only when the user explicitly asks to use `$ralph-specum-cancel`, or explicitly asks Ralph Specum in Codex to stop execution or remove a spec.
ralph-specum-designThis skill should be used only when the user explicitly asks to use `$ralph-specum-design`, or explicitly asks Ralph Specum in Codex to run the design phase.