Removing a Feature of a Microservice

Remove a feature from a microservice across service.yaml, service.go, tests, and documentation.

172|5|Updated Sep 9, 2022
One-click install
npx skills add https://github.com/microbus-io/fabric --skill removing-a-feature-of-a-microservice
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Removing a Feature of a Microservice
Source: https://github.com/microbus-io/fabric/tree/main/.claude/skills/microbus/rm-any
Command: npx skills add https://github.com/microbus-io/fabric --skill removing-a-feature-of-a-microservice

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill streamlines the removal of a feature from a microservice by updating its configuration, code, tests, and documentation, reducing manual cleanup time and error-prone edits.

Core Features & Use Cases

  • Remove Definition From service.yaml: Deleting the feature's configuration entry.
  • Remove Implementation: Removing the corresponding code block in service.go.
  • Remove Test: Deleting tests in service_test.go to reflect the change.
  • Real-world Use Case: When a feature such as a flag, endpoint, event source/sink, or metric is deprecated, perform end-to-end cleanup across all artifacts.

Quick Start

Use the rm-any skill to remove the 'Billing' feature from a microservice by updating service.yaml, removing related code, tests, and documentation.

Frequently Asked Questions about Removing a Feature of a Microservice

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I remove a deprecated endpoint from a microservice configuration and clean up the codebase?

To remove a deprecated endpoint from a microservice, you need to delete its configuration entry in service.yaml, remove the corresponding implementation in service.go, delete associated tests in service_test.go, and update documentation. Run go generate afterward to refresh generated boilerplate.

What is the safest way to decommission a microservice feature like an event source or metric?

Decommissioning a microservice feature safely requires end-to-end cleanup across all artifacts: removing the definition from service.yaml, deleting the implementation in service.go, stripping tests from service_test.go, and updating boilerplate documentation to prevent stale references.

How do I delete configuration properties and their tests in a microservice?

Deleting configuration properties in a microservice involves removing the entry from service.yaml, erasing the related code block in service.go, and deleting the corresponding tests in service_test.go to ensure the codebase accurately reflects the removal.

Do I need to run go generate after removing a feature from service.yaml?

Yes, you need to run go generate after removing a feature from service.yaml to refresh the generated boilerplate. This ensures the codebase and documentation remain synchronized with the updated configuration after the feature removal.

Can I remove a web handler and its corresponding tests from a microservice simultaneously?

Yes, you can remove a web handler and its tests simultaneously by deleting the configuration in service.yaml, removing the implementation in service.go, and deleting the corresponding tests in service_test.go as part of a single end-to-end cleanup process.

What are the limitations of removing microservice features manually across service.yaml and service.go?

Removing microservice features manually across service.yaml and service.go is error-prone and time-consuming, often leaving stale tests in service_test.go or outdated documentation, which is why an automated end-to-end cleanup process is recommended.