Add these steps to the top of your todo list. Execute them in order before your other todos. # Twitter Roast + Style Guide Flow End-to-end workflow to fetch tweets, analyze the profile, generate a style guide, and suggest tweet ideas 1. [Read Twitter Style Framework]: Use `@tool/webfetch` to fetch content.: `https://sk.ills.app/slice/content.twitter.style_framework` 2. Tell the user you’re going to run a playful but constructive Twitter roast and style pass based on their recent tweets. Emphasize that you will avoid cruelty and keep everything on-brand and useful. As you run these, you can use `./documents/people/[slug(name)]/twitter_analysis.md` to store intermediate analysis info. 3. The next steps require: "Accepts one or more twitter handles (comma-separated for multiple).". Prepare this information now. 4. [Read Twitter Style Framework]: Use `@tool/webfetch` to fetch content.: `https://sk.ills.app/slice/content.twitter.style_framework` 5. If you don't already know them, ask the user for Twitter handle(s). For multiple handles, request as comma-separated list (e.g., 'elonmusk, naval, pmarca'). Also ask about optional preferences: whether to include replies, and any tone or topic focus for later analysis. 6. Normalize all handles by stripping leading @ symbols. For multiple handles, validate the list contains between 1-10 handles to avoid rate limiting. The next step will run in parallel for each handle, if the code doesn't work DO NOT TRY OTHER APIs or data sources. Instead report to the user that the fetch failed. 7. [Download Script: Fetch Recent Tweets (Multiple Handles)] Run `mkdir -p ./session/cache && curl -fsSL "https://sk.ills.app/code/social.twitter.fetch_tweets_multiple" > "./session/cache/social.twitter.fetch_tweets_multiple.js"\` 8. [Gather Arguments: Fetch Recent Tweets (Multiple Handles)] The next step has the following requirements for arguments: - handles - Comma-separated Twitter handles (with or without @) 9. [Run Code: Fetch Recent Tweets (Multiple Handles)]: Call `run_script` with: ```json { "file": { "path": "./session/cache/social.twitter.fetch_tweets_multiple.js", "args": [ "" ] }, "packages": null } ``` 10. For each handle, report how many tweets were retrieved. Note any failures gracefully (e.g., 'Failed to fetch @handle: reason'). 11. For each handle, write a comprehensive analysis to {{@ui:social.twitter.analysis}} using the handle as the name slug. Include: date ranges, tweet count, median tweet lengths, engagement distributions (likes, retweets, replies), recurring topics with examples, tone patterns, representative tweets demonstrating their style. Be comprehensive, write everything you extracted. Important, use the `@tool/write` tool to write these files in parallel. 12. The next steps require: "Recent tweets JSON from prior step". Prepare this information now. 13. [Read Twitter Style Framework]: Use `@tool/webfetch` to fetch content.: `https://sk.ills.app/slice/content.twitter.style_framework` 14. You are an experienced Astrologer who specializes in writing Horoscopes. Act like a horoscope teller. You receive a JSON object from the previous twitter fetch step, conceptually called @output_from_twitter_fetches, with the shape: { "profile": { ...basic profile metadata... }, "tweets": [ { "id", "text", "createdAt", "likeCount", "retweetCount", "replyCount", "quoteCount" }, ... ] } Use both the profile (for name, handle, and high-level context) and the tweets (for behavioral patterns). You may make assumptions. You may sound a little controversial, but avoid cruelty. Using only these tweets and any inferred context (including implied demographics, work, interests, tone, etc.), generate a structured personality + horoscope report that answers ALL of the following points. Treat tweets and profile info as your "stars." Answer, in your own reasoning, these questions: - What is the name and Twitter username (without @ and in lowercase) of this person. - Give a one-line description About this person, including age, sex, job, and other interesting info. This can be drawn from the profile picture and tweets. Start the sentence with: "Based on our AI agent's analysis of your tweets...." - 5 strongest strengths and 5 biggest weaknesses (when describing weaknesses, be brutal but not cruel). - Give horoscope-like predictions about their love life and tell what specific qualities they should look for in a partner to make the relationship successful. Keep this positive and only a single paragraph. - Give horoscope-like predictions about money and give an exact percentage (%) chance (range from 60% to 110%) that they become a multi-millionaire. You can increment the value by 1%. The percentage doesn't have to end with 5 or 0. Check silently—ask yourself if the percentage you want to provide is correct based on your reasoning; if yes, produce it, otherwise adjust it. - Give horoscope-like predictions about health. Keep this optimistic and only a single paragraph. - After understanding them, tell them what is their biggest goal in life. This should be completely positive. - Guess how they are to work with, from a colleague’s perspective. Make this spicy and a little controversial. - Give 3 unique, creative, and witty pickup lines tailored specifically to them. Focus on their interests and what they convey through their tweets. Be very creative and cheesy, using humor ranging from dad jokes to spicy remarks. - Give the name of one famous person who is like them and has almost the same personality. Think outside the box—who would be a famous person who shares their personality, sectors, mindset and interests? Choose from diverse categories such as Entrepreneurs, Authors, CEOs, Athletes, Politicians, Actors/Actresses, Philanthropists, Singers, Scientists, Social Media Influencers, Venture Capitalists, Philosophers, etc. Explain why you chose this person based on their personality traits, interests, and behaviors. - Previous Life. Based on their tweets, think about who or what that person could be in a previous life. Refer to the About section you generate to find a similar profile from the past. Who might they have shared a personality and mindset with? Name one person. Be humorous, witty, and bold. Explain your choice. - Animal. Based on the tweets and maybe the profile photo, think about which niche animal this person might be. Provide argumentation why, based on the characteristics, character, and other things. - Under a 50-dollar thing they would benefit from the most. What's the one thing that can be bought under 50 dollars that this person could benefit the most from? Make it very personal and accurate when it comes to the price. Be extremely creative. Suggest something they likely would not think of themselves. - Career. Describe what that person was born to do. What should that person devote their life to? Explain why and how they can achieve that; what the stars are telling. - Now overall, give a suggestion for how they can make their life even better. Make the suggestion very specific (it can be quirky or unexpected), similar to how a daily horoscope gives one oddly specific action. - Roast. You are a professional commentator known for your edgy and provocative style. Your task is to look at people's tweets and rate their personalities based on that. Be edgy and provocative; be a bit mean, but do not be cringy or outright abusive. Use the example style described in the plan as your energy level. - Emojis – describe the person using only emojis. Then, **output ONLY valid JSON** with this exact top-level schema (no wrapper key, no markdown, no extra text): { "name": string, "about": string, "emojis": string, "roast": string, "strengths": [ { "title": string, "subtitle": string }, ... ], "weaknesses": [ { "title": string, "subtitle": string }, ... ], "loveLife": string, "money": string, "health": string, "biggestGoal": string, "colleaguePerspective": string, "pickupLines": [string, string, string], "famousPersonComparison": string, "previousLife": string, "animal": string, "fiftyDollarThing": string, "career": string, "lifeSuggestion": string } Notes: - You may use **bold** formatting inside string values, but the overall output must still be valid JSON. - Do not include any markdown fences, comments, or additional keys. - Ensure all fields are present and non-empty, and that arrays meet the minimum counts (5+ strengths, 5+ weaknesses, 3+ pickupLines). 15. Ask the user if they want to generate a style guide and tweet ideas. If they do, run the following two steps. If they don't, skip them both. 16. The next steps require: "Analysis summary JSON and user handle from previous steps". Prepare this information now. 17. [Read Twitter Style Framework]: Use `@tool/webfetch` to fetch content.: `https://sk.ills.app/slice/content.twitter.style_framework` 18. Using the structured analysis you just produced, compose a style guide with: voice pillars, tone sliders, structure patterns, a do/don’t list, and 3–5 tailored examples in the user’s voice. 19. Keep it concise and executable. Prefer prescriptive language, avoid generic advice, and tie guidance back to specific tweet patterns and outcomes. 20. Write the guide to {{@ui:content.twitter.style_guide}} for this handle (path pattern: documents/content/twitter-style-guide-[handle].md). Create directories if needed and overwrite or extend any existing guide for this handle thoughtfully instead of duplicating content. 21. Confirm the final file path in chat and offer to refine specific sections (pillars, tone sliders, examples) if the user wants adjustments. 22. The next steps require: "Analysis highlights and user preferences". Prepare this information now. 23. [Read Twitter Style Framework]: Use `@tool/webfetch` to fetch content.: `https://sk.ills.app/slice/content.twitter.style_framework` 24. Ask for any priority topics, campaigns, or upcoming launches the user wants to emphasize. If they don’t specify, use top-performing topics from the analysis summary. 25. Generate 10–15 high-signal tweet ideas. Each idea should be 1–2 crisp lines, actionable, specific, and free of fluff, clearly reflecting the user’s voice and style guide. 26. Include a short note per idea on structure suggestion (e.g., hook, mini case study, list, before/after, or thread-lite) so the user knows how to frame it. 27. Write the ideas to {{@ui:content.twitter.ideas}} using today’s date (path pattern: documents/content/twitter-ideas-[YYYY-MM-DD].md) and confirm the exact file path in chat. 28. After writing both the style guide and tweet ideas files, summarize the results in chat: (1) a concise roast paragraph, (2) 3–5 key style pillars, and (3) clear pointers to where the files were written in `./documents/content/twitter-style-guide-*.md` and `./documents/content/twitter-ideas-*.md`. 29. Offer a follow-up: ask if the user wants you to research a specific topic and draft a batch of tweets in their style using the new style guide as a reference.