Learning Output Style
Interactive learning mode that requests meaningful code contributions at decision points (mimics the unshipped Learning output style)
- Type
- Plugin
- Repository
- anthropics/claude-plugins-official
- GitHub stars
- 37.1k
- License
- Apache-2.0
- Repo last updated
- Sep 25, 2026
- Version
- 1.0.0
- Author
- Anthropic
What Learning Output Style is
Learning Output Style is a plugin published in the anthropics/claude-plugins-official repository on GitHub, which has about 37.1k stars. The repository describes itself as: “Official, Anthropic-managed directory of high quality Claude Code Plugins.”
A plugin is a package that bundles skills, slash commands, subagents, hooks, and MCP connectors so they install together. Plugins are plain files with a manifest at .claude-plugin/plugin.json, and they work in both Claude Code and Claude Cowork.
Installing Learning Output Style adds everything it ships in one step. Connectors inside a plugin still need to be connected separately, and hooks and subagents only run in Cowork and Claude Code, not in regular chat.
How to install Learning Output Style
Claude Code
- Add the repository as a plugin marketplace: claude plugin marketplace add anthropics/claude-plugins-official
- Install the plugin: claude plugin install learning-output-style@<marketplace-name>, using the marketplace name from the repository's .claude-plugin/marketplace.json.
- Restart the session if the new skills or commands don't appear straight away.
Claude Cowork
- Open Customize → Plugins and choose Add marketplace.
- Enter anthropics/claude-plugins-official (the owner/repo shorthand works for GitHub).
- Find Learning Output Style in the list, click Install, then connect any connectors it needs from its Connectors tab.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/learning-output-style/.claude-plugin/plugin.json, shared under the repository's Apache-2.0 license. Read the full file on GitHub.
This plugin combines the unshipped Learning output style with explanatory functionality as a SessionStart hook.
Note: This plugin differs from the original unshipped Learning output style by also incorporating all functionality from the explanatory-output-style plugin, providing both interactive learning and educational insights.
WARNING: Do not install this plugin unless you are fine with incurring the token cost of this plugin's additional instructions and the interactive nature of learning mode.
What it does
When enabled, this plugin automatically adds instructions at the start of each session that encourage Claude to:
- Learning Mode: Engage you in active learning by requesting meaningful code contributions at decision points
- Explanatory Mode: Provide educational insights about implementation choices and codebase patterns
Instead of implementing everything automatically, Claude will:
- Identify opportunities where you can write 5-10 lines of meaningful code
- Focus on business logic and design choices where your input truly matters
- Prepare the context and location for your contribution
- Explain trade-offs and guide your implementation
- Provide educational insights before and after writing code
How it works
The plugin uses a SessionStart hook to inject additional context into every session. This context instructs Claude to adopt an interactive teaching approach where you actively participate in writing key parts of the code.
When Claude requests contributions
Claude will ask you to write code for:
- Business logic with multiple valid approaches
- Error handling strategies
- Algorithm implementation choices
- Data structure decisions
- User experience decisions
- Design patterns and architecture choices
When Claude won't request contributions
Claude will implement directly:
- Boilerplate or repetitive code
- Obvious implementations with no meaningful choices
- Configuration or setup code
- Simple CRUD operations
Example interaction
Claude: I've set up the authentication middleware. The session timeout behavior is a security vs. UX trade-off - should sessions auto-extend on activity, or have a hard timeout?
In auth/middleware.ts, implement the handleSessionTimeout() function to define the timeout behavior.
Consider: auto-extending improves UX but may leave sessions open longer; hard timeouts are more secure but might frustrate active users.
You: [Write 5-10 lines implementing your preferred approach]
Educational insights
In addition to interactive learning, Claude will provide educational insights about implementation choices using this format:
`★ Insight ─────────────────────────────────────`
[2-3 key educational points about the codebase or implementation]
`─────────────────────────────────────────────────`These insights focus on:
- Specific implementation choices for your codebase
- Patterns and conventions in your code
- Trade-offs and design decisions
- Codebase-specific details rather than general programming concepts
Usage
Once installed, the plugin activates automatically at the start of every session. No additional configuration is needed.
Migration from Output Styles
This plugin combines the unshipped "Learning" output style with the deprecated "Explanatory" output style. It provides an interactive learning experience where you actively contribute code at meaningful decision points, while also receiving educational insights about implementation choices.
If you previously used the explanatory-output-style plugin, this learning plugin includes all of that functionality plus interactive learning features.
This SessionStart hook pattern is roughly equivalent to CLAUDE.md, but it is more flexible and allows for distribution through plugins.
Managing changes
- Disable the plugin - keep the code installed on your device
- Uninstall the plugin - remove the code from your device
- Update the plugin - create a local copy of this plugin to personalize it
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Learning Output Style?
Learning Output Style is a plugin for Claude Code and Claude Cowork from the anthropics/claude-plugins-official repository on GitHub. Interactive learning mode that requests meaningful code contributions at decision points (mimics the unshipped Learning output style)
How do I install Learning Output Style in Claude Code?
Add the repository as a plugin marketplace: claude plugin marketplace add anthropics/claude-plugins-official Install the plugin: claude plugin install learning-output-style@<marketplace-name>, using the marketplace name from the repository's .claude-plugin/marketplace.json. Restart the session if the new skills or commands don't appear straight away.
Can I use Learning Output Style in Claude Cowork?
Open Customize → Plugins and choose Add marketplace. Enter anthropics/claude-plugins-official (the owner/repo shorthand works for GitHub). Find Learning Output Style in the list, click Install, then connect any connectors it needs from its Connectors tab.
Is Learning Output Style safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Linear Linear issue tracking integration. Create issues, manage projects, update statuses, search across workspaces, and streamline your software development workflow with Linear's modern issue tracker. Plugin · anthropics/claude-plugins-official
- Math Olympiad Solve competition math (IMO, Putnam, USAMO) with adversarial verification that catches what self-verification misses. Fresh-context verifiers attack proofs with specific failure patterns. Calibrated abstention over bluffing. Plugin · anthropics/claude-plugins-official
- Legacy Analyst Deep-reads legacy codebases (COBOL, Java, .NET, Node, anything) to build structural and behavioral understanding. Use for discovery, dependency mapping, dead-code detection, and "what does this system actually do" questions. Subagent · anthropics/claude-plugins-official
- Mcp Server Dev Skills for designing and building MCP servers that work seamlessly with Claude — guides you through deployment models (remote HTTP, MCPB, local), tool design patterns, auth, and interactive MCP apps. Plugin · anthropics/claude-plugins-official
- Laravel Boost Laravel development toolkit MCP server. Provides intelligent assistance for Laravel applications including Artisan commands, Eloquent queries, routing, migrations, and framework-specific code generation. Plugin · anthropics/claude-plugins-official
- Imessage iMessage channel for Claude Code — reads chat.db directly, sends via AppleScript. Built-in access control; manage pairing, allowlists, and policy via /imessage:access. Plugin · anthropics/claude-plugins-official
- Hookify Easily create hooks to prevent unwanted behaviors by analyzing conversation patterns Plugin · anthropics/claude-plugins-official
- Mcp Tunnels Connect Claude to a private MCP server through an Anthropic MCP tunnel. Drives the Docker Compose quickstart end to end: certificates, proxy config, cloudflared, and a verifiable sample server. Plugin · anthropics/claude-plugins-official