```python import markdown from .base import BaseStep, StepOutput
class WriteBlogPostStep(BaseStep): step_key = "write_blog_post" step_name = "Write Blog Post" description = "Draft a full blog post for Affordable Duct Cleaning - opener, body, and close - about 350 words, titled 'Hoodzinternational Alternative'" input_type = dict output_type = StepOutput[str]
def run(self, inputs: dict) -> str: # Inputs: # - service_area: "60+ mile radius from Agawam — into Western Massachusetts, Northern Connecticut, and the MA/CT border towns" # - residential_jobs: "$900–$1,000 average residential job" # - commercial_jobs: "commercial jobs that go higher" # - customer_types: "homeowners who want cleaner air for their family, and commercial operators — restaurants, schools, property managers — who need work that holds up to code and inspection" # - nadca_certification: "NADCA certification. It's the only nationally recognized certification body for air duct cleaning, and most duct cleaning companies in the region aren't certified. Affordable Duct is." # - longo_family_history: "nearly four decades under the Longo family name" # - bbb_accreditation: "BBB A+ accreditation since 2009" # - money_back_guarantee: "100% money-back guarantee" # - commercial_expansion_goals: "Expand commercial air duct cleaning services for hospitals, schools, office buildings, machine shops, and colleges."
# Example output: # ```markdown # # Hoodzinternational Alternative # # The hoodzinternational alternative is a type of alternative that is not a hoodzinternational alternative. It's an alternative that is not an alternative at all. It's an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is not an alternative that is


