Skill v5.0.0
currentLLM-judged scan90/100name: hermesshare-cards description: Author, validate, preview, and send native HermesShare iMessage cards using reusable layouts and safe caches. version: "5.0.0"
HermesShare cards
Use this skill with a checkout of time-attack/HermesShare. Run commands from the repository root, or set HERMESSHARE_REPO and pass --repo explicitly. Dependencies are listed in requirements-cards.txt. Native preview additionally needs macOS, Xcode, XcodeGen and a booted simulator. Never assume this skill directory itself contains a complete app checkout.
Default workflow
- Retrieve current facts from their authoritative source. Distinguish source materials from
inferred explanations. Never reuse a previous card's facts merely because its design fits.
- Reuse an established native architecture. State the card's question, visual metaphor,
emotional temperature and structural stage. fast_card.py --describe notebook or --describe taskboard provides a compact reusable design/input contract.
- Write fresh content input instead of rebuilding wrappers and drawing code. For another
native layout, use --layout-file; for weekly schedules use make_schedule.py.
- Prepare and inspect fresh native renders:
python3 scripts/fast_card.py --template notebook --input content.json \--repo "$PWD" --out-dir .build/my-card --preview --all-tabs --simulator YOUR_UDID
- Verify original facts, payload size, readable labels and the relevant controls/states.
Then send once through the provider and existing conversation selected by the user. For Linq, prefer send_card.py --chat-id over creating/reselecting a chat with --to.
See docs/fast-native-preview.md, docs/learning-components.md, docs/schedule-composer.md and docs/SENDING.md. scripts/capabilities.py reads the actual current native vocabulary.
Guardrails
- The bubble is a text-free graphic thumbnail, not a squeezed full card. Keep
interactive:false
for Linq and live:false for Photon. Native controls still work after expansion.
- Use real HTTPS image URLs. Upload privately through the chosen provider, never GitHub Pages.
- Cache layout compilation, graphics, verified private downloads and native app builds. Do not
cache source truth, new screenshots, real sends or delivery results. Every card validates fresh.
- Ordinary content updates should not trigger a full Xcode build/test cycle or a new thumbnail
script. Native component changes and new interaction architectures require full affected tests.
- Root-tab alternate-state screenshots are not proof of actual taps. Host screenshots are not
proof that the Messages extension launched on the recipient's physical phone.
- Stop/relaunch Messages around phone app installation, verify the current extension bundle path,
and open a real received card. A receipt alone is insufficient.
- Do not invent live/current/completed states for a recurring weekly schedule. Preserve full
course names, instructors, sections, rooms and times as accessible native text.
- Never print credentials, presigned upload URLs, raw encoded payloads or private card contents.
Do not automatically duplicate a message whose delivery is still pending.