Skip to content

Commit bba3678

Browse files
committed
feat: Add 7 typed holes skills for PLT (162 total skills)
Add comprehensive typed holes skills covering theory and practice: Core Theory (3 skills): - typed-holes-foundations.md: Gradual typing, bidirectional typing, hole semantics - hazelnut-calculus.md: Structure editor calculus (POPL 2017), edit actions, Grove - typed-holes-semantics.md: Advanced semantics, pattern matching, error localization Practice (3 skills): - typed-holes-interaction.md: IDE integration, goal-directed programming, tactics - live-programming-holes.md: Hazel environment, incremental typing (OOPSLA 2025) - structure-editors.md: Projectional editing, rendering, text integration AI-Assisted Programming (1 skill): - typed-holes-llm.md: LLM + typed holes (OOPSLA 2024), static context, validation Skills based on latest research: - OOPSLA 2024: Statically Contextualizing LLMs with Typed Holes - OOPSLA 2025: Incremental Bidirectional Typing (Distinguished Paper) - POPL 2025: Grove collaborative editing - POPL 2024: Type Error Localization with Holes Updates: - PLT category: 6 → 13 skills - Total skills: 155 → 162 - Added AI-assisted coding scenario to README - Updated _INDEX.md with typed holes workflows - All skills ~400 lines, YAML frontmatter, CI-validated
1 parent bd9e182 commit bba3678

9 files changed

Lines changed: 4726 additions & 13 deletions

README.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Claude Code Development Reference
22

3-
A comprehensive skills library and development guidelines for working with Claude Code across 155 atomic, composable skills spanning 31 technology domains.
3+
A comprehensive skills library and development guidelines for working with Claude Code across 162 atomic, composable skills spanning 31 technology domains.
44

55
## Overview
66

@@ -100,10 +100,11 @@ This repository serves as a complete reference for software development best pra
100100
- **Numerical**: Linear algebra, optimization algorithms, numerical methods, probability/statistics (4 skills)
101101
- **Pure Math**: Topology (point-set, algebraic), category theory, differential equations, abstract algebra, set theory, number theory (7 skills)
102102

103-
**Programming Language Theory** (6 skills):
104-
- Lambda calculus, type systems, dependent types
105-
- Curry-Howard correspondence, operational semantics
106-
- Program verification (Hoare logic, SMT-based verification)
103+
**Programming Language Theory** (13 skills):
104+
- **Core PLT**: Lambda calculus, type systems, dependent types
105+
- **Curry-Howard & Semantics**: Propositions as types, operational semantics, program verification
106+
- **Typed Holes & Live Programming**: Hazel/Hazelnut calculus, structure editors, incremental typing (OOPSLA 2025)
107+
- **AI-Assisted Programming**: LLM + typed holes integration (OOPSLA 2024), static context for code synthesis
107108

108109
**Real-time & Networking:**
109110
- WebSocket implementation, Server-Sent Events
@@ -202,7 +203,7 @@ skills/plt/type-systems.md
202203
203204
├── README.md # This file
204205
205-
└── skills/ # 155 atomic skills across 31 categories
206+
└── skills/ # 162 atomic skills across 31 categories
206207
207208
├── _INDEX.md # Full catalog with use cases and workflows
208209
@@ -306,6 +307,14 @@ skills/skill-creation.md # Template and guidelines
306307
4. Use `ios-networking.md` → API integration
307308
5. Deploy backend with `redpanda-streaming.md` + `modal-web-endpoints.md`
308309

310+
### Scenario: AI-Assisted Programming with Typed Holes
311+
1. Start with `plt/typed-holes-foundations.md` → Understand gradual typing and bidirectional checking
312+
2. Study `plt/typed-holes-llm.md` → Learn OOPSLA 2024 approach to LLM + static types
313+
3. Implement language server integration → Extract type context from holes
314+
4. Build LLM integration → Type-driven prompts, validation pipeline, ranking
315+
5. Add interactive refinement → User + LLM collaboration via holes
316+
6. Optional: `plt/live-programming-holes.md` → Real-time feedback with incremental typing
317+
309318
## Technology Coverage Matrix
310319

311320
| Domain | Technologies | Skills | Key Capabilities |
@@ -318,7 +327,7 @@ skills/skill-creation.md # Template and guidelines
318327
| **ML/AI** | DSPy, Unsloth, HuggingFace, Diffusion | 14 | LLM orchestration, fine-tuning, image generation |
319328
| **Formal** | Z3, Lean 4, CSP | 10 | Proof systems, constraint solving |
320329
| **Math** | Linear algebra, topology, category theory, etc. | 11 | Numerical + pure mathematics |
321-
| **PLT** | Lambda calculus, type systems, verification | 6 | Language design, formal verification |
330+
| **PLT** | Lambda calculus, type systems, typed holes, Hazel, LLM integration | 13 | Language design, live programming, AI-assisted coding |
322331
| **DevOps** | GitHub Actions, Terraform, K8s, Docker | 16 | CI/CD, IaC, containers |
323332
| **Data** | ETL, Streaming, Batch | 10 | Pipelines, real-time, analytics |
324333

@@ -345,4 +354,4 @@ Feel free to fork and adapt for your own use.
345354

346355
---
347356

348-
**Total: 155 atomic skills** | **Average: 320 lines/skill** | **31 categories** | **100% CI-validated**
357+
**Total: 162 atomic skills** | **Average: 320 lines/skill** | **31 categories** | **100% CI-validated**

skills/_INDEX.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,9 @@ This index catalogs all atomic skills available in the skills system, organized
512512

513513
---
514514

515-
### Programming Language Theory (6 skills)
515+
### Programming Language Theory (13 skills)
516+
517+
**Core PLT:**
516518

517519
| Skill | Use When | Lines |
518520
|-------|----------|-------|
@@ -523,11 +525,26 @@ This index catalogs all atomic skills available in the skills system, organized
523525
| `operational-semantics.md` | Small-step/big-step semantics, evaluation strategies, reduction systems | ~420 |
524526
| `program-verification.md` | Hoare logic, SMT-based verification, refinement types, separation logic | ~400 |
525527

528+
**Typed Holes & Live Programming:**
529+
530+
| Skill | Use When | Lines |
531+
|-------|----------|-------|
532+
| `typed-holes-foundations.md` | Typed holes basics, gradual typing, bidirectional typing, hole semantics | ~400 |
533+
| `hazelnut-calculus.md` | Structure editor calculus, edit actions, zipper navigation, Grove | ~420 |
534+
| `typed-holes-semantics.md` | Advanced hole semantics: closures, pattern matching, error localization, polymorphism | ~400 |
535+
| `typed-holes-interaction.md` | IDE integration, goal-directed programming, tactics, proof search, elaborator reflection | ~380 |
536+
| `live-programming-holes.md` | Hazel environment, live evaluation, incremental typing (OOPSLA 2025), collaboration | ~420 |
537+
| `structure-editors.md` | Structure editor design, projectional editing, rendering, text integration | ~400 |
538+
| `typed-holes-llm.md` | LLM + typed holes (OOPSLA 2024), static context, validation, ranking, AI pair programming | ~450 |
539+
526540
**Common workflows:**
527541
- PL foundations: `lambda-calculus.md``type-systems.md``operational-semantics.md`
528542
- Dependent types: `type-systems.md``dependent-types.md``curry-howard.md`
529543
- Formal verification: `operational-semantics.md``program-verification.md``formal/lean-proof-basics.md`
530544
- Type theory: `lambda-calculus.md``type-systems.md``dependent-types.md``curry-howard.md`
545+
- Typed holes theory: `typed-holes-foundations.md``hazelnut-calculus.md``typed-holes-semantics.md`
546+
- Typed holes practice: `typed-holes-interaction.md``live-programming-holes.md``structure-editors.md`
547+
- AI-assisted coding: `typed-holes-foundations.md``typed-holes-llm.md` → Implement LSP+LLM integration
531548

532549
---
533550

@@ -580,7 +597,7 @@ This index catalogs all atomic skills available in the skills system, organized
580597
**DSPy Framework:** Search `ml/dspy-*.md`
581598
**Diffusion Models:** Search `ml/diffusion-*.md`, `ml/stable-diffusion-*.md`
582599
**Advanced Mathematics:** Search `math/*.md` | Numerical: `math/linear-algebra-*.md`, `math/optimization-*.md`, `math/numerical-*.md`, `math/probability-*.md` | Pure math: `math/topology-*.md`, `math/category-theory-*.md`, `math/differential-equations.md`, `math/abstract-algebra.md`, `math/set-theory.md`, `math/number-theory.md`
583-
**Programming Language Theory:** Search `plt/*.md`, `plt/lambda-calculus.md`, `plt/type-systems.md`, `plt/dependent-types.md`, `plt/curry-howard.md`, `plt/operational-semantics.md`, `plt/program-verification.md`
600+
**Programming Language Theory:** Search `plt/*.md`, `plt/lambda-calculus.md`, `plt/type-systems.md`, `plt/dependent-types.md`, `plt/curry-howard.md`, `plt/operational-semantics.md`, `plt/program-verification.md`, `plt/typed-holes-*.md`, `plt/hazelnut-calculus.md`, `plt/live-programming-holes.md`, `plt/structure-editors.md`
584601
**React Native:** Search `mobile/react-native-*.md`
585602

586603
### By Task Type
@@ -943,7 +960,7 @@ This index catalogs all atomic skills available in the skills system, organized
943960
- Real-time: 4 skills
944961
- Data Pipelines: 5 skills
945962

946-
**Specialized Domains** (53 skills):
963+
**Specialized Domains** (60 skills):
947964
- SAT/SMT Solvers: 3 skills
948965
- Lean 4: 4 skills
949966
- Constraint Satisfaction: 3 skills
@@ -953,7 +970,7 @@ This index catalogs all atomic skills available in the skills system, organized
953970
- DSPy Framework: 7 skills
954971
- Diffusion Models: 3 skills
955972
- Advanced Mathematics: 11 skills (4 numerical + 7 pure math)
956-
- Programming Language Theory: 6 skills
973+
- Programming Language Theory: 13 skills (6 core + 7 typed holes & live programming)
957974
- React Native: 4 skills
958975
- Formal Methods: 2 skills (verification-focused)
959976

@@ -977,5 +994,5 @@ See `MIGRATION_GUIDE.md` for detailed mapping.
977994
---
978995

979996
**Last Updated:** 2025-10-25
980-
**Total Skills:** 155
997+
**Total Skills:** 162
981998
**Format Version:** 1.0 (Atomic)

0 commit comments

Comments
 (0)