{"id":44126104,"url":"https://github.com/ajayjohn/tars-work-assistant","last_synced_at":"2026-06-17T06:00:29.037Z","repository":{"id":337297391,"uuid":"1152932471","full_name":"ajayjohn/tars-work-assistant","owner":"ajayjohn","description":"TARS is a knowledge work assistant plugin for Claude Code and Claude Cowork. TARS turns Claude into a persistent, context-aware executive assistant that remembers your organization, manages your work, processes meetings, captures knowledge, and helps you think strategically.","archived":false,"fork":false,"pushed_at":"2026-06-14T02:17:05.000Z","size":1248,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-14T04:11:58.999Z","etag":null,"topics":["claude-code","claude-cowork","skills"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ajayjohn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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-02-08T16:51:46.000Z","updated_at":"2026-06-14T02:17:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ajayjohn/tars-work-assistant","commit_stats":null,"previous_names":["ajayjohn/tars-work-assistant"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/ajayjohn/tars-work-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajayjohn%2Ftars-work-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajayjohn%2Ftars-work-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajayjohn%2Ftars-work-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajayjohn%2Ftars-work-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajayjohn","download_url":"https://codeload.github.com/ajayjohn/tars-work-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajayjohn%2Ftars-work-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34435981,"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-17T02:00:05.408Z","response_time":127,"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-cowork","skills"],"created_at":"2026-02-08T21:19:56.142Z","updated_at":"2026-06-17T06:00:29.009Z","avatar_url":"https://github.com/ajayjohn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Copyright 2026 Ajay John. Licensed under PolyForm Noncommercial 1.0.0. See LICENSE. --\u003e\n\n# TARS\n\nTARS turns a local Markdown workspace into a persistent Claude assistant for meetings, memory, tasks, briefings, strategic thinking, and stakeholder communication.\n\nTARS is built around a few core ideas:\n- The local Markdown workspace is the data model. Obsidian is optional and can be enabled later as a visual browser.\n- The local TARS helper (`tars-vault`) is the required guardrail layer for workspace writes. It ships with the plugin and runs locally.\n- The AI harness is treated as product code: lean always-loaded instructions, mode-specific references, hooks, validators, and review-gated improvements.\n- TARS-managed notes use schema-validated `tars-` frontmatter properties.\n- Live Obsidian Bases are available in Obsidian mode; headless users can query the same files through Claude.\n- Retrieval combines SQLite FTS5 over structured memory with a local FastEmbed + sqlite-vec semantic layer over prose (journal, transcripts, contexts).\n- Briefing is adaptive by default: daily, weekly, re-entry, sparse-context, and drift-aware orientation all route through `/briefing` or natural language.\n- Meetings run a nuance-capture pass after summarization — contrarian views, quotes, numbers, unusual terms are preserved verbatim.\n- The inbox is a first-class intake path: drop transcripts, PDFs, decks, docs, screenshots, exports, or rough notes into `inbox/pending/` and ask TARS to process the inbox in bulk.\n- Integrations are provider-agnostic: skills resolve a capability (calendar, tasks, meeting-recording, data-warehouse, analytics, design, documentation, project-tracker, etc.) and the registry picks the active server.\n- Extensions are workspace-installed modules for provider adapters, workflow playbooks, template packs, retrieval packs, and validators; even curated catalog extensions are copied into the user's workspace before use.\n- Office output (`.pptx`, `.docx`, `.xlsx`, `.pdf`, HTML) delegates to Anthropic's first-party rendering skills; TARS owns content structuring, brand application, companion notes, and workspace filing.\n- Tasks and durable memory always go through review before persistence.\n- Cold-start friction is addressed by progressive `/welcome`, seven onboarding personas, and graceful degradation when integrations are missing.\n- Wikilink hygiene is centralized: every `[[…]]` flows through `format_wikilink`; smart-quote and Obsidian-illegal links are rejected at the write side; legacy broken links can be repaired in bulk.\n- Startup context is time-aware instead of scan-heavy: a tiny `_system/activity-ledger.yaml` capsule tracks last use, intake gaps, stale initiatives, overdue tasks, and active-set pressure.\n- Scheduled work is optional and registered through `/welcome --setup-schedules` when a scheduler is available. Claude does not run in the background by itself, so weekly staleness, drift, and rollup work is surfaced through scheduled jobs or manual `/maintain --weekly`.\n\n## First run\n\nAfter installing the plugin, run `/welcome`. It creates a local Markdown workspace, records your identity and persona, and then guides you into a first paste-or-upload workflow before anything is saved.\n\n```text\n/welcome\n```\n\n## What you get over time\n\n- **Day 1**: useful structure from pasted meetings, emails, calls, and docs.\n- **Day 7**: inbox files, memory, people, decisions, and tasks start showing up in `/answer` and `/briefing`.\n- **Day 30**: TARS becomes an operating layer for recurring work, follow-through, and organizational context.\n\n## What ships in the framework\n\nThe framework ships with 15 skills, 15 slash-command wrappers, note templates, office content outlines, seven personas, live views for Obsidian mode, and deterministic maintenance scripts.\n\nCore user-facing capabilities:\n- Adaptive briefings for day-start, week planning, re-entry after time away, sparse intake, and drift\n- Meeting processing that links transcripts, journal notes, decisions, and follow-through — with nuance-capture pass\n- Inbox processing for bulk transcripts, PDFs, decks, docs, screenshots, exports, and raw notes\n- Task extraction with accountability testing, duplicate checks, age / escalation tracking\n- Durable memory capture for people, initiatives, decisions, products, vendors, competitors, and organizational context\n- Hybrid fast lookup — FTS5 over memory, semantic over journal + transcripts + contexts, plus integrations\n- Workspace navigation helpers that build bounded context from Markdown: activity gaps, entity timelines, context bundles, and archive candidate review\n- Strategic analysis (five modes), communications drafting (RASCI + brand-aware), initiative planning\n- `/lint --actions` materialized review queue (subsets: wikilinks, patterns, curator) + `/maintain --weekly` scheduled pipeline\n- `/learn --review-patterns` for observed-preference learning (user model + workflow-alias proposals)\n- `/create` office output orchestration via Anthropic's first-party skills\n\n## Architecture at a glance\n\nThe framework uses this high-level structure:\n\n```text\nskills/           Behavioral and workflow protocols (15 skills)\ncommands/         Thin slash-command wrappers into the skills\nhooks/            SessionStart / PreToolUse / PostToolUse / PreCompact / SessionEnd\nmcp/tars-vault/   Local TARS helper + retrieval + organization tools\n_system/          Source defaults for scaffolded runtime config and schemas\n_views/           Source templates for optional Obsidian `.base` views\ntemplates/        Canonical TARS note templates (+ office content outlines)\nscripts/          Deterministic stdlib-only validators and maintenance utilities\n.claude/skills/   Obsidian-specific helper skills used by the agent\n```\n\nA deployed TARS workspace uses this runtime layout. These directories live in your **workspace**, not in this repository. The plugin scaffolds them on first `/welcome`:\n\n```text\n_system/               Runtime config, install state, maturity, schemas, guardrails\nmemory/                Durable knowledge graph\njournal/               Skill outputs and dated notes\ncontexts/              Deep reference material and generated artifacts\nextensions/            Workspace-installed TARS extensions\ninbox/pending/         Raw intake waiting for processing (incl. weekly review queues)\ninbox/processed/       Processed intake awaiting later maintenance\ntasks/                 Current task-note location\narchive/               Preserved transcripts and archived material, grouped by type\ntemplates/             User-visible templates copied for portability\nscripts/               Workspace-local helper scripts\nindex.md               Cheat sheet and natural-language workflow guide\n```\n\nPut raw files in `inbox/pending/` and say \"process inbox\" or run `/maintain inbox`. TARS inventories the folder, classifies each item, routes it to the right workflow, proposes memory/tasks for review, writes durable context, and moves processed items to `inbox/processed/`.\n\nThe plugin/workspace boundary is strict: plugin-shipped skills are read-only from a user's perspective, and any auto-created or user-tunable behavior lives in the workspace (`_system/install.yaml`, `_system/extensions.yaml`, `_system/user-model.md`, `_system/workflows.yaml`, `extensions/`).\n\nExisting workspaces do not need a manual migration for `3.7.3`. The first `/briefing` or `/lint` rebuilds the derived activity ledger; legacy `memory/tasks/` notes remain readable while new task workflows continue to use `tasks/`. Workspace extensions are installed under `extensions/` when first used, enabled matching extensions are loaded automatically before skill workflows run, and fail-closed extension ownership prevents local fallback writes for externalized capabilities.\n\n## Quick start\n\n1. Install the framework from the marketplace or from a local checkout.\n2. Point TARS at a local folder for your Markdown workspace.\n3. Run `/welcome` to scaffold the workspace, pick a persona, and set your identity.\n4. Paste or upload a meeting transcript, PDF/report excerpt, email thread, or rough notes when welcome offers the first guided workflow.\n5. Continue deeper setup later with `/welcome --continue-setup`; enable Obsidian with `/welcome --enable-obsidian` if you want live views.\n\nExamples:\n\n```text\n/welcome\n/briefing\n/meeting\n/tasks\n/maintain inbox\n/answer What do I know about the platform rewrite?\n/think Stress-test this roadmap decision.\n```\n\nSlash commands are shortcuts. Natural-language requests work too: \"process everything in my inbox\", \"what should I focus on today\", \"remember Sarah owns onboarding\", or \"stress-test this roadmap\".\n\n## How TARS behaves\n\nTARS is designed to preserve signal and avoid silent drift:\n- It checks the workspace before writing and classifies findings as NEW, UPDATE, REDUNDANT, or CONTRADICTS.\n- It refuses workspace writes when the local helper cannot resolve a real TARS workspace or when the install record points at a different folder.\n- It validates managed note frontmatter against workspace schemas before create-time writes.\n- It uses the durability test before proposing memory persistence.\n- It uses the accountability test before proposing tasks.\n- It keeps startup context lean by rebuilding a small derived activity ledger instead of re-scanning the whole workspace on every session.\n- It preserves transcript text so later queries can inspect what was actually said.\n- It records framework issues and user improvement ideas in `_system/backlog/`.\n- It performs scheduled or session-start maintenance to keep schemas, links, integration indexes, and archival state healthy.\n- It coaches lightly through Daily Digest suggestions, milestone moments, and `/help`, with controls to show fewer tips or turn coaching off.\n\n## Documentation map\n\nStart here depending on what you need:\n- [docs/GETTING-STARTED.md](docs/GETTING-STARTED.md) for setup and first workflows\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the current system model\n- [docs/BUILD.md](docs/BUILD.md) for packaging and release mechanics\n- [CONTRIBUTING.md](CONTRIBUTING.md) for maintenance and change hygiene\n- [CHANGELOG.md](CHANGELOG.md) for release history\n- [docs/CATALOG.md](docs/CATALOG.md) for the product and adoption overview\n- [docs/MOBILE-USAGE.md](docs/MOBILE-USAGE.md) for Claude Remote Control on mobile\n\n## License\n\nThis repository is licensed under PolyForm Noncommercial 1.0.0. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajayjohn%2Ftars-work-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajayjohn%2Ftars-work-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajayjohn%2Ftars-work-assistant/lists"}