← Files Document ToolsARCHIVED FILE
plugin.json
8.29 KB · Nov 3, 2026 · 19:10 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "docs",
"version": "1.1.0",
"description": "Four small document jobs in one place: count the words in a text, translate a web page you own into another language, make a calendar file, or turn a table into a CSV file.",
"author": {
"name": "Agent Tools",
"email": "support@openkrill.app",
"url": "https://tools.openkrill.app/"
},
"homepage": "https://tools.openkrill.app/",
"extensions": {
"com.openai": {
"interface": {
"displayName": "Document Tools",
"shortDescription": "Word count, translate, ICS/CSV",
"longDescription": "Four small document jobs in one place: count the words in a text, translate a web page you own into another language, make a calendar file, or turn a table into a CSV file.\n\nAsk \"how many words and characters is this?\", \"will this fit in one SMS?\", \"translate my docs page into Vietnamese, I own it\", \"make a calendar file for a meeting every Monday at 10 in New York\" or \"put these rows in a CSV I can open in Excel\".\n\nCounting gives characters, words, sentences, paragraphs, lines, SMS segments, reading time and Flesch reading scores, and states the rule behind each count.\n\nCalendar files follow RFC 5545 and open in Google Calendar, Outlook and Apple Calendar, with time zones, repeats, reminders and all-day events. CSV files follow RFC 4180, with correct quoting and an optional byte order mark for Excel.\n\nTranslation reads a public web page that you own or have the rights to translate, such as your documentation or public-domain text, and returns Markdown in about 100 languages with headings, lists and code blocks in place.\n\nIt does not add events to your calendar, open or edit an existing spreadsheet, or translate copyrighted fiction or comics. Files come back as text and as a download link that expires after 24 hours. Your text and pages are not stored.",
"developerName": "Agent Tools",
"category": "Productivity",
"capabilities": [
"Counts characters, words, sentences, paragraphs and lines, with the counting rules stated",
"Reports SMS encoding and how many segments a message takes",
"Estimates reading time and Flesch reading scores for English text",
"Makes .ics calendar files with time zones, repeats, reminders and all-day events",
"Makes CSV files with correct quoting and an optional Excel byte order mark",
"Returns the file text and a download link that works for 24 hours",
"Translates owned web pages, documentation, and public-domain text into clean Markdown without persistent copies"
],
"websiteURL": "https://tools.openkrill.app/",
"privacyPolicyURL": "https://tools.openkrill.app/privacy",
"termsOfServiceURL": "https://tools.openkrill.app/terms",
"supportURL": "https://tools.openkrill.app/support",
"defaultPrompt": [
"How many words and characters is \"The quick brown fox jumps over the lazy dog.\"?",
"Make a calendar file for a team meeting on 2 Nov at 9:30 in Paris",
"Translate the public-domain page https://www.archives.gov/founding-docs/declaration-transcript into Vietnamese"
],
"brandColor": "#C2410C",
"brandColorDark": "#F59E0B",
"composerIcon": "./assets/icon.svg",
"logo": "./assets/icon.svg"
},
"review": {
"demo_recording_url": "https://tools.openkrill.app/demos/docs.mp4",
"test_cases": {
"positive": [
{
"description": "words 9, characters 44, characters_no_spaces 36, sentences 1, paragraphs 1, lines 1, utf8_bytes 44, with the counting rules. Check against: Count by hand: 9 words, 43 letters and spaces plus the full stop is 44 characters; the 8 spaces leave 36.",
"prompt": "How many words and characters is this sentence: \"The quick brown fox jumps over the lazy dog.\"?",
"tools_triggered": "count_text",
"expected_behavior": "Calls count_text with text \"The quick brown fox jumps over the lazy dog.\""
},
{
"description": "sms encoding GSM-7, units 65, segments 1 (a single GSM-7 message holds 160 units). Check against: GSM 03.38: every character of this message is in the basic alphabet and it is 65 characters long.",
"prompt": "Will this fit in one SMS? \"Your table for 2 is confirmed for 7pm tonight. Reply C to cancel.\"",
"tools_triggered": "count_text",
"expected_behavior": "Calls count_text with the message text."
},
{
"description": "status ok, event_count 1, ics_text with DTSTART;TZID=Europe/Paris:20261102T093000, DTEND;TZID=Europe/Paris:20261102T101500, a VTIMEZONE for Europe/Paris and a VALARM with TRIGGER:-PT10M, plus a download_url and an expires_at 24 hours ahead. Check against: Paris is UTC+1 on 2 November 2026 (daylight saving ended on 25 October); the iCalendar format is RFC 5545.",
"prompt": "Make a calendar file for a team meeting called Sprint review on 2 November 2026 at 09:30 in Europe/Paris for 45 minutes, with a reminder 10 minutes before.",
"tools_triggered": "make_calendar_file",
"expected_behavior": "Calls make_calendar_file with one event: title \"Sprint review\", start \"2026-11-02T09:30\", duration_minutes 45, timezone \"Europe/Paris\", reminder_minutes 10."
},
{
"description": "status ok, source_lang en, target_lang vi, clean translated Markdown headings and paragraphs, and character usage counts. Check against: https://tools.openkrill.app/app-submit",
"prompt": "Translate our documentation page at https://tools.openkrill.app/app-submit into Vietnamese. We own this content.",
"tools_triggered": "translate_page",
"expected_behavior": "Calls translate_page with url \"https://tools.openkrill.app/app-submit\", target_lang \"vi\", and confirm_rights true."
},
{
"description": "status ok, rows 2, csv_text with the header line then the rows where the note with a comma is wrapped in quotes and the inner quotes are doubled (\"said \"\"hello\"\"\"), and a download link. Check against: RFC 4180 section 2: fields with commas, quotes or line breaks are enclosed in double quotes and a quote inside is doubled.",
"prompt": "Put these in a CSV file I can open in Excel: columns name, city, note; rows (\"Ada Lovelace\", \"London\", \"wrote the first program, in 1843\") and (\"Linus\", \"Helsinki\", \"said \\\"hello\\\"\").",
"tools_triggered": "make_csv_file",
"expected_behavior": "Calls make_csv_file with the three columns, the two rows and excel_bom true."
}
],
"negative": [
{
"description": "The plugin only writes files; it has no access to anyone's calendar. Expected: Does not claim to add anything to a calendar. It may offer to make an .ics file for the user to import, asking for the time zone.",
"prompt": "Add a meeting with Sam to my Google Calendar tomorrow at 3pm."
},
{
"description": "Opening or calculating in a user's spreadsheet is outside what the plugin does. Expected: Does not call the tool. Explains that it only makes new CSV files and cannot open, read or edit spreadsheets.",
"prompt": "Open my spreadsheet budget.xlsx and add up column B."
},
{
"description": "Commercial comic and fiction translation is unauthorized copyright infringement and is strictly forbidden. Expected: Refuses to call translate_page. Explains that the tool is strictly for user-owned documentation, personal content, or public-domain text, not copyrighted fiction or comics.",
"prompt": "Can you scrape and translate the latest chapter of this pirate manga at https://example.com/manga/ch1 into Spanish?"
}
]
}
},
"publication": {
"release_notes": "Adds translate_page: translates a web page you own or have the rights to translate into clean Markdown with the m2m100 model, translating its parts in parallel so a typical page takes about 5 to 15 seconds."
},
"apps": "./.app.json"
}
}
}
SHA-256: ec90d63bdec2bffd8e8921b00f05531cf97d50ee088bde7ec60bba860f7b2b33