Skill Development Quickstart
Famulus uses different skills for behavioral changes, behavior-preserving refactors, blueprint maintenance, standards, hooks, and certification. Choose the route from the intended outcome rather than invoking every lifecycle skill for every change.
What to use when
| Need | Skill |
|---|---|
| Create a personal skill or change its intended behavior or public interface | skill-maker |
| Audit or refactor a registered node without changing behavior | refactor-node |
| Create or change a cross-host assistant lifecycle hook | hook-maker |
| Regenerate an existing blueprint when regeneration is specifically needed | regenerate-blueprints |
| Create, change, or audit a canonical repository standard | update-standards |
| Check whether node certificates are current or obtain canonical hashes | node-drift |
| Issue fresh certificates for final node state | node-certify |
| Move a registered node or its owned files without changing behavior | relocate-nodes |
| Operate a named Rutter through its public lifecycle | using-compass |
| Integrate branches whose structures have diverged beyond a normal merge | semantic-integration |
| Apply branch safety and exact-scope Git hygiene | git-workflow |
A typical change workflow
First classify the change. Use skill-maker for new behavior or a changed
public contract, and refactor-node when behavior must remain unchanged. Use
hook-maker instead when the requested product is a cross-host assistant
lifecycle hook. Use update-standards only when the canonical standard itself
is in scope.
Blueprint regeneration is not a routine synonym for editing or synchronization:
invoke regenerate-blueprints only when an existing blueprint actually needs
regeneration. After the final reviewed state is in place, use node-drift to
check certificate currentness. Use node-certify only when fresh
certificates are requested.
Moving a node is its own route. refactor-node changes a node in place and
relocate-nodes changes where it lives, so a relocation that also rewrites
behavior is two changes and should be done as two: the relocation engine
rewrites declared paths and typed identities and nothing else, which is what
lets its second preflight prove the move was exact.
All repository changes still follow git-workflow. Reserve
semantic-integration for substantial architectural divergence that a normal
merge or localized conflict resolution cannot preserve correctly.