{"id":47641693,"url":"https://github.com/tslateman/duet","last_synced_at":"2026-04-02T01:00:14.989Z","repository":{"id":336662911,"uuid":"1148320946","full_name":"tslateman/duet","owner":"tslateman","description":"Developer plugin for Claude Code — slash commands, agents, and workflow tools","archived":false,"fork":false,"pushed_at":"2026-03-21T00:00:20.000Z","size":7192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-21T15:36:00.569Z","etag":null,"topics":["claude-code","claude-code-plugin","git","productivity","slash-commands","workflow"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/tslateman.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-02-02T20:40:02.000Z","updated_at":"2026-03-21T00:00:23.000Z","dependencies_parsed_at":"2026-03-07T01:02:00.428Z","dependency_job_id":null,"html_url":"https://github.com/tslateman/duet","commit_stats":null,"previous_names":["tslateman/duet"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tslateman/duet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tslateman%2Fduet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tslateman%2Fduet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tslateman%2Fduet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tslateman%2Fduet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tslateman","download_url":"https://codeload.github.com/tslateman/duet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tslateman%2Fduet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","git","productivity","slash-commands","workflow"],"created_at":"2026-04-02T01:00:14.117Z","updated_at":"2026-04-02T01:00:14.935Z","avatar_url":"https://github.com/tslateman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Duet\n\nReflection, writing, and design skills for Claude Code.\n\n## Install\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/tslateman/duet/main/install.sh | bash\n```\n\nOr clone directly:\n\n```bash\ngit clone https://github.com/tslateman/duet.git ~/.claude/plugins/duet\n```\n\n## Update\n\n```bash\ngit -C ~/.claude/plugins/duet pull\n```\n\nOr run the install script again; it pulls if already installed.\n\n## Philosophy\n\n\u003e Two voices in dialogue, neither dominant. The composition emerges from the interaction. [Read more.](notes/philosophy.md)\n\n## Getting Started\n\nYou don't need to memorize the catalog. Describe what you're doing in plain\nlanguage and Claude routes to the right skill automatically:\n\n- \"debug this\" → `/debugging`\n- \"review my PR\" → `/review`\n- \"how should I test this\" → `/testing`\n\nExplore the full catalog by problem type in [Skills by Concern](skills/FRAMEWORKS.md#skills-by-concern).\n\nUse `/install-statusline` to set up a lean status bar for Claude Code sessions.\n\n## How Duet Works\n\n- **Skills** auto-invoke from context and teach methodology\n- **Commands** are workflows you invoke by name\n- **Agents** are subprocesses for parallel work\n\n## Commands\n\n| Command               | Description                                                               |\n| --------------------- | ------------------------------------------------------------------------- |\n| `/capture-memory`     | Capture learnings to MEMORY.md, output compact summary                    |\n| `/install-statusline` | Install duet statusline to ~/.claude for a lean, informative status bar   |\n| `/lint`               | Run markdownlint on specified files or the whole project                  |\n| `/memory-audit`       | Audit project memory files for staleness, orphans, bloat, and duplication |\n| `/ponder [n]`         | Surface a question worth sitting with                                     |\n| `/probe`              | Probe recent changes with 2-3 pointed questions                           |\n\n## Skills\n\n| Skill          | Description                                                                                                                                                                                |\n| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `/adr`         | Generate Architecture Decision Records that capture the reasoning behind technical decisions.                                                                                              |\n| `/debrief`     | Review what agents accomplished, surface loose ends across sessions.                                                                                                                       |\n| `/debugging`   | Systematic debugging that applies the scientific method to failures.                                                                                                                       |\n| `/design`      | Intentional design thinking for interfaces, components, and systems.                                                                                                                       |\n| `/excalidraw`  | Create Excalidraw diagrams programmatically.                                                                                                                                               |\n| `/ia`          | Evaluate and improve how information is organized for findability.                                                                                                                         |\n| `/mermaid`     | Create diagrams and visualizations using Mermaid.js v11 syntax.                                                                                                                            |\n| `/naming`      | Evaluate and improve names in code using naming as a design diagnostic.                                                                                                                    |\n| `/performance` | Profiling methodology and optimization strategy for performance work.                                                                                                                      |\n| `/prose`       | Apply Strunk's writing rules to prose—documentation, commits, error messages, UI text. Clearer, stronger, more professional. Also handles sharpening and tightening drafts by subtraction. |\n| `/research`    | Systematic technical investigation—evidence gathering, option comparison, and actionable recommendations.                                                                                  |\n| `/retro`       | Reflect on recent work—capture learnings and surface what to think about next.                                                                                                             |\n| `/review`      | Framework for code review that captures context future maintainers need—concerns raised, alternatives rejected, risks accepted.                                                            |\n| `/sweep`       | Post-op check for artifacts, damage, and stale references after agent work.                                                                                                                |\n| `/testing`     | Design test strategy using Beck's Test Desiderata — which properties matter, which tradeoffs to make.                                                                                      |\n| `/vamp`        | Survey the project and choose what to play next.                                                                                                                                           |\n| `/vibe-check`  | Judgment linter for vibe-coded output — reads the energy of the code, not just correctness.                                                                                                |\n\n## Agents\n\n| Agent             | Description                                                                                                                                                                  |\n| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `code-simplifier` | Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise. |\n\n## Recipes\n\nSeven skills include `RECIPE.md` files that teach Bach (a multi-agent\norchestrator) how to decompose domain tasks into parallel workers. Each recipe\ndefines roles, inputs, and coordination patterns for multi-agent work. See\n[FRAMEWORKS.md](skills/FRAMEWORKS.md) for the full list.\n\n## Structure\n\n```text\nduet/\n├── .claude-plugin/\n│   └── plugin.json       # Plugin metadata\n├── commands/             # Slash commands\n├── skills/               # Skills with supporting files\n│   └── \u003cname\u003e/SKILL.md\n├── agents/               # Subagent definitions\n├── statusline/           # Status bar script\n├── scripts/              # Build and maintenance scripts\n└── notes/                # Project thinking\n```\n\n## Requirements\n\n- [Claude Code](https://claude.ai/code)\n- Git\n- GitHub CLI (`gh`)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftslateman%2Fduet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftslateman%2Fduet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftslateman%2Fduet/lists"}