{"ok":true,"site":{"host":"ahmedabdelwahed.me","url":"https://ahmedabdelwahed.me/","type":"live","desc":"Data Engineer who designs systems, builds data pipelines, and turns ideas into working products. Specializing in data engineering, Python, ETL, AI-driven tools, and practical software.","tools":[{"name":"navigate-to-section","kind":"act","impl":"imperative","description":"Scroll to a named section on the portfolio page. Available sections: hero, experience, volunteering, education, projects, github, badges, blog.","inputSchema":{"type":"object","properties":{"section":{"type":"string","description":"The section ID to navigate to","enum":["hero","experience","volunteering","education","projects","github","badges","blog"]}},"required":["section"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/blog/how-to-create-a-free-professional-email-with-improvmx-and-gmail/","/blog/improve-python-code-quality-with-ruff/"]},{"name":"get-contact-info","kind":"answer","impl":"imperative","description":"Get the site owner's public contact information including email, social media links, and CV download URL.","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/blog/how-to-create-a-free-professional-email-with-improvmx-and-gmail/","/blog/improve-python-code-quality-with-ruff/"]},{"name":"list-blog-posts","kind":"answer","impl":"imperative","description":"List all visible blog post titles, dates, and links from the current page.","inputSchema":{"type":"object","properties":{},"required":[]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/blog/how-to-create-a-free-professional-email-with-improvmx-and-gmail/","/blog/improve-python-code-quality-with-ruff/"]}],"category":"Media & Personal","favicon":"/favicons/ahmedabdelwahed.me.png","apiSurface":"spec","toolCount":3}}