design-deep-module/SKILL.md
Design multiple radically different interfaces for a module-deepening candidate and create a refactor RFC as a GitHub issue. Use after explore-architecture surfaces candidates and the user picks one. Do NOT use without a specific candidate chosen, for simple extract-function refactors, or without prior coupling evidence from explore-architecture.
npx skillsauth add sanurb/skills design-deep-moduleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Given a deepening candidate (from explore-architecture), frame the problem space, spawn parallel sub-agents to produce radically different interface designs, and create a GitHub issue RFC.
Write a brief explanation of the chosen candidate covering:
Present this to the user. Then immediately proceed to Step 2 while the user reads.
Spawn 3-4 sub-agents in parallel via the Task tool (subagent_type="generalPurpose"). Give each a self-contained technical brief (file paths, coupling details, dependency category, what to hide). Assign different constraints:
| Agent | Constraint | |-------|-----------| | 1 | Minimize interface — 1-3 entry points max | | 2 | Maximize flexibility — support extension and many callers | | 3 | Optimize for most common caller — default case trivial | | 4 | Ports & adapters — inject transport (only if cross-boundary deps) |
Each sub-agent returns: interface signature, usage example, what it hides, dependency strategy (per dependency-categories.md), trade-offs.
Present designs sequentially. Compare on: interface simplicity, depth, ease of correct use vs misuse, testability at boundary. Conclude with an opinionated recommendation — propose a hybrid if elements combine well.
After the user picks (or accepts the recommendation), read issue-template.md. Fill it. Create immediately via gh issue create — do NOT ask the user to review first. Share the URL.
If gh is not authenticated, instruct the user to run gh auth login first.
GitHub issue created: <URL>
| File | When to read | |------|-------------| | dependency-categories.md | Step 1 (classify deps) and Step 2 (dependency strategy per design) | | issue-template.md | Step 3 (fill and create the issue) |
development
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub, GitLab, fp, or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `fp-plan`, `fp-implement`, `fp-review`, `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.
development
Build a throwaway prototype to flush out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says "prototype this", "let me play with it", "try a few designs".
tools
Control herdr (a terminal-native agent multiplexer) from inside it. Manage workspaces and tabs, split panes, spawn sibling agents, read pane output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1). Do not use outside herdr.
documentation
Compact the current conversation into a handoff document for another agent to pick up.