X Growth Operator / X 增长运营助手
by @jimmywangjimmy
Plan and execute mission-driven X growth operations / 任务驱动的 X 增长运营规划与执行。Use when the user wants to monitor KOL posts, detect emerging discussions, turn brief...
clawhub install x-growth-operator📖 About This Skill
name: x-growth-operator description: Plan and execute mission-driven X growth operations / 任务驱动的 X 增长运营规划与执行。Use when the user wants to monitor KOL posts, detect emerging discussions, turn briefs or uploaded docs into a growth mission, draft replies or posts, rank opportunities, and execute approved actions with a local audit trail. version: 1.0.4 metadata: openclaw: requires: env: - X_API_KEY - X_API_SECRET - X_ACCESS_TOKEN - X_ACCESS_TOKEN_SECRET bins: - python3 - node - npm config: - scripts/.env primaryEnv: X_API_KEY install: - kind: node package: commander - kind: node package: dotenv - kind: node package: https-proxy-agent - kind: node package: socks-proxy-agent
X Growth Operator / X 增长运营助手
Use this skill when the user wants a review-first workflow for X operations rather than a generic writing assistant.
Purpose
Turn a user brief into an X growth mission, infer what the account should watch, find relevant opportunities, draft actions, and execute approved posts with an audit trail.
Security & Runtime Declaration
x-api mode and only after explicit approval.X_API_KEY
- X_API_SECRET
- X_ACCESS_TOKEN
- X_ACCESS_TOKEN_SECRET
DESEARCH_API_KEY (needed only for live Desearch search/import)
cd scripts && npm install
https://api.twitter.com
- https://api.x.com
data/
- scripts/.envTrigger Conditions
Use this skill when the user asks to:
Workflow
Run these steps in order unless the user explicitly asks for one step only.
1. Build or refresh the mission:
python3 scripts/ingest_goal.py \
--doc examples/brand_brief.md \
--mission data/mission.json
You may also pass --prompt instead of --doc.
The brief can be structured with explicit sections or written as freeform natural language. The parser should infer goals, audience, topics, constraints, CTA, and risk tolerance from either format.
2. Gather opportunities:
python3 scripts/watch_x.py \
--mission data/mission.json \
--input examples/opportunities.json \
--output data/opportunities_scored.json
Import live opportunities with Desearch:
python3 scripts/import_desearch.py \
x "your query here" \
--count 10 \
--output data/opportunities_from_desearch.json
Or run live search all the way to an action plan:
python3 scripts/live_search_and_plan.py \
--mission data/mission.json \
--count 10
If --query is omitted, derive the search query from mission topics, keywords, and audience.
If the operator is manually surfing X and taking notes, convert those notes first:
python3 scripts/import_surf_notes.py \
--notes examples/surf_notes.md \
--output data/opportunities_from_notes.json
3. Draft a recommended action:
python3 scripts/propose_action.py \
--mission data/mission.json \
--opportunities data/opportunities_scored.json \
--opportunity-id YOUR_OPPORTUNITY_ID \
--output data/action.json
4. Execute only after explicit user approval:
python3 scripts/execute_action.py \
--mission data/mission.json \
--action data/action.json \
--log data/execution_log.jsonl
For reply and quote_post, execution should run the preflight gate first. It inspects the target tweet's reply settings and blocks likely permission failures before posting.
For real X execution, first install Node dependencies and configure X OAuth credentials, then run:
python3 scripts/check_env.py --mode execution
python3 scripts/execute_action.py \
--mission data/mission.json \
--action data/action.json \
--log data/execution_log.jsonl \
--approved \
--mode x-api
5. Build a ranked action plan from the current opportunity set:
python3 scripts/plan_actions.py \
--mission data/mission.json \
--opportunities data/opportunities_scored.json \
--output data/action_plan.json
6. Learn from feedback and refresh memory:
python3 scripts/review_feedback.py \
--mission data/mission.json \
--feedback examples/feedback.json \
--memory data/memory.json \
--output data/feedback_report.json
7. Run the whole cycle in one command when testing:
python3 scripts/run_cycle.py \
--doc examples/brand_brief.md \
--opportunities examples/opportunities.json \
--feedback examples/feedback.json
Rules
reply and quote_post, honor the interaction preflight result unless the user explicitly chooses to bypass it.observe instead of forcing an action.data/memory.json to carry forward successful angles, source accounts, and action types.auto execution as future work. This skill is review-first.X_API_KEY, X_API_SECRET, X_ACCESS_TOKEN, and X_ACCESS_TOKEN_SECRET.Resources
examples/brand_brief.md: sample source document for mission ingestionexamples/freeform_brief.md: sample freeform brief for mission ingestionexamples/opportunities.json: sample X opportunities for local testingexamples/feedback.json: sample outcome data for memory updatesexamples/surf_notes.md: sample manual browser-surf notesexamples/desearch_query.txt: sample live search queryreferences/mission-schema.md: field meanings and scoring rulesscripts/.env.example: example execution environment fileOutputs
data/mission.json: structured mission for later turnsdata/opportunities_scored.json: ranked opportunities with reasonsdata/action_plan.json: ranked next actions for the current cycledata/action.json: one reviewed action proposaldata/execution_log.jsonl: append-only execution historydata/memory.json: persistent learned patterns and historical outcomes🔒 Constraints
reply and quote_post, honor the interaction preflight result unless the user explicitly chooses to bypass it.observe instead of forcing an action.data/memory.json to carry forward successful angles, source accounts, and action types.auto execution as future work. This skill is review-first.X_API_KEY, X_API_SECRET, X_ACCESS_TOKEN, and X_ACCESS_TOKEN_SECRET.