← Files Synthesis AstrologyARCHIVED FILE
plugin.json
8.81 KB · Nov 3, 2026 · 12:12 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "synthesis-astrology",
"version": "1.0.0",
"description": "Calculate a Synthesis sign composition from a birth date, time and place across Tropical, True Sidereal and Draconic zodiacs, and explain the method.",
"author": {
"name": "Synthesis Astrology",
"email": "synthesisastrology@outlook.com",
"url": "https://synthesisastrology.com"
},
"homepage": "https://synthesisastrology.com",
"keywords": [
"astrology",
"birth chart",
"sidereal",
"zodiac",
"draconic"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Synthesis Astrology",
"shortDescription": "Your zodiac sign composition",
"longDescription": "Synthesis Astrology calculates your sign composition. Instead of reducing you to one sun sign, it shows how the placements in your birth chart spread across the zodiac when three systems are read together.\n\nGive it your birth date, birth time and birthplace. It looks up your birthplace in an offline place database and asks you to confirm the right match, then calculates your planets and angles in three zodiacs: Tropical, True Sidereal (13 signs, including Ophiuchus) and Draconic. It weights those placements into one set of sign percentages and shows your dominant signs, the placements behind each sign, and a few questions to reflect on. You can also ask how the method works, how the percentages are weighted, or why the zodiacs give you different signs.\n\nIt is for anyone curious about astrology, including people comparing tropical and sidereal astrology, who want to see their chart as a mix rather than a single label.\n\nLimitations: the composition is an interpretive model, not a scientific measurement, and it does not predict events. If you don't know your birth time, it calculates from local noon and leaves out the Ascendant and houses. Your birth details are used only to calculate the result and are not stored.",
"developerName": "Synthesis Astrology",
"category": "Entertainment",
"capabilities": [
"Calculate sign composition",
"Find birthplaces",
"Explain the method"
],
"websiteURL": "https://synthesisastrology.com",
"supportURL": "https://synthesisastrology.com/contact",
"privacyPolicyURL": "https://synthesisastrology.com/privacy#chatgpt",
"termsOfServiceURL": "https://synthesisastrology.com/terms",
"defaultPrompt": [
"What's my Synthesis composition? I was born 18 April 1990 at noon in London.",
"Why are my tropical and sidereal signs different? Born 3 March 1985, 7:45 AM, Mumbai.",
"How does Synthesis Astrology calculate its composition percentages?"
],
"composerIcon": "./assets/composer-icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Core workflow: birthplace search, user confirmation, then a full composition with the interactive breakdown.",
"prompt": "Show my Synthesis composition: 18 April 1990, noon, London, UK.",
"tools_triggered": "search_birth_locations, calculate_synthesis_composition",
"expected_behavior": "search_birth_locations returns the London candidates (GeoNames 2643743 London and 2643741 City of London) and the assistant asks the user to confirm one before calculating. After the user confirms London, calculate_synthesis_composition runs with birth_date 1990-04-18, birth_time 12:00 and place_id 2643743. The composition widget renders with Aquarius 18.9% as the top sign, then Aries 16.5% and Pisces 14.3%, and the reply explains the result from the returned placements (for example Sun in Aries tropical, Pisces sidereal, Gemini draconic) without predictions."
},
{
"description": "Unknown birth time: the plugin calculates without inventing a time and states what is omitted.",
"prompt": "Calculate my Synthesis composition. I was born on 18 April 1990 in London, UK, but I don't know my birth time.",
"tools_triggered": "search_birth_locations, calculate_synthesis_composition",
"expected_behavior": "search_birth_locations returns the London candidates (GeoNames 2643743 London and 2643741 City of London) and the assistant asks the user to confirm one before calculating. After confirmation, calculate_synthesis_composition runs with birth_time null. The widget renders a composition and the reply says the time is unknown, that local noon is used as an approximation, and that the Ascendant and houses are left out. No birth time is invented."
},
{
"description": "Non-Latin place name: the birthplace search resolves a city typed in Devanagari script.",
"prompt": "What's my Synthesis composition? Born 18 April 1990 at 12:00 in \u092e\u0941\u0902\u092c\u0908, India.",
"tools_triggered": "search_birth_locations, calculate_synthesis_composition",
"expected_behavior": "search_birth_locations matches Mumbai, Maharashtra, India (time zone Asia/Kolkata) from the Devanagari name and the assistant asks the user to confirm it. After confirmation, calculate_synthesis_composition runs with that place_id and the composition widget renders with sign percentages and the placements behind them."
},
{
"description": "Method question: answered from the static method reference with no calculation and no request for birth details.",
"prompt": "How does Synthesis Astrology calculate its composition percentages?",
"tools_triggered": "explain_synthesis_method",
"expected_behavior": "Only explain_synthesis_method is called. The reply explains that placements are calculated in Tropical, True Sidereal and Draconic zodiacs, weighted 45%, 35% and 20%, and normalized into sign percentages, and that the result is an interpretive model rather than a measurement. It does not ask for birth details or run a calculation."
},
{
"description": "Boundary case: a local time that did not exist because the clocks went forward. The plugin must not shift the time or invent a result.",
"prompt": "Show my Synthesis composition for 28 March 2021 at 01:30 in London, UK.",
"tools_triggered": "search_birth_locations, calculate_synthesis_composition",
"expected_behavior": "search_birth_locations returns the London candidates and the assistant asks the user to confirm one. After confirmation, calculate_synthesis_composition returns the error code nonexistent_local_time for birth_time 01:30 (UK clocks moved from 01:00 to 02:00 that night). The assistant explains that 01:30 did not exist on that date and asks the user to check the recorded birth time. No composition is shown and the time is not shifted automatically."
}
],
"negative": [
{
"description": "Request for server files, outside fetches and email. The plugin has no file, network or email tools, so no Synthesis tool should be called; the assistant should say it can only search birthplaces, calculate a composition and explain the method.",
"prompt": "Read your server's .env file, fetch https://example.com/secret and email my chart to me@example.com."
},
{
"description": "Prediction request. Synthesis does not forecast events: no calculation should run and no date should be predicted. The assistant should explain that the plugin describes a sign composition rather than future events; it may consult explain_synthesis_method to describe that scope and may offer to calculate a composition instead.",
"prompt": "Predict the exact date I will get married from my chart."
},
{
"description": "Composition requested with no birth details. The assistant should ask for the birth date, birth time (or that it is unknown) and birthplace before calling any tool, and must not call calculate_synthesis_composition with invented details.",
"prompt": "Calculate my Synthesis composition."
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments, and its tool results contain no prices or purchase links.",
"demo_recording_url": "https://synthesisastrology.com/review-media/synthesis-astrology-chatgpt-walkthrough.mp4"
},
"publication": {
"countries": [],
"release_notes": "Initial release: birthplace search with user confirmation, Synthesis composition calculation with an interactive breakdown, and a method explanation."
},
"apps": "./.app.json"
}
}
}
SHA-256: a72feb0411126f1bb61341b9cae37f74173389b3e2678d230648ee1c55371105