claude-compass
AGENTS.md0 starsChanged 8 days agoMITView on GitHub
Agent Compass packages four career research workflows for Claude and Codex: country-finder, salary-calculator, portal-finder and job-screener. It is a Markdown instruction plugin with standard-library Python mechanics, plus a Jekyll documentation site, rather than an API application or service. Run commands from the repository root. Helpers require Python 3.11+; Ruby checks use REXML and Bundler, and site checks also need Node. CI uses Ruby 3.4 and Python 3.11/3.14. When the Claude CLI is available, native validation uses claude plugin validate .claude-plugin/plugin.json…
1 other project uses a version of this.
Adopted by
Most recently taken up by
- myowinthein/agent-compassword for word, first seen Oct 20, 2026
Other versions1 project uses a version of this.
Word for word · 1
- myowinthein/agent-compass★ 0100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
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.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository5 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- country-finderSkill
- job-screenerSkill
- portal-finderSkill
- salary-calculatorSkill
The file
We split this AGENTS.md into the rules it gives an agent
8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
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 16
Run commands from the repository root.
- Very specific: line 31
When the Claude CLI is available, native validation uses claude plugin validate .claude-plugin/plugin.json and claude plugin validate …
- Distinctive: line 47
Before changing intake, evidence handling, scoring, sponsorship, arithmetic or output formatting, read the affected step prompt and its …
- Distinctive: line 65
Keep non-obvious guidance that changes decisions.
- Distinctive: line 67
Keep routine paths concise and load required specialized detail at its owning step.
- Distinctive: line 70
Verify proportionately with existing checks.
- Very specific: line 84
When consulting Claude for a project review/discussion or running Claude workflow tests, request claude --model claude-sonnet-5-5 --effort …
- Distinctive: line 88
Keep the two client manifests in the same package, sharing all skills and resources.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agent Compass
Project Identity
Agent Compass packages four career research workflows for Claude and Codex: country-finder, salary-calculator, portal-finder and job-screener. It is a Markdown instruction plugin with standard-library Python mechanics, plus a Jekyll documentation site, rather than an API application or service.
Project Config
- ship-method: direct
- git-auto-commit: true
- git-merge-strategy: squash
- readme-style: custom
Dev Commands
Run commands from the repository root. Helpers require Python 3.11+; Ruby checks use REXML and Bundler, and site checks also need Node. CI uses Ruby 3.4 and Python 3.11/3.14.
| Command | Purpose |
bundle exec rake test | Full plugin/helper checks, site JavaScript tests, Jekyll build and internal HTML/link/image/script checks; required after documentation or site configuration changes. |
bundle exec rake plugin_test | Plugin validation and offline Python/Ruby helper regressions. |
ruby scripts/validate_plugin.rb | Four skill entries, shared resources/icon and a relocated package with a separate consumer workspace. |
ruby scripts/test_plugin.rb | Validation edge cases, published arithmetic/table examples, archive attributes and deployment contracts. |
ruby scripts/test_salary_targets.rb | Salary CLI checks against an independent Ruby Rational oracle. |
python3 -B scripts/test_compass.py | Offline consumer checks, golden outputs, legacy names, ingestion/retry, state, encoding and relocation. |
python3 -B scripts/test_workflow_replay.py --host claude or --host codex | Optional acceptance replays through the host CLI with fictional data and simulated web evidence. It calls the model and is not part of rake test. |
bundle exec jekyll serve | Local documentation preview. |
bundle exec rake client_test | Optional native discovery regression; requires both Claude and Codex CLIs, uses temporary installations and makes no model calls. |
ruby scripts/check_clients.rb --installed | Inspect inventories after separately updating installed copies. |
When the Claude CLI is available, native validation uses claude plugin validate .claude-plugin/plugin.json and claude plugin validate skills. Offline checks use fictional fixtures; passing them does not establish live research accuracy or model/workflow compliance.
Architecture Pointers
.claude-plugin/plugin.jsonowns shared identity/version metadata;.codex-plugin/plugin.jsonmirrors it and adds Codex presentation. Packaging checks require exact shared-field parity. Keepagent-compassand all four workflow names stable. The marketplace references this package without duplicating its version or description.skills/<command>/SKILL.mdare the four portable entry points. Each only loads the shared runtime and its workflow. Omitcommandsfrom both manifests and keepcommands/absent; legacy adapters and generatedsource-command-*entries create duplicate discovery.workflows/<command>.mdowns orchestration;prompts/<command>/owns step behavior, judgment and output instructions. Flatskills/*.mdfiles are explicitly loaded rule/interface references, not discoverable skills.prompts/shared/runtime.mdowns installed-resource resolution, parent/checkpoint responsibilities, research isolation/fallback and host-specific specialist routing.prompts/shared/question-mechanism.mdadapts existing questions to actual host capabilities without adding approval gates.prompts/shared/deep-reasoner.mdandcalculator.mdare the specialist procedures.agents/*.mdselects Claude models and declares each role's effort for both hosts; Codex model selection belongs in the shared runtime.helpers/compass.pyandhelpers/compass_lib/supply shared mechanics, routed throughskills/helper-runtime.md.workspace-baseresolves the fixed home storage base and creates it only on request;run-startcreates that base when absent, isolated chat/person/command run folders and optional confirmed profile copies;ingestwrites research/stored-data files. Run listing and state checks are read-only. Semantic decisions remain in prompts.helpers/salary_targets.pyretains its v1 consumer interface and is reused by the shared renderer.data/output-contracts.jsonalone defines fixed display tokens, rounding/bounds and batching size for Python and approved manual runs.data/workspace-files.jsonis the sole current/legacy artifact registry.helpers/compass_lib/files.pyandskills/workspace-files.mdimplement the same read-only resolution policy.- Bundled resources come from the actual installed plugin root. New searches use the fixed
Path.home() / "Agent Compass"base resolved byworkspace-base; CF/SC/JS have isolated run folders, including profiles. Keep legacy files in place; explicit saved-run handoffs do not change the base for new searches.
Domain Rules
Before changing intake, evidence handling, scoring, sponsorship, arithmetic or output formatting, read the affected step prompt and its referenced shared rules. Keep behavioral instructions in these shared sources rather than platform adapters or Python judgment code.
- CF/SC/JS select their chat/person/command run through
skills/run-workspaces.mdbefore profile or checkpoint access. New chats start fresh; same-chat repeats offer the command's view/resume/continue choice versus a separate fresh run. JS remains profile-only, without screening exports or checkpoints. Keep existing flat runs untouched and accept them only through explicit selection. - In chats with multiple people, CF/SC/JS invocations without an unambiguous explicit person choice ask who the run is for; never default to recency. Ordinary JS follow-ups retain their selected person. PF stays profile-free.
- New CF/SC/JS runs reuse a profile already confirmed for the selected person in the same chat, copied through
profile_source_run, unless the user asks for a new resume. Never copy research, outputs or checkpoints. Chat keys are host-prefixed (claude:,codex:or a tool-generatedlocal:<UUID4>) and are never invented. - Preserve
profile.md,situational-profile.md, the existing two-field checkpoint schema and saved artifacts. Existing current/legacy runs keep their resolved filenames, including missing later artifacts; duplicate spellings for one artifact require clarification rather than migration, merging or copies. Completed runs replay saved finals. - The parent owns questions, confirmations, aggregate research and checkpoint advancement. Fresh research tasks receive literal candidate facts/rules; fresh context is not a filesystem sandbox.
- For research collection/validation changes, read
skills/data-validation-rules.mdandskills/research-helper.md. Accepted bytes and original duplicates are preserved; validation metadata stays outside country blocks. Ingestion is atomic per file, not across both files, so partial failures require readback and fresh hashes before retry. - Country Finder prioritizes explicit Includes, then offers Salary Calculator's recorded research scope as names only with confirmation, otherwise its shipped default. This scope retains countries omitted from salary tables and requires neither salary completion nor substantive compatibility. Keep this separate from readiness/compatibility gates for substantive transfers; optional upstream data never blocks a standalone workflow or changes a resumed scope.
- Country Finder assesses Remote and Sponsorship independently across all Step 2 countries. Missing evidence differs from weak fit and explicit exclusion. Scoring either track requires stored research, even when the other track is excluded. The post-audit Summary owns final fits; the Priority Table supplies presentation order.
- Salary Calculator researches two independent local-employee gross annual base-pay tiers, not cross-border remote offers. Unsupported adjustments are skipped rather than changed to zero.
skills/salary-comparison-rules.mdandskills/sponsorship-threshold-rules.mdown comparable currency/pay basis/period, unrounded comparisons and official monthly legal-pay support; targets, hard floors and visa rules stay separate. skills/timezone-rules.mdowns hub and seasonal/DST coverage; helper offsets only describe supplied dates. Portal Finder needs opened relevant sources. Job Screener needs an explicit mandatory condition plus confirmed inability for each blocker, and retains its exact conditional report format.- Portal Finder and Job Screener intentionally have no automatic exports or checkpoints.
Instruction authoring
This covers Compass's agent-facing instructions. General prose follows .claude/rules/writing.md.
- Keep non-obvious guidance that changes decisions. Rewrite affected passages instead of accumulating exceptions, tutorials or repeated explanations.
- Define shared rules once per loaded context; brief reminders at consequential actions may repeat. Preserve required literal context in isolated research briefs and dependencies needed by standalone references.
- Keep routine paths concise and load required specialized detail at its owning step. Moving text into another file alone is not trimming.
- Preserve research coverage, source quality, independent tracks/tiers, uncertainty distinctions, QM capabilities, approvals, checkpoints and final audits. Brevity never justifies premature research stops or unsupported conclusions; word quotas do not establish quality.
- Reuse unchanged instructions and matching verified evidence only under the runtime and owning step's rules. Keep required fresh checks and readback; a prior success does not verify changed inputs.
- Verify proportionately with existing checks. Measure source size, loaded context and runtime separately; speed or token-saving claims need comparable measurements, and structural checks do not establish research accuracy.
Documentation and Distribution
docs/ contains concise guides for people deciding whether and how to use Compass. Explain purpose, choices, outcomes and constraints that affect use. Keep complete behavior in workflows, prompts and rules. Update what readers need at the guide's intended depth; source consistency does not require matching source detail. Follow links and includes to affected content outside the menu, and link authoritative references instead of reproducing them. New prose avoids em dashes.
Setup content lives in _includes/setup/, composed by _includes/setup-tabs.html; the JavaScript and legacy redirects preserve desktop/terminal deep links. Check their tests when changing setup navigation.
.github/workflows/docs.yml runs checks on main pushes, pull requests and manual runs, with no schedule. Its Python matrix spans Linux/macOS/Windows; the site build waits for it. Only successful main builds deploy. Hosted Pages must use GitHub Actions as its source.
_config.yml uses just-the-docs@latest. CI resolves the latest stable release and temporarily pins it for that build; failed lookup stops the build. Local builds resolve through the remote-theme plugin; restart the preview to fetch a newer release.
Contributor Review Preference
When consulting Claude for a project review/discussion or running Claude workflow tests, request claude --model claude-sonnet-5-5 --effort high. Record the requested settings and check returned model metadata; ask before substituting an unavailable configuration. This preference does not change bundled specialist routing or global client settings.
Known Traps
- Keep the two client manifests in the same package, sharing all skills and resources. Do not add a root manifest or another marketplace. Cross-platform symlink installation needs actual native discovery testing.
assets/icon.svgsupplies Codexinterface.logo/composerIcon. Omiticonandinterfacefrom the Claude manifest for Desktop importer compatibility; this forgoes Anthropic directory icon metadata. Keep Codex branding in its own manifest.- Native discovery tests inspect Codex's actual
skills/listcatalog for duplicate-free discovery andplugin/readfor display metadata. They also check Claude's four skills and two agents; they do not establish model behavior. .gitattributesexcludes canonical.helm/and legacy.claude/helm/records from Git archives. Preserve both exclusions;scripts/test_plugin.rbchecks nested canonical paths in an isolated synthetic archive.
Rules
For repository contributor work, read and follow these shared local rules on both Claude and Codex:
- .claude/rules/git.md
- .claude/rules/safety.md
- .claude/rules/writing.md
These contributor copies are not dependencies of the Compass workflows.
<!-- last-reviewed: e6bb038615747cb01ba80674f2f997a493adad77 -->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.

