Skip to content
Agentmart
Submit a tool

cto51

Read the connected 51CTO 博客 (blog.51cto.com) account and create Markdown article drafts with the user's own login cookies (BYOC).

Skill by acedatacloud

IndexedApache-2.0★ 17
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/acedatacloud-cto51

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Read the connected 51CTO 博客 (blog.51cto.com) account and create Markdown article drafts with the user's own login cookies (BYOC). Use when the user mentions 51CTO, wants to save a 51CTO draft, or asks who their connected 51CTO account is.

Use cases: documents, writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 3

  • blog.51cto.com · found in code
  • codeload.github.com · found in install command
  • studio.acedata.cloud · found in code

Files it touches

  • ~/.claude/skills/cto51

What's inside

Skill name
cto51
Description
Read the connected 51CTO 博客 (blog.51cto.com) account and create Markdown article drafts with the user's own login cookies (BYOC). Use when the user mentions 51CTO, wants to save a 51CTO draft, or asks who their connected 51CTO account is.
License
Apache-2.0
Metadata
author: acedatacloud · version: 1.0
Instructions
75 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Files (2)

  • SKILL.md
  • cto51.py · scripts/

SKILL.md (first lines)

# cto51 — read & draft on 51CTO 博客 via your own cookies

Drives the user's **real** 51CTO account through the same `blog.51cto.com`
endpoints the site uses, authenticated by the login cookie they captured with
the ACE extension. No browser, no third-party deps — just `urllib`.

The connector injects the cookie jar as a JSON env var `$CTO51_COOKIES`. Never
print it.

```bash
python3 "$SKILL_DIR/scripts/cto51.py" whoami
```

If `$SKILL_DIR` points at a different skill loaded in the same turn, resolve
this skill's directory explicitly before running the commands below.

## Important: draft only

51CTO's write endpoint creates a **draft**. This skill returns the draft's
editor URL and does not publish. Tell the user plainly that they must open that
URL and publish themselves — do not claim the article went live.

## Verify the connection first

```bash
python3 "$SKILL_DIR/scripts/cto51.py" whoami
```

If this fails with a redirect or auth error, the cookie has expired. Ask the
user to reconnect at `https://studio.acedata.cloud/console/connectors` rather than
retrying.

## Create a draft — GATED

Prepare the complete Markdown in a file. The first call is always a dry run and
does not write anything.

```bash
# Dry run — shows exactly what would be written.
python3 "$SKILL_DIR/scripts/cto51.py" draft \
  --title "标题" --content-file /tmp/article.md --tags "python,api"

# Actually create the draft after the user confirms.
python3 "$SKILL_DIR/scripts/cto51.py" draft \
  --title "标题" --content-file /tmp/article.md --tags "python,api" --confirm
```

Options: `--content-file <path.md>` (preferred) or `--content "<markdown>"` for
short inline text; `--tags "a,b"` comma-separated; `--abstract "…"` sets the
summary shown in listings. The dry run echoes every field that will be written,
including the abstract — show that output to the user before confirming.

`--confirm` is valid only as the final argument. Show the title, tags and full
content to the user before writing.

## Gotchas

- 51CTO sits behind a WAF that answers a bare request with HTTP 567. The CLI
  always sends a full browser fingerprint, so do not strip its headers or
  re-implement the calls with plain `curl`.
- Both the identity and the `_csrf` token come from the publish page. A
  redirect there means the session is dead — reconnect, do not retry.
- Content is sent as Markdown (`is_old=0`). Do not pre-render it to HTML.
- Images referenced by external URL are not re-hosted. If the source host
  blocks hotlinking they will not render; mention this when the article has
  images.
- Do not retry a timed-out write automatically — the outcome may be unknown and
  a retry can create a duplicate draft.

## Record the output

This skill only produces drafts, so do **not** call `publish_artifact`. Report
the returned `draft_id` and `edit_url` to the user instead.

From AceDataCloud/Skills, Apache-2.0.

More from AceDataCloud/Skills

Signals

Stars
17
Forks
1
Open issues
0
Last commit (this folder)
Aug 22, 2026 (2 months ago)
Last release
Oct 23, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
1.0
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from acedatacloud

Cite this page

cto51 skill. Agent Mart. https://agentmart.dev/skills/acedatacloud-cto51 (last updated 2026-10-24)