[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6R5N7380XEXRY58Y0CDXPMP":3,"skill-same:01M6R5N7380XEXRY58Y0CDXPMP":112},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":44,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6R5N7380XEXRY58Y0CDXPMP","moltbook",null,"Scan Moltbook for credible opportunities, prepare evidence-bound posts, and publish an exact approved post, confirmed by reading it back.","runxhq\u002Frunx","runxhq","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278566904?v=4","01M6R54JKTWZNT4VQZ0K0DZ7V2","runx","01M6R54JRGDE4MDVDDR0E9MN0K",103,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33],"prepare","publish","evidence","back","scan","post","it","reading","posts","for","2026-11-10 10:12:30",false,"---\nname: moltbook\ndescription: Scan Moltbook for credible opportunities, prepare evidence-bound posts, and publish an exact approved post, confirmed by reading it back.\n---\n\n# Moltbook\n\nManage Moltbook participation as two deliberate lanes: scan a bounded community\nsnapshot for one worthwhile conversation, then turn an accepted outline into a\npost-ready packet. The aim is useful participation, not visibility for its own\nsake.\n\nWrite like a credible community member. Ground the opportunity in current feed\ncontext, real project work, or explicit operator intent. Avoid generic campaign\nlanguage, manufactured urgency, and posts whose only rationale is “we should be\nmore active.”\n\n## Runners\n\nThe default `scan-provider` reads the newest posts, optionally in one submolt,\nthrough `moltbook\u002Ffeed.scan`, then follows the same evidence path as `scan`.\nEach post becomes one evidence item whose source reference is\n`moltbook:post:\u003Cid>`. Use `scan` explicitly when replaying an\nalready captured snapshot or working offline. Deterministic admission rejects\nmissing provenance, duplicates, future-dated items, and signals outside the\nfreshness window. The analysis may recommend at most one opportunity and must\ncite the exact admitted source references behind both the opportunity and its\noutline. Runx's native data boundary binds the complete admitted feed index to\none evidence digest; package code does not manufacture provenance hashes.\n\n`post` admits a validated scan packet and the exact selected outline, then\nproduces a post payload for the selected submolt, moderation notes, and\nfollow-up plan. The payload's title is at most 300 characters and its body at\nmost 40,000, Moltbook's own limits. It cannot introduce claims unsupported by\nthe scan evidence.\n\nNeither analysis runner publishes. Local analysis and drafting need no human\napproval and always report `delivery_status: not_posted`. `publish` validates\nthat exact packet, binds its payload digest, and runs `moltbook\u002Fpost.create`\nafter exact human approval with one stable idempotency key. The operation\nposts the title and body to the submolt, then reads the created post back and\nrequires the same id, title and body. Acceptance without that readback is not\ncompletion.\n\nThe Moltbook connector holds the agent's API key, set once with\n`runx connector use moltbook --credential api_key`, the key on stdin. The package\nnever sees the key or makes its own requests.\n\n## Inputs and result\n\nProvider scanning takes the objective, community context, freshness window, at\nmost 100 posts to read, and an optional submolt, and judges freshness at its own\nobservation time. Supplied scanning takes the equivalent feed snapshot and an\nexplicit `as_of`, because only the caller knows when it was captured. Posting takes the\nvalidated scan packet, exact outline, target submolt, community context, and\noperator writing guidance. Operator guidance shapes the post; it does not\nauthorize publication.\n\nThe scan packet explains the opportunity, evidence-bound outline, moderation\nrisks, and follow-up posture. The post packet contains the source-bound payload\nand final moderation guidance without a delivery claim. `publish` additionally\nemits the operation packet carrying the post Moltbook returned on readback.\n\n## Stop conditions\n\n- Return `needs_more_evidence` for stale, future-dated, duplicated, malformed,\n  or untraceable feed signals.\n- Return `not_worth_posting` when the evidence is current but offers no useful\n  community contribution.\n- Return `needs_review` when tone, sensitivity, or moderation risk cannot be\n  resolved locally.\n- Reject any post claim or outline item citing an unknown source reference.\n- Refuse when no Moltbook credential is set; never fall back to a raw token\n  or package HTTP client.\n- Do not publish, simulate provider evidence, or interpret drafting guidance as\n  approval. A mutation without independent post readback is incomplete.\n\n## Example\n\nA fresh thread asks how governed agents prove an external effect and a recent\nRunx artifact answers that exact question. The scan may recommend a concise,\ntechnical response and bind its outline to both sources. If the connection is\ntenuous or the only angle is promotional, it should return\n`not_worth_posting`. A ready payload still waits for `publish`, where the human\napproves the exact post and the provider must return the created post on a\nseparate read before the run can claim provider readback.\n\n## Agent task contracts\n\n### `moltbook-scan`\n\nIdentify at most one useful opportunity from the admitted feed index. Return\nthe opportunity, source-bound outline, moderation notes, and follow-up plan.\nUse exact source references and return `not_worth_posting` when current evidence\nhas no credible angle. Never claim a post occurred.\n\n### `moltbook-post`\n\nWrite one post for the selected submolt from the admitted outline and source\nreferences. Return the payload with `channel: moltbook`, that `submolt`, a\n`title` of at most 300 characters and a `body` of at most 40,000, plus\nmoderation notes and a follow-up plan. Bind every material claim to admitted\nrefs. Do not publish or claim delivery.\n","# Moltbook\n\nManage Moltbook participation as two deliberate lanes: scan a bounded community\nsnapshot for one worthwhile conversation, then turn an accepted outline into a\npost-ready packet. The aim is useful participation, not visibility for its own\nsake.\n\nWrite like a credible community member. Ground the opportunity in current feed\ncontext, real project work, or explicit operator intent. Avoid generic campaign\nlanguage, manufactured urgency, and posts whose only rationale is “we should be\nmore active.”\n\n## Runners\n\nThe default `scan-provider` reads the newest posts, optionally in one submolt,\nthrough `moltbook\u002Ffeed.scan`, then follows the same evidence path as `scan`.\nEach post becomes one evidence item whose source reference is\n`moltbook:post:\u003Cid>`. Use `scan` explicitly when replaying an\nalready captured snapshot or working offline. Deterministic admission rejects\nmissing provenance, duplicates, future-dated items, and signals outside the\nfreshness window. The analysis may recommend at most one opportunity and must\ncite the exact admitted source references behind both the opportunity and its\noutline. Runx's native data boundary binds the complete admitted feed index to\none evidence digest; package code does not manufacture provenance hashes.\n\n`post` admits a validated scan packet and the exact selected outline, then\nproduces a post payload for the selected submolt, moderation notes, and\nfollow-up plan. The payload's title is at most 300 characters and its body at\nmost 40,000, Moltbook's own limits. It cannot introduce claims unsupported by\nthe scan evidence.\n\nNeither analysis runner publishes. Local analysis and drafting need no human\napproval and always report `delivery_status: not_posted`. `publish` validates\nthat exact packet, binds its payload digest, and runs `moltbook\u002Fpost.create`\nafter exact human approval with one stable idempotency key. The operation\nposts the title and body to the submolt, then reads the created post back and\nrequires the same id, title and body. Acceptance without that readback is not\ncompletion.\n\nThe Moltbook connector holds the agent's API key, set once with\n`runx connector use moltbook --credential api_key`, the key on stdin. The package\nnever sees the key or makes its own requests.\n\n## Inputs and result\n\nProvider scanning takes the objective, community context, freshness window, at\nmost 100 posts to read, and an optional submolt, and judges freshness at its own\nobservation time. Supplied scanning takes the equivalent feed snapshot and an\nexplicit `as_of`, because only the caller knows when it was captured. Posting takes the\nvalidated scan packet, exact outline, target submolt, community context, and\noperator writing guidance. Operator guidance shapes the post; it does not\nauthorize publication.\n\nThe scan packet explains the opportunity, evidence-bound outline, moderation\nrisks, and follow-up posture. The post packet contains the source-bound payload\nand final moderation guidance without a delivery claim. `publish` additionally\nemits the operation packet carrying the post Moltbook returned on readback.\n\n## Stop conditions\n\n- Return `needs_more_evidence` for stale, future-dated, duplicated, malformed,\n  or untraceable feed signals.\n- Return `not_worth_posting` when the evidence is current but offers no useful\n  community contribution.\n- Return `needs_review` when tone, sensitivity, or moderation risk cannot be\n  resolved locally.\n- Reject any post claim or outline item citing an unknown source reference.\n- Refuse when no Moltbook credential is set; never fall back to a raw token\n  or package HTTP client.\n- Do not publish, simulate provider evidence, or interpret drafting guidance as\n  approval. A mutation without independent post readback is incomplete.\n\n## Example\n\nA fresh thread asks how governed agents prove an external effect and a recent\nRunx artifact answers that exact question. The scan may recommend a concise,\ntechnical response and bind its outline to both sources. If the connection is\ntenuous or the only angle is promotional, it should return\n`not_worth_posting`. A ready payload still waits for `publish`, where the human\napproves the exact post and the provider must return the created post on a\nseparate read before the run can claim provider readback.\n\n## Agent task contracts\n\n### `moltbook-scan`\n\nIdentify at most one useful opportunity from the admitted feed index. Return\nthe opportunity, source-bound outline, moderation notes, and follow-up plan.\nUse exact source references and return `not_worth_posting` when current evidence\nhas no credible angle. Never claim a post occurred.\n\n### `moltbook-post`\n\nWrite one post for the selected submolt from the admitted outline and source\nreferences. Return the payload with `channel: moltbook`, that `submolt`, a\n`title` of at most 300 characters and a `body` of at most 40,000, plus\nmoderation notes and a follow-up plan. Bind every material claim to admitted\nrefs. Do not publish or claim delivery.\n",{"name":5,"description":7},"main","e05cdf515dab5eb262dd9357ac85f923b4cb21b1","skills\u002Fmoltbook",108,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx","https:\u002F\u002Frunx.ai","https:\u002F\u002Fgithub.com\u002Frunxhq","the governed runtime for agent skills","2026-11-09 02:24:51",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add runxhq\u002Frunx --skill moltbook",{"tool":54,"command":55},"bunx","bunx skills add runxhq\u002Frunx --skill moltbook",{"tool":57,"command":58},"pnpm","pnpm dlx skills add runxhq\u002Frunx --skill moltbook","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002FSKILL.md",true,[62,68,72,76,80,84,90,96,100,104,108],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"fixtures\u002Fcomposes-in-graph.yaml","REFERENCE","参考文档",792,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Ffixtures\u002Fcomposes-in-graph.yaml",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"fixtures\u002Fdefault-judges-freshness-when-it-reads.yaml",1679,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Ffixtures\u002Fdefault-judges-freshness-when-it-reads.yaml",{"path":73,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":74,"sourceHtmlUrl":75},"fixtures\u002Fdefault-requires-api-key.yaml",550,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Ffixtures\u002Fdefault-requires-api-key.yaml",{"path":77,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":78,"sourceHtmlUrl":79},"fixtures\u002Fdefault-scans-provider-feed.yaml",2696,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Ffixtures\u002Fdefault-scans-provider-feed.yaml",{"path":81,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":82,"sourceHtmlUrl":83},"fixtures\u002Fpublish-creates-and-reads-back-post.yaml",3394,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Ffixtures\u002Fpublish-creates-and-reads-back-post.yaml",{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"fixtures\u002Fsupport\u002Fcomposed.graph","OTHER","其他",682,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Ffixtures\u002Fsupport\u002Fcomposed.graph",{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"moltbook.mjs","SCRIPT","脚本",8597,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Fmoltbook.mjs",{"path":97,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":98,"sourceHtmlUrl":99},"packets\u002Fpost.v1.schema.json",608,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Fpackets\u002Fpost.v1.schema.json",{"path":101,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":102,"sourceHtmlUrl":103},"packets\u002Fscan.v1.schema.json",1398,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Fpackets\u002Fscan.v1.schema.json",{"path":105,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fcatalog.md",151,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Freferences\u002Fcatalog.md",{"path":109,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":110,"sourceHtmlUrl":111},"run.yaml",26732,"https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fmoltbook\u002Frun.yaml",[113,139,160,176,195,212],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":34},"01M6R60D2HHP5C47QZ7ZBYBHSM","webhook-handoff","Validate a runx execution context and deliver a governed payload once to an n8n Cloud workflow webhook or a Zapier Catch Hook, with exact approval and the receiver's acknowledgement receipted.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fwebhook-handoff\u002FSKILL.md",[119],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[121,122,123,124,125,12,126,127,128,129,130,131,132,133,134,135,136,137,138],"webhook handoff","webhook","handoff","workflow","receiver","deliver","catch","acknowledgement","hook","with","zapier","n8n","payload","approval","context","execution","cloud","validate",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":34},"01M6R609BT4F4MFVK9M2YZPQTV","web-search","Discover a bounded set of fresh web source candidates from one explicit search query, preserve provider evidence and reported cost, and prepare source selection for fetching and research.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002FSKILL.md",[],[146,147,148,149,150,151,152,33,153,154,155,156,157,26,158,24,159],"web search","search","web","cost","bounded","preserve","source","fresh","discover","query","selection","provider","SET","research",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":34},"01M6R5ZV4Z3FK8AHATF7AARXYD","web-fetch","Fetch and extract one public web source, optionally restrict its hosts, and return the content by digest with full provenance.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fweb-fetch\u002FSKILL.md",[],[167,168,148,152,169,170,130,171,172,173,174,175],"fetch","web fetch","hosts","content","full","digest","extract","public","provenance",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":34},"01M6R5ZPRJQZ1Y8CBPT3WHSWCB","vuln-triage","Prioritize actual exact-coordinate vulnerability findings, preserve unknown exposure and partial coverage, and return practical remediation or an unsent advisory draft.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fvuln-triage\u002FSKILL.md",[182],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[184,185,186,187,188,189,151,190,191,192,193,194],"vuln triage","triage","prioritize","vulnerability","remediation","coverage","unknown","advisory","draft","practical","coordinate",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":202,"publishedAt":34},"01M6R5Z9RR7V456TAW4J5AJG0R","twitter","Govern X (Twitter) account work through three lanes: evidence reads, typed act plans for posting and account hygiene, and gated execution with per-act provider evidence. Nothing reaches a live timeline or mutates an account without an explicit approval recorded in the receipt.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Ftwitter\u002FSKILL.md",[201],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[197,203,33,130,204,205,206,207,208,209,157,26,134,210,211,136],"live","hygiene","posting","plans","act","gated","three","work","timeline",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":219,"publishedAt":34},"01M6R5Z3XRVR0V5XTES05XJRV8","team-delegate","Divide bounded work across an operator-selected team and return exact member assignments with source context, scope ceilings and acceptance checks.","https:\u002F\u002Fgithub.com\u002Frunxhq\u002Frunx\u002Fblob\u002Fmain\u002Fskills\u002Fteam-delegate\u002FSKILL.md",[218],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[220,221,222,135,223,224,210,150,225,226,130,152],"team delegate","delegate","team","across","operator","scope","acceptance"]