Opinionated Claude Skills
This project descends from the personal prompts I'd been keeping for Claude Code prior to the release of skills and plugins. Over time it's also evolved into a sandbox where I figure out what makes Claude reliably good at a task, and find prompts that work. A lot of it is also an experiment in getting Claude to write effective instructions for itself: I more-or-less mentor Claude on how to be a good engineer and Claude writes down what it needs to apply that guidance.
As such, the skills here commit to specific design philosophies rather than hedging toward generality, and I believe that's why they work. The non-neutrality is the point; it's how I transform Claude from an amorphous blob of capability into something with a defined perspective, which makes it easier to consistently get the results I want.
The project also started as a way to encode "expert-level" or "staff-level" skills into Claude (language you'll still see in some of the skills and in the name of expert-skill-creator). It's since morphed into a place for me to publish the experience I've accrued through my career, in a form that's reusable by Claude and by other people reading along. I've had better results from conferring concrete, specific experience on Claude than from trying to get it to emulate a generic expert persona.
These are the key influences that form the foundation of my opinions:
- Structure and Interpretation of Computer Programs (SICP) by Abelson and Sussman
- Functional and logic programming traditions (especially Clojure and SWI Prolog)
- Test-driven development as contract-based design
- The ACM Code of Ethics and Professional Conduct
I am a knowledge-based software engineer (ontologies, OWL/RDF, automated reasoning, and now LLM agents), which is why several of the skills push Claude toward explicit decomposition, formal reasoning, and epistemic precision. This is the shape of thinking I'm used to and it's what I want my coding agents to emulate.
How These Skills Were Created
These skills were compiled from a collection of hand-written prompts I had previously maintained for personal use. Some skills were also augmented with bits of public documentation and research guides generated with Claude Desktop. Sources for the third-party material are available in the text of each skill, with an emphasis on things Claude can potentially look up itself.
Very few manual changes were made to the skills. The content is written by Claude after preparing a context window and ensuring that Claude is able to have a sensible discussion about the topic. Then, Claude is asked to write instructions for itself to create the skill file. Similarly, improvements to the skills are made by calling out behavioral issues while using the skills with Claude Code. Claude is told what was actually expected of it and then asked to reflect on why it did what it did and whether any of the skill instructions need to be updated. Claude is then asked to propose an update to the skill. The expert-skill-creator skill was made by tracking the kinds of improvements that were made while tuning the other skills and then extracting those patterns into a skill, using the above process.
See CONTRIBUTING.md for details on the creation process and how to contribute improvements.
Leak-Scanning Experiments
The repository also serves as a testbed for automating thorough checks against accidental leaks of personal data and secrets in published content. Git hooks scan every commit, merge, and push with gitleaks and Presidio, covering each new file version in every decoding plus paths, commit messages, identities, and ref names, and reject invisible or bidirectional Unicode in tracked files. A private denylist adds terms that are always reported, and the hooks' output is filtered so those terms don't reach logs or agent transcripts. The setup is experimental and changes often; TESTING.md describes how it works and how to test it.
Installation
Claude Code
Add this marketplace to Claude Code:
claude plugin marketplace add Pyroxin/opinionated-claude-skills
Then install plugins:
claude plugin install opinionated-software-engineering@opinionated-claude-skills
Use /reload-plugins inside a running session or restart Claude Code after plugin changes; not all plugin changes seem to get picked up by /reload-plugins, so a restart is generally better. Skill descriptions share a limited token budget, so if a skill doesn't appear after restart, try disabling a few others.
Claude Desktop / Claude Web
On a paid plan (Pro, Max, Team, or Enterprise), claude.ai, the Chat tab of the Claude Desktop app, and Cowork can add this repository as a plugin marketplace: add a marketplace and enter Pyroxin/opinionated-claude-skills. An organization can restrict which marketplaces its members add, and skills need code execution turned on. Which plugin components load depends on the app:
- Skills load in chat, Cowork, and Claude Code.
- The
opinionated-research agents load in Cowork and Claude Code. Chat ignores them, so interactive-research loads in chat but can't delegate to them there.
- Output styles and themes (
opinionated-communication and opinionated-themes) load only in Claude Code.
Plugins enabled on claude.ai also load in Claude Code terminal sessions signed in with the same claude.ai account.
Deprecated: individual skills can still be downloaded as ZIP files from the Releases page and uploaded in Customize > Skills. This is the only route on the Free plan, which doesn't get plugins. The ZIPs are expected to be removed in favor of the marketplace, and a skill that can't be uploaded outside Claude Code is left out of them. (Also, check out the build system for the package! It automates some basic QA for publishing skills.)
ZIP files are named plugin.skill.TIMESTAMP.SHA.zip (e.g., opinionated-software-engineering.software-engineer.20251130-014305.c7223ee.zip). The timestamp and commit SHA identify the exact build the ZIP was derived from.
Codex
The skills in this marketplace are usable by Codex. I'm still evaluating whether I want to make this a hybrid marketplace or whether Codex will get its own marketplace. In the meantime, the skills are usable with Codex but the agents will not work.
Plugins
Each plugin tracks a need I hit while tinkering in my homelab so there's an emphasis on supporting continuous learning and experimentation. The software-engineering plugin is the base layer; several other plugins assume it's installed. The skills are internally structured using a semi-consistent XML schema to try and cause the skills to meld together in Claude's attention mechanism when they're composed.
opinionated-software-engineering
The foundation plugin. SICP-derived design principles, paradigm guidance for functional, object-oriented, and logic programming, and two cross-cutting process skills for TDD and Git. Most other plugins depend on it for shared coding judgment.
| Component | Description |
|---|
software-engineer | Core philosophy and design principles based on SICP |
functional-programmer | Functional programming principles and patterns |
object-oriented-programmer | Object-oriented design principles and patterns |
logic-programmer | Logic programming and relational design |
test-driven-development | TDD philosophy: tests as contracts |
git-version-control | Commit standards and LLM-assisted workflows |
opinionated-research
An alternative to investigating a topic through a single long search pass or by delegating to an external research agent. Two complementary research agents feed the interactive-research orchestration skill, which runs multi-source investigation through a persistent agent team (and supports research extensions after the primary task). The agents can delegate claim checks to a Haiku-based fact-checker. The decision-analysis skill structures option evaluation and supplies the epistemic-label and citation discipline the research agents share. Combining explicit decomposition, structured analysis, and adversarial reasoning substantially improves the result, on anecdotal evidence.
| Component | Description |
|---|
research-investigator | Sonnet agent for methodical evidence-gathering: case-building from primary sources with procedural rigor and an explicit Audit section |
research-analyst | Opus agent for judgment-led synthesis: cross-source pattern recognition and emergent insight beyond what any single source establishes |
fact-checker | Haiku agent that checks one claim against one source in a fresh context, unprimed by the conversation the claim came from |
interactive-research | Orchestration skill that coordinates specialist agents as a team |
decision-analysis | Structured framework for evaluating options against criteria, with the epistemic-label scheme the research agents inherit |
deep-research | Deprecated name kept as a notice: it points to interactive-research and to Claude Code's built-in deep-research workflow |
Note: these skills work best with the Kagi and Exa MCP servers added to the configuration. AWS' documentation servers are also integrated, AWS being the cloud provider these skills were built against.
Persisted research artifacts go under {project-root}/.tmp/research/, or wherever project or user instructions say research output belongs. Keeping them out of .claude/ means an autonomous run doesn't need write access to the trees Claude Code loads settings, hooks, agents, and skills from. Many projects already ignore that path through the *.tmp pattern in gitignore.io output and in github/gitignore's Global/Backup template; adding .tmp/ to ~/.config/git/ignore covers the rest.
opinionated-skill-creation
The expert-skill-creator skill was developed by having Claude reflect on the process of creating and tuning the other skills. It is updated regularly with guidance on prompting Claude-family models effectively, and it captures accumulated patterns around content depth, XML structure, directive tone, and citation practices, so each new skill benefits from what the previous ones established.
| Component | Description |
|---|
expert-skill-creator | Expert guidance for high-quality skill creation |
opinionated-apple-development
The Swift community has noted that Claude has trouble writing effective Swift code, especially for Swift concurrency, which launched after some of the more-recent models' knowledge cutoff dates. These skills address that deficiency, so they are more instructive and less philosophical than the others. macOS coverage follows because macOS is the primary workstation platform for this project.
| Component | Description |
|---|
swift-programmer | Swift 6+ concurrency, protocol-oriented design |
macos-programmer | macOS platform patterns, SwiftUI/AppKit |
opinionated-lisp-development
Clojure for data-oriented, REPL-driven work; Racket for language-oriented programming with contracts and macros.
| Component | Description |
|---|
clojure-programmer | Data-oriented design, REPL-driven development |
racket-programmer | Language-oriented programming, contracts, macros |
opinionated-java-ecosystem
Java as it actually exists in 2025 (records, sealed types, virtual threads, patterns). The plugin also advocates the Checker Framework for correctness guardrails that help Claude produce less buggy code automatically. The skill generally follows the features in the latest LTS, on the assumption that Java serves as an infrastructure language rather than an experimental one.