flashcards-dashboard
Skill142 starsChanged 3 months agoMITView on GitHub
Creates an interactive HTML learning dashboard from a source file by extracting key concepts into validated flashcards with source links, hover-detail answers, filters, review tracking, shuffle, and progress tracking.
In this repository61 other files it gives its agents.
- analyze-document-librarySkill
- broken-link-auditorSkill
- build-sharepoint-business-solutionSkill
- campaign-storySkill
- convert-cowork-skill-to-sharepointSkill
- copilot-toolboxSkill
- custom-image-taggerSkill
- decision-register-builderSkill
- document-browserSkill
- dossierSkill
- exec-reportSkill
- file-classifierSkill
- find-relevant-skillSkill
- generate-site-onboarding-guideSkill
- generate-test-contentSkill
- guest-access-reviewerSkill
- intranet-page-lifecycle-reviewSkill
- invoice-po-reconciliationSkill
- kb-ai-review-liteSkill
- knowledge-readiness-advisorSkill
- learning-designerSkill
- library-cleanupSkill
- list-stylingSkill
- metadata-completeness-auditorSkill
- narrated-story-animationSkill
- news-governance-reviewSkill
- organize-librarySkill
- permission-reportSkill
- project-health-checkSkill
- project-intelligence-change-event-extractionSkill
- project-intelligence-root-cause-analysisSkill
- project-intelligence-timeline-dashboardSkill
- rename-files-date-prefixSkill
- resume-screening-summarizerSkill
- review-councilSkill
- rfp-response-compliance-reviewSkill
- rfp-response-content-finderSkill
- rfp-response-content-generationSkill
- rfp-response-extractionSkill
- rfp-response-proposal-reviewSkill
- rfp-response-quality-tone-reviewSkill
- rfp-response-strategy-synthesisSkill
- roadmap-timelineSkill
- scorecard-matrixSkill
- sharepoint-safe-htmlSkill
- site-pages-content-calendarSkill
- site-storage-heatmapSkill
- style-bentoSkill
- style-blueprintSkill
- style-figma-cleanSkill
- style-glassmorphismSkill
- style-high-contrastSkill
- style-monochromeSkill
- style-neobrutalismSkill
- style-pastelSkill
- style-retroSkill
- style-terminalSkill
- sync-blocker-auditorSkill
- team-newsletter-publisherSkill
- topic-explainerSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
31 rules. About 0 are common, 25 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈25
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Use this skill when the user wants to learn, revise, or review the content of a SharePoint/OneDrive file through an interactive HTML …
- Distinctive: line 19
Use it for PowerPoint decks, PDFs, Word documents, or other readable files where the goal is comprehension, training, revision, onboarding, …
- Distinctive: line 29
If the user gives a filename, use SharePoint/OneDrive file discovery tools.
- Distinctive: line 30
If exact search fails, retry broader keywords and semantic search.
- Distinctive: line 31
If outside the current site, use tenant search as fallback.
- Distinctive: line 32
If no file is found, say so plainly and ask for a link or selected file.
- Distinctive: line 34
Read or digest the file content.
- Distinctive: line 35
Use a file-reading tool when raw content is needed.
- Distinctive: line 36
Use file digest only when a summary is enough.
- Very specific: line 57
Keep answer concise; put longer explanation in detail.
- Distinctive: line 58
Do not fabricate source anchors, URLs, slide counts, page numbers, or facts.
- Distinctive: line 61
Use sandboxed code and store the full HTML as a data reference before file creation.
- Very specific: line 66
Keep card widths consistent even when filters leave only one visible card.
- Distinctive: line 67
Use inline CSS and JS only.
- Distinctive: line 109
Avoid pure white on pure black for long sentences.
- Very specific: line 131
Never access localStorage or sessionStorage directly.
- Distinctive: line 132
If persistence is needed, use a safe wrapper with an in-memory fallback.
- Distinctive: line 133
Use this pattern or equivalent:
- Distinctive: line 171
If no persistence is required, omit storage entirely.
- Distinctive: line 174
Put source links only on the answer side.
- Very specific: line 175
Use a normal <a> element with href, target="_blank", rel="noopener noreferrer", and data-interception="off".
- Distinctive: line 176
Add pointer/mouse handlers to prevent card flipping from taking the click:
- Distinctive: line 191
Add CSS so the link remains clickable inside transformed cards:
- Distinctive: line 224
If validation fails, fix and validate again before file creation.
- Very specific: line 227
Create an .html file in SharePoint/OneDrive.
- Distinctive: line 228
Prefer saving beside the source file when writable.
- Distinctive: line 229
If access is denied, retry in the current site’s primary document library or ask for a destination.
- Very specific: line 230
Use a descriptive filename like <source topic> Flashcard Dashboard.html.
- Distinctive: line 243
If the file couldn’t be created:
- Distinctive: line 251
Every card has required fields and stable id.
- Distinctive: line 264
If tools fail or return empty, say so plainly — don’t invent content.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Flashcard Dashboard from File
When to use
Use this skill when the user wants to learn, revise, or review the content of a SharePoint/OneDrive file through an interactive HTML dashboard with animated flip flashcards.
Use it for PowerPoint decks, PDFs, Word documents, or other readable files where the goal is comprehension, training, revision, onboarding, or knowledge checks.
Inputs
- Source file name, URL, selected file, or file reference.
- Optional preferences: audience/difficulty, number of cards, language, destination, topics to emphasize/exclude.
- Modes to include by default: Study, Shuffle, Review missed. Do not include Quiz mode unless explicitly requested.
- Theme: use the required refined dark theme below unless the user explicitly asks for another theme.
Steps
- Locate the source file.
- If the user gives a filename, use SharePoint/OneDrive file discovery tools.
- If exact search fails, retry broader keywords and semantic search.
- If outside the current site, use tenant search as fallback.
- If no file is found, say so plainly and ask for a link or selected file.
- Read or digest the file content.
- Use a file-reading tool when raw content is needed.
- Use file digest only when a summary is enough.
- For PowerPoint files with speaker notes, preserve slide content and presenter-note insights.
- For long files, create cards from section summaries and say the dashboard is summary-based.
- Extract cards using this schema:
{
"id": "Stable unique card id, e.g. c0",
"category": "Short topic label",
"question": "Question shown on the front",
"answer": "Concise answer shown on the back",
"detail": "Expanded answer for hover/focus detail panel",
"hint": "Short clue or memory hook",
"sourceAnchor": "Slide/page/section/table name, or Source file if unknown",
"sourceUrl": "Clickable source document URL when available",
"difficulty": "Easy | Medium | Hard"
}- Produce 12–25 cards unless the user requests another count.
- Keep
answerconcise; put longer explanation indetail. - Do not fabricate source anchors, URLs, slide counts, page numbers, or facts.
- Generate a self-contained HTML dashboard.
- Use sandboxed code and store the full HTML as a data reference before file creation.
- Include flip cards, category filters, difficulty filters, progress tracking, source anchors, source links, hover-detail answers, Study, Shuffle, and Review missed.
- Cards flip on click and keyboard Enter/Space.
- Hover-detail panels must also work on keyboard focus.
- Detail panels must not be clipped: use visible overflow, high z-index on hovered/focused cards, and right-align panels for cards near the right edge.
- Keep card widths consistent even when filters leave only one visible card. Use
max-width:360px, grid columns likerepeat(auto-fill, minmax(280px, 360px)), andjustify-content:start. Never use1frin a way that lets a single card stretch across the dashboard. - Use inline CSS and JS only. No external scripts, stylesheets, fonts, images, or CSS URL dependencies.
- Apply the required refined dark design system.
- This color system is mandatory unless the user explicitly asks for another theme. Do not fall back to brighter neon cyan/green gradients or pure-white text on near-black backgrounds.
- Define these design tokens in CSS and use them consistently:
:root {
--page-bg: #0B1120;
--page-bg-2: #0F172A;
--card-bg: #1E293B;
--card-bg-2: #0F172A;
--answer-bg: #064E3B;
--answer-bg-2: #065F46;
--border: #334155;
--text: #F1F5F9;
--muted: #94A3B8;
--soft: #CBD5E1;
--accent: #22D3EE;
--accent-soft: #67E8F9;
--easy: #67E8F9;
--medium: #34D399;
--hard: #FBBF24;
}- Required usage:
- Page background:
#0B1120/#0F172A, preferably a subtle gradient. - Question card background:
#1E293Bto#0F172Asubtle gradient. - Answer card background:
#065F46to#064E3Bsubtle gradient. - Card border:
1px solid #334155. - Primary question/answer text:
#F1F5F9. - Secondary text, source text, hints, labels:
#94A3B8or#CBD5E1depending on importance. - Source links and active/progress accents:
#22D3EEat 80–90% opacity or#67E8F9; accents must not overpower body text. - Easy difficulty:
#67E8F9. - Medium difficulty:
#34D399. - Hard difficulty:
#FBBF24.
- Page background:
- Typography rules:
- Body text minimum 15–16px with line-height 1.55–1.65.
- Question text 22–24px with font-weight 500–650.
- Answer text 16–17px with line-height 1.55–1.65.
- Source text about 13px and muted.
- Avoid pure white on pure black for long sentences.
- Card treatment:
- Border radius 14–20px.
- Visible border plus soft shadow.
- Optional subtle inner top highlight:
inset 0 1px 0 rgba(255,255,255,.04). - Consistent spacing between category, question/answer, details, source, and action buttons.
- Filters and mode buttons:
- Inactive state: subdued dark fill, subtle border, lower opacity but still readable.
- Active state: solid accent fill with soft outer glow.
- Progress area:
- Large numbers use
#67E8F9or#22D3EE. - Labels use
#94A3B8so numbers stay dominant.
- Large numbers use
- Action buttons:
- “Got it” uses a soft green treatment.
- “Needs review” uses a soft amber/warning treatment and must be visually distinct.
- Hierarchy rule:
- Most important: question/answer text.
- Secondary: topic and difficulty badges.
- Tertiary: source links and helper text.
- Status/progress: accented but not brighter than main text.
- Make browser storage safe for SharePoint sandboxed previews.
- Never access
localStorageorsessionStoragedirectly. SharePoint file preview may run the HTML in a sandbox withoutallow-same-origin; direct access throwsSecurityErrorand can stop the dashboard. - If persistence is needed, use a safe wrapper with an in-memory fallback. The dashboard must work even when storage is blocked; only persistence may be disabled.
- Use this pattern or equivalent:
- Never access
function createSafeStorage(namespace){
const memory = {};
let store = null;
try {
const testKey = namespace + ':test';
window.localStorage.setItem(testKey, '1');
window.localStorage.removeItem(testKey);
store = window.localStorage;
} catch (e) {
store = null;
}
return {
get(key, fallback){
try {
const raw = store ? store.getItem(namespace + ':' + key) : memory[key];
return raw == null ? fallback : JSON.parse(raw);
} catch (e) { return fallback; }
},
set(key, value){
try {
const raw = JSON.stringify(value);
if (store) store.setItem(namespace + ':' + key, raw);
else memory[key] = raw;
} catch (e) { memory[key] = JSON.stringify(value); }
},
remove(key){
try {
if (store) store.removeItem(namespace + ':' + key);
delete memory[key];
} catch (e) { delete memory[key]; }
}
};
}- If no persistence is required, omit storage entirely.
- Make source links work with one left-click in SharePoint.
- Put source links only on the answer side.
- Use a normal
<a>element withhref,target="_blank",rel="noopener noreferrer", anddata-interception="off". - Add pointer/mouse handlers to prevent card flipping from taking the click:
<a class="sourceLink"
href="SOURCE_URL"
target="_blank"
rel="noopener noreferrer"
data-interception="off"
onpointerdown="event.stopPropagation()"
onmousedown="event.stopPropagation()"
onclick="event.preventDefault(); event.stopPropagation(); if(event.stopImmediatePropagation){event.stopImmediatePropagation();} window.open(this.href, '_blank', 'noopener,noreferrer'); return false;">
Open source document
</a>- Add CSS so the link remains clickable inside transformed cards:
.sourceLink { pointer-events:auto; position:relative; z-index:1000; }- In the delegated card click handler, ignore
.sourceLinkbefore other card click logic:
if (e.target.closest('.sourceLink')) return;- Implement Review missed and action buttons correctly.
- Track cards by stable
data-id, never array index alone. - Maintain
missedas a set of card ids. - “Needs review” adds the card id to
missed. - “Got it” removes the card id from
missedand flips the current card back to the front side withcard.classList.remove('flipped'). - In Study and Shuffle mode, clicking “Got it” should visibly flip the card back to the front side.
- In Review missed mode:
- Show only cards whose ids are in
missed. - Hide “Needs review”; only “Got it” shows.
- Clicking “Got it” removes that card from Review missed immediately and flips it to the front side.
- Show only cards whose ids are in
- Shuffle must reorder DOM/cards without changing card ids or breaking review tracking.
- Track cards by stable
- Validate before saving.
- Confirm the HTML contains: grid, front/back faces, flip behavior, filters, progress, source anchors, hover/focus details, stable
data-id, Review missed by id, and CSS/JS hiding “Needs review” in Review missed. - Confirm card layout uses fixed max card width and doesn't stretch a single filtered card to full dashboard width.
- Confirm “Got it” removes
flippedfrom the current card. - Confirm refined dark palette values are present in the CSS:
#0B1120,#0F172A,#1E293B,#334155,#F1F5F9,#94A3B8,#22D3EE,#67E8F9,#34D399,#FBBF24,#064E3B, and#065F46. - Confirm storage safety: no direct
localStorageorsessionStorageaccess outside atry/catchsafe-storage wrapper; ideally validate thatcreateSafeStorageexists if persistence is used. - Confirm source links include
data-interception="off",onpointerdown,onmousedown,stopImmediatePropagation,window.open(this.href, '_blank', ...), and.sourceLink { pointer-events:auto; position:relative; z-index:1000; }. - Confirm source links do not trigger card flipping.
- Confirm no external
<script src>, stylesheet links, or remote image/font dependencies. - If validation fails, fix and validate again before file creation.
- Confirm the HTML contains: grid, front/back faces, flip behavior, filters, progress, source anchors, hover/focus details, stable
- Save the dashboard.
- Create an
.htmlfile in SharePoint/OneDrive. - Prefer saving beside the source file when writable; otherwise use the current site’s primary Documents library.
- If access is denied, retry in the current site’s primary document library or ask for a destination.
- Use a descriptive filename like
<source topic> Flashcard Dashboard.html.
Output format
Respond with:
Created the HTML flashcard dashboard:
[File name](file URL)
Includes clickable animated flip cards, category/difficulty filters, source links, hover-detail answers, Review missed, Shuffle, and progress tracking.If the file couldn’t be created:
I couldn’t create the dashboard because: <reason>.Quality checklist
- Real
.htmlfile saved in SharePoint/OneDrive. - Every card has required fields and stable id.
- Dashboard works in SharePoint sandboxed preview without
localStorageSecurityError. - Any browser storage is accessed only through a try/catch safe wrapper with memory fallback.
- Source links open in a new browser tab on one left-click in SharePoint.
- Hover-detail panels are visible, not clipped, and keyboard accessible.
- Cards retain original width in filtered views and never stretch full dashboard width.
- “Got it” flips the card back to the front side in Study, Shuffle, and Review missed.
- Required refined dark palette is present and used consistently.
- Softer dark palette, improved hierarchy, card depth, calm accents, and difficulty colors are applied.
- Review missed hides “Needs review”; “Got it” removes the current card from review.
- Shuffle does not break review tracking.
- Quiz mode is not included by default.
- Content is grounded in the source file.
- If tools fail or return empty, say so plainly — don’t invent content.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

