craft
Skill3 starsChanged 8 days agoMITView on GitHub
Build, change, and review production applications with explicit requirements, coherent architecture, safe data boundaries, and demonstrated behavior. Use for application development, complex features, refactors, debugging, and engineering reviews on any stack.
10 other projects use a version of this.
Adopted by
Most recently taken up by
- abhimanyusingh-gh/software-craftsmanshipword for word, first seen Nov 1, 2026
- devsolux/storytoldtheir own version, first seen Oct 20, 2026
- pavelkorolevxyz/crafttheir own version, first seen Oct 2, 2026
- wormholeportal/Makonetheir own version, first seen Sep 5, 2026
- educlopez/ui-crafttheir own version, first seen Aug 17, 2026
- alanvaa06/award-crafttheir own version, first seen Aug 10, 2026
Other versions10 projects use a version of this.
Word for word · 1
- abhimanyusingh-gh/software-craftsmanship★ 3100% same
Edited · 0
None found.
Wrote their own version · 9
- educlopez/ui-craft★ 441same name
- wormholeportal/Makone★ 27same name
- alexiolan/craft-skills★ 17same name
- devsolux/storytold★ 12same name
- pavelkorolevxyz/craft★ 4same name
- michaelengland/deckwright★ 2same name
- alanvaa06/award-craft★ 1same name
- gravity9-tech/claude_code_workshop★ 1same name
- Rmalnoult/craft-skill★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repositoryOne other file it gives its agents.
- adapters/AGENTS.mdAGENTS.md
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 8 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Ground decisions: Read the repository's instructions, callers, tests, schema, and CI before choosing patterns.
- Distinctive: line 16
Make invariants explicit: Use the language's native types, schemas, and database constraints.
- Distinctive: line 18
Prove behavior: Run the applicable repository gates and report their actual output, skips, and limitations.
- Distinctive: line 35
Use this compact return format for substantial work and agent handoffs.
“Common” is measured: kept by at least 6 in 10 of the 8 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Craft
Use this skill to turn a product request into working, verifiable software. Scale the process to the risk: a local fix needs a short investigation; a complex application needs explicit contracts and an incremental delivery plan. User instructions and repository requirements take precedence over these defaults. This skill grants no permission to publish, deploy, contact people, or mutate external systems.
Working invariants
- Preserve intent. Name the requested outcome and existing behavior that must survive. Trace requirements to running code and meaningful checks. Never delete a capability or weaken its test just to obtain green gates.
- Protect boundaries. Derive identity and customer scope from trusted authentication. Enforce authorization at the data/action boundary, including jobs, exports, caches, and storage. A cross-customer leak is a blocker.
- Ground decisions. Read the repository's instructions, callers, tests, schema, and CI before choosing patterns. Search for reuse; prefer the existing coherent design over a new parallel framework.
- Keep changes coherent. Implement one useful slice at a time. Preserve unrelated behavior; flag adjacent cleanup rather than expanding scope. Choose the simplest design that satisfies the actual constraints.
- Make invariants explicit. Use the language's native types, schemas, and database constraints. Brand or wrap values where a real mix-up is possible; reuse existing finite-value types. Type assertions do not validate external input.
- Design failure paths. Bound external work and retries; specify partial failure, concurrency, duplicate delivery, and recovery before adding side effects. Do not claim exactly-once behavior from a lease alone.
- Prove behavior. Run the applicable repository gates and report their actual output, skips, and limitations. Verify real composition and lost capabilities as well as individual units. An unrun check is never a pass.
- Keep sensitive content out of telemetry. Validate external input and model output; minimize disclosed data. Security and privacy guarantees require negative tests at the relevant boundary.
- Deliver within authorization. Keep docs current, use truthful commits, and respect existing approval and branch-protection rules. Commit, push, open a PR, merge, and deploy only within the user's authorized scope. Approved means verbatim. An outward-facing artifact (ticket, PR title or body, comment, config change) is written exactly as the draft the user approved: same text, structure and field values. Reformatting into a template, moving content between fields, rewording, or filling a field the draft left empty is a deviation: show it and get re-approval before the write, or write the draft as approved and propose the change afterwards. "Use correct fields" or "go" authorizes field IDs and mechanics, never content changes. After the write, read the artifact back and diff it against the approved draft. No assistant attribution or co-author trailers on commits or PRs; see COMMIT-NO-ATTRIB.
Severity: blocker means unsafe or broken behavior that must not ship; should-fix belongs in this change; nit is advisory. Severity follows demonstrated impact, not the number of style violations.
Application workflow
For a new application or work spanning multiple boundaries, read references/application-design.md first.
- Discover. Bind the real stack and environment. Identify acceptance criteria, protected behavior, and unknowns. Ask only about decisions whose answers would materially change the implementation; continue independent work.
- Design the risky seams. State ownership, contracts, data invariants, and failure behavior. Verify an uncertain integration with the smallest useful spike. Use
references/history.mdwhen deriving standards from commit history; distinguish observed fixes from preferences. - Build a vertical slice. Connect a real entry point through business logic and persistence to an observable result. Run focused checks while iterating, then add the next slice. Avoid completing every layer before any user journey works.
- Verify and deliver. Compare against acceptance criteria and the base revision, run applicable full gates, and check the production artifact and rollout when relevant. Report omissions and blockers by name; do not present scaffolded or mocked integrations as complete.
Evidence card
Use this compact return format for substantial work and agent handoffs; a small fix can report the same evidence in prose. Omit irrelevant rows with a reason rather than inventing work.
CRAFT CONTRACT
References read craft + [relevant references]
Acceptance criterion -> implemented path -> test or observed result
Scope / reuse changed boundaries; reused symbols or reason for new code
Safety scope/auth invariant; failure/recovery behavior | N/A: reason
Capability check base revision; preserved/changed/removed behavior + evidence
Tests changed named contract change or replacement coverage | none
Gates command -> result/counts/skips; revision tested
Not run check -> reason and remaining uncertainty | none
Delivery migration/rollout/recovery evidence | N/A: reason
Not done explicit omissions and consequences | noneA row containing only “done,” “safe,” or “all tests pass” is unfilled. NOT RUN: <reason> is valid evidence of a limitation. Re-run checks affected by later changes and identify which revision each result covers. Read references/verification.md when assessing an agent's completion claims.
Project bindings
Derive these from the actual repository; keep them in working notes or an existing project-approved location. Do not create or rewrite instruction files merely to use this skill.
Commands package/task runner; typecheck; unit/integration; build; e2e; lint/deadcode
Boundaries deployable units; shared libraries; API/event consumers; external services
Data datastore/version; migrations; customer scope key; retention; test isolation
Runtime startup/readiness; config/secrets; background workers; telemetry
Delivery CI; base revision/remote; deployment topology; rollback mechanism
Product acceptance criteria; design source; tracker/issue when one existsReferences — load when the work reaches that boundary
Read relevant references before designing or changing that boundary. A task may need several, loaded as needed rather than all at once. Examples and historical fixes are not universal stack requirements. After reading the repository, load only the stack profiles whose match signals fit, and record which profile files were read on the contract card.
| Trigger | Read |
| New application, complex feature, architecture or domain design | references/application-design.md |
| Deriving conventions from commit history or adapting this skill | references/history.md |
| Binding the skill to project conventions or generating project context | references/project-binding.md |
| Working in a recognised stack (JVM/Maven service, React/TypeScript UI, Apex/LWC, deploy/config repos, SQL migrations, LLM-backed features) | references/stacks/README.md |
| Authentication, permissions, public input, uploads, URLs, secrets | references/security.md |
| Customer data, queries, storage paths or cache keys | references/tenancy.md |
| Production code, types, naming, config, layering or indices | references/authoring.md |
| External API, event consumer, transaction spanning a side effect | references/integrations.md |
| UI state, visual design or client data flow | references/frontend.md |
| Interactive components, forms, dialogs or announcements | references/accessibility.md |
| Scheduled job, poller, queue, claim, lease or manual trigger | references/async-jobs.md |
| Logs, exception handling, metrics, traces or error bodies | references/observability.md |
| External model call, prompt, output validation or AI-assisted action | references/llm-calls.md |
| Dependencies, platform upgrades, advisories or suppressions | references/dependencies.md |
| Writing or changing tests | references/testing.md |
| Verifying completion, refactoring or preparing delivery | references/verification.md |
| Reviewing a diff or folding findings | references/defect-classes.md, then references/review.md |
| PR slicing, migrations, gates, commits or merge | references/workflow.md |
| Writing tickets, stories, wiki pages or design docs | references/documentation.md |
| Runtime startup, deployment or recovery | references/delivery.md |
| Latency or throughput target, slow query, load, cache or scale claim | references/performance.md |
| Delegating independent work or coordinating agents | references/orchestration.md |
| Working with agents: asking vs proceeding, reviewing agent diffs, instruction files | references/agent-collaboration.md |
The plugin checks GitHub for a newer release at session start and suggests /plugin install craft@Arkon when one exists; the check never blocks. Evidence and its limits live in the repository's docs/EVIDENCE.md; do not load it for routine coding. This skill aims to improve decision coverage; correctness still requires execution and independent review.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

