{
  "markdown": "<p align=\"center\"><img src=\"logo.png\" width=\"120\" alt=\"logo\" /></p>\n\n# myfocus-skill\n\n> `/myfocus` — Surface the highest-priority next task across recent coding-agent sessions. An antidote to parallel-work decision fatigue.\n\n[![tests](https://img.shields.io/badge/tests-stdlib%20unittest-blue)](#testing)\n[![license](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n\n## What\n\n`/myfocus` scans your local session logs from any registered coding agent (Claude Code, Codex, Gemini, plus anything you add via the plugin interface), clusters by project, applies a priority heuristic, and prints **one task to focus on** plus 2–4 deferred candidates. The skill never executes the task — it only points.\n\n## Install\n\nRequires Python 3.10+ (stdlib only, no pip deps).\n\n```bash\ngit clone https://github.com/cskwork/myfocus-skill ~/myfocus-skill\nln -s ~/myfocus-skill ~/.claude/skills/myfocus\n```\n\nRestart Claude Code (or reload skills). `/myfocus` is now registered.\n\n## Usage\n\n```\n/myfocus                              # last 5h, all registered agents\n/myfocus --window 24h                 # widen window\n/myfocus --cwd $(pwd)                 # only sessions in current directory tree\n/myfocus --agents claude_code,codex   # restrict to subset\n/myfocus --list-agents                # show registered scanners + default paths\n/myfocus --save                       # snapshot to ~/.claude/myfocus/<timestamp>.md\n/myfocus --json                       # raw scanner JSON, skip LLM synthesis\n```\n\nYou can also call the scanner directly without Claude:\n\n```bash\ncd ~/myfocus-skill\npython3 -m scripts.collect --window 5h\n```\n\n## Supported agents\n\n| Agent | Module | Default session path |\n|---|---|---|\n| Claude Code | `scripts/scanners/claude_code.py` | `~/.claude/projects/<encoded-cwd>/*.jsonl` |\n| Codex CLI | `scripts/scanners/codex.py` | `~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl` |\n| Gemini CLI | `scripts/scanners/gemini.py` | `~/.gemini/tmp/<alias>/logs.json` |\n\nOverride any base path via environment variables: `MYFOCUS_BASE_CLAUDE_CODE`, `MYFOCUS_BASE_CODEX`, `MYFOCUS_BASE_GEMINI`. The skill auto-discovers any other scanner registered under `scripts/scanners/` — see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Architecture\n\n```\n            collect.py (CLI)\n                 │\n                 ▼\n         scanners/ registry  ←──── add scanners/<name>.py to extend\n        ┌────────┼────────┐\n        ▼        ▼        ▼\n  claude_code  codex   gemini  (+ community-added)\n                 │\n                 ▼\n           SessionDigest[] → JSON → stdout\n                 │\n                 ▼\n            SKILL.md (LLM)  ← clusters, prioritizes, renders\n                 │\n                 ▼\n       TOP PRIORITY  /  DEFERRED  /  CONTEXT\n```\n\nDeterministic work (file I/O, time filtering, JSON extraction) lives in Python. Subjective work (topic clustering, priority weighting) lives in the LLM via the instructions in `SKILL.md`.\n\n## Testing\n\n```bash\npython3 -m unittest discover -s tests -v\n```\n\nAll tests use stdlib + temp-dir fixtures. No real session content is committed to the repo.\n\n## Documentation\n\n- **[docs/SPEC.md](docs/SPEC.md)** — full design (problem, architecture, plugin interface, heuristics, security)\n- **[docs/PLAN.md](docs/PLAN.md)** — implementation plan with TDD task breakdown\n- **[CONTRIBUTING.md](CONTRIBUTING.md)** — how to add a scanner\n\n## Non-goals\n\n- Persistent task databases or ML ranking — heuristic + LLM synthesis is enough.\n- Real-time monitoring or background daemons — explicit invocation only.\n- Direct Jira / Linear / GitHub Issues integration — compose other skills for that.\n- Cross-machine session aggregation — single-laptop assumption.\n- Web-only chat histories without local export.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 3779,
  "sha": "5046c9a9d0fe0dcc171a57431c26841e1766e658ddb70bf9f86c0ebf4e5c6898",
  "repo_slug": "cskwork/myfocus-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_cskwork_myfocus_skill_97f729c3/readme"
}