Install
$ agentstack add skill-pinakdhabu-exam-prompt-qp-fetcher ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Universal QP Fetcher & Generator
Overview
This skill provides two capabilities:
- Fetch: Discovers and structures real question papers via LLM web search (primary) or
automated download scripts (fallback for SPPU)
- Generate: Creates university-style question papers with proper formatting, instructions, OR
structure, CO mapping, Bloom's levels
Works for ANY university worldwide, ANY branch, ANY semester.
How It Works
Option A (PRIMARY): LLM Web Search → Structured Markdown
Use the LLM's web search capability to discover question papers for any subject/university. This is the recommended approach — no single-site dependency, works for any university globally.
Process:
- LLM searches the web for question papers matching:
"{subject}" "{university}" question paper {year}
- Also searches university portals, educational sites, and PYQ repositories
- Extracts actual question text from search results (no PDF downloads needed)
- Writes structured markdown to the project's PYQ index
Output format (pyq-index/{university-slug}/{subject-slug}.md):
---
subject: Database Management Systems
university: Savitribai Phule Pune University
pattern: 2019
collected: 2026-06-22
sources:
- type: web
url: https://example.com/pyq/dbms-2024
- type: web
url: https://example.com/pyq/dbms-2023
---
# DBMS — Previous Year Question Papers (SPPU 2019 Pattern)
## End Semester Examination
### April 2024
**Total Marks: 70 | Time: 2.5 hrs**
**Q.1** Explain DBMS architecture with neat diagram. (10M) **Q.2** a) What is normalization? Explain
3NF and BCNF with examples. (8M) b) Write SQL queries for given relational schema. (7M) ...
### November 2023
...
## In Semester Examination
### October 2023
**Total Marks: 30 | Time: 1 hr**
**Q.1** ...
Search strategy per university type:
| University Type | Recommended Search Queries | | ---------------------- | --------------------------------------------------------------------------------------- | | SPPU / Pune | See "SPPU Internet Sources" section below | | VTU | "{subject}" "VTU" "question paper" or site:vturesults.com {subject} | | JNTU | "{subject}" "JNTU" "question paper" or site:jnturesults.com {subject} | | Mumbai University | "{subject}" "Mumbai University" "question paper" | | IITs / NITs | "{subject}" "IIT {name}" "exam paper" | | US/UK Universities | "{subject}" "past exam papers" "{university}" | | Generic | "{subject}" "previous year question paper" "{year}" then extract university from page |
If LLM Web Search Fails (any non-SPPU university)
If the LLM cannot find enough PYQs on the web after reasonable searching, ask the user for:
| What to ask for | Why | What LLM does with it | | -------------------- | --------------------------------------- | ---------------------------------------------- | | PDF attachments | User may have scanned/downloaded papers | LLM reads PDF directly, extracts questions | | A directory path | User may have a local PYQ collection | LLM scans directory for PDFs, reads each one | | An internet link | User may know a repository/portal URL | LLM fetches page, finds and extracts papers | | Any other format | Whatever the user has | LLM adapts and converts to structured markdown |
Then retry the original task with the user-provided material.
SPPU Internet Sources
These are the known working sources for SPPU question papers. LLM should search these in order until enough papers are found.
> ⚠️ Links change every exam season. SPPU creates new folders per exam period on all sites. If a > URL 404s, try the next source or search for the current exam period's folder. Always update > these instructions when you discover new URLs or find broken ones.
| # | Source | URL Pattern | Best For | | --- | --------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | | 1 | SPPU Official Portal ⭐ | http://collegecirculars.unipune.ac.in/sites/examdocs/{PERIOD}/Forms/AllItems.aspx | Only official source. Merged PDFs per exam season (all branches in one file), End Sem only, 2019 & 2024 pattern | | 2 | SPPU Question Papers | https://sppuquestionpapers.com/be/{branch}/semester-{N} | Per-semester papers for all branches | | 3 | SPPU QP Mirror | https://sppuquestionpaper.page.gd/program/be/ | Direct PDF links, mirror of #2 | | 4 | SPPU Study Hub | https://www.sppustudyhub.in/ | Notes + question papers | | 5 | Last Moment Tuitions | https://lastmomenttuitions.com/sppu/question-papers/ | Per-branch, per-year papers | | 6 | GitHub (Sppuqp) | https://github.com/pinakdhabu/Sppuqp | Merged PDFs (FE, SE, TE, BE), Google Drive mirror | | 7 | KSKA Git (Gitea) | https://git.kska.io/sppu-te-comp-content/ | Per-subject organized repos with solved papers | | 8 | Filo | https://askfilo.com/higher-education/savitribai-phule-pune-university/ | PYQ solutions with answers | | 9 | Collegedunia | https://collegedunia.com/university/25732-savitribai-phule-pune-university-sppu-pune | Old exam papers index |
Official SPPU Portal — Dynamic URL Discovery
Don't hardcode folder names. They change every exam season. Instead, discover dynamically:
http://collegecirculars.unipune.ac.in/sites/examdocs/
Step 1 — Browse the site structure: Fetch the base URL above. The SharePoint sidebar lists all available libraries. Look for:
Archive Question Paperssection — these are the QP foldersTime Tables {SEASON} {YEAR}— timetable folders (each exam season gets a new one)- Each archive folder is named after its exam period (e.g.,
APRIL - 2025,November - 2024)
Step 2 — Derive the folder URL pattern:
http://collegecirculars.unipune.ac.in/sites/examdocs/{FOLDER_NAME}/Forms/AllItems.aspx
URL-encode spaces in folder names. Common encoding patterns seen:
APRIL - 2025→APRIL%20%202025(double space after month)November - 2024→November%20-%202024April-2024→April2024(no encoding needed)
Try multiple encodings if the first fails. The site is inconsistent year-to-year.
Step 3 — Download PDFs using the known pattern: Each period folder contains merged all-branch PDFs named by year level:
{PERIOD_URL}/{YEAR_LEVEL} ({PATTERN} PATTERN).pdf
YEAR_LEVEL=F.E,S.E,T.E, orB.EPATTERN=2019 PATTERNor2024 PATTERN
Try: S.E%20(2019%20PATTERN).pdf, T.E%20(2019%20PATTERN).pdf, B.E%20(2019%20PATTERN).pdf, F.E%20(2019%20PATTERN).pdf, F.E%20(2024%20PATTERN).pdf, etc.
Step 4 — Timetables (same dynamic approach):
http://collegecirculars.unipune.ac.in/sites/examdocs/Time%20Tables%20{SEASON}%20{YEAR}/Forms/AllItems.aspx
Current/known patterns: APRMAY, OCT/NOV, MAR/APR + year. Browse sidebar to find latest.
Limitations of official portal:
- Only End Semester papers (no In Sem)
- PDFs are large merged files (all branches in one PDF — use Ctrl+F to find your subject)
- Requires navigating a SharePoint UI (not always easy to scrape)
- Folder naming is inconsistent (spaces, hyphens, URL encoding vary per year)
LLM process for each source:
- Search the URL with the subject name
- If the page lists individual paper links, open each link and read the PDF directly
- Extract question text, marks, exam type from the PDF
- If direct PDF reading fails, search for the same paper on another source
- Write collected questions as structured markdown
Branch slug mapping for sppuquestionpapers.com:
computer-engineering, entc, mechanical-engineering, civil-engineering,
electrical-engineering, information-technology
Semester URL pattern:
https://sppuquestionpapers.com/be/{branch}/semester-{N} (N = 1-8)
Option B (FALLBACK): Automated Scripts (SPPU only)
If web search fails or SPPU-specific batch downloads are needed, use the automated fetcher:
# Fetch all available DBMS question papers
node scripts/fetch-qp.js dbms
# Fetch DBMS papers from 2024 only
node scripts/fetch-qp.js dbms --year 2024
# Fetch all Semester 5 Computer Engineering papers
node scripts/fetch-qp.js --semester 5
SPPU Hyperawareness — All Official Portals
For SPPU, the LLM must be aware of all these portals and use them dynamically. Links change every exam/syllabus season — always discover dynamically by browsing the base site.
Base domains:
http://collegecirculars.unipune.ac.in/— Timetables, exam docs, syllabi, academic calendarhttp://onlineresults.unipune.ac.in/— Result checking portalshttps://unipune.ac.in/— Main university websitehttps://exam.unipune.ac.in/Pages/PreviousQuestionPapers.html— Alternative QP official sourcehttps://sppuresult.vercel.app/— Community result viewer (fetches live from SPPU)
Syllabus archives (dynamic discovery): Browse http://collegecirculars.unipune.ac.in/sites/documents/ sidebar → Syllabus {YEAR} folders. Pattern: http://collegecirculars.unipune.ac.in/sites/documents/Syllabus%20{YEAR}/Forms/AllItems.aspx or .../Syllabus{YEAR}/Forms/AllItems.aspx (encoding varies). Available years: 2016–2026.
What to do when user asks about SPPU:
- Check
pyq-index/for existing markdown first - If QPs needed → use dynamic discovery on official portal (
collegecirculars.unipune.ac.in) - If results needed → use
sppuresult.vercel.apporonlineresults.unipune.ac.in - If syllabus needed → browse collegecirculars syllabi folders
- If timetables needed → browse
Time%20Tables%20{SEASON}%20{YEAR}/on examdocs - If revaluation needed →
unipune.ac.in/university_files/Reval_Online_Results_online.htm - If academic calendar needed →
collegecirculars.unipune.ac.in/sites/documents/Academic%20Calender/
- If circulars needed →
collegecirculars.unipune.ac.in/SitePages/Home.aspx - If QP alternative needed →
exam.unipune.ac.in/Pages/PreviousQuestionPapers.html - Always write back to
pyq-index/for future offline use
⚠️ All URLs above can change. If a link fails, browse the parent site to find the new location.
For other universities:
Same approach — LLM dynamically discovers portals by searching: "{university}" syllabus, "{university}" exam timetable, "{university}" result portal, "{university}" question papers, "{university}" academic calendar If not found → ask user for links/files.
Option B: Generate University-Style Question Paper
When the user says "Generate a question paper for [subject]", the AI generates a question paper matching the Real QP Style Reference section below (PDF analysis of 200+ actual SPPU QPs):
- Page Layout: A4, margins ~70pt left/right, ~56pt top, ~60pt bottom (matching real QPs)
- Header: Paper code + SEAT No. + pages on first line, centered paper number/program/subject
- Exam Details: Time on left, Max Marks on right, proper instruction set as seen in real QPs
- Question Structure: OR pairs with (a)+(b)+(c) format, marks in brackets
- Mark Distribution: Unit-wise as per SPPU pattern
- CO/Bloom Mapping: Each question tagged with CO and Bloom's level
- Typography: ALL CAPS for subject, brackets for marks, bold for headings
Supported Patterns
| Pattern | Level | Units | OR Pairs | Total Marks | Time | | ------------- | -------- | ----------------------- | ----------------- | ----------- | ------- | | SPPU 2019 | SE/TE/BE | 6 units (U3-U6 for ESE) | 4 pairs | 70 | 2.5 hrs | | SPPU 2024 | FE | 5 units | 5 pairs (M1/M2) | 70 | 2.5 hrs | | SPPU 2024 | FE | 5 units | 5 pairs (no comp) | 70 | 2.5 hrs | | SPPU 2015 | SE/TE/BE | 8 units | 4 pairs | 70 | 3 hrs | | SPPU 2012 | SE/TE/BE | 8 units | 4 pairs | 70 | 2.5 hrs |
Website Structure
The QP fetcher scrapes question papers from sppuquestionpapers.com:
https://sppuquestionpapers.com/
├── /be/ # Bachelor of Engineering
│ ├── /computer-engineering/
│ │ ├── /semester-3 # SE Sem III papers
│ │ ├── /semester-4 # SE Sem IV papers
│ │ ├── /semester-5 # TE Sem V papers
│ │ ├── /semester-6 # TE Sem VI papers
│ │ ├── /semester-7 # BE Sem VII papers
│ │ └── /semester-8 # BE Sem VIII papers
│ ├── /entc/
│ ├── /mechanical-engineering/
│ ├── /civil-engineering/
│ ├── /electrical-engineering/
│ └── /information-technology/
├── /me/ # Master of Engineering
├── /mca/ # MCA
├── /bsc/ # B.Sc.
└── /bcom/ # B.Com.
Each page lists subjects with Year, Month, and Download buttons.
Subject Aliases
The fetcher supports fuzzy subject matching:
| Alias | Full Name | | ------------- | ---------------------------------------- | | dbms, dms | Database Management Systems | | toc, tc | Theory of Computation | | spos, sp&os | Systems Programming and Operating System | | cns, cn | Computer Network and Security | | ai | Artificial Intelligence | | dsbda, ds&bda | Data Science and Big Data Analytics | | wt | Web Technology | | daa | Design and Analysis of Algorithms | | ml | Machine Learning | | dl | Deep Learning | | hpc | High Performance Computing | | blockchain | Blockchain Technology | | hci | Human Computer Interface | | iot, es&iot | Internet of Things and Embedded Systems | | cc | Cloud Computing | | is | Information Security | | m3 | Engineering Mathematics III | | dsa |
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pinakdhabu
- Source: pinakdhabu/Exam-prompt
- License: MIT
- Homepage: https://pinakdhabu.github.io/Exam-prompt/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.