Compose an Instruction
This guide walks through installing the plugin, running the compose-instruction skill, reading the output, and using it in a prompt.
Step 1 - Install the Plugin
Section titled “Step 1 - Install the Plugin”Install through the Product on Purpose marketplace from inside Claude Code:
/plugin marketplace add product-on-purpose/agent-plugins/plugin install writing-style-catalog@product-on-purposeFull install options (direct-from-repo, Claude.ai / Claude Desktop) are in the installation guide.
After installation, the writing-style-catalog:compose-instruction skill is available in your Claude Code session. Confirm it loaded:
/writing-style-catalog:compose-instruction --helpStep 2 - Run compose-instruction
Section titled “Step 2 - Run compose-instruction”The skill accepts keyword arguments for each axis. All arguments are optional.
Basic example - voice and format only
Section titled “Basic example - voice and format only”/writing-style-catalog:compose-instruction voice=pragmatic-architect format=adrFull four-axis example
Section titled “Full four-axis example”/writing-style-catalog:compose-instruction voice=pragmatic-architect tone=candid style=problem-solution format=adrUsing a different combination
Section titled “Using a different combination”/writing-style-catalog:compose-instruction voice=product-thinker tone=optimistic-realist style=layered-disclosure format=daily-standupStep 3 - Read the Composed Output
Section titled “Step 3 - Read the Composed Output”The skill prints a structured prompt prefix. It looks like this (abbreviated):
[VOICE: pragmatic-architect]You are a pragmatic architect. You reason from system constraints and nametrade-offs explicitly. You surface costs before benefits. You treat hand-wavingas a red flag...
[TONE: candid]Deliver this message directly. Do not soften the diagnosis. State the situationplainly...
[STYLE: problem-solution]Structure your response as: first, a clear statement of the problem and itsroot cause; second, the proposed solution with rationale; third, any caveatsor alternatives worth noting...
[FORMAT: adr]Format as an Architecture Decision Record with these sections:- Status: [Proposed | Accepted | Deprecated | Superseded]- Context: ...- Decision: ...- Consequences: ...Each section is self-contained. The sections are designed to stack without conflicts.
Step 4 - Use the Composed Instruction
Section titled “Step 4 - Use the Composed Instruction”Prepend the composed instruction to your writing task. You can do this in three ways:
Option A - Paste into system prompt
Section titled “Option A - Paste into system prompt”Copy the output and paste it as your system prompt in Claude.ai or your API call.
Option B - Prepend to your user message
Section titled “Option B - Prepend to your user message”[paste composed instruction here]
---
Now write a decision record for our choice to migrate from REST to GraphQL.Option C - Use it as a Claude Code context file
Section titled “Option C - Use it as a Claude Code context file”Save the output to a file (for example .writing-context.md) and include it in your project’s CLAUDE.md or reference it at the start of a session.
Listing Available Entries
Section titled “Listing Available Entries”To see all available entries for a given axis:
/writing-style-catalog:compose-instruction --list voices/writing-style-catalog:compose-instruction --list tones/writing-style-catalog:compose-instruction --list styles/writing-style-catalog:compose-instruction --list formatsCommon Combinations
Section titled “Common Combinations”| Use Case | Suggested Combination |
|---|---|
| Technical decision record | voice=pragmatic-architect tone=candid style=decision-log format=adr |
| Daily async standup | voice=ops-realist tone=candid style=step-by-step format=daily-standup |
| User-facing feature announcement | voice=product-thinker tone=energizing style=narrative-arc format=bullet-brief |
| Incident post-mortem | voice=ops-realist tone=cautious style=problem-solution format=technical-rfc |
| Mentoring code review | voice=technical-educator tone=mentoring style=layered-disclosure format=bullet-brief |
See the recipes/ directory for more curated combinations with full worked examples.