PROJECTSKILLSCONNECTING…

SYS.32 / SKILLS

Skills

An expert briefing for one role, specialised to one project. Which ones exist is decided by the scanner, not by a model.

What comes out6 SECTIONS

Which Skills get generated

Deterministically, from facts the scanner established.

SkillGenerated when
Senior Developeralways
Architecture Expertthere are several modules with real boundaries
Security Auditorauth or payments is detected
Testing Experta test framework is in use
Debugging Experta database is present
Product Managerproduct documentation or public routes exist
SEO / UX Specialista frontend with public routes
Monetization Advisorthe project already charges money
Code Reviewerthe project is large enough to need one

Generation, review and repair

Two model calls per Skill, and four when the first draft is weak.

  1. 01 · GENERATEREASONED

    Given the intelligence, the Constitution, the deterministic fact sheet and the dependency graph.

  2. 02 · REVIEWREASONED

    A separate call with a different prompt and a lower temperature, scoring for project specificity and reporting typed issues — generic language, hallucination, contradiction, missing context, unsupported assumption, technical inaccuracy.

  3. 03 · REPAIRREASONED

    Only below the threshold, and only once. The Skill written again with its own critique attached.

  4. 04 · RE-REVIEWGATE

    The repaired draft, judged the same way. The better of the two drafts wins — not the later one.

The review is a separate call on purpose. A single call asked to write and grade its own work produces flattery, not a quality signal.

Skills are generated one at a time rather than in a single prompt: each needs the whole Constitution in context, and one call producing six would truncate long before the last.

What keeps a Skill honest

The same gate as everything else, plus a definition of "specific" per role.

The sources a Skill cites pass the evidence gate: a path that does not exist in the snapshot is removed rather than shipped. A Skill that cites imaginary files is worse than no Skill.

Specificity also means different things per role, and saying only "be specific" makes every Skill reach for file paths — including a business-strategy Skill, which then cites a source file as though a path were a business fact. Each category is told what to ground in.

Versions and regeneration

A run appends a version. It never overwrites one.

Each generation records the snapshot, the intelligence version, the provider, the model and a prompt hash, plus its own review. Re-running an analysis adds a version, so the Skill on somebody’s disk can always be traced to what produced it.

Regeneration is not re-analysis. The snapshot, its files, its intelligence and its Constitution are unchanged, so only the generation and review steps run — and the job carries only those step rows, because writing the others as pending would show work the worker is never going to do.

It is refused before anything is queued when there is no snapshot, no Constitution to write from, an unknown Skill, or a run already in flight. Each of those would otherwise become a run that spends tokens and then fails.

Freshness

An installed Skill rots silently.

The file keeps loading into your agent after the code moves. Nothing errors, and the agent answers confidently about a shape the project no longer has.

pskl skills freshness names the files each Skill draws on that have changed since it was written — and says "cannot be checked" rather than "unchanged" when part of the history was never compared, because those are different statements.

Getting them onto disk

Where they go, and what will not be overwritten.

ON DISK
.claude/skills/<name>/SKILL.md      the artefacts
.projectskills/project.json         which project this directory is
.projectskills/artifacts.json       what was written, and its hash

The directory name has to match the front matter or the agent will not load it, so the layout is not a preference. pskl pull never overwrites a generated file you have edited by hand — it names the file, leaves your version alone, and exits non-zero. Every Skill it writes has been through the security audit first.

DOCS23 CHAPTERS