← Files JobSproutARCHIVED FILE

.codex-plugin/plugin.json

11.9 KB · Nov 3, 2026 · 19:15 UTC

↓ Download file

{
  "name": "app-6a957ec9fba88191a853b12e2553d093",
  "version": "1.0.1",
  "description": "JobSprout scores, builds, tailors, and redesigns resumes and cover letters. Anyone can score a resume (pasted text or an uploaded file) against a deterministic ATS rubric and build a professionally typeset resume from 40+ designs, exported as a clean PDF. Users who link a JobSprout account can score, tailor, and redesign their saved resumes and generate matching cover letters, each shown in an inline card with a real first-page preview and links to open in the editor or download.",
  "author": {
    "name": "David Culemann",
    "url": "https://www.jobsprout.ai"
  },
  "homepage": "https://www.jobsprout.ai",
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "JobSprout",
    "shortDescription": "Score and build your resume",
    "longDescription": "JobSprout runs a real ATS rubric on your resume, rebuilds it in a designed template, and keeps the result in your account to reuse.\n\nScore it: paste your resume for a 0 to 100 ATS score with a category breakdown and where you rank against real scored resumes. It runs a fixed rubric, so the same resume always gets the same score.\n\nBuild it: browse 43 designs and build your resume into one that looks like a designer made it, exported as a clean PDF.\n\nKeep it: everything you build lives in your JobSprout account, where it can become a cover letter, a version tailored to a specific job, or a personal site.\n\nWork in your language: resumes and cover letters in 20+ locales.",
    "developerName": "David Culemann",
    "category": "Productivity",
    "capabilities": [
      "Score a resume against an ATS rubric with a category breakdown",
      "Browse and choose from JobSprout's resume templates",
      "Build a resume in a chosen template and open it in an editor",
      "Tailor a saved resume to a specific job description",
      "Write a cover letter from a saved resume and a job",
      "Download a resume as a PDF"
    ],
    "brandColor": "#214E54",
    "logo": "./assets/logo.png",
    "composerIcon": "./assets/composer-icon.png",
    "defaultPrompt": [
      "Score my resume and show me what to fix",
      "Build my resume with a professional template",
      "Tailor my saved resume to a job description"
    ],
    "websiteURL": "https://www.jobsprout.ai",
    "supportURL": "https://www.jobsprout.ai/contact-us",
    "privacyPolicyURL": "https://www.jobsprout.ai/privacy-policy",
    "termsOfServiceURL": "https://www.jobsprout.ai/terms-of-service"
  },
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Score a pasted resume. The reviewer's account is linked (ChatGPT links it when the connector is added), so the scored resume is also saved to the account.",
              "prompt": "Score my resume against ATS:\n\nPriya Menon\nMarketing Manager\npriya.menon.demo@example.com | +44 20 7946 0102 | London, UK\nlinkedin.com/in/priya-menon-demo\n\nSUMMARY\nMarketing manager with 7 years building demand-generation programmes for B2B SaaS. Owns lifecycle email, paid search, and content, and has run teams of up to 5.\n\nEXPERIENCE\nMarketing Manager, Northwind Software - London, UK - Mar 2021 to Present\n- Grew marketing-sourced pipeline from GBP 1.2M to GBP 4.8M in two years by rebuilding the paid-search and lifecycle-email programmes.\n- Cut cost per marketing-qualified lead by 38% while doubling monthly lead volume.\n- Managed a team of 5 across content, paid, and marketing operations.\n\nSenior Marketing Executive, Brightwave Digital - Manchester, UK - Jun 2018 to Feb 2021\n- Launched the company's first webinar programme, contributing 22% of quarterly pipeline within a year.\n- Ran the HubSpot migration and set up lead scoring and attribution reporting.\n\nMarketing Executive, Lumen Retail - Leeds, UK - Sep 2016 to May 2018\n- Managed social and email calendars for a 40-store retail brand, lifting email revenue 27% year on year.\n\nEDUCATION\nBA (Hons) Marketing, University of Leeds - 2013 to 2016 - First Class\n\nSKILLS\nDemand generation, Paid search (Google Ads), Lifecycle email, HubSpot, Marketing analytics, SEO, Team leadership, Copywriting",
              "tools_triggered": "score_resume",
              "expected_behavior": "A score-report card with an overall 0-100 score, a band, a category breakdown and top fixes, and the assistant discusses the weakest categories. If the JobSprout account is linked, the scored resume is saved and the card's button opens it in the editor ('Improve my resume in JobSprout'). If not linked, the button reads 'Save & improve in JobSprout' and opens a page to save it. Both are correct. ChatGPT may add its own commentary under the card. Re-running the same text within 24 hours returns the same score."
            },
            {
              "description": "Score an uploaded resume file. Reviewer attaches fixture-resume.txt (or a PDF of it).",
              "prompt": "Here's my CV, how good is it? (attach the fixture resume text from case 1 as a .txt or PDF file)",
              "tools_triggered": "score_resume",
              "expected_behavior": "The file text is extracted and scored, giving the same kind of score-report card as case 1 (button wording depends on whether the account is linked, as in case 1). The score may differ slightly from the pasted run if the file extracts differently. What matters is a real rubric score, never a refusal or an invented number."
            },
            {
              "description": "Browse templates and build a resume. Two turns: the gallery appears, the reviewer picks a template (clicks 'Use this' on a card or names one), and the resume is built on the next turn.",
              "prompt": "Show me some resume designs so I can pick one, then build my resume in it:\n\nPriya Menon\nMarketing Manager\npriya.menon.demo@example.com | +44 20 7946 0102 | London, UK\nlinkedin.com/in/priya-menon-demo\n\nSUMMARY\nMarketing manager with 7 years building demand-generation programmes for B2B SaaS. Owns lifecycle email, paid search, and content, and has run teams of up to 5.\n\nEXPERIENCE\nMarketing Manager, Northwind Software - London, UK - Mar 2021 to Present\n- Grew marketing-sourced pipeline from GBP 1.2M to GBP 4.8M in two years by rebuilding the paid-search and lifecycle-email programmes.\n- Cut cost per marketing-qualified lead by 38% while doubling monthly lead volume.\n- Managed a team of 5 across content, paid, and marketing operations.\n\nSenior Marketing Executive, Brightwave Digital - Manchester, UK - Jun 2018 to Feb 2021\n- Launched the company's first webinar programme, contributing 22% of quarterly pipeline within a year.\n- Ran the HubSpot migration and set up lead scoring and attribution reporting.\n\nMarketing Executive, Lumen Retail - Leeds, UK - Sep 2016 to May 2018\n- Managed social and email calendars for a 40-store retail brand, lifting email revenue 27% year on year.\n\nEDUCATION\nBA (Hons) Marketing, University of Leeds - 2013 to 2016 - First Class\n\nSKILLS\nDemand generation, Paid search (Google Ads), Lifecycle email, HubSpot, Marketing analytics, SEO, Team leadership, Copywriting\n\n(When the template gallery appears, click 'Use this' on Modern CV, or reply: use the Modern one.)",
              "tools_triggered": "list_resume_templates, build_resume",
              "expected_behavior": "Turn 1: a template gallery appears and the assistant stops so the user can choose. Turn 2, after the user clicks 'Use this' on Modern CV or names it: build_resume is called (the gallery is not shown again) and a resume card appears with a first-page thumbnail in the chosen design and Open-in-editor / Download-PDF actions. Linked accounts get the resume saved and the link opens it in the editor; unlinked users get a link to save the resume to a JobSprout account. Both are correct."
            },
            {
              "description": "Score the account's seeded resume, then deep-link to improve it. The demo account holds one saved resume titled 'Senior Full-Stack Software Engineer CV'; the prompt names it because the earlier cases also save resumes to the account.",
              "prompt": "Score my saved resume called Senior Full-Stack Software Engineer CV and tell me what to fix.",
              "tools_triggered": "list_my_cvs, score_resume",
              "expected_behavior": "A score-report card for that resume whose 'Improve my resume in JobSprout' action deep-links to its score view in the editor (/cvs/:id?section=score); the score persists to the account. Re-running it without editing the resume replays the stored score, so web and mobile agree."
            },
            {
              "description": "Tailor the seeded resume to a job and draft a cover letter. That resume is a senior full-stack software engineer's, so use an engineering job description (another field produces a deliberately poor match).",
              "prompt": "Tailor my saved resume called Senior Full-Stack Software Engineer CV to this job and write a cover letter:\n\nSenior Full-Stack Engineer, Northwind Health (remote, UK). You will design and ship TypeScript services on Node.js and PostgreSQL, build React features end to end, own CI/CD on AWS, mentor two mid-level engineers and work with product on a patient-booking platform serving 2 million users. Requirements: 6+ years shipping production web apps, strong TypeScript, React, Node.js, SQL, AWS, testing culture.",
              "tools_triggered": "list_my_cvs, tailor_cv_to_job, generate_cover_letter",
              "expected_behavior": "A tailored-resume card with a change list and thumbnail (tailored in place), then a cover-letter card with a thumbnail and open/download actions. Both are paid operations; the demo account is on the Pro plan and holds credits, so both can be run more than once and behave the same on web and mobile."
            }
          ],
          "negative": [
            {
              "description": "Job-search request is out of scope.",
              "prompt": "Find me marketing manager jobs in London and apply to them."
            },
            {
              "description": "Too-short text must not get an invented score.",
              "prompt": "Score this: I am a hard worker and a great team player."
            },
            {
              "description": "Text long enough to pass the length gate but not a resume must not get an invented score.",
              "prompt": "Score this resume: Preheat the oven to 200C. Toss the potatoes in olive oil, salt and rosemary, then roast for forty minutes, turning once halfway through. Meanwhile whisk the eggs with cream and a pinch of nutmeg. Pour over the potatoes for the final ten minutes and serve with a green salad and a glass of something cold on a sunny afternoon."
            }
          ]
        },
        "demo_recording_url": "https://cursorful.com/share/bKBNDSYkWmyz",
        "commerce": false,
        "commerce_description": "JobSprout does not sell anything inside ChatGPT. No purchases, checkout or upgrade prompts happen in the plugin."
      },
      "publication": {
        "release_notes": "Resubmission after the 2026-09-16 review. The failing case was templates then build: after the user picked a design from the gallery, the assistant showed the gallery again instead of building, so no resume was made. The tool descriptions and the build-a-resume skill now tell the model to call build_resume as soon as a design is picked and never to re-show the gallery. We ran all 5 positive and 3 negative cases on ChatGPT web and mobile with the demo account before submitting. Every case assumes a linked account, since ChatGPT asks the user to sign in with JobSprout when the plugin is added. The demo account is on the Pro plan with credits, so every case can be repeated. Upgrade prompts were removed from all tool output: the plugin sells nothing, and when credits run out it links an informational pricing page only."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 47511e10467ff7814a2b5683a20fc746702a3d867f928d892b639483ac1b41f3