Install
$ agentstack add skill-dengshiyinga-x-copywriter-skill-x-copywriter-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
X Copywriter
Operating Rule
Create original X-native copy in the user's language. Use public marketing and algorithm sources as background only; do not reproduce external skill wording, template text, or examples. If the user asks for "viral" content, translate that into concrete goals: stronger hook, clearer audience fit, better proof, richer conversation potential, and lower negative-feedback risk.
Load References
- Load [references/x-algorithm-principles.md](references/x-algorithm-principles.md) for reach audits, algorithm-aware rewrites, cadence advice, or any claim about X distribution.
- Load [references/x-copy-frameworks.md](references/x-copy-frameworks.md) for hooks, thread structures, founder voice, offer posts, replies, quote tweets, and rewrite patterns.
- Load [references/hot-repo-patterns.md](references/hot-repo-patterns.md) for writing and workflow lessons from popular projects: how to structure the copywriting process, separate context/creation/analysis, and judge output quality. (Tooling repos live in the ecosystem file below.)
- Load [references/x-open-source-ecosystem.md](references/x-open-source-ecosystem.md) for the tooling layer: X/Twitter scraping/search/MCP/client tools, official algorithm code, Community Notes code, data-access reliability, and automation safety limits.
- Load [references/anti-ai-polish.md](references/anti-ai-polish.md) when the user asks to remove AI tone, make copy sound human, preserve voice, "说人话", lower AI smell, or when final draft quality matters.
- Load [references/language-adaptation.md](references/language-adaptation.md) when writing in a non-English language, translating/adapting a post across languages, handling bilingual or code-switched accounts, or matching local tone and idiom.
- Load [references/topic-scoring-and-variants.md](references/topic-scoring-and-variants.md) when choosing among topics, generating A/B variants, scoring drafts, producing machine-readable output, or building a feedback loop.
- Load [references/x-appeals.md](references/x-appeals.md) for X account suspension or restriction appeals, post-level enforcement reviews, feature restriction reviews, monetization or creator-eligibility reviews, follow-ups to prior appeal decisions, and pre-enforcement compliance self-audits (checking an account or drafts for policy/monetization risk before anything is flagged).
- Load [references/long-form-writing.md](references/long-form-writing.md) for X Articles or any piece meant to be read as one continuous long document — the short-form rules elsewhere in this skill are tuned for 280-character posts and actively wrong at this length.
- Load [references/examples.md](references/examples.md) when the user wants examples, asks what good output looks like, or when calibrating this skill against draft quality.
Task Router
Classify the request first:
| Request | Do this | |---|---| | Draft from scratch | Build a short strategy card, then write 1 primary version and 2 alternatives. | | Rewrite existing copy | Diagnose the strongest constraint, then rewrite without preserving weak structure. | | Thread | Design the reader journey before writing posts. | | Reply or quote tweet | Add a new angle, evidence, or useful disagreement; avoid applause-only replies. | | Launch or offer | Make the offer concrete, prove it, lower risk, then ask for one action. | | Content plan | Create repeatable post lanes, not a list of random topics. | | Repurpose long-form content | Extract thesis, proof, examples, and quotable moments before writing X-native posts. | | Niche research | Study external examples for patterns only; do not imitate specific wording. | | Performance improvement | Use available metrics to identify which lane, hook, or action path is underperforming. | | Topic selection | Score candidates for heat, value, discussion potential, account fit, freshness, and repetition risk. | | Audit | Score hook, clarity, proof, interaction path, and negative-feedback risk. | | Appeal or review request | Build a verified fact ledger, classify the appeal stage, check prior submissions for contradictions, then draft a truthful review request in the requested language. | | Compliance self-audit ("is my account/post at risk", pre-emptive check) | Use the Pre-Enforcement Compliance Self-Audit in x-appeals.md: disclose coverage, grade each item by confidence, cite specific rules, never recommend evasion. | | Long-form article (X Article, or any piece meant to be read as one continuous document) | Route to long-form-writing.md instead of the short-form writing loop: section arc, long-form-specific anti-AI pass, article output contract. |
Strategy Card
Before writing, infer what you can and ask only for missing information that changes the output. If project context files exist, read them first: .agents/product-marketing.md, .agents/social-media-context.md, .claude/product-marketing.md, or similarly named voice/audience files. Keep the card compact:
Audience:
Reader awareness: (unaware / problem / solution / product / most-aware — sets how the post opens)
Promise:
Proof available:
Desired action:
Voice: (fingerprint from a sample if available; see x-copy-frameworks.md)
Language:
Risk to avoid:
If essential proof is missing, do not invent it. Use placeholders such as [insert customer result] or rewrite around observable claims.
Research Mode
Use web or user-provided examples only when the request depends on current niche patterns, competitor positioning, or recent discourse. Research should produce a short synthesis, not a swipe file.
- Identify the niche, topic, and intended audience.
- Collect a small set of relevant posts, threads, creators, or competitor messages.
- Extract patterns at the level of strategy:
- hook mechanism
- topic angle
- proof style
- pacing
- conversation trigger
- offer or CTA pattern
- State what to borrow structurally and what to avoid.
- Write fresh copy from the user's point of view.
Never copy distinctive phrasing, anecdotes, stats, jokes, or personal claims from examples.
Writing Loop
- Name the reader: role, situation, or tension.
- Choose the post job: teach, provoke, narrate, prove, invite, sell, or respond.
- Run a hook tournament: draft 5-8 first lines across different mechanisms, score them, and keep the best (see the Hook Tournament in x-copy-frameworks.md). Publish one unless the user asks for options. Check the Session Variety Ledger before locking in a mechanism or Post Shape — do not repeat the same one more than twice in a row within this conversation.
- Draft the body around one idea. If two ideas compete, split into a thread or separate posts.
- Add proof: number, example, lived detail, mechanism, quote, comparison, or transparent limitation.
- Tune for X:
- First line must stand alone.
- Paragraphs should be short enough to scan on mobile.
- The post should create a reason to dwell, reply, quote, repost, follow, or click.
- Avoid bait, vague outrage, fake urgency, unsupported claims, and repetitive phrasing.
- Run the anti-AI polish pass for final drafts: preserve facts, remove generic phrasing, vary rhythm, and keep the user's voice.
- Pass the critic gate before delivering: review the draft as a skeptical reader on hook, one-idea, proof, action fit, and voice; rewrite any weak dimension instead of shipping it with a caveat (see the Critic Gate in x-copy-frameworks.md).
- Check originality: if the draft could belong to any generic AI founder account, rewrite with sharper audience, proof, or lived detail.
- Deliver ready-to-post copy first, then brief rationale if useful.
When the user asks for options, tests, or a more rigorous pass, produce A/B variants and score them before selecting a final. Use [references/topic-scoring-and-variants.md](references/topic-scoring-and-variants.md).
Output Contracts
Single Post
Post:
[ready-to-post copy]
Notes:
- Hook logic: [why the first line works]
- Interaction path: [reply/repost/quote/follow/click reason]
- Risk check: [what was deliberately avoided]
Thread
Thread arc:
[one sentence describing the reader journey]
Posts:
1/ ...
2/ ...
3/ ...
End:
[soft CTA, question, or follow reason]
Rewrite
Diagnosis:
[highest-impact issue]
Rewrite:
[ready-to-post copy]
Why this is stronger:
[specific changes, not generic praise]
Content Plan
Post lanes:
1. [lane] - [purpose] - [example angle]
2. [lane] - [purpose] - [example angle]
3. [lane] - [purpose] - [example angle]
Cadence:
[practical schedule with variety]
Research Synthesis
Patterns found:
- [pattern, not copied wording]
- [pattern, not copied wording]
- [pattern, not copied wording]
Use:
[how to adapt ethically]
Avoid:
[imitation, weak patterns, or risky claims]
Draft:
[fresh X copy]
A/B Variants
Use when the user asks for options, the topic is high-stakes, or the first draft direction is ambiguous.
Variant A:
[more direct / higher contrast / stronger hook]
Variant B:
[more structured / more evidence-led / lower risk]
Critic:
- A: n/10 - [one concrete reason]
- B: n/10 - [one concrete reason]
Selected:
[A or B] - [why]
Final:
[ready-to-post copy]
Machine-Readable Block
Only include this when the user asks for automation, logging, scoring output, or downstream processing.
X_COPYWRITER_JSON
{
"schema_version": "x_copywriter.create.v1",
"language": "...",
"topic": "...",
"post_type": "single|thread|reply|quote|plan|audit",
"intended_action": "reply|repost|quote|follow|click|bookmark",
"variants": [
{"id": "A", "score_0_10": 0, "text": "..."},
{"id": "B", "score_0_10": 0, "text": "..."}
],
"selected": "A|B",
"risk_flags": ["..."],
"notes": ["..."]
}
Audit
Score each lever 1-5 (see the audit checklist in [references/x-algorithm-principles.md](references/x-algorithm-principles.md)). Lead with the verdict, then fix the weakest lever first.
Verdict:
[one line: ship as-is / fix first / rework]
Scores:
- Audience fit: n/5 - [reason]
- First line: n/5 - [reason]
- Payoff: n/5 - [reason]
- Evidence: n/5 - [reason]
- Action path: n/5 - [reason]
- Trust / negative-feedback risk: n/5 - [reason]
- Account fit: n/5 - [reason]
Weakest lever:
[the one to fix first and why]
Suggested rewrite:
[only the part that needed it, not the whole post]
Quality Standards
- Prefer concrete situations over broad advice.
- Prefer earned proof over adjectives.
- Prefer useful tension over anger.
- Prefer a clean reader payoff over clever wording.
- Prefer a specific next action over generic CTAs.
- Preserve the user's voice; do not flatten everything into generic founder-speak.
- Use the user's requested language. If no language is specified, match the user's language. For mixed-language requests, preserve intentional code-switching and ask only if the target language is ambiguous.
Hard Limits
Do not fabricate:
- Performance numbers
- Testimonials
- Customer logos
- Personal stories
- Guarantees
- Platform rules not supported by public sources
Do not use manipulative patterns:
- Fake scarcity
- Engagement bait
- Unverifiable "secret" framing
- Rage bait designed mainly to trigger hostility
- Clickbait that withholds the actual value
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: DengShiyingA
- Source: DengShiyingA/x-copywriter-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.