Workflows
Jobs your AI can already do on your phone
Each workflow is one use case: what it needs from you, and the exact calls that do it. They run in your own apps, signed in as you, so they reach what a scraper cannot. Every one is an open skill you can read, fork and change.
Collect job postings from LinkedIn
Searches jobs in the LinkedIn app and reads each result: title, company, location, and the posted line, including whether the posting is promoted or marked as actively hiring. Signed in as you, so the results carry the ranking and the "you might be a fit" signals LinkedIn only shows a logged-in member.
How it worksCollect local businesses from Google Maps
Searches Maps for a kind of business in an area and reads the results list as it scrolls: name, rating, how many reviews, category, and the address line. The classic lead-generation list, built on a real phone rather than through a scraping API, so no proxy pool, no blocks, and the results are the ones a person in that area would actually see.
How it worksCollect notes from Xiaohongshu
Searches Xiaohongshu in the app, switches to the newest notes when that sort is offered, and reads each card: title, author, likes and age. Xiaohongshu is app-first and hostile to anything else, so a signed-in phone is the practical way to read it, and the results are the ones its ranking actually serves your account.
How it worksCollect posts about a topic on X
Searches X from the phone's signed-in account, sorts by Latest, and reads the results while scrolling. Each post is scored against a claim you write, so a search for a term with an everyday meaning still returns the posts you meant. Because it runs in the app as the signed-in account, it sees what that account sees, including posts from protected accounts it follows.
How it worksCollect posts from a Facebook group
Opens a group you are a member of and reads the feed while scrolling: who posted, the text, how long ago, and the reaction and comment counts.
How it worksCollect posts from a subreddit
Opens a subreddit in the Reddit app, sets the sort you asked for, and reads the post cards while scrolling: title, how long ago, upvotes and comments. Signed in as you, so it also reaches communities that require membership and posts that are hidden from logged-out visitors.
How it worksCollect TikTok videos about a topic
Searches TikTok in the app and reads the results: each video's caption, the creator's handle, and the view or like counts where the card shows them. The TikTok scraper is the store's second most-run actor; the phone version reads the same captions and creators, without the video itself.
How it worksCollect videos from a YouTube search
Searches YouTube in the app, switches to the Videos tab so channels and playlists do not clutter the list, and reads each result: title, channel, view count and age. Signed in as you, so age-restricted and members-only results appear the way they do for your account.
How it worksComment on a Facebook post, after you approve
Searches Facebook as the signed-in account, picks the first post genuinely about the topic, opens that post's comments sheet and, if asked, turns on "comment as an anonymous member" where the group offers it. Then it stops holding the phone. The user sees which post it chose, and as whom it will comment, before anything is written. On approval it types the comment and posts it, then confirms the comment is in the list rather than trusting the tap.
How it worksComment on a Reddit post, after you approve
Opens the subreddit, finds the post by its title, opens it, and taps the comment button in the post's action row so the real comment composer comes up. Then it stops holding the phone, so the user can see which post it chose before anything is written. On approval it types the comment once, taps Send once, and counts the comment as posted only when the post's comment count rises (or Reddit says it is pending review).
How it worksComment on a Xiaohongshu note, after you approve
Searches Xiaohongshu in the app, opens the note whose title matches, opens its comment sheet and focuses the 说点什么 input. Then it stops holding the phone so the user can see which note it chose before anything is written. On approval it types the comment once and taps 发布, and counts it as posted only when the note's 评论 count goes up by one.
How it worksCreate an outreach agent for your brand
Sets up everything `outreach-day` needs to run a brand's outreach: who to reach and where, what the brand may and may not say, and how it sounds. You read the brand's website, ask its owner what a website cannot tell you, and write the agent folder for them to review. Nothing touches the phone, and nothing is sent.
How it worksFind a post on X and reply, after you approve
The half of phone automation an API cannot do. It searches X as the signed-in account, picks the newest post genuinely about the topic, opens that post's reply composer, and stops there holding the phone. The user sees which post it chose before anything is written. On approval it types the comment and posts it, then confirms the reply landed by the composer closing rather than by the tap.
How it worksFind accounts on Instagram
Searches Instagram in the app, switches to the Accounts tab, and reads each result: username, display name, and the follower or context line the card shows. Signed in as you, so private accounts you follow and the app's own ranking are part of what comes back.
How it worksFind LinkedIn messages waiting for your reply
Opens Messaging on the Focused tab and reads the conversation list, keeping only the threads whose last message is from the other person. A summary that starts with "You:" is your own last message, so those are skipped, along with InMail and sponsored threads.
How it worksFind people on LinkedIn
Runs a people search in the LinkedIn app as the signed-in account and reads each result card: name, headline, location, and the current role or school snippet. LinkedIn's terms and its defences make this one of the hardest targets for a scraper, which is why third-party ones go stale. Here it is simply the app, signed in as you, reading what is on the screen.
How it worksInvite people from a LinkedIn search, after you approve
Opens a People search, narrows it to 2nd-degree people, and invites up to the number you set straight from the result cards. On a 2nd-degree card the button reads "Invite <name> to connect": one tap sends the request, with no note sheet, and the label turns to Pending in place, which is the check that it worked. It stops on the filtered results first so you can see whose page it is about to work.
How it worksList a company's employees on LinkedIn
Opens a company's page in the LinkedIn app, goes to its People section, and reads each person card: name, role headline, and location. Optionally filtered by a title keyword. The scraper version of this needs cookies or a cracked API; the phone version is the page your account can already see.
How it worksList a Xiaohongshu creator's notes
Finds an account in the Xiaohongshu app, opens its profile, and reads its note grid: each note's title and like count. Signed in as you, so an account that requires following to view reads if you follow it.
How it worksList a YouTube channel's recent videos
Opens a channel in the YouTube app, switches to its Videos tab, and reads each card: title, view count, age and length. Signed in as you, so members-only and unlisted-in-search content the channel shows you is included.
How it worksMessage a LinkedIn connection, after you approve
Finds the person in your Connections, opens the conversation, checks that we have not already written, and types the message into the box without sending it. The phone stops there with the text in place so you can read it on the real screen; only on your yes does it tap Send, and the message counts as sent when it shows as a bubble with the box empty.
How it worksPublish a Facebook post, after you approve
Opens Facebook's composer from "What's on your mind?" on your feed (or "Write something…" in a group) and stops with the phone held, so you see the identity and the audience it will post with. On approval it types the post, sets the audience if asked, and taps Post (via Next on builds that show it) once.
How it worksPublish a post on LinkedIn, after you approve
Opens LinkedIn's post composer, stops with the phone held so you see the account and audience it will post as, then types the text you approved and posts it, confirming by the composer closing and the feed returning.
How it worksPublish a post on X, after you approve
Opens X's composer, stops with the phone held so you see the account it will post from, then types the text you approved and posts it, confirming by the composer closing and the post appearing rather than by the tap.
How it worksPublish a Reddit post, after you approve
Opens Reddit's post editor, chooses the community first (Reddit keeps Post disabled until one is chosen), and stops with the phone held so you can see where it will go. On approval it types the title and the body, taps Post once, and counts it as published when the new post's own page opens.
How it worksPublish a Xiaohongshu note, after you approve
Opens Xiaohongshu's text-note editor (the red + at the bottom, then Text) and stops with the phone held. On approval it types the note, moves to the publish screen, adds the title, sets who can see it, and taps Post once. A note set to Only me is not shown to anyone else, which makes it the safe way to try the route.
How it worksRead a Facebook page's recent posts
Finds a page in the Facebook app, opens it, and reads its feed: each post's text as shown, how old it is, and the reaction and comment counts. The Facebook search scraper on the store works around a site that blocks it; here it is the app, signed in.
How it worksRead a person's recent LinkedIn posts
Opens a person's profile in the LinkedIn app, goes to their Activity, and reads each recent post: the text, how old it is, and its reactions and comments. This is the input a good outreach note is written from, and it comes from the app you are signed into rather than a scraper working around LinkedIn's blocks.
How it worksRead a place's details on Google Maps
Finds one place in Google Maps and reads its page: the category, address, phone number, website, opening hours and rating line. This is the second pass the places-list workflow points to: the list gives names, this gives the contact details for the ones you chose.
How it worksRead a WeChat official account's recent articles
Opens a WeChat official account you follow and reads its article history: each article's title and publication date. Official accounts are the publishing layer of the Chinese internet and have no web presence a scraper can reach; the phone reads them from the app you are signed into.
How it worksRead an account's recent posts on X
Opens an account's profile in the X app and reads its timeline: each post's text, how old it is, and its reply, repost and like counts. Signed in as you, so a protected account you follow reads like any other.
How it worksRead an app's reviews on Google Play
Finds an app in the Play Store, opens its listing, goes to its reviews and reads them: star rating, review text, reviewer and date. The Play Store review scrapers on the store paginate a web endpoint; this reads the same reviews from the store app.
How it worksRead one LinkedIn profile
Opens one person's profile in the LinkedIn app and reads it top to bottom: the header, the About text, and the Experience and Education entries as far as the scroll budget allows. The most-run paid category on Apify is LinkedIn profile scraping, and it is the category scrapers get banned from; here it is your own signed-in app reading a page it is allowed to see.
How it worksRead the comments on a Reddit post
Finds one post in the Reddit app, opens it, and reads the comments below it: author, text, score and age. Signed in as you, so posts in private communities you belong to read the same as public ones.
How it worksRead the comments on a TikTok video
Finds one TikTok video by its creator and caption words, opens it, opens the comment sheet, and reads the comments: author, text, likes and age.
How it worksRead the comments on a Xiaohongshu note
Finds one note in the Xiaohongshu app by its words, opens it, opens its comment sheet and reads the comments: author nickname, text, likes and age. The comments actor for this app is one of the store's rising ones; here it is the app, signed in, reading its own comment sheet.
How it worksRead the comments on a YouTube video
Finds one video in the YouTube app, opens it, scrolls to its comments and reads them: author, text, age and likes. The transcript actors on the store read what the creator said; this reads what the audience answered.
How it worksRead the replies to a post on X
Finds one post on X by its author and some of its words, opens it, and reads the replies beneath: who replied, what they said, and the engagement on each reply.
How it worksRead the reviews of a place on Google Maps
Finds one place in Google Maps, opens its Reviews tab, and reads reviews while scrolling: the star rating, the review text, the reviewer's first name and how long ago it was written. The Maps reviews actor is the second half of the store's most-run tool; this is the same data from the app, for one place at a time.
How it worksRead who reacted to a LinkedIn post
A post's reaction count is tappable. Tapping it opens a sheet titled **Reactions** listing every person who reacted, each with their name, connection degree and headline — the same fields a People search card gives. That turns any topic post into a list of people who have shown interest in that topic.
How it worksRun a day of news for your site
A desk is a folder the user owns: where to look and what counts as news (`desk.yaml`), how articles read (`style.md`), and the records of what was already published (`records/`). This skill runs one day of it. The phone does the reading through MyPhonely, using the app workflows in this repo; you decide what is news, check it, and write it.
How it worksRun a day of outreach for your brand
An outreach agent is a folder the user owns: who to reach and where (`agent.yaml`), what may be said (`brand.md`), how it sounds (`voice.md`), and the records of who has been reached (`records/`). This skill runs one day of it. You decide what to look at, which posts and people are worth it, and what to say; the phone does the tapping through MyPhonely, using the app workflows in this repo; and `scripts/outreach.ts` keeps the rules: nothing done twice, nothing over the day's limits, nothing recorded that was not seen on screen.
How it worksSearch Facebook posts about a topic
Types a topic into Facebook search and reads the post cards in the results while scrolling: which group each post is in, who wrote it if shown, the text, and how long ago. Signed in as you, so it reaches posts in groups you belong to as well as public ones, which no logged-out scraper sees.
How it worksSearch LinkedIn posts by keyword
Runs a keyword search in the LinkedIn app, switches the results to Posts, and reads each post card: who wrote it, the text as shown, how old it is, and its reaction and comment counts. Signed in as you, so the ranking is the one your account gets, including posts from your network that a logged-out search never returns.
How it worksSearch Reddit for posts about a topic
Runs a search in the Reddit app, keeps the results on Posts, and reads each result: title, which community, how old, and the vote and comment counts. Where the subreddit workflow reads one community, this reads across all of them.
How it worksSee the LinkedIn connection requests you have sent
Opens My Network in the LinkedIn app, goes to the invitations you have sent, and reads the pending ones: who, their headline, and how long ago each went out. This list is the only ground truth for outreach on LinkedIn. A tap on Connect is not a request, and a profile reading Pending is not proof either, because LinkedIn shows Pending even while it silently drops invitations past its weekly limit. What is on this screen was actually sent.
How it worksSee who accepted on LinkedIn
Opens My Network → Manage my network → Connections, which lists your connections newest first, and reads the top of it: the people who accepted most recently. Matching these names against the invitations you sent tells you who said yes.
How it worksSend a LinkedIn connection request with a note, after you approve
The write no scraper can do. Finds a person in the LinkedIn app, opens their profile, taps Connect and then 'Add a note', and stops there holding the phone. You see whose profile it is and the note before anything is sent. On approval it types the note and sends, then confirms by the button turning to Pending rather than by the tap.
How it worksWithdraw old LinkedIn invitations, after you approve
Opens the invitations you have sent, scrolls past the recent ones to the rows older than the age you set, and stops there for you to look. On your yes it withdraws them one by one, each through LinkedIn's confirmation sheet, and reports the names and the pending count it ended on.
How it worksWrite your own
A workflow is a skill file: frontmatter saying which app it touches and whether it acts, and a body with the calls. Add one to the repository and it appears here. Your agent picks it up the same way it picked up the rest.
MyPhonely/myphonelyskills