code-craft
jssblck/agents
Apply established engineering conventions for architecture, typing, error handling, and abstraction decisions.
What is code-craft?
Code-craft guides architectural and design decisions by referencing a repository's established conventions and principles. Use it when making choices about state representation, input validation, error handling, abstraction levels, and module boundaries across TypeScript, Rust, Go, and Python projects.
- Reference decision frameworks for state representation and domain modeling
- Apply parse-don't-validate patterns for external input handling
- Model recoverable errors as values with required validation gates
- Evaluate abstraction choices against simplicity and performance trade-offs
- Maintain and document module boundaries and architectural constraints
- Provide language-specific idiom guidance for TypeScript, Rust, Go, and Python
How to install code-craft
npx skills add https://github.com/jssblck/agents --skill code-craft- Repository must have established conventions or principles documentation
- Language-specific reference files (TypeScript, Rust, Go, or Python) optional but recommended
How to use code-craft
- 1.Identify the design decision category (state modeling, input parsing, error handling, abstraction, or architecture)
- 2.Specify the target language: rust, typescript, go, or python
- 3.Reference the corresponding principle document for decision guidance
- 4.Apply the convention to your specific context, respecting existing repository patterns
- 5.Use testing-craft skill for test-design decisions; use project-bootstrap for setup questions
Use cases
- Designing type systems to prevent illegal states in domain models
- Converting unvalidated external input into strongly-typed internal representations
- Structuring error handling that distinguishes recoverable failures from invariant violations
- Choosing between abstraction layers when performance or complexity trade-offs arise
- Documenting and enforcing architectural boundaries in growing codebases
- Backend engineers designing type-safe systems
- Full-stack developers working across multiple languages
- Teams establishing or enforcing architectural conventions
- Contributors to repositories with documented engineering principles
code-craft FAQ
No. Code-craft applies defaults only where a design decision is needed. It does not authorize unrelated restructuring or new tooling beyond what the repository already uses.
Use code-craft for architecture, typing, and error-handling decisions. Use testing-craft for test design. Use project-bootstrap for repository setup and initialization.
Code-craft works best with established conventions. If your repository lacks them, the skill provides general principles (illegal states, parse-don't-validate, errors as values, simplicity) as defaults.
The skill includes language-specific references for those four languages. For others, use the language-agnostic principle documents.
Full instructions (SKILL.md)
Source of truth, from jssblck/agents.
name: code-craft description: Apply Jess's engineering conventions to architecture, boundary typing, error handling, and abstraction decisions. user-invocable: true argument-hint: "[rust|typescript|go|python] [target]"
Code craft
Use the repository's current instructions and established conventions. Apply these defaults where the requested change needs a design decision; they do not authorize unrelated restructuring or new tooling.
Read the reference for the decision in scope:
| Decision | Reference |
|---|---|
| Represent states and domain identities | Illegal states |
| Decode external input into useful types | Parse, don't validate |
| Model recoverable errors and required gates | Errors as values |
| Choose an abstraction or investigate performance | Simplicity |
| Maintain module boundaries and their documentation | Architecture docs |
Read a language reference only when its idioms, concurrency, or tooling details matter: TypeScript, Rust, Go, or Python.
Use testing-craft for test-design decisions. Repository setup belongs to project-bootstrap when that setup is requested. Follow the project's required verification; reviews do not automatically require a full test suite.
Adapted from leonardomso/rust-skills (MIT), Matklad's Rust100k series, and
Alexis King's writing on parsing and type safety.
Related skills
More from jssblck/agents and the wider catalog.

gh-stack
GitHub CLI extension for managing stacked branches and dependent pull requests.

merge-open-prs
Merge multiple open pull requests in dependency order without creating stacks.

parallel-agents
Coordinate concurrent agent work and prevent merge conflicts in shared codebases.

ship-it
Commit, push, and open a PR with CI verification for completed changes.

tag-release
Tag and cut patch, minor, or major releases with verified commit, convention-matching tags, and green CI.

using-sops
Manage encrypted secrets in repos using sops and age identities.