craft
Engineering standards and reusable prompts for working in a plankit repository - load the standards, or run a named prompt
Skill by markwharton
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/markwharton-craft
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/craft
What's inside
- Skill name
craft- Description
- Engineering standards and reusable prompts for working in a plankit repository - load the standards, or run a named prompt
- License
- MIT
- Instructions
- 95 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# craft
craft is the engineering standards and prompts for working in a
plankit repository. `/plankit:craft` loads the standards into the
session. `/plankit:craft <prompt>` loads this page with the prompt name as
its argument, and the session runs that prompt. `pk help craft` prints this page.
## Standards
### Working
- **Test at the start of a session and report the status; test before
and after each change.** A failure is then attributable to the
change. Check: the suite output before and after appears in the
session.
- **Grep before done.** When fixing a pattern or renaming, change every
instance in the repository together. Check: a second search shows no
hits (the `grep-done` prompt).
- **Work is done when the checks and a smoke test pass.** Build, tests,
lint, then an end-to-end run with specific commands, their output,
and one case that must fail. A proof whose output you did not see is
not a proof. A pure internal refactor needs the suite only.
- **Write a diagnostic script before a second full rebuild while
debugging.** Check: the script exists and reproduces the issue.
- **A failed text search means not found by this method.** When
absence drives a change, confirm by parsing the structure. Check: the
parse is shown, not the grep.
### Code
- **Preserve the structure you were given.** Do not flatten structured
data into lists and reconstruct it with heuristics; the context is
lost at the flattening. Check: none automated; caught only in review.
- **Fail fast, no silent fallbacks.** When something required is
missing or wrong, stop with a message naming it. A documented
default for an optional setting is not a fallback. Check: a test for
the error path.
### Git
- **Git decisions are the developer's.** A request to commit is not a
request to push; approval to push once is not approval for the next.
Check: guard blocks or asks on pushes per `.pk.json`.
- **On unexpected git state, stop and report.** Do not pull, rebase,
merge, or reset unprompted. Run `git log --oneline --graph HEAD
origin/<branch>`, show it, wait. Check: none automated; caught only in review.
- **Surface partial failures at once.** Say what happened, what state
changed, and the remedy. Check: none automated; caught only in review.
- **Rewrite only unpushed commits.** `git log --oneline @{push}..HEAD`
must list the target; if it errors or the target is absent, make a
new commit. Check: the command's output appears before the rewrite.
- **Never mark a change breaking on your own judgment.** `!`,
`BREAKING CHANGE`, `--bump`, and `--exclude` are the developer's.
Check: guard asks before a marked commit and before a `--bump` lower
than the commits infer; for `--exclude`, none automated.
## Prompts
### review
Code review: DRY violations, anti-patterns, design tokens, security.
Run it as a second pass, after the first pass has the code working.
The first pass will contain DRY violations; that is expected.
Refactoring is pattern recognition, so the second pass is where the
model does its best work. Keep the prompt to the line above: it leaves
room to be comprehensive, and adding scope or examples narrows it. The
developer directs both passes and decides what ships.
### audit-docs
Audit the documentation against the code before rewriting a word.
List every claim in the affected documents that describes behavior.
Verify each against the source or by running the command. Record each
disagreement as a fact correction; commit corrections before any style
change. Then rewrite for the four sentence kinds without changing a
fact.
### smoke
Prove the change end to end.
Name the commands, run them, show the output, including one case that
must fail and its failure. For a pure internal refactor, run the suite
and say so.
### grep-done
Find every occurrence before declaring done.
Search for the old form, list every hit, change them together, search
again, show the empty result.From markwharton/plankit, MIT.
More from markwharton/plankit
- 0.628score
guard
markwharton
How pk guard decides what an agent may do to git, and how to tune it
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
preserve
markwharton
Keep each approved plan as a record in the plans directory, on approval or on request
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
protect
markwharton
Why preserved plans are immutable and how pk protect enforces it
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
release
markwharton
Tag the pending release from the Release-Tag trailer and push it, with pre-flight checks and rollback
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
brief
markwharton
What each session is told about this repository's plankit policy at start, generated from .pk.json
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
ship
markwharton
Cut the pending work as one release - changelog then release in a single command
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
changelog
markwharton
Generate CHANGELOG.md from conventional commits and stage a release with the Release-Tag trailer
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
overview
markwharton
Plan-driven development for Claude Code - the model, the modes, and the per-repo footprint
SkillAFreshness: A★ 12Claude Code +9 - 0.625score
status
markwharton
Report plankit configuration and repository state
SkillAFreshness: A★ 12Claude Code +9 - 0.625score
help
markwharton
Show documentation for pk and its commands
SkillAFreshness: A★ 12Claude Code +9 - 0.625score
init
markwharton
Configure a repository for plankit
SkillAFreshness: A★ 12Claude Code +9 - 0.625score
pin
markwharton
Update a version pin in a file, for release hooks
SkillAFreshness: A★ 12Claude Code +9
Signals
- Stars
- 12
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (11 days ago)
- Last release
- Oct 19, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/markwharton/plankit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from markwharton
- 0.628score
preserve
markwharton
Keep each approved plan as a record in the plans directory, on approval or on request
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
changelog
markwharton
Generate CHANGELOG.md from conventional commits and stage a release with the Release-Tag trailer
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
guard
markwharton
How pk guard decides what an agent may do to git, and how to tune it
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
overview
markwharton
Plan-driven development for Claude Code - the model, the modes, and the per-repo footprint
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
ship
markwharton
Cut the pending work as one release - changelog then release in a single command
SkillAFreshness: A★ 12Claude Code +9 - 0.628score
protect
markwharton
Why preserved plans are immutable and how pk protect enforces it
SkillAFreshness: A★ 12Claude Code +9
Cite this page
craft skill. Agent Mart. https://agentmart.dev/skills/markwharton-craft (last updated 2026-10-24)