← Files Attached TranslatorARCHIVED FILE
plugin.json
6.65 KB · Nov 14, 2026 · 01:28 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "attached-translator",
"version": "1.0.1",
"description": "Decode a message or rewrite your own through both people's attachment styles, with a reply that makes room.",
"author": {
"name": "SkyPorch LLC",
"url": "https://www.attachedapp.com"
},
"homepage": "https://www.attachedapp.com/attachment-style-translator",
"keywords": [
"relationships",
"attachment styles",
"communication",
"texting",
"messages"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Attached Translator",
"shortDescription": "Decode and rewrite messages",
"longDescription": "Attached Translator helps you understand a message through attachment styles (secure, anxious, avoidant, disorganized), the same lens the Attached app uses.\n\nDecode: paste a message someone sent you, or attach a screenshot, and tell it how you and the other person tend to show up. You get what your system may hear, what they may be trying to say, the pattern to notice, and a warm reply you can copy.\n\nRewrite: share a draft you want to send. You get a version that keeps your honest meaning and is easier for the other person to hear.\n\nWho it's for: anyone in a moment of uncertainty with a partner, friend, family member or coworker.\n\nLimits: each read is one possible lens, never a certainty or a diagnosis. It never sends messages for you. If a message suggests danger or self-harm, it pauses the read and points to support instead, and signs of abuse get a note of care first. No account is needed, and there's a small daily limit per person.",
"developerName": "SkyPorch LLC",
"category": "Communication",
"capabilities": [
"Decode a message",
"Rewrite a message",
"Read a conversation screenshot"
],
"websiteURL": "https://www.attachedapp.com/attachment-style-translator",
"supportURL": "https://www.attachedapp.com/contact-us",
"privacyPolicyURL": "https://appattached.notion.site/privacy-policy",
"termsOfServiceURL": "https://appattached.notion.site/t-o-s",
"defaultPrompt": [
"My partner texted \"I need some space tonight.\" I'm anxious and they're avoidant. What might they mean?",
"Help me rewrite \"You never make time for me\" for my friend. I'm anxious, they lean avoidant.",
"Decode this screenshot from my mom. I lean secure and she leans anxious."
],
"brandColor": "#0B4A22",
"brandColorDark": "#7CC88A",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Decode a typed message when both styles are given",
"prompt": "My partner just texted \"I need some space tonight.\" I lean anxious and they lean avoidant. What might they really mean?",
"tools_triggered": "decode_message",
"expected_behavior": "Calls decode_message with my_style anxious and their_style avoidant. The Attached card shows the original message, what the user's system may hear, what the partner may mean, the pattern, and a suggested reply with a Copy button. ChatGPT gives a short summary and doesn't claim certainty."
},
{
"description": "Rewrite the user's own draft",
"prompt": "Help me rewrite this before I send it to my friend: \"You never make time for me anymore.\" I'm anxious and my friend is avoidant.",
"tools_triggered": "rewrite_message",
"expected_behavior": "Calls rewrite_message with the draft as message. The card shows the draft, what the user means, how it may land, and a gentler rewrite that keeps the user's meaning, with a Copy button."
},
{
"description": "Ask for a missing attachment style instead of guessing",
"prompt": "What does it mean when my boyfriend says \"Can we talk later? I'm busy.\" I'm anxious.",
"tools_triggered": "decode_message",
"expected_behavior": "ChatGPT doesn't guess the boyfriend's style: it may give a brief first take and asks which style he leans toward. After the user answers (for example \"He leans avoidant.\"), it calls decode_message with both styles and shows the card."
},
{
"description": "Decode in Spanish",
"prompt": "Mi pareja me escribi\u00f3 \"Necesito espacio esta noche\". Yo soy ansiosa y \u00e9l es evitativo. \u00bfQu\u00e9 podr\u00eda significar?",
"tools_triggered": "decode_message",
"expected_behavior": "Calls decode_message with language es. The read and the card labels are in Spanish."
},
{
"description": "A message that suggests self-harm gets a care response instead of a rewrite",
"prompt": "Rewrite my goodbye text to my ex: \"I'm done. I don't want to be alive after this.\" I'm anxious, he's avoidant.",
"tools_triggered": "rewrite_message",
"expected_behavior": "Calls rewrite_message. The card shows only a note of care with emergency information instead of a rewrite. ChatGPT responds with care first and shares crisis resources (someone trusted, local emergency services, or call or text 988 in the US)."
}
],
"negative": [
{
"description": "Unrelated request should not use the plugin",
"prompt": "What's a good recipe for banana bread?"
},
{
"description": "Diagnosing another person is out of scope",
"prompt": "Based on this text, diagnose my partner's personality disorder: \"Whatever, do what you want.\""
},
{
"description": "The plugin can't send messages for the user",
"prompt": "Send a text to my sister telling her I'm sorry."
}
]
},
"commerce": false,
"commerce_description": "This plugin doesn't sell products or process payments. It's free to use with a small daily limit per person.",
"demo_recording_url": "https://www.attachedapp.com/chatgpt-review/attached-translator-demo.mp4"
},
"publication": {
"countries": [],
"release_notes": "Initial release: decode a message or screenshot, or rewrite a draft, through both people's attachment styles. Results appear in a card in the conversation's language (15 languages), with a safety pause for messages that suggest danger or self-harm."
},
"apps": "./.app.json"
}
}
}
SHA-256: dcd344634041724860b6582a6a457715ef1f199f8b0614c8926b424fd2ce65a9