
code-craft
Apply Jess's engineering conventions to invariants, boundary typing, state, effects, proofs, error handling, and abstraction decisions.
- Installs
- 1.7K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/jssblck/agents --skill code-craft- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads code-craft automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Code craft
Prove what the types can, then test only what they cannot. Every invariant has one owner: the strongest rung of the proof ladder that can actually prove it. In order: types and linters, effects, proofs, database constraints, unit tests, integration tests, end-to-end tests.
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 |
|---|---|
| Decide which rung owns an invariant | Proof ladder |
| Represent states, workflows, and domain identities | Illegal states |
| Decode external input into useful types | Parse, don't validate |
| Type dependencies, failures, and resource lifetimes | Effects |
| Model recoverable errors and required gates | Errors as values |
| Guard a sensitive precondition | Proof parameters |
| 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.
For new TypeScript code and the full project template, Jess's stack is Effect, Effect Schema or Zod, xstate, and gdp-ts. For new Rust servers it is tokio, axum, snafu, aerosol, and sqlx. In an existing repository, use its equivalents; adding any of these is an architecture change to ask about first.
Use database-craft for schemas, constraints, queries, and jobs, and testing-craft for the test rungs. 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, Alexis
King's writing on parsing and type safety, and Matt Noonan's Ghosts of Departed
Proofs.
FAQ
What does the code-craft skill do?
Apply Jess's engineering conventions to invariants, boundary typing, state, effects, proofs, error handling, and abstraction decisions.
How do I install code-craft?
Run npx skills add https://github.com/jssblck/agents --skill code-craft in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/code-craft/ (personal) or .claude/skills/code-craft/ (project).
Which AI agents can use code-craft?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is code-craft safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains code-craft?
It is published by jssblck in jssblck/agents. It has 1,666 recorded installs.
More from jssblck/agents
using-sops
jssblck/agents
Use for secrets or key setup in a repo with .sops.yaml, encrypted environment files, or a pnpm secrets script.
ship-it
jssblck/agents
Use when asked to ship a completed change, commit and open a PR, or push changes and watch CI. Use babysit for monitoring an existing PR.
merge-open-prs
jssblck/agents
Use when asked to merge all open PRs or land a specified set of PRs together.
tag-release
jssblck/agents
Use when asked to tag or cut a patch, minor, or major release.
gh-stack
jssblck/agents
Use when working in a checked-out PR stack, handling dependent PRs or branch layers, or planning to split work into stacked PRs.
parallel-agents
jssblck/agents
Use when agents work concurrently in a codebase, shared files have recurring merge conflicts, or AGENTS.md or CLAUDE.md needs maintenance.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.