skills/language-learning/SKILL.md
Guides rapid acquisition of new programming languages, frameworks, and paradigms through a structured 5-phase protocol. ALWAYS trigger on "learn Rust", "learn Go", "new language", "pick up a language", "never used X before", "getting started with", "how does X work", "teach me Y", "unfamiliar technology", "language comparison", "evaluate language", "switch to X", "polyglot", "first time using". Use when encountering unfamiliar technology, evaluating language choices, or onboarding to a new stack. Delegates to Polyglot agent for execution.
npx skillsauth add aj-geddes/unicorn-team language-learningInstall 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.
| Phase | Duration | Goal | Key Deliverables | |-------|----------|------|-----------------| | 1. Exploration | 30 min | Run first program | Hello World, build system, basic syntax | | 2. Patterns | 1-2 hr | Map to known equivalents | Comparison table, pattern mapping | | 3. Ecosystem | 1 hr | Set up toolchain | Package manager, test framework, linter, LSP | | 4. Idioms | 2-3 hr | Learn community conventions | Style guide notes, anti-patterns list | | 5. Production | Ongoing | Ship production code | Logging, monitoring, deployment, security |
Target: Zero to implementing small features in < 4 hours.
Run scripts/new-language.sh with the target language to execute interactively.
Complete this comparison for the new language:
| Concept | Python | JavaScript | Go | New Language |
|---------|--------|------------|-----|-------------|
| Variables | x = 5 | let x = 5 | x := 5 | ? |
| Constants | X = 5 | const X = 5 | const X = 5 | ? |
| Functions | def f(): | function f() | func f() | ? |
| Error handling | try/except | try/catch | if err != nil | ? |
| Null safety | None | null/undefined | nil | ? |
| Iteration | for x in list: | list.forEach() | for _, x := range | ? |
| Collections | list, dict | Array, Object | slice, map | ? |
| Types/Classes | class Foo: | class Foo | type Foo struct | ? |
| Imports | import foo | import foo from | import "foo" | ? |
| Testing | pytest | jest | go test | ? |
| Packages | pip | npm | go mod | ? |
For each concept, ask: "What's the equivalent in languages I know?"
identify:
package_manager: cargo | go mod | npm | pip | ...
test_framework: built-in or external, conventions
linter_formatter: clippy/rustfmt | golint/gofmt | eslint/prettier | ...
lsp_server: name, IDE integration
Ecosystem checklist:
Language Analysis
|
+-- Object-Oriented (Java, C#, Python, Ruby)
| Classes, inheritance, polymorphism
|
+-- Functional (Haskell, Elixir, Clojure, Scala)
| First-class functions, immutability
|
+-- Procedural (C, Go, Pascal)
| Functions as primary unit, explicit state
|
+-- Multi-Paradigm (Python, Rust, JavaScript, Kotlin)
| Developer chooses approach
|
+-- Declarative (SQL, HTML, CSS, Terraform)
Describe WHAT, not HOW
For every new language, produce:
# [Language] Quick Reference
## Setup — install, project init, run, test commands
## Basics — variables, functions, control flow, errors
## Patterns — map, filter, reduce, null handling, async
## Ecosystem — package manager, testing, linting, formatting
## Idioms — language-specific best practices
## Anti-Patterns — common mistakes to avoid
## Resources — official docs, style guide, community
See references/learning-templates.md for full template.
knowledge_transfer:
language: "[Name]"
paradigm: "[OOP | FP | Procedural | Multi | Declarative]"
quick_reference: "[path to cheat sheet]"
gotchas:
- "Common mistake 1"
- "Common mistake 2"
production_notes:
- "Deployment consideration"
- "Performance characteristic"
confidence_level: "beginner | intermediate | proficient"
| Metric | Target | |--------|--------| | Hello World running | < 30 min | | Basic patterns mapped | < 90 min | | Ecosystem set up, tests passing | < 3 hr | | First real feature implemented | < 4 hr | | Pattern recognition accuracy | > 85% | | Anti-pattern avoidance (first 10 implementations) | > 80% |
Learn what the task requires. Skip the rest until needed.
| Task | Learn | Skip (for now) | |------|-------|----------------| | REST API in Go | HTTP server, routing, JSON, errors, testing | Generics, reflection, cgo | | CLI tool in Rust | Clap, file I/O, error handling | Unsafe, macros, async | | Data pipeline in Elixir | GenServer, streams, Ecto | NIFs, distributed Erlang |
| Layer | Timeframe | Scope | |-------|-----------|-------| | 1 | Day 1 | Core syntax, basic patterns | | 2 | Week 1 | Ecosystem, idioms, testing | | 3 | Month 1 | Advanced features, performance | | 4 | Month 3+ | Internals, contributing |
Most tasks require Layer 1-2 only.
references/language-comparison-matrices.md - Comparison tables across 10+ languagesreferences/learning-templates.md - Setup scripts, quick reference templatesreferences/phase-guides.md - Detailed guides for each learning phasescripts/new-language.sh - Interactive learning protocol scriptdevelopment
Orchestrates long-running, multi-iteration tasks with Fable-5-style checkpointing, resume packs, self-paced scheduling, and per-iteration enforcement gates. ALWAYS trigger on "long running task", "keep working", "work overnight", "autonomous loop", "checkpoint", "resume where we left off", "iterate until done", "multi-session task", "self-pacing", "background build". Use when a task spans multiple iterations, sessions, or context windows. Different from orchestrator which routes a single pass -- this skill manages state, pacing, and enforcement across iterations.
tools
Coordinates the 10X Unicorn agent team with cost-aware model tiering, MCP-aware routing, and workflow fan-out. ALWAYS trigger on "implement", "build", "create", "design system", "deploy", "learn new language", "refactor", "fix bug", "set up CI", "code review", "how long will this take", "estimate", "architecture", "add feature", "write code", "debug", "review PR", "set up pipeline", "migrate", "optimize". Use for any multi-step task, implementation request, architecture decision, or quality enforcement. Different from individual agent skills which handle execution -- this skill handles coordination, routing, model selection, and quality gates.
development
Guides the user through test-first development and test strategy decisions. ALWAYS trigger on "write tests", "TDD", "test coverage", "mock", "test fails", "flaky test", "how to test", "unit test", "integration test", "e2e test", "test structure", "what to test", "test organization", "coverage report", "testing strategy", "arrange act assert". Use when writing new tests, choosing test types, setting up mocking, debugging flaky tests, improving coverage, or designing testable code. Different from qa-security agent which focuses on code review and security audits rather than test authoring.
development
Guides deliberate management of technical debt: recognition, tracking, prioritization, and paydown. ALWAYS trigger on "technical debt", "code shortcut", "pay down debt", "debt tracking", "just for now", "temporary hack", "hardcoded value", "copy-paste code", "missing tests", "TODO cleanup", "refactor plan", "debt priority", "interest cost", "boy scout rule", "code quality backlog". Use when taking a shortcut, discovering suboptimal code, planning debt paydown, or quantifying ongoing cost of compromises.