Loading...
Loading...
Found 245 Skills
Builds and queries code knowledge graph for dependency analysis, references, implementations, and architecture overview. Use when starting work on unfamiliar codebase or before refactoring.
For use when students **have completed WG-12 to WG-21** (single-file consolidation blueprint) and are working on **WG-22 Code Splitting** (`agent_core.py` + `main.py`). **First message in a new session**: Display PEAS brand screen and confirm readiness first; after confirmation, **lay out the context** before proceeding to requirement clarification. If **`prompts/` or `templates/`** are missing, copy them from `references/project_assets/` to the project root. Process: Spec Alignment (2d′) → Six-column Contract → **In-session Handoff Implementation** → Acceptance. Starting point: starter_main_wg21.py; Standard reference: reference_agent_core.py + reference_main.py. Triggers: peas-workshop-advanced-coach, PEAS workshop advanced coach, WG-22, code splitting coach, Agent.chat.
Migrate Kotlin (and Java) code from kotlinx.collections.immutable 0.3.x / 0.4.x to the latest 0.5.x. The 0.5.x line renames every copy-returning method on PersistentList / PersistentMap / PersistentSet / PersistentCollection to a participial form per KEEP-0459 (add→adding, removeAt→removingAt, set→replacingAt, put→putting, clear→cleared, …) and deprecates the old names (WARNING, with ReplaceWith). Driven by the compiler: bump the version, recompile, and apply the rename each deprecation warning names. Use when the user mentions kotlinx.collections.immutable 0.5.x, PersistentList migration, "Use adding() instead", KEEP-0459, or sees deprecation warnings from kotlinx.collections.immutable.
Detects anemic domain models, validates and refactors them into rich domain models, and enforces tactical DDD patterns (Entities, Value Objects, Aggregates, Domain Services, Domain Events). Use when the user asks to validate, review, or check domain models or DDD code; detect anemia; refactor domain objects; improve encapsulation; or mentions terms like "anemic model", "rich domain", "aggregate", "value object", "domain event", "ubiquitous language", "is this good DDD", "does this follow DDD", or "check my domain". Do NOT use for module or service boundary design, architectural decomposition, strategic DDD context mapping, or code outside the domain layer (DTOs, controllers, infrastructure adapters).
Keep cyclomatic complexity low; flatten control flow, extract helpers, and prefer table-driven/strategy patterns over large switches