Use Content Writer on ChatGPT. Create a Custom GPT with bundled knowledge files.
- ChatGPT Plus, Team, or Enterprise subscription (Custom GPTs need a paid plan)
- Access to the GPT Builder interface
On ChatGPT, Content Writer runs as a Custom GPT. A Custom GPT is a version of ChatGPT with custom instructions and knowledge files. You create it once in the GPT Builder. Then you use it whenever you need content.
- Go to chat.openai.com and sign in
- Click "Explore GPTs" in the sidebar
- Click "Create" (or "My GPTs" → "Create a GPT")
The instructions file has this path:
skills/adapters/chatgpt/INSTRUCTIONS.md
In the GPT Builder:
- In the "Instructions" section (or Configure tab), paste the full contents of
INSTRUCTIONS.md - The instructions define:
- The five-phase workflow (Discuss → Plan → Execute → Verify → Ship)
- Profile-first enforcement
- State-carrying rules
- Knowledge file references
Character limit note: ChatGPT instructions have an approximate 8,000 character limit. The INSTRUCTIONS.md file fits within this limit (actual: about 4,400 characters).
The knowledge files have this path:
skills/adapters/chatgpt/knowledge/
Files to upload (14 files):
anti-ai-checklist.md: Anti-AI pattern auditing checklistcontent-frameworks.md: Copywriting frameworks (PAS, AIDA, BAB, LEMA, etc.)content-packages.md: Multi-platform content package guidanceemail-content-conventions.md: Email content best practicesfacebook-conventions.md: Facebook-specific formattinginstagram-conventions.md: Instagram caption conventionsprofile-management.md: Profile creation questionnaireresearch-workflow.md: URL analysis and research methodssales-content-conventions.md: Sales copy conventionsseo-meta-conventions.md: SEO metadata rulesstate-schema.md: Complete state document schematwitter-conventions.md: Twitter/X content conventionsweb-content-conventions.md: Landing and product page conventions
In the GPT Builder:
- Go to the "Knowledge" section (or Configure → Knowledge)
- Click "Upload Files"
- Select all 14 files from
skills/adapters/chatgpt/knowledge/ - Wait for the uploads to finish. ChatGPT scans each file for safety.
Limits: ChatGPT allows up to 20 knowledge files per GPT and 512MB per file. The 14 files fit well within these limits.
Name: Content Writer
Description:
Professional content generation system. Creates blog articles, social posts, email content, and SEO metadata that sounds human, not AI-generated. Uses a five-phase workflow with built-in brand voice profiles.
Conversation Starters (optional but helpful):
- "Write me a blog post about..."
- "Create a LinkedIn post about..."
- "Start a new content project"
- "Create my writer profile"
- Click "Save" (top right)
- Choose visibility:
- Only me: Private to your account
- Anyone with a link: Shareable URL
- Public: Listed in the GPT Store (optional)
- Click "Confirm"
Your Custom GPT is now ready to use.
Open your Content Writer GPT and describe what you want:
"Write me a LinkedIn post about the future of remote work"
Or start with profile creation:
"Create my writer profile"
The GPT guides you through five phases:
- Discuss: Gather topic, platform, audience, and goals
- Plan: Build the outline and SEO strategy
- Execute: Write the draft
- Verify: Run SEO, STE, and anti-AI checks
- Ship: Present the final content with publishing notes
ChatGPT cannot write back to knowledge files. At the end of every phase, the GPT outputs a complete PROJECT-STATE.md as a code block. You must do these steps:
- Copy the entire code block
- Save it to a file named
PROJECT-STATE.md - Paste it back word for word at the start of your next session
Example at phase end:
---
phase: discuss
platform: linkedin
format: post
topic: future of remote work
audience: tech professionals
awareness_stage: problem-aware
goal: engagement
framework: PAS
length: 150
cta: comment
research_urls:
key_points: flexibility, productivity, tools
ste_gate: manual
updated_at: 2026-07-04T12:00:00Z
---
## Discussion Brief
[Content here...]
## Outline
## Draft
## Verified ContentNever say "I saved your state". The GPT cannot save to knowledge files. Always save and re-paste the state document yourself.
ChatGPT offers a per-GPT "memory" feature. This feature can help with state continuity:
- Memory is optional. Users or org admins can turn it off.
- Memory is best-effort. It is not a durable store.
- Builders can turn it on for their GPTs.
Do not depend on memory as the only state store. Always use the PROJECT-STATE.md save and re-paste method. Memory is only a convenience that smooths continuity within a session.
Before you generate content, you need a writer profile. If you do not have one, the GPT runs the 10-topic questionnaire from profile-management.md:
- Brand identity
- Industry and market
- Target audience
- Voice and tone
- Content strategy
- Products and services
- Case studies
- CTAs
- Publishing workflow
- SEO strategy
Save your profile: The GPT outputs the finished profile as markdown files. Save these files and paste them at the start of future sessions.
| Feature | ChatGPT Custom GPT | Claude Code |
|---|---|---|
| Invocation | Start a conversation with the GPT | Slash commands (/writer:*) |
| State persistence | Manual save and re-paste of PROJECT-STATE.md | Automatic file storage |
| Profile storage | Manual file management | Automatic file storage |
| URL fetching | Paste article text (no network fetch) | Full network access |
| SEO and humanizer integration | Manual checklist (through anti-ai-checklist.md and seo-meta-conventions.md) |
Automatic skill invocation |
| Multi-platform packages | Available (through content-packages.md) |
Available |
| Auto-update check | Not available | Available |
ChatGPT Custom GPTs have no network access to fetch URLs. If a step needs a URL fetch (for example, a scan of a blog for tone detection), the GPT asks you to paste the article text or 2 to 3 representative paragraphs.
The GPT has access to these 14 knowledge files:
| File | Purpose |
|---|---|
content-frameworks.md |
Framework selection (PAS, AIDA, BAB, LEMA, SCQA, 4-Point, CONVERT) |
anti-ai-checklist.md |
Patterns to avoid during writing and verification |
seo-meta-conventions.md |
SEO metadata rules |
web-content-conventions.md |
Landing pages, product pages, web pages |
email-content-conventions.md |
Newsletters, campaigns, sequences |
twitter-conventions.md |
Twitter/X tweets and threads |
facebook-conventions.md |
Facebook posts and pages |
instagram-conventions.md |
Instagram captions |
sales-content-conventions.md |
Sales pages, funnels, case studies, testimonials |
profile-management.md |
Profile creation, rotation lifecycle |
research-workflow.md |
URL analysis and research inputs |
state-schema.md |
Complete schema for PROJECT-STATE.md |
content-packages.md |
Multi-platform content package guidance |
v2.4.0 makes ASD-STE100 Simplified Technical English the writing law for all content. The verify step checks each draft against this law. The check uses three tiers:
- strict: SEO metadata and operational email. Zero violations.
- prose: blog, web, sales, case studies, and newsletters. 3.0 or fewer violations per 100 words.
- social: LinkedIn, Twitter/X, Facebook, and Instagram. 4.0 or fewer violations per 100 words.
The marketing-adjective count and the banned-word count must be zero on every tier. A draft that fails the gate does not ship.
ChatGPT cannot run the Node linter. So the STE gate is a manual self-lint. Check the draft by hand against the rules in the ste-writing-rules.md knowledge file before you ship.
After you create your Custom GPT:
- Open the GPT from "My GPTs" or the sidebar
- Type: "Write me a LinkedIn post about productivity hacks"
- Confirm the GPT asks about your profile (or offers to create one)
- Complete the profile creation flow
- Work through all five phases (Discuss → Plan → Execute → Verify → Ship)
- At the verify step, run a manual STE self-lint against the
ste-writing-rules.mdrules. Fix any violation before you ship. - Confirm the final output has these parts:
- YAML frontmatter with all fields
- Correct platform-specific formatting
- Publishing notes
- Save the PROJECT-STATE.md at phase end. Confirm it has all 28 frontmatter fields.
- Start a fresh conversation, paste the saved state, and confirm the GPT continues from the correct phase
For detailed manual testing steps, see docs/checklists/chatgpt-manual-test.md.
"I do not see my GPT"
- Check "My GPTs" in the sidebar
- Confirm you saved the GPT (not just created a draft)
"Instructions are too long"
- The INSTRUCTIONS.md file is about 4,400 characters, well under the 8,000 limit
- If you added custom instructions, trim them to fit
"Knowledge files not loading"
- Confirm all 14 files uploaded without error (check for upload errors)
- Remove and re-add the knowledge files
- Check that each file is under 512MB
"State not persisting between sessions"
- This is expected. You must save and re-paste PROJECT-STATE.md by hand.
- The optional memory feature in ChatGPT is not a substitute for manual state management