capafy-autopublish
THE single skill to publish profitable, rejection-proof skills to the Capafy marketplace end-to-end, verification-baked.
Skill by Daisuke134
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/daisuke134-capafy-autopublish
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.
About
Use cases: ml, writing
Reviews
Write a reviewNo 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. 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 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/capafy-autopublish
What's inside
- Skill name
capafy-autopublish- Description
- THE single skill to publish profitable, rejection-proof skills to the Capafy marketplace end-to-end, verification-baked. Load this one skill and you can: pick a proven-profitable niche, generate the skill, write a best-practice listing, publish it (CP1 card + CP2 LLM-key host + CP3 submit) via the CloakBrowser daily-driver, and verify it (linter + browser + remote-status). Use for ANY Capafy publishing. This skill VENDORS the Capafy CLIs internally — never invoke capafy-publisher / capafy-user directly; everything routes through here.
- License
- MIT
- Instructions
- 107 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (200)
- BEST_PRACTICES.md
- CP1_AGENTIC.md
- DAILY_LOOP.md
- PUBLISHING_RUNBOOK.md
- SKILL.md
- agent_card_templates.md · references/
- pricing.md · references/
- web_checkpoints.md · references/
- browser-owner · scripts/
- build_config.py · scripts/
- build_publish_selection.py · scripts/
- candidate_backlog.py · scripts/
- check_hosted_model.py · scripts/
- cloud_cycle.py · scripts/
- cp1_agent.py · scripts/
- cp1_python.sh · scripts/
- daily_loop.sh · scripts/
- drive_checkpoint1.py · scripts/
- drive_checkpoint2.py · scripts/
- drive_checkpoint3.py · scripts/
- drive_cp1.py · scripts/
- drive_logo.py · scripts/
- duplicate_gate.py · scripts/
- frozen_guard.sh · scripts/
- inventory_status.py · scripts/
- key_health_gate.sh · scripts/
- leak_scan.sh · scripts/
- lint_listing.py · scripts/
- logo_gen.js · scripts/
- proof_images.py · scripts/
- publish_finish.sh · scripts/
- publish_input_contract.py · scripts/
- publish_one.sh · scripts/
- publish_prepare.sh · scripts/
- react_set.js · scripts/
- reconcile_ledger.py · scripts/
- rejection_queue.py · scripts/
- save_review_url.py · scripts/
- select_publish_agent.py · scripts/
- selections_from_skill_md.py · scripts/
- test_proof_images.py · scripts/
- verify_cp1_model.py · scripts/
- verify_pricing.py · scripts/
- with_publish_lock.py · scripts/
- test_agent_work_state_isolation.sh · test/
- test_aid_guard.sh · test/
- test_candidate_backlog.py · test/
- test_capafy_browser_lease.py · test/
- test_check_hosted_model.py · test/
- test_cloud_cycle.py · test/
- test_cloud_paths.py · test/
- test_cp1_agent.py · test/
- test_cp1_agent_prices.py · test/
- test_cp1_price_cards_dom.py · test/
- test_cp2_default_model.py · test/
- test_cp2_retry_once.py · test/
- test_daily_loop_lock.py · test/
- test_daily_loop_terminal.py · test/
- test_display_preset_model.py · test/
- test_download_pricing.py · test/
- …and 140 more
SKILL.md (first lines)
# capafy-autopublish — one skill, full Capafy publishing + verification
★ This is the ONLY Capafy skill to invoke. ★ It vendors the Capafy seller CLI
(`vendor/capafy-publisher`) and the market-search CLI (`vendor/capafy-user`).
Other Claude instances: do NOT use those two directly — use this skill.
## What sells on Capafy vs what does not (read first)
Capafy has two agent types:
- **run_online** (cloud_hosted, subscription): the buyer CHATS with the skill in a
**sandbox** — only the model + what the buyer pastes. NO web, tools, accounts,
browser, files, or cron. **Sellable test:** "Does the buyer get full value by
chatting, from model + pasted input alone?" YES → sellable.
- ✅ humanizer, copywriter, slide-maker (HTML), data-analyst (pasted data), strategist
- ❌ photo-publisher, auto-poster, scheduler, "researches the web/competitors"
(sandbox can't act on the world or browse → useless / gets REJECTED, see C4).
- **download** (buyout, one-time): the buyer runs the package in THEIR own env — can
include tools/browser. (The auto-publisher itself could be sold this way, not run_online.)
We publish **run_online subscription** skills that are sandbox-complete and
retain positive contribution after hosted model cost.
## Canonical publish flow (verification-baked)
Use the split, 0.9.11-compatible flow:
```
scripts/publish_prepare.sh <skill-dir> <LISTING.md> <icon.png>
→ `AGENT_ID` + `AGENT_VERSION_ID` + `EDIT_URL_FILE` / CP1_AGENTIC.md + cp1_agent.py (agentic card confirmation)
→ scripts/publish_finish.sh <agent-id> <skill-name> <LISTING.md> <agent-version-id>
```
The sequence is **Phase A discovery → confirmed selection/init → CP1 →
ordinary `publish-submit --action prepare` → strict same-Agent `security_ready`
readback → `publish-submit --action continue_upload` exactly once → final review
page CP2 → the same or refreshed `publish` review page CP3 exactly once → official
remote verify → ledger**. Fail closed at every step:
the finish wrapper requires `is_confirmed_skills=true`, validates the same Agent ID and
final review URL, polls CP2 config readback, and exits 0 only on
`platform_status=1 ∧ is_confirmed_config_keys=true`.
The deterministic wrapper never invents deep-scan findings or retries an uncertain
upload; a creator-approved agentic deep scan is outside this wrapper and must
complete before returning to ordinary prepare.
`scripts/publish_one.sh` is a legacy unsupported/reference-only no-op shim. Do not
invoke it; use the split flow above.
The browser opens only the exact URL read from `EDIT_URL_FILE`; do not reconstruct or
print it. After the split flow prints ✅, **you still do the browser render check yourself**
(HARD 0.31/0.38), then commit+push the ledger.
## Verification policy (verification is mandatory — anything unverified is slop)
1. **lint_listing.py** (embedded, every publish, fail-closed) — rejection-proof:
blocks overclaim phrases (browse/scrape/fetch/live/real-time/retrieval/posts/
sends/.pptx/guaranteed/undetectable…) unless negated, and enforces title≤50 /
short≤500 / pricing table. This is the C4-rejection learning, made deterministic.
2. **VCSDD adversary** (`vcsdd:vcsdd-adversary`) — spawn for RISKY listings only
(anything the linter can't judge: subtle retrieval/tool/guarantee claims). Pure
writing skills can skip it.
3. **browser + remote-status** (me, every publish) — render check + publish-remote-status
real data (status=1 ∧ cfg=1 ∧ run_online ∧ title ∧ model ∧ pricing).
## How to add ONE new listing (the repeatable recipe)
1. **Pick a winner**: `vendor/capafy-user/scripts/capafy_http.py POST /agent/agents/search`
(X-Access-Token header) → find a proven seller; GET `/agent/agent/agents/<id>` for its
pricing/category/structure. Copy facts verbatim; write original words. The paid-only policy
below overrides any winner free-trial field.
2. **Build the skill** under `$LIFE_MANAGER_REPO/skills/<name>/` (pure-LLM, sandbox-complete,
honest; no web/tool/account claims). Add `test/case1.md`. Grep for leaks (CLEAN).
3. **Write the listing** `$LIFE_MANAGER_STATE_HOME/features/capafy-<name>/LISTING.md` with the
header (Primary Model / category / tags), a pricing table copied from the winner with
`No Free Trial` on every plan, and
`## Title / ## shortDescription / ## welcomeMessage / ## detailedDescription`.
4. **Icon**: reuse the owner-controlled listing icon when available; otherwise create a suitable 512px asset.
5. **Lint**: `scripts/lint_listing.py <LISTING.md>` until PASS.
6. **Review**: check the exact listing, package model/cap, and same-Agent version binding.
7. **Publish**: run `scripts/publish_prepare.sh <skill-dir> <LISTING.md> <icon>`,
complete CP1 from `CP1_AGENTIC.md`/`cp1_agent.py`, then run
`scripts/publish_finish.sh <agent-id> <skill-name> <LISTING.md> <agent-version-id>` → status=1.
8. **Browser-verify** + record in `state/published.jsonl` + commit+push.
## Hard-won rules (full detail in PUBLISHING_RUNBOOK.md)
- **ECONOMICS**: price/cap must retain positive hosted contribution; every plan uses `No Free Trial`.
- **LEAK GUARD**: publish from the isolated Agent HOME/workspace emitted by prepare, never the operator's live workspace.
- **LLM host (CP2)**: use the exact OpenRouter model ID and output cap from the listing contract, format `openai-responses`, key `CAPAFY_HOST_OPENROUTER_KEY`; delete any blockrun/localhost card.
- **CP1 15 gotchas** baked into `cp1_agent.py` (RHF element.fill, real mouse clicks,
unique title, 下書き persist, monetization heading-click, Subscription scroll, provider
field, per-plan trial = No Free Trial, On-Demand, DPA checkbox, price-tab SVG green,
get_by_text form-mount, anchored Add Plan). See RUNBOOK §"NEW-AGENT CP1".
- **Cap**: max 5 unlisted (status 0-3) at once; publish-init fails when full. status=4 frees a slot.
- **Browser**: acquire the registered `capafy:kosuke` seller identity through
`skills/browser/with-browser.sh`; never connect directly to `:9222`/`:9223` or close it.
## Folder map
```
capafy-autopublish/
├── SKILL.md (this) · BEST_PRACTICES.md · PUBLISHING_RUNBOOK.md
├── scripts/ publish_prepare.sh · publish_finish.sh · daily_loop.sh
│ · select_publish_agent.py · build_publish_selection.py
│ · save_review_url.py
│ · lint_listing.py
│ · build_config.py · cp1_agent.py
│ · drive_checkpoint2.py · drive_checkpoint3.py · niche_picker.py · logo_gen.js
├── vendor/ capafy-publisher/ (packager.py = Capafy seller CLI, self-updating)
│ capafy-user/ (capafy_http.py = market search CLI)
└── state/ published.jsonl (ledger)
```
Canonical copy lives in `$LIFE_MANAGER_REPO/skills/capafy-autopublish`; no repo-external skill mirror is an execution source.From Daisuke134/life-manager, MIT.
More from Daisuke134/life-manager
- 0.631score
camofox-browser
Daisuke134
Stealth Firefox browser server for agent-driven Google OAuth and bot-protected sites.
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
anicca-warmup-flip
Daisuke134
Daily loop that seeds Postiz warmup dates, promotes accounts to live after seven days, and reports every promotion to Telegram.
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
anicca-life-manager
Daisuke134
Push-type AI 電話 エージェント。Google Calendar + 位置情報 + Bland.ai/Twilio + AgentMail で、user (Dais / OSS buyer) の人生を 全管理。出発時刻に電話 (RELENTLESS until 動く)、遅刻時に 謝罪 mail 自動…
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
marketplace-core
Daisuke134
Build an apply loop for a new gig marketplace.
SkillAFreshness: A★ 8Claude Code +9 - 0.627score
browser-foundation
Daisuke134
Use when a Life Manager loop drives a registered Chromium identity, needs TikTok login, message, or authenticated-identity readback, leases CDP tabs or…
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
customer-renewal-evidence-brief
Daisuke134
Use when a customer-success or account team needs to turn buyer-pasted account signals into a renewal-preparation brief without inventing health, intent…
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
newsletter-hook-lab
anicca
Turn a pasted newsletter brief, draft opening, and approved proof into subject-line options, preview text, and an evidence-bounded opening sequence.
SkillAFreshness: A★ 8Claude Code +9 - 0.624score
linkedin-post-hook-lab
anicca
Turn a pasted LinkedIn post brief, draft opener, and approved proof into evidence-bounded two-line hooks, a “see more” bridge, and a post-opening package.
SkillAFreshness: A★ 8Claude Code +9 - 0.624score
dissertation-discussion-humanizer
Daisuke134
Rewrite a pasted dissertation discussion chapter into clear, natural academic prose while preserving supplied results, limitations, and uncertainty.
SkillAFreshness: A★ 8Claude Code +9 - 0.624score
academic-limitations-editor
Daisuke134
Turn a pasted study limitations section into clear, proportionate academic prose without adding weaknesses, evidence, or claims that the author did not provide.
SkillAFreshness: A★ 8Claude Code +9 - 0.624score
academic-research-proposal-humanizer
Daisuke134
Revise a pasted research proposal into natural, evidence-preserving academic prose without adding claims, citations, methods, results, or institutional facts.
SkillAFreshness: A★ 8Claude Code +9 - 0.617score
affiliate
Daisuke134
Builds, runs, and migrates the Life Manager Affiliate Agent across macOS devices.
SkillAFreshness: A★ 8Claude Code +9
Signals
- Stars
- 8
- Forks
- 2
- Open issues
- 2,737
- Last commit (this folder)
- Oct 24, 2026 (4 days ago)
- Last release
- Aug 15, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Daisuke134/life-manager
- Website
- aniccaai.com/lm
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Daisuke134
- 0.631score
camofox-browser
Daisuke134
Stealth Firefox browser server for agent-driven Google OAuth and bot-protected sites.
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
anicca-life-manager
Daisuke134
Push-type AI 電話 エージェント。Google Calendar + 位置情報 + Bland.ai/Twilio + AgentMail で、user (Dais / OSS buyer) の人生を 全管理。出発時刻に電話 (RELENTLESS until 動く)、遅刻時に 謝罪 mail 自動…
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
marketplace-core
Daisuke134
Build an apply loop for a new gig marketplace.
SkillAFreshness: A★ 8Claude Code +9 - 0.628score
anicca-warmup-flip
Daisuke134
Daily loop that seeds Postiz warmup dates, promotes accounts to live after seven days, and reports every promotion to Telegram.
SkillAFreshness: A★ 8Claude Code +9 - 0.627score
browser-foundation
Daisuke134
Use when a Life Manager loop drives a registered Chromium identity, needs TikTok login, message, or authenticated-identity readback, leases CDP tabs or…
SkillAFreshness: A★ 8Claude Code +9 - 0.626score
customer-renewal-evidence-brief
Daisuke134
Use when a customer-success or account team needs to turn buyer-pasted account signals into a renewal-preparation brief without inventing health, intent…
SkillAFreshness: A★ 8Claude Code +9
Cite this page
capafy-autopublish skill. Agent Mart. https://agentmart.dev/skills/daisuke134-capafy-autopublish (last updated 2026-10-24)