| name | housekeeping |
| description | Run after completing any change to a microservice to bring its generated files, documentation, version, and topology diagram up to date. Skip if the skill you just followed already ran housekeeping as its final step. |
CRITICAL: Read and analyze this microservice before starting. Do NOT explore or analyze other microservices - the instructions in this skill are self-contained to this microservice. NATS ACLs are derived from source at deploy time by cmd/gencreds (not at housekeeping time), so a code change here doesn't require regenerating anything in other services.
Workflow
Copy this checklist and track your progress:
Post-change housekeeping:
- [ ] Step 1: Bump the version
- [ ] Step 2: Regenerate the boilerplate
- [ ] Step 3: Vet compilation
- [ ] Step 4: Document the microservice
- [ ] Step 5: Log the prompts
- [ ] Step 6: Visualize workflows
- [ ] Step 7: Chart the topology
Step 1: Bump the Version
Increment the Version const in myserviceapi/definition.go. The generated intermediate.go references it, so the bump takes effect when the boilerplate is regenerated in the next step.
Step 2: Regenerate the Boilerplate
Run go run github.com/microbus-io/fabric/cmd/genservice . from the microservice's directory. From myserviceapi/definition.go it regenerates all five derived artifacts: myserviceapi/client.go, intermediate.go, mock.go, mock_test.go, and manifest.yaml.
The manifest.yaml general block (name, hostname, description, package) is derived from the definition.go consts and the module path; modifiedAt is bumped to the current UTC time only when other content actually changed. Review the diff.
NATS ACL files are NOT generated at housekeeping time - they're derived from source by cmd/gencreds at deploy. Do not invoke cmd/gencreds from this skill; it consumes operator-sensitive material (the account NKey) and runs in the CD pipeline.
Step 3: Vet Compilation
Run go vet ./... from the project root and fix any compilation errors before proceeding.
Step 4: Document the Microservice
Skip this step if instructed to be "quick" or to skip documentation, or if the change introduces no new design rationale or tradeoffs worth capturing.
Update the microservice's local CLAUDE.md file to reflect the changes. If the file does not exist, create it with the hostname as an H1 heading (from manifest.yaml). Capture purpose, design rationale, tradeoffs, and the context needed for someone to safely evolve this microservice in the future. Focus on the reasons behind decisions rather than describing what the code does.
Step 5: Log the Prompts
Skip this step if the change is too minor to affect how you'd describe the microservice to a new agent.
Update PROMPTS.md to reflect the current capabilities of the microservice - what you would need to prompt to reproduce it from scratch today. Rewrite or extend the existing content as needed. The goal is a concise, up-to-date description a future agent could use to recreate the microservice, not a history of every change.
Step 6: Visualize Workflows
Run go run github.com/microbus-io/fabric/cmd/genworkflowmmd --path . from the microservice's directory to generate a Mermaid flowchart for each workflow endpoint.
Step 7: Chart the Topology
Run go run github.com/microbus-io/fabric/cmd/gentopology --bundle main/main.go from the project root to regenerate main/topology.mmd.