compass
Skill0 starsChanged 7 days agoMITView on GitHub
Software engineering coach for architecture, design, principle-based code review, refactoring, legacy-code modernization, DevOps, and concept explanation. Use when the user wants help architecting a system, choosing a paradigm or pattern, getting design advice before coding, reviewing code against engineering principles, refactoring smelly code, working on an inherited or legacy codebase, deciding whether to rewrite or modernize incrementally, or explaining SE concepts (SOLID, GoF patterns, MVC, microservices, TDD, CI/CD, etc.). Triggers on /compass, "swe-compass" (former name of this skill), "software design advice", "architecture review", "refactor this", "review code against principles", "we inherited this codebase", "there are no tests", "should we rewrite it", "modernize this", "strangler fig", or any request involving design principles, design patterns, software architecture, or engineering trade-offs. For line-by-line bug-hunting on a diff/PR, defer to the dedicated code-review skill; for what tests to write and in what proportion, defer to testing-philosophy. Stack-agnostic by default, discussing stack with the user, deferring to the user's final choice, then optimizing patterns for that stack.
13 other projects use a version of this.
Adopted by
Most recently taken up by
- me-cedric/agent-compasstheir own version, first seen Nov 1, 2026
- BarganConstantin/agent-skillstheir own version, first seen Nov 1, 2026
- AIOSAI/AIPasstheir own version, first seen Nov 1, 2026
- norrietaylor/distillerytheir own version, first seen Nov 1, 2026
- spacedock-dev/spacedocktheir own version, first seen Nov 1, 2026
- luci-efe/skillstheir own version, first seen Nov 1, 2026
Other versions13 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 13
- AIOSAI/AIPass★ 312same name
- simota/agent-skills★ 96same name
- spacedock-dev/spacedock★ 85same name
- norrietaylor/distillery★ 25same name
- BarganConstantin/agent-skills★ 4same name
- Zenobia000/agent-skills-starter★ 4same name
- me-cedric/agent-compass★ 3same name
- Aether-liusiqi/compass★ 2same name
- healthier-vitamins/agentic-grimoire★ 2same name
- chrisjay629/compass★ 1same name
3 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository31 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- ai-estimateSkill
- aso-craftSkill
- audit-reportSkill
- babysit-prsSkill
- blueprintSkill
- brag-docSkill
- business-briefSkill
- cagan-checkSkill
- code-craftSkill
- commit-reportSkill
- cv-craftSkill
- dev-flowSkill
- grill-meSkill
- implementation-reviewSkill
- llm-wikiSkill
- parallel-worktreesSkill
- periscopeSkill
- portfolio-syncSkill
- pr-craftSkill
- problem-solvingSkill
- publish-skillSkill
- review-passSkill
- security-auditSkill
- semverSkill
- sentinelSkill
- seoSkill
- testing-philosophySkill
- to-prdSkill
- write-a-skillSkill
- wstg-security-testingSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 9 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
When activated, identify the user's intent and load the matching workflow:
- Distinctive: line 23
If intent is ambiguous, ask one clarifying question before picking a workflow.
- Distinctive: line 35
If the user named a stack → optimize patterns and folder structure for that stack's idioms.
- Very specific: line 37
Don't propose patterns the language already solves natively (e.g., Rust's lazy_static!
- Distinctive: line 65
If the user hands it back ("your call"), take the call, say which way you took it, and move on.
- Distinctive: line 69
Before presenting any recommendation, run it through reference/simplicity-guard.md:
- Distinctive: line 111
When the conversation settles a non-trivial, hard-to-reverse architectural decision (stack, paradigm, integration style, persistence model, …
- Very specific: line 114
Write to docs/adr/NNNN-<slug>.md (zero-padded, next available number).
- Distinctive: line 119
If user explicitly says "no ADR" or "skip ADR", honor it for rest of session.
- Distinctive: line 124
Always surface trade-offs (gain / loss / simpler alternative).
- Distinctive: line 125
Treat dogma as defaults, not commandments — present counter-cases when relevant.
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Compass
A multi-mode software engineering coach. Routes the user's request to one of six workflows, each backed by topic and reference material.
Quick start
When activated, identify the user's intent and load the matching workflow:
| User intent | Workflow |
| Design a system / pick architecture / structure new feature | workflows/architect.md |
| "Should I…", "how should I…", pre-code consultation | workflows/advisor.md |
| Review code / PR / diff against principles | workflows/reviewer.md |
| Refactor / clean up / fix code smell | workflows/refactor.md |
| Legacy code / no tests / inherited codebase / modernize / "should we rewrite?" | workflows/legacy.md |
| Explain a concept / pattern / principle | workflows/explain.md |
If intent is ambiguous, ask one clarifying question before picking a workflow.
Testing boundary
Compass covers testability: whether a design can be put under test, and what it means about
the design when it cannot. It does not set test strategy. What to test, in what proportion,
and whether a feature needs an end-to-end test belong to the testing-philosophy skill, which is
the single source of truth for those. Load it as soon as the question moves from "can this be
tested" to "what tests should exist".
Stack policy
- If the user named a stack → optimize patterns and folder structure for that stack's idioms.
- If not → recommend one, ranked, against the system class and constraints. Name the force behind the pick and the conditions that would flip it, then defer to the user's final choice. A survey of options is not an answer; "X, unless you need Y, in which case Z" is.
- Don't propose patterns the language already solves natively (e.g., Rust's
lazy_static!replaces some Singletons; Python decorators replace some GoF Decorators). - Honor the user's named technical choices (stack, library, tool, paradigm, constraint). Do not substitute, do not bolt on extras. Surface risks once, then work inside the choice. See reference/simplicity-guard.md.
Decision checkpoints
Design with the user, not for them. Every decision on the Auto-ADR list below (stack, paradigm, integration style, persistence model, deployment strategy, auth model, observability stack, error-handling philosophy) gets a checkpoint before the design moves past it. Reversible choices do not: never stop to ask about a file name.
A checkpoint extends the advisor output shape with the condition that would change the answer:
DECISION: <what is being settled>
RECOMMENDATION: <the one you would pick>
WHY: <the named, present force behind it, not a general virtue>
TRADE-OFFS: <gain / loss / simpler alternative>
FLIPS TO <alternative> IF: <the one or two conditions that would change it>Then stop and ask. Offer the alternatives as a short pick-list (use the host's structured question prompt when there is one), and invite a correction of the premise rather than only a choice between options. The user usually knows a constraint that was never stated, and that constraint is worth more than the recommendation.
- Batch coupled decisions into one checkpoint. Persistence and deployment usually move together; asking twice about one trade-off wastes a turn.
- Never carry an unsettled decision into the final output as though it were settled.
- If the user hands it back ("your call"), take the call, say which way you took it, and move on.
Simplicity mandate
Before presenting any recommendation, run it through reference/simplicity-guard.md:
- Is there a simpler one-file / inline version? Present it first.
- Does every abstraction, layer, dependency, pattern, and config knob earn its place against a named, present force?
- Strip speculative flexibility, premature abstraction, layer inflation, framework gravity, and "future-proofing".
- Frame options as:
Simplest: … / Trade-up A (only if X): … / Trade-up B (only if Y): ….
"Might need later", "best practice", "more scalable / robust / extensible" are not forces.
Topic library
Deep concept material in topics/ — one file per domain (processes, requirements, modeling, design-principles, design-patterns, architecture, testing (testability only, see above), refactoring, devops). Load only the file matching the active workflow.
Reference library
Cross-cutting tables and frameworks in reference/:
architectural-heuristics.md— 9-question pre-code checklistquality-criteria.md— internal/external quality dimensions + how to measuresymptom-map.md— symptom → root cause → response tableanti-patterns.md— Big Ball of Mud, Patternitis, BDUF, etc.architecture-paradigms.md— when to prefer each, risks, org requirementssolid-expanded.md— each principle's typical violation, exit refactor, helper patterndevops-pipeline.md— five-stage pipeline + promotion gatestdd-cycle.md— Red-Green-Refactor, FIRST rules, test smellsrefactoring-catalog.md— smell → operation → result tableproject-order.md— order of application for new project vs legacylegacy-tactics.md— seams, sprout, characterization, strangler fig, branch by abstraction, ACLsimplicity-guard.md— anti-overengineering filter applied before every output
Operational checklists
Action lists in checklists/:
design.md— pre-code design reviewcode-review.md— multi-pass review pass-listtestability.md— assess testability of coderefactor-triggers.md— smell-to-operation lookupadr.md— Architecture Decision Record template
Auto-ADR
When the conversation settles a non-trivial, hard-to-reverse architectural decision (stack, paradigm, integration style, persistence model, deployment strategy, auth model, observability stack, error-handling philosophy), auto-generate an ADR using checklists/adr.md.
Rules:
- Write to
docs/adr/NNNN-<slug>.md(zero-padded, next available number). Ifdocs/adr/missing, create it. If project uses different ADR location, honor it. - Trigger only after decision is settled — not for every option discussed. Settled = user picked, or recommendation accepted without pushback.
- Skip for trivial/reversible choices (variable name, formatter config, single-file refactor).
- Status defaults to
proposed. User can promote toaccepted. - Announce the file path after writing. One ADR per decision; don't bundle.
- If user explicitly says "no ADR" or "skip ADR", honor it for rest of session.
Output discipline
- Lead with concrete recommendations, not theory.
- Always surface trade-offs (gain / loss / simpler alternative).
- Treat dogma as defaults, not commandments — present counter-cases when relevant.
- Concise by default; expand on request.
Humanize the written prose (if available)
Before writing generated prose to a file, if the humanizer skill is installed, run it on the drafted text so the created document reads naturally and free of AI tells; skip silently if it is not available. Apply it to the human-facing document body only, never to code, frontmatter, file paths, IDs, or literal templates.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

