From typst-notes
This skill should be used when the user wants to publish or convert a jot capture into a formatted document. Handles reading jot notes and feeding them through the publish pipeline to generate PDF/HTML output.
How this skill is triggered — by the user, by Claude, or both
Slash command
/typst-notes:jot-to-publishThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill activates when:
This skill activates when:
/publish --source jot:<path>Jot captures are markdown files typically stored in the project's notes directory. They may contain:
---
type: note|task|idea|blip
tags: [tag1, tag2]
created: 2024-01-15T10:30:00Z
---
# Title
Content with various markdown elements:
- Lists
- Code blocks
- Links
- Quotes
.claude/jot.local.md directly (do NOT search/glob for it — it's always at this fixed path). Extract workbench_path from YAML frontmatter. If the file doesn't exist, default workbench_path to ~/workbench.${workbench_path}/notes/. Expand ~ to the user's home directory.
jot:inbox/meeting.md → ${workbench_path}/notes/inbox/meeting.mdjot:learned/react-hooks → ${workbench_path}/notes/learned/react-hooks.mdBased on jot note characteristics, suggest a template:
| Note Pattern | Suggested Template |
|---|---|
| Meeting notes with attendees/actions | meeting |
| Technical decisions, specs, code | tech |
| Learning notes, definitions, concepts | study |
| Quick reference, commands, syntax | cheat |
| Project descriptions, outcomes | portfolio |
| Summary with metrics, findings | exec |
| Creative brainstorm, visual concepts | sketch |
User: /publish --source jot:inbox/meeting-2024-01-15.md
1. Read `.claude/jot.local.md` → workbench_path: ~/workbench
2. Resolve path: ~/workbench/notes/inbox/meeting-2024-01-15.md
3. Read the jot file at resolved path
4. Parse frontmatter for metadata
5. Analyze content type and suggest template (if not specified)
6. Pass content to content-analyzer agent
7. content-analyzer structures it for the template
8. typst-generator produces the .typ file
9. Compile to PDF/HTML
10. Report output path
| Jot Field | Document Field |
|---|---|
| Title (# heading) | Document title |
created date | Document date |
tags | Can become badges/categories |
type: task | Consider action-item formatting |
type: idea | Consider sketch/brainstorm layout |
Jot content:
# Sprint Planning - Jan 15
Attendees: Alice (PM), Bob (Dev), Carol (QA)
## Agenda
1. Review last sprint
2. New priorities
## Discussion
- Shipped auth feature
- Bug in checkout needs fixing
## Decisions
- Prioritize checkout fix
- Delay dark mode to next sprint
## Action Items
- Bob: Fix checkout bug by Jan 18
- Carol: Write regression tests by Jan 19
Maps to meeting-minutes template with attendees, numbered agenda, decision boxes, and action items table.
Jot content:
# Caching Strategy
We need to add caching to reduce API latency.
## Options
- Redis: Fast, distributed, complex setup
- In-memory: Simple, not shared across instances
- CDN: Only for static content
## Decision
Redis for session data, in-memory for config.
## Implementation
```typescript
const cache = new Redis({ host: 'cache.internal' });
Latency targets: p50 < 10ms, p99 < 50ms
Maps to technical-brief template with overview, tradeoffs, code example, and spec table.
### Learning Note → Study Guide
Jot content:
const [count, setCount] = useState(0);
Maps to study-guide template with objectives, concepts, vocabulary, and code examples.
## Error Handling
- **File not found**: Report clearly with the attempted path
- **Empty file**: Warn and ask user for content to publish
- **No frontmatter**: Treat entire file as body content
- **Binary file**: Report that only markdown/text files are supported
npx claudepluginhub jskswamy/claude-plugins --plugin typst-notesCreates dated Markdown notes with YAML frontmatter, tags, summaries, and references in .claude/data/notes/ for secondbrain. Activates on 'create note', 'capture thought', 'save this', etc.
Shapes raw markdown notes into a publishable article through a conversational session: drafts openings, grows paragraph by paragraph, and argues about format choices.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.