{"id":51292266,"url":"https://github.com/dylanmoo/workos-plugin","last_synced_at":"2026-06-30T11:02:08.144Z","repository":{"id":360839082,"uuid":"1251914985","full_name":"dylanmoo/workos-plugin","owner":"dylanmoo","description":"Compound your context with Claude across sessions, in plain markdown.","archived":false,"fork":false,"pushed_at":"2026-05-28T04:21:49.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-28T05:14:18.761Z","etag":null,"topics":["claude-code","claude-code-plugin","claude-skills","markdown-workspace","workos"],"latest_commit_sha":null,"homepage":"https://github.com/dylanmoo/workos-plugin","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dylanmoo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T02:50:19.000Z","updated_at":"2026-05-28T04:21:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dylanmoo/workos-plugin","commit_stats":null,"previous_names":["dylanmoo/workos-plugin"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dylanmoo/workos-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanmoo%2Fworkos-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanmoo%2Fworkos-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanmoo%2Fworkos-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanmoo%2Fworkos-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dylanmoo","download_url":"https://codeload.github.com/dylanmoo/workos-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dylanmoo%2Fworkos-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34963642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","claude-code-plugin","claude-skills","markdown-workspace","workos"],"created_at":"2026-06-30T11:02:07.304Z","updated_at":"2026-06-30T11:02:08.138Z","avatar_url":"https://github.com/dylanmoo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# WorkOS Plugin\n\nA Claude Code plugin with five skills for running a Cowork-style markdown workspace. Designed to compound context over time and keep `CLAUDE.md` / `MEMORY.md` lean.\n\n## Install\n\nIn Claude Code:\n\n```\n/plugin marketplace add dylanmoo/workos-plugin\n/plugin install workos\n```\n\nThat's it. The five skills below become available as slash commands.\n\n## Skills\n\n- **`/init-workos`** — One-time bootstrap. Recursively scans an existing directory and lays the WorkOS scaffold on top: root `CLAUDE.md` with routing map, `MEMORY.md`, `ARCHIVE.md`, plus per-domain and per-project `CLAUDE.md` + `MEMORY.md`. Detects group containers (folders like `clients/` that bundle multiple projects) and routes through them via full relative paths. Tags every file it creates with a `workos-init-scaffold` sentinel. Never moves existing files.\n- **`/uninit-workos`** — Reverse of init. Finds files by the `workos-init-scaffold` sentinel, removes clean scaffold files automatically, and asks file-by-file what to do with edited ones. Never deletes any folder or any file without the sentinel.\n- **`/create-project`** — Bootstraps a new project (folder + `CLAUDE.md` + `MEMORY.md`) and registers it in the right routing map (root or parent domain). Asks for name, identity, and routing condition.\n- **`/session-audit`** — End-of-session capture. Scans the current conversation for corrections, preferences, decisions, and new context, then proposes the exact wording and target file for each.\n- **`/workspace-audit`** — Periodic file-level health check. Five checks: wrong-location entries, archive candidates, size-ceiling status, entry format violations, and project-specific content that should cascade. Never writes without approval.\n\n## Vocabulary\n\n- **Project** — a folder for one ongoing thing (a client engagement, a product effort, a workshop). Each project gets its own `CLAUDE.md` and `MEMORY.md`. Projects are the unit that compounds.\n- **Domain** — a top-level area of work that contains projects. Examples: `personal/`, `clients/`, `research/`.\n- **Group** (optional) — a folder inside a domain that bundles related projects together (e.g., `clients/` containing `acme/`, `widgetco/`). Groups are pure folder containers — they don't get their own `CLAUDE.md`. The domain's routing map points directly to grouped projects via paths like `clients/acme/`.\n\n## When to use each\n\n| Skill | Cadence |\n|---|---|\n| `/init-workos` | Once per workspace, on the first session in a new directory |\n| `/uninit-workos` | Only when you want to revert init-workos and get back to your pre-WorkOS structure |\n| `/session-audit` | End of every working session |\n| `/create-project` | When starting a new client engagement, recurring workflow, or area of work that deserves its own folder |\n| `/workspace-audit` | Weekly first month, monthly after — or any time output quality slips |\n\n## How to compound learnings over time\n\nWorkOS gets sharper the more you use it. Every correction, decision, and fact has a home that future sessions automatically inherit. The loop:\n\n1. **First session** — run `/init-workos` in your project directory. The scaffold lands on top of your existing files; nothing moves or gets renamed.\n2. **Every session** — the agent auto-reads `MEMORY.md` at the relevant scope. Say \"remember this\" mid-session to file a fact. End the session with \"audit this session\" to run `/session-audit`, which scans the conversation for corrections and decisions you didn't think to save and proposes where each belongs.\n3. **When work grows** — run `/create-project` whenever a new client, effort, or recurring area emerges. Three questions, one new routable folder with its own `CLAUDE.md` and `MEMORY.md`.\n4. **Every few weeks** — run `/workspace-audit`. Flags misplaced entries, oversized files, completed projects to archive, and content that should cascade to a more specific scope.\n\n### Where things go\n\n| What you have | Where it lives |\n|---|---|\n| A rule (`\"always do X\"`, `\"never do Y\"`) | `CLAUDE.md` — most-specific scope wins (project \u003e domain \u003e root) |\n| A mutable fact (contact, status, decision) | `MEMORY.md` — same scoping |\n| Durable knowledge true on a 6-month horizon | `{domain}/resources/\u003ctopic\u003e.md` |\n| Source material (transcripts, articles, raw notes) | `{domain}/raw/` |\n| Completed projects, aged-out facts | `ARCHIVE.md` — write-only, never read at session start |\n\n### The compounding effect\n\nCorrections given once become rules. Facts mentioned once stay recalled. Lessons distilled from experience accumulate in `resources/`. The agent grows into your specific working style instead of resetting every session. Most of this happens automatically — you just need to actually run `/session-audit` at the end and `/workspace-audit` on a cadence.\n\n## Update\n\nWhen a new version ships:\n\n```\n/plugin update workos\n```\n\nClaude Code also checks for updates periodically on its own.\n\n## v2.0.0 — breaking change\n\nThe slash command `/create-workstation` is renamed to `/create-project`. Same behavior, simpler name. Existing scaffolded files (which never used the term `workstation` outside of the description in older `CLAUDE.md` templates) are unaffected on disk — but if you have automation referencing `/create-workstation`, update it to `/create-project`.\n\n## Layout\n\n```\nworkos-plugin/\n├── .claude-plugin/\n│   ├── marketplace.json   ← lets you `/plugin marketplace add` this repo\n│   └── plugin.json         ← the plugin manifest\n├── skills/\n│   ├── init-workos/SKILL.md\n│   ├── uninit-workos/SKILL.md\n│   ├── create-project/SKILL.md\n│   ├── session-audit/SKILL.md\n│   └── workspace-audit/SKILL.md\n└── README.md\n```\n\n## Source\n\nBuilt from patterns in Jeff Su's Cowork tutorials and adapted for a more flexible multi-domain layout. The original Cowork terminology uses \"workstation\"; this plugin uses \"project\" for clarity.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylanmoo%2Fworkos-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdylanmoo%2Fworkos-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdylanmoo%2Fworkos-plugin/lists"}