Scholarship strategy report
Skill piyushomanwar16/scholarship-strategy-report-skill/skills/scholarship-strategy-report
AI agent skill that generates a professional consulting-style scholarship/study-abroad strategy report PDF (tables, radar & bar charts) from a structured applicant questionnaire.
npx -y skills add piyushomanwar16/scholarship-strategy-report-skill --skill scholarship-strategy-reportAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 26 days oldThe repository was created 26 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Produces a professional, consulting-style scholarship / study-abroad strategy report PDF for an applicant. Use when a user wants a personalized scholarship report, a study-abroad strategy, ranked funding combinations, or to compare their profile against past recipients and receive a charted PDF. The skill gathers the applicant profile and preferences through a structured questionnaire, performs the analysis including political and geopolitical risk and benchmark comparisons, and renders a polished PDF with tables, radar charts and bar charts using the bundled Python generator.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
7.8 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it
Scholarship Strategy Report
You are helping a user create a professional consulting-style scholarship / study-abroad strategy report (cover page, TOC, executive summary, profile analysis, landscape, past-recipient benchmarks, comparison radar, 10 funding combinations, feasibility, roadmap, timeline, final verdict). The output is a single PDF generated by generate_report.py.
You (the agent) provide the intelligence (research, comparisons, narrative). The Python script provides the layout and charts. You collect answers, do the analysis, fill a JSON file, then run the script.
Workflow
Step 1 — Collect information (ask, do not assume)
Ask the user the questions below. Use the question tool or conversational prompts. Group them into rounds so you are not overwhelming. Never invent answers — if the user does not know, record "Not provided" and let the generator use sensible placeholders.
A. Core compare (identity & academics)
- Full name (or preferred display name)
- Nationality
- Current city / state / country
- Date of birth or age
- Email / phone (optional, only if they want it shown)
B. Education 6. Current class / program (e.g. Class 12 State Board / CBSE / IB / Diploma / B.Tech) 7. School / college name 8. Board / university 9. Class 10 percentage / CGPA 10. Class 12 percentage (actual or predicted) 11. Expected graduation year
C. Test scores 12. SAT / ACT (score + test date) 13. IELTS / TOEFL / Duolingo (overall + subscores) 14. Olympiads, competitions, rankings, hackathons, awards
D. Projects, research & leadership 15. Research papers (titles + status: published / submitted / preprint) 16. Major projects (AI, quantum, software, hardware, etc.) 17. Companies / startups / organizations founded or led 18. Measurable impact (users, beneficiaries, countries, revenue, downloads, volunteers) 19. Positions held (captain, president, organizer, mentor)
E. Financial & logistics (drives the funding analysis) 20. Financial condition / family income bracket (this determines need-based eligibility) 21. Target country for studying abroad 22. Preferred university/college — is there one, or "no preference"? 23. Scholarship type wanted: full vs partial (if partial, what %?) 24. Scholarship sponsor preference: private company / charity / government / doesn't matter 25. Hours per week willing to work part-time, on or off campus
Step 2 — Do the analysis (your value-add)
Before writing JSON, actually think and research:
- Scholarship landscape for the target country: typical costs, what awards cover, competition levels, acceptance rates. Use web search if needed.
- Past recipient benchmarks: find 5–10 real or representative profiles of past winners for the relevant awards and extract Name / Background / Achievement / Program so the report can compare the applicant against them.
- Political & geopolitical conditions: check travel advisories, visa/permit stability, currency risk, and any active disruptions for the applicant's nationality → target country. Fold this into the Feasibility "Honest Verdict" and the conclusion.
- Comparison scoring (0–10) across dimensions: Academics, Research, Leadership, Test Scores, Community, Olympiads (or context-appropriate axes). Score the applicant ("you") and a "typical winner" for the radar chart + comparison table.
- 10 funding combinations: enumerate 10 realistic award stacks (e.g. "University Merit + Research Assistantship", "Government Bilateral + TA", "Private Sponsor + Partial"). For each, give a short description and a table with columns
# | Scholarship Stack | Funding | Income | Gap | Rating, where Rating is stars (★★★★★ … ★☆☆☆☆). Exactly 10 combinations — no more, no fewer. - Feasibility tiers (Tier 1 realistic full funding / Tier 2 strong partial+work / Tier 3 safety net) and an "Honest Verdict" with 2 numbered highlights.
- Improvement roadmap: Critical / Important / Nice-to-have, each with heading + explanation.
- 12-month timeline: months (e.g. July → June) each with checkbox tasks (□ Task).
- Final verdict bets: BEST BET, SAFEST BET, BEST RANKING, BEST SELF-FUNDING, STRETCH BET, each with a paragraph, plus a motivational conclusion.
Step 3 — Build the input JSON
Write the collected + analyzed content into a JSON file (e.g. profile.json) following the schema in INPUT_SCHEMA.md (also summarized in the appendix below). Keep narrative strings concise and objective (research-report tone: data first, then interpretation). All keys are optional; the generator fills placeholders for anything missing.
Step 4 — Generate the PDF
pip install -r requirements.txt
python generate_report.py profile.json scholarship_report.pdf
If you omit the JSON path, the script renders a built-in EXAMPLE report (useful for a dry run / demo).
Step 5 — Deliver
Give the user the PDF path and a short 2–3 sentence summary of the top recommendation and the biggest leverage action.
Design contract (must respect)
- White background, black body text, dark blue (#1F3864) headings, gray table borders, bold section titles.
- Typography: Arial/Helvetica-like. Title ~28pt, H1 ~19pt, H2 ~14pt, body 11pt, tables 9.5pt.
- Heading hierarchy: Title → Section (numbered 1–10) → Sub-heading → Paragraph → Bullets → Tables → Charts.
- Charts: radar (you vs typical winner), grouped bar (profile strength vs average), acceptance-rate bar, horizontal scholarship-value bar. The script generates these from the numeric arrays you supply — you only provide the numbers.
- Exactly 10 funding combinations in the main data section.
Appendix — minimal JSON schema
{
"meta": { "title": "", "subtitle": "", "prepared_for": "", "date": "", "universities": ["", ""] },
"toc": [ { "num": "1", "title": "", "desc": "" } ],
"executive_summary": { "intro": "", "findings": ["", ""] },
"profile": {
"attributes": [ ["Label", "Value"] ],
"comparison": { "headers": [""], "rows": [[""]] },
"strength": { "labels": [""], "you": [0], "average": [0] }
},
"landscape": { "paragraphs": [""], "acceptance": { "labels": [""], "values": [0] } },
"value_comparison": { "labels": [""], "values": [0] },
"past_winners": [ { "heading": "", "description": "", "table": { "headers": [""], "rows": [[""]] } } ],
"comparison": {
"radar": { "labels": [""], "you": [0], "typical": [0] },
"table": { "headers": [""], "rows": [[""]] }
},
"combinations": [ { "heading": "", "description": "", "table": { "headers": [""], "rows": [[""]] } } ],
"feasibility": { "tiers": [ { "name": "", "text": "" } ], "verdict": { "highlights": ["", ""] } },
"roadmap": { "critical": [ {"h":"", "t":""} ], "important": [ {"h":"", "t":""} ], "nice": [ {"h":"", "t":""} ] },
"timeline": [ { "month": "", "tasks": [""] } ],
"final_verdict": { "bets": [ {"label":"", "text":""} ], "conclusion": "" }
}
Star ratings are plain text in table cells, e.g. "★★★★☆".
See example_profile.json for a fully populated, runnable example.
Gives 0 of the 12 instructions most docs writing skills give in ~1.8k tokens
Counted across 1,637 of the 3,044 authors here whose files we hold, read 2026-08-06
- announce the skill at startin 54 of 1637, across 21 files
- convert legacy doc files before editingin 45 of 1637, across 7 files
- predict questions readers might askin 42 of 1637, across 3 files
- Generate clarifying questions for initial contextin 42 of 1637, across 3 files
- Create document scaffold with placeholder textin 42 of 1637, across 3 files
- Brainstorm content options for each sectionin 42 of 1637, across 3 files
- Test document with fresh context-less instancein 42 of 1637, across 3 files
- ask interview questions one at a timein 42 of 1637, across 26 files
- include exact file paths in every taskin 42 of 1637, across 15 files
- Apply surgical edits during refinementin 41 of 1637, across 2 files
- Offer structured workflow or freeformin 40 of 1637, across 1 file
- Ask for document meta-contextin 40 of 1637, across 1 file
Said here and by no other author read
- ask the user for profile details
- never invent missing answers
- research the scholarship landscape
- benchmark against past recipients
- assess political and geopolitical risks
- enumerate exactly ten funding combinations
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.