Skip to content

Favorites

★ Favorites (Resources → Favorites) is a soft-link jump list. “open this place again.” It does not copy content. That stays with the Context library (payloads) and provider storage (sessions).


KindPoints atIdentity
WorkflowA saved graphgraphId
SessionA discovered conversationprovider + sessionId
LibraryA context payloadcontent hash
SkillA SKILL.md (or skill dir) on diskabsolute path
RulesA rules file on diskabsolute path
FileAny file threadle can openabsolute path

Re-adding the same target is a no-op (deduped). New entries land at the top of the list.


There are no list-row stars. Favorite or unfavorite from:

WhereHow
Workflows, Sessions, Timeline, Library, Skills, Rules, FilesRight-click → Add / Remove favorite
Session / Library / Files detail · Skills/Rules inspector★ favorite / ☆ unfavorite on the right
Favorites viewRight-click → Remove

Empty state: right-click anything that supports it and choose Add to favorites.


ControlBehavior
Provider chipsSame chips as Sessions. Workflows have no provider. They hide when a provider filter is on. Skills / rules / files match a provider when the path looks like that tool’s home.
Kind chipsall plus each kind that has items. Sections are ordered A–Z by kind label (Files → Library → Rules → Sessions → Skills → Workflows).
FilterSubstring match on title, meta, and kind.
Prune missingShown only when some targets are gone. Drops dead entries after an alive check.

Rows show title, optional dimmed missing chip, meta, and relative age. Click opens the target (no-op if missing). Missing rows are dimmed.

KindOpens
Workflow/graph/:id
SessionSession detail / blueprint entry
LibraryPayload viewer
Skill / RulesSkills or Rules view focused on that path
FileIn-app file viewer

~/.config/threadle/favorites.json

Schema { schemaVersion: 1, items: […] }. Override the config root with THREADLE_CONFIG_DIR. Included in threadle export --backup / UI Backup. See CLI and Files & config.

Alive checks (Favorites view and prune): workflow via the graph store, session via the provider adapter, payload via the payload store, skill / rules / file via fs.access.


MethodPathNotes
GET/api/favorites{ items }
GET/api/favorites?check=1each item includes alive: boolean
POST/api/favoritescreate. 201 if new, 200 if already present
DELETE/api/favorites/:id{ items }
POST/api/favorites/prunedrop missing targets. { items, removed }