The checked-in examples/first-author fixture is the smallest complete Skillset workspace in this repository. It contains one skill, one rule, Claude and Codex targets, and their committed generated output. Work in a disposable copy so the canonical fixture stays clean.
Use this walkthrough to see the full loop without inventing source first.
Copy the workspace
From the Skillset repository root:
fixture_dir="$(mktemp -d)/first-author"
cp -R examples/first-author "$fixture_dir"Inspect the workspace
The authored side is:
first-author/
skillset.yaml
.skillset/
rules/team-guidance.md
skills/review-notes/SKILL.mdThe root manifest selects targets and destinations. The .skillset/ tree is the canonical source. Provider directories, AGENTS.md, and lock files are generated projections.
Prove the fixture starts clean
From the Skillset repository root, run the workspace CLI against the fixture:
bun ./apps/skillset/src/cli.ts check --root "$fixture_dir"
bun ./apps/skillset/src/cli.ts check --only outputs --root "$fixture_dir"Both commands should pass. The first checks authored source and compatibility; the second checks generated-output freshness.
Preview a no-op build
bun ./apps/skillset/src/cli.ts build --root "$fixture_dir"The build is preview-only. Because the fixture begins clean, it should not need to write managed output.
Edit canonical source
Open $fixture_dir/.skillset/skills/review-notes/SKILL.md and add one recognizable sentence to the body. Do not edit the generated copies.
Now the output-only check should fail because source and generated destinations have drifted:
bun ./apps/skillset/src/cli.ts check --only outputs --root "$fixture_dir"Previewing a build reports the pending changes but still writes nothing:
bun ./apps/skillset/src/cli.ts build --root "$fixture_dir"Regenerate and verify
Write the reviewed plan and recheck it:
bun ./apps/skillset/src/cli.ts build --root "$fixture_dir" --yes
bun ./apps/skillset/src/cli.ts check --only outputs --root "$fixture_dir"Your sentence should now appear in both:
$fixture_dir/.claude/skills/review-notes/SKILL.md
$fixture_dir/.agents/skills/review-notes/SKILL.mdRun the confirmed build once more. A second build with unchanged source should be a no-op; deterministic output should not churn.
Use the standalone commands
In a copied or cloned standalone fixture with Skillset installed, the same loop is:
skillset check
skillset build
skillset build --yes
skillset check --only outputsContinue with How Rendering Works for the model behind the loop, or the development loop for everyday editing.
Skillset renders files. It does not install, trust, activate, symlink, or mutate user-level provider configuration. See Build Versus Activation.