free-tool
Skill0 starsChanged 35 days agoMITView on GitHub
Plans and builds a free tool for the user's website that can rank on Google, such as a checker, generator, calculator, converter or template its buyers search for by name. Picks the search with LaunchRanked's real keyword data (searches a month, difficulty, intent), checks who ranks for it now, builds the tool in the user's codebase with no signup, an instant result, a clean mobile layout and one call to action into the product, gets the SEO right (title, meta description, H1, how-to, FAQ, JSON-LD, internal links, sitemap), and audits the live page after deploy. Use when the user asks for a free tool, a lead magnet tool, "engineering as marketing", a tool page that ranks, or which free tool to build for their product. Needs the LaunchRanked MCP server for the keyword data and checks; the building happens in the user's code.
In this repository2 other files it gives its agents.
- launchranked-seoSkill
- seo-articleSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 11 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
Read the README, the landing page copy and the main routes to learn what the product does and who buys it.
- Very specific: line 32
Call get_account. Use the site that matches this codebase.
- Very specific: line 37
The user has a tool in mind: call plan_free_tools with it in ideas, plus a phrasing or two, to see its numbers and related tool searches.
- Very specific: line 38
They want ideas: call plan_free_tools without ideas.
- Distinctive: line 48
Search the phrase with your web tools and open the top five results.
- Very specific: line 50
Call domain_rating on their domains.
- Distinctive: line 53
If you can't open web pages in this client, say so, skip the comparison, and rely on the difficulty number.
- Distinctive: line 57
Before writing code, show the user a few lines:
- Distinctive: line 70
The tool: no signup, an instant result, works on a phone, keyboard-accessible, with clear empty and error states.
- Very specific: line 82
never aggregateRating or review the site doesn't have.
- Very specific: line 88
add the page to the sitemap, and to llms.txt if the site has one.
- Distinctive: line 95
Check the page at phone width.
- Distinctive: line 99
After the user deploys:
- Very specific: line 100
Run audit_page and check_structured_data on the tool's URL, and check_sitemap once.
- Very specific: line 102
Run check_page_speed and fix poor Core Web Vitals.
- Distinctive: line 139
Never invent structured data the page can't back up.
- Distinctive: line 140
Ask before adding links to site-wide navigation or the footer, before adding dependencies, and before anything that collects or stores what …
- Distinctive: line 142
Never ask for passwords or API keys.
- Distinctive: line 148
If the tools aren't available, say so and explain how to connect them.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Free tool that ranks, with LaunchRanked
A small free tool on the right search brings people who need what the site sells, and it ranks for searches an article can't. Building the tool is the easy part. The hard part is the search it targets: most generic tool searches are owned by big sites, and a tool nobody searches for brings nobody. LaunchRanked gives you the real numbers to pick the search, and the checks to prove the page is right once it's live. You build the tool in the user's codebase. The user's explicit instructions take priority over this workflow.
Tools
They come from LaunchRanked's MCP server. Some clients add a prefix to the names (for example mcp__launchranked__plan_free_tools, or mcp__plugin_launchranked_launchranked__plan_free_tools from the Claude Code plugin), and some load tools on demand, so search for them by name if you don't see them. Tools that take site want the site's domain as get_account lists it, such as example.com.
| Tool | Use it for |
get_account | The plan, the account's sites and this month's allowances. |
plan_free_tools | Free tool ideas for a site: tool searches its buyers make, with searches a month, difficulty and intent from DataForSEO, best first for the domain's age. Pass ideas (1-10 tool searches the user has in mind) to check them and find related tool searches; without them it suggests tools from what the site sells. Optional limit (3-20, default 8). Saves the ideas to the site's Free tools page in the LaunchRanked dashboard. |
keyword_metrics | Searches a month, difficulty and intent for 1-50 keywords: compare phrasings of the tool's search ("invoice generator" or "invoice maker"). |
domain_rating | Domain Rating by Ahrefs for up to 25 domains: how strong the sites ranking now are. Keep the "Domain Rating by Ahrefs" credit next to DR values you show. |
audit_page | On-page SEO of the live tool page: indexability, title, description, headings, canonical, JSON-LD, links. |
check_structured_data | JSON-LD validation for the live page. |
check_page_speed | Core Web Vitals and the biggest fixes. Slow (15-60 s). |
check_sitemap | Whether the sitemap is valid and lists the new page. |
Workflow
Go in order, and stop where the request stops: "which tool should I build?" ends at step 3.
1. Understand the product and pick the site
- Read the README, the landing page copy and the main routes to learn what the product does and who buys it.
- Call
get_account. Use the site that matches this codebase; if it isn't on the account, the user adds it at https://launchranked.com/app (LaunchRanked reads a new site for a few minutes before the tools work on it). - Find the production URL and the framework (see the
launchranked-seoskill, steps 1-2). A tool that only renders in the browser still needs its title, text and FAQ in the server HTML.
2. Pick the search with real numbers
- The user has a tool in mind: call
plan_free_toolswith it inideas, plus a phrasing or two, to see its numbers and related tool searches. - They want ideas: call
plan_free_toolswithoutideas. - Show the best 5-8 in a table exactly as the tool returned them: search, searches a month, difficulty, and what the tool would do. A dash means no data. Never fill it in or estimate it.
- Recommend one to three, each with a one-line reason:
- real demand: searches a month above zero, more is better;
- a difficulty the domain can win (the result states the limit for its age);
- a tool that fits what the product does, so the people who use it are likely customers.
- Let the user choose, and use the exact phrase they pick.
3. Check who ranks now
- Search the phrase with your web tools and open the top five results.
- Note what each one offers, how fast it gives a result, what it asks for (signup, email, ads) and what it misses.
- Call
domain_ratingon their domains. A first page of small single-purpose tools is winnable. A first page of big brands (DR 80 and up) with good tools usually isn't: say so, and suggest the next idea instead. - Decide what will make this tool better than what ranks: faster, no signup, a missing option, clearer output, or a better explanation.
If you can't open web pages in this client, say so, skip the comparison, and rely on the difficulty number.
4. Write a short spec and confirm it
Before writing code, show the user a few lines:
- the URL (match the site's existing pattern, such as
/tools/<search-as-slug>); - inputs, output and edge cases;
- what makes it better than the pages that rank now;
- the one call to action into the product and where it goes;
- which existing pages will link to it.
Get a yes, or adjust.
5. Build it
Match the codebase's framework, components, styles and conventions. Add no heavy dependencies for a small tool.
- The tool: no signup, an instant result, works on a phone, keyboard-accessible, with clear empty and error states. Do the work in the browser where possible, and don't store what people type unless the tool needs it.
- The page around it, server-rendered:
- an H1 that leads with the search phrase;
- one sentence on what the tool does;
- the tool;
- a short how-to;
- 3-5 FAQs written from what the tool really does.
- Title and description: the title leads with the search phrase, is unique and at most 60 characters, with the brand last. The meta description is 120-155 characters and says what the tool does and that it's free.
- Canonical and social tags: an absolute self-referencing canonical, plus Open Graph tags.
JSON-LD:
WebApplicationwithname,url,description,applicationCategory,operatingSystem: "Web"andoffersat price 0;BreadcrumbList;- never
aggregateRatingorreviewthe site doesn't have.
Google no longer shows FAQ rich results, so
FAQPagemarkup is optional; the visible FAQ still helps people and AI answers.- The call to action: one, after the result, saying what the product adds to what the tool just did. Not a popup, and never in the way of the result.
- Internal links:
- link to the tool from 2-4 related pages and from the site's tools index, if it has one;
- add the page to the sitemap, and to
llms.txtif the site has one; - propose footer or navigation links rather than adding them on your own.
6. Verify before deploy
- Build, then read the rendered HTML (for example
curl -s localhost:3000/tools/invoice-generator | grep -iE '<title|name="description"|rel="canonical"|ld\+json|<h1'). - Try the tool with normal input, empty input, very long input and wrong input.
- Check the page at phone width.
7. Check the live page
After the user deploys:
- Run
audit_pageandcheck_structured_dataon the tool's URL, andcheck_sitemaponce. - Fix what fails at the source, and check again after the next deploy.
- Run
check_page_speedand fix poor Core Web Vitals.
8. Report
Give the user:
- the live URL;
- the search it targets, with its numbers as the tool returned them;
- what you built and which files changed;
- the check results before and after;
- what's left for them to decide.
Tell them to mark it built on the site's Free tools page (https://launchranked.com/app, the site, Free tools), and that search_console_report shows the queries it starts to get in the following weeks.
Allowances
Counted per month on the site owner's account, and reset on the 1st (UTC). get_account shows this month's use.
| Allowance | Tool | Free account | SEO Skills or Autopilot |
| Content plans | plan_free_tools (and plan_content) | 2 | 30 |
| Keyword lookups | keyword_metrics | 10 | 100 |
Domain Rating is counted per day: 25 domains on a free account, 250 on Autopilot. The page checks have per-minute fair-use limits and no monthly cap. A call that fails or is refused doesn't count. Spend them only on what the user asked for.
When a tool says no
Pass the tool's message on in plain words: it explains the limit and, where there is one, the upgrade and its link. Don't retry in a loop, and never fill the gap with numbers of your own.
- An allowance is used up: say when it comes back and give the message's link. Building can go on without new numbers.
- Sign in to LaunchRanked: the connection isn't signed in. The user signs in (in Claude Code,
/mcp, then launchranked). - The site isn't on this account: compare the domain with
get_account. Sites are added at https://launchranked.com/app. - LaunchRanked is still reading the site: try again in a few minutes.
- Keyword data isn't available: say so and try later. Don't pick a search without numbers unless the user wants to.
Rules
- Report only what the tools returned. Never invent search volumes, difficulty, Domain Rating, users or results, and don't promise rankings or traffic.
- Never invent structured data the page can't back up.
- Ask before adding links to site-wide navigation or the footer, before adding dependencies, and before anything that collects or stores what people type.
- Copy on existing pages belongs to the user: propose changes there, and only rewrite it if asked.
- Never ask for passwords or API keys. Sign-in happens in the browser.
Setup
The tools come from LaunchRanked's MCP server, https://launchranked.com/mcp, with sign-in to a LaunchRanked account (free to create). Steps for each client: https://launchranked.com/docs/mcp. With the Claude Code plugin, run /mcp, choose launchranked and sign in. plan_free_tools works in Claude, Claude Code, Cursor, Codex and other MCP clients, but not in ChatGPT.
If the tools aren't available, say so and explain how to connect them. You can still build the tool if the user wants, but don't present keyword numbers or checks as done.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

