@tellandshow/wisdom-core
v0.0.2
Published
Wisdom moments — short, kid-readable cards about art history, AI history, making, and mindset that pop up at relevant moments. ~50 cards + a trigger engine + a collection shelf for the /profile page.
Maintainers
Readme
@tellandshow/wisdom-core
50 wisdom moments — short kid-readable cards that surface at relevant moments. Plus a trigger engine and a collection shelf.
What's a wisdom moment?
A 1-2-sentence card that pops up when something specific happens, then takes a permanent spot on the kid's WisdomShelf for re-reading.
The point isn't to teach. It's to plant seeds: "kids in 1900 made these too" / "this is older than you think" / "the AI is not magic, it's a tool."
Categories
| category | count | what it covers | | -------------- | ----- | ------------------------------------------- | | art-history | 14 | Style picks (pixel, anime, watercolor…) + craft history | | ai-history | 12 | First wizard, first redo, persona swaps, "I don't know" | | making-craft | 12 | Shipping, tweaking, three-projects pattern, levels | | mindset | 12 | Showing up, side quests, sticking with it |
Triggers
Declarative: each card declares one trigger.
event— fires after a specific event type (wizard-complete, project-shipped, etc).style-picked— fires when the kid confirms a specific style (matchesstyle-confirmed:<id>).level-reached— fires when the kid hits a specific profile level.badge-earned— fires when a specific badge is awarded.persona-met— fires when a specific persona is switched to.
Each card is shown ONCE then archived to the shelf.
Wiring
import { ProfileCore } from '@tellandshow/profile-core';
import { WisdomEngine } from '@tellandshow/wisdom-core';
import { WisdomToast, WisdomShelf } from '@tellandshow/wisdom-core/client';
const profile = new ProfileCore({ storage: localStorage });
const wisdom = new WisdomEngine({ profile, storage: localStorage });
wisdom.start();
wisdom.subscribe((moment) => {
// Push onto a queue; show one at a time via <WisdomToast>
});
// On /profile:
<WisdomShelf seenMoments={wisdom.getSeen()} />License
MIT.
