English | 中文
A skill collection for creators who want to streamline writing and publishing workflows with Claude Code.
- Turn Claude Code conversations into structured Obsidian notes (
summary) - Publish Obsidian/Markdown content to X (
x-publisher) - Provide a Windows-friendly X Articles workflow with a very high success rate for article uploads
- Purpose: extract key insights from the current conversation and save to Obsidian
- Typical triggers:
/summary, "save conversation", "export highlights" - Capabilities:
- Filters out low-value chat transitions
- Produces structured notes (Background, Core Content, Solution, Key Points, Related)
- Useful for long-term knowledge accumulation
A focused publishing suite for long-form article publishing:
x-article-publisher: publish long-form articles to X Articlesscripts/: shared tooling for markdown parsing and clipboard handling
Windows-focused design, strong path handling, and a very high success rate for uploading articles to X Articles.
yichen-skills/
├─ summary/
│ └─ skill.md
├─ x-publisher/
│ ├─ cookies.template.json
│ ├─ scripts/
│ ├─ x-article-publisher/
│ │ ├─ cookies.template.json
│ │ ├─ skill.md
│ │ ├─ scripts/
│ │ └─ references/
│ └─ (article-focused only)
├─ README.md
├─ README.zh.md
├─ THIRD_PARTY_NOTICES.md
├─ LICENSE
└─ .gitignore
- Claude Code / Codex CLI (with local skill loading)
- Playwright MCP (required by
x-publisher) - Python 3.9+
- Dependencies:
- Windows:
pip install Pillow pywin32 clip-util - macOS:
pip install Pillow pyobjc-framework-Cocoa
- Windows:
Copy this repository into your local skills directory:
- Common Claude path:
~/.claude/skills/ - Common Agents path:
~/.agents/skills/ - Custom skill path also works if your setup supports it
Keep directory names unchanged:
summaryx-publisher
- Ensure
summary/skill.mdis available in your loaded skills path - Start a new session and run
/summary - Confirm output is written to your Obsidian folder (example paths may use
E:/obsidian/...)
- Configure cookies (see next section)
- Confirm Playwright MCP is connected
- Use by scenario:
- Long article: trigger
x-article-publisher
- Long article: trigger
This repo does not include real credentials and only provides templates.
- Copy template files:
x-publisher/cookies.template.json->x-publisher/cookies.jsonx-publisher/x-article-publisher/cookies.template.json->x-publisher/x-article-publisher/cookies.json
- Fill in your own
auth_tokenandct0 - Never commit real
cookies.json
.gitignore already ignores **/cookies.json.
- Real token/cookie values are not included
- History/cache artifacts are excluded from tracking
- Personal absolute paths are replaced with generic forms
If you ever exposed real cookies in a public repo, rotate them immediately.
- Verify the skill folder is in your actually loaded skill path
- Restart the session and retry
- Check
nameanddescriptioninskill.mdfrontmatter
- Check whether cookies expired
- Verify Playwright MCP connectivity
- Verify local markdown/image paths exist
- Yes. Replace example paths in skill files
E:/obsidian/...is only an example
If you fork or redistribute, keep at least:
README.mdREADME.zh.mdLICENSE.gitignoreTHIRD_PARTY_NOTICES.md- both
cookies.template.jsonfiles
And always remind users not to publish real credentials.
Parts of the X publishing workflow and engineering practices are adapted with references to:
wshuyi/x-article-publisher-skill
See THIRD_PARTY_NOTICES.md for details.
- This project is not affiliated with, endorsed by, or sponsored by X (Twitter).
- Users are responsible for complying with X platform terms/policies and local laws.
- Never upload real account credentials (for example,
cookies.json) to public repositories.
MIT