Syft profile summary
Skill Solatrader/syft-news-skills/codex-skills/syft-profile-summary
Works with Syft CLI (CLI of Syft AI news tool) to generate daily digest and event trees, based on users interested topics
npx -y skills add Solatrader/syft-news-skills --skill syft-profile-summaryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build or refresh a high-dimensional user profile from `syft following` output. Use when Codex needs to turn a Syft CLI following list into reusable profile artifacts such as `following_topics.md`, raw interest or aversion blocks, and an interpretive `profile_summary.md`, especially when only Syft CLI output is available and richer dashboard or trace artifacts are missing.
SKILL.md
3.8 KB, as published. Nobody here has run it
Syft Profile Summary
Assume a Syft-only workflow unless the user provides richer profile artifacts. Treat the following list as the canonical source when no dashboard, trace URL, or local Python pipeline is available.
Outputs
Create or refresh these artifacts:
profiles/following_topics.mdprofiles/raw_interest_block.txtprofiles/raw_aversion_block.txtprofiles/profile_summary.md- optionally
profiles/profile_notes.md
If the workspace already has a different profile directory, reuse it instead of creating a second one.
Workflow
-
Confirm that Syft is available. Run
syft status. -
Read the user's following list. Run
syft following. -
Save the following list as a first-class artifact. Write the original topic list into
profiles/following_topics.md. Keep this file close to the original Syft output, with only light cleanup for readability. Treat this as the canonical source artifact in Syft-only environments. -
Optionally derive a usable raw interest block. The following list usually has topic names but not explicit scores, so infer relative strength from:
- repeated motifs across many followed topics
- specificity of the topic
- how central that motif feels to the whole follow graph
- whether it looks like a structural worldview axis or a lighter side-interest
-
Use stable score bands instead of fake precision. Prefer bands such as
100 / 85 / 70 / 55 / 35. Interpret them as:100: defining axis or obsession85: strong recurring axis70: meaningful secondary axis55: supporting but not central35: light or occasional interest
-
Do not invent aversions from following data alone. If the user has not explicitly stated dislikes, keep
raw_aversion_block.txtminimal and honest. Use this default when needed:Original aversions: (not explicitly provided by user yet) -
Produce two profile layers together.
- canonical source layer: the unscored
following_topics.md - interpretive layer: the high-dimensional
profile_summary.md
- canonical source layer: the unscored
-
Treat
raw_interest_block.txtas optional helper output, not the canonical truth. In Syft-only environments, the true source is the following list itself. If you createraw_interest_block.txt, treat it as a heuristic interpretation of follows rather than user-provided scores. -
Read references/profile-summary-prompt.md before drafting
profile_summary.md. Follow that prompt shape when producing the interpretive summary. -
Before treating the profile as stable, show the user a short understanding check. Summarize:
- the main axes you inferred
- the side-interests you think matter
- any uncertainty caused by missing aversion data
Output rules
- Write all user-facing content in Simplified Chinese unless the user asks otherwise.
- If you generate
raw_interest_block.txt, keep it exhaustive enough to preserve fidelity. - Keep the profile summary interpretive, not mechanical.
- If the follow graph clearly shows "hard macro reality tracking + soft personal refuge interests", call that tension out directly.
Raw block format
Use this exact style:
Original interests: Topic A | Score: 100 - Topic B | Score: 85 - Topic C | Score: 55
For aversions:
Original aversions: Topic X | Score: 90 - Topic Y | Score: 50
If no aversions are known:
Original aversions: (not explicitly provided by user yet)