agentleFS
DTiapanDTiapan/craft/skills/using-craft/SKILL.md

using-craft

Skill0 starsChanged 56 days agoMITView on GitHub

Lifecycle router for Craft: pick exactly one phase-appropriate skill from upstream packs (Addy agent-skills, optional Superpowers). Read before non-trivial work. Use when starting features, unsure which skill applies, onboarding Craft, or adding Craft-native skills. Never copy upstream skill bodies into Craft.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 1 is distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Only for patterns you distilled (not forks of Addy):

    line 121
  2. Very specific:

    Create skills/<kebab-name>/SKILL.md with triggers, workflow, verification, anti-patterns

    line 125
  3. Very specific:

    Update README.md and craft.manifest.yaml craft_native list

    line 126
  4. Very specific:

    Every Craft-native skill must define:

    line 133
  5. Very specific:

    All skills and ledger templates will reside self-contained inside .agents/skills/ and docs/engineering-ledger/ in that project.

    line 152
  6. Very specific:

    Update upstream: npx skills update addyosmani/agent-skills — then re-run verify-deps if router behavior changed.

    line 165

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Using Craft

Craft is the router + memory layer. Implementation lives in upstream packs installed locally — see craft.manifest.yaml.

Full lifecycle map: docs/lifecycle-map.md


Before anything else (non-trivial work)

  1. Read ledger — follow engineering-ledger read loop (docs/engineering-ledger/INDEX.md and phases.md in target project).
  2. Verify Phase Transition Threshold — confirm the current phase's exit criteria gate is satisfied before advancing to the next phase. (If in Shape, ensure docs/northstar.md market score >= 7/10).
  3. Identify phase — Shape | Spec | Architecture | Plan | Build | Debug | Verify | Review | Ship.
  4. Load exactly one primary skill from table below (read full SKILL.md from disk).
  5. End session — engineering-ledger write loop (update DR, LL, phases, and INDEX).

When NOT to load any skill

Skip process skills for:

  • Greetings, thanks, meta chat
  • Single-file lookups ("where is X defined?")
  • Config/env questions with a direct answer
  • One-line typo fixes with zero design choice

Anti-drift rules

RuleDetail
One skill per phaseNever stack interview-me + spec-driven-development + implement
Gate threshold verificationNever advance active phase without meeting exit criteria in phases.md
Market validation gatedocs/northstar.md score must be >= 7/10 to build. If < 7, stop or pivot
User slash wins/grill-me, /implement, project AGENTS.md overrides win
No skill hoardingDo not read Superpowers using-superpowers "1% chance" behavior
Reference onlyNever copy upstream SKILL.md into Craft or project repos
Missing skillRun manifest install, then read — do not improvise workflow

Resolve skill path

Search in order:

  1. .agents/skills/<name>/SKILL.md (project-local, from craft-install.sh in project root)
  2. ~/.agents/skills/<name>/SKILL.md (user-global fallback)
  3. Superpowers plugin cache (optional skills only)

If missing:

cd /path/to/your/project
bash /path/to/craft/scripts/craft-install.sh --profile all

Phase → primary skill

PhasePrimary skillPackOptional ledger
Shapeproduct-management, interview-me, or idea-refineCraft/AddyCreate AP-### & northstar.md
Specproduct-management (PRD) or spec-driven-developmentCraft/AddyDR-### for forks
ADRdocumentation-and-adrsAddyLink DR ↔ ADR
Planplanning-and-task-breakdownAddyAP ↔ tasks
Buildincremental-implementationAddyUpdate AP status; use for plan tickets too
Build (tests)test-driven-developmentAddySame session as build slice
Debugdebugging-and-error-recoveryAddyLL-### after root cause
Verifyconstraint-driven-developmentAddyphases.md evidence
Reviewcode-review-and-qualityAddyINDEX session
Shipshipping-and-launchAddyRollback note in INDEX

Domain overlays (replace primary for that work)

WorkSkill
UI onlyfrontend-ui-engineering
Auth / input / secretssecurity-and-hardening
Public API designapi-and-interface-design
Perf regressionperformance-optimization
CI pipelineci-cd-and-automation
Project rules filecontext-engineering
Commits / branchesgit-workflow-and-versioning

Superpowers (optional — use instead of stacking Addy)

WhenSkill
Greenfield creative explorationbrainstorming
Stuck bug, unknown layersystematic-debugging
Before claiming "done"verification-before-completion

Craft-native skills

SkillWhen
engineering-ledgerEvery non-trivial session (read + write)
product-managementPRD authoring, RICE prioritization, JTBD, telemetry
using-craftRouting, adding skills, structure questions
craft-adoptBootstrap Craft into a new project
craft-promoteUniversal LL → new Craft skill

Adding a new Craft-native skill

Only for patterns you distilled (not forks of Addy):

  1. Confirm promotion-criteria.md or explicit user request
  2. Run craft-promote/scripts/check-duplicate.sh <term>
  3. Create skills/<kebab-name>/SKILL.md with triggers, workflow, verification, anti-patterns
  4. Update README.md and craft.manifest.yaml craft_native list
  5. Commit: feat(skills): add <name> — <one line why>

Skill quality bar

Every Craft-native skill must define:

  • Triggers — when to load (and when not to)
  • Workflow — numbered steps with gates
  • Artifacts — files produced and where
  • Verification — how to know it was followed
  • Anti-patterns — agent shortcuts to reject

Initialize Craft in a Project

Like git init, initialize Craft directly in your target project repository:

cd /path/to/your/project
bash /path/to/craft/scripts/craft-install.sh --profile all

All skills and ledger templates will reside self-contained inside .agents/skills/ and docs/engineering-ledger/ in that project.


Relationship to other packs

PackCraft role
addyosmani/agent-skillsImplementation engine — referenced, not copied
SuperpowersOptional debug/brainstorm/verify delegates
documentation-and-adrsIrreversible forks below ledger DR layer
engineering-ledgerRunning memory Craft owns

Update upstream: npx skills update addyosmani/agent-skills — then re-run verify-deps if router behavior changed.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.