Resources/Routines/Draft from Spec

Draft from Spec

on demand · or scheduledclaude.ai routinespublishes draftspec → draft

This routine takes a queued content spec, researches and drafts the article with your live Rampify data, then places it as a draft wherever you work. Rampify is the brain: the brief, the keywords, the competitive research, the draft. Your own connector is the hands: it puts the draft in your repo, your CMS, your drive, or your inbox. Always a draft, so you review and publish.

Build, don't copy

This page is a template, not a document. Don't fill in the blanks yourself. Copy the builder prompt below into your AI tool and it builds your personalized version with you: it resolves your project over MCP, asks which spec and where the draft should land, and hands back Instructions ready to schedule.

Tip

This pairs with Query Harvest: Query Harvest turns your search data into queued content specs, and Draft from Spec writes one as a draft for your review. Each routine is one stage, and you approve every handoff.

What you get#

A complete, reviewable draft that satisfies the spec:

Title + meta description
Intro + H2 sections answering the target queries
Internal links + primary keyword focus
Placed as a draft in your destination

Where the draft lands#

You decide during the build, using a connector you already have attached alongside Rampify. Rampify never publishes for you; your connector does, and only ever as a draft.

DestinationConnectorWhat happens
GitHub PRofficial GitHub MCPBranch, commit the article as a markdown/MDX file, open a pull request. Never the default branch.
Sanity draftSanity MCPCreate a draft document in your dataset.
WordPress draftWordPress MCPCreate a draft post, never set live.
Google DocDrive / Docs connectorDrop the article as a doc to review.
Email / run historyGmail connector / noneThe markdown, for a human to place.
No publish connector yet?

The routine falls back to delivering the article markdown to your email or the run history, and tells you which connector to add so a future run can place it for you automatically. Nothing breaks; you just place that one by hand.

Build yours#

1
Launch it in your AI tool

The launch button opens your tool with the builder prompt already in the input. claude.ai, Cursor, and VS Code support prefilled deeplinks; for Claude Code it copies, ready to paste. The prompt is also copied to your clipboard every time, as a fallback. Your choice of tool is remembered, and you can switch it from the dropdown.

2
Point it at a spec and a destination

With the Rampify connector enabled (see Connecting), your AI asks which content spec to draft (or, on a schedule, takes the highest-priority queued one) and which of your connectors should receive the draft. It confirms what it found before writing anything.

3
Run it, then review

Trigger it when you want a spec drafted, or schedule it to drain the queue one spec at a time. The draft lands in your destination for review. You publish.

The template#

The IDs come from list_projects; the spec and destination are yours to set during the build:

ParameterTypeHow it's resolved
{{PROJECT_ID}}uuidrequiredThe project the spec belongs to. Returned by list_projects.
{{CLIENT_ID}}uuidrequiredScopes dashboard URLs (links use client_id, not project_id). Also from list_projects.
{{DOMAIN}}stringoptionalYour site. Lets the draft link internally and match voice.
{{SPEC_ID}}uuidoptionalThe content spec to draft. Leave blank to take the highest-priority queued spec on a schedule.
{{DESTINATION}}instructionyour callWhere the draft lands, named to your connector. GitHub PR, Sanity/WordPress draft, Google Doc, or email/run history.
{{DELIVERY}}instructionyour callWhere the short run summary goes, separate from the draft. Email by default.
Instructions — template
You are an agent drafting one article from a Rampify content spec, then placing it as a DRAFT wherever the founder chose. You never publish live. A human reviews and publishes.

Project ID: {{PROJECT_ID}}
Domain: {{DOMAIN}}
Client ID: {{CLIENT_ID}}
Content spec to draft: {{SPEC_ID}} (if blank, take the highest-priority queued content spec from list_feature_specs)
Destination: {{DESTINATION}}

The Rampify MCP server is attached, plus the founder's destination connector. Run unattended.

1. Read the brief.
   - Call get_feature_spec({{SPEC_ID}}) for the angle, the target queries, and the search intent.
   - Call get_keyword_clusters (project_id={{PROJECT_ID}}) for the cluster's keywords so the draft targets the right terms.

2. Research the angle.
   - Call research_competitors to see how rivals cover this topic, so the draft has a point of view rather than restating them.
   - Call get_page_intelligence on any existing page about this topic so you extend coverage instead of duplicating or cannibalizing it.

3. Draft the article.
   - Write a complete draft that satisfies the spec: a title and meta description (you may use generate_title / generate_meta for constraint-safe options), an intro, H2 sections that answer the target queries, internal links to related pages on the site, and one clear primary-keyword focus.
   - Match the site's existing voice and format. Do not invent facts or claims you cannot support.

4. Place it as a DRAFT in {{DESTINATION}}, using the connector for it:
   - GitHub: create a branch, commit the article as a markdown/MDX file in the content directory, and open a pull request. NEVER commit to the default branch.
   - Sanity / WordPress / other CMS: create a DRAFT document or post. Never set it live.
   - Google Drive: create a doc.
   - No publish connector available: output the full article markdown and say it should be placed manually.
   Always a draft. A human reviews and publishes.

5. Report.
   - A short summary: the spec you drafted, the title, the destination, and the draft's link or PR URL.

## Delivery

{{DELIVERY}}

(This is where the short SUMMARY goes, separate from where the draft itself lands.)

## What this routine writes

Against Rampify, research_competitors records the discovered competitor set; everything else is a read. The article is created as a DRAFT in your destination through your OWN connector. It is never published, never committed to a default branch, and never overwrites existing content. You review and publish.

## Constraints

- Create a DRAFT only. Never publish, never commit to a default branch, never overwrite an existing page.
- One spec per run.
- Use the destination connector the founder configured. If none is present, deliver the markdown and say so plainly.
- Never construct dashboard URLs by hand. Use the dashboard_url field a tool returns.
What this routine writes

Against Rampify, research_competitors records the discovered competitor set; everything else is a read. The article is created as a draft in your destination through your own connector. It is never published, never committed to a default branch, and never overwrites existing content. You review and publish.

Tools this routine calls

Read the content spec to draftget_feature_specread
Pull the cluster and target keywordsget_keyword_clustersread
Research how rivals cover the topicresearch_competitorswrite
Check any existing page so you extend, not duplicateget_page_intelligenceread

The publish step is not a Rampify tool. The draft lands through your own connector (GitHub, Sanity, WordPress, Drive, or email), so the routine works with whatever you already use.