[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71NPENYS8YZWEBVTDBZDTJN":3,"skill-same:01M71NPENYS8YZWEBVTDBZDTJN":69},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":46,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M71NPENYS8YZWEBVTDBZDTJN","raft-manager",null,"Use when an org role acts as Raft manager and must keep one replicated log consistent via leader election and majority-committed replication. Covers randomized election timeouts, persisting term and vote, idempotent ops, split-brain tests and snapshotting; crash faults only, not Byzantine.","monoes\u002Fmonomind","monoes","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F276744696?v=4","01M71KWF37AJ2NJBP3KWBVSDGT","01M71KWF4CSF8ADH0M6HA09VD2",23,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fraft-manager\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"raft manager","manager","Raft","keep","monomind","one","when","idempotent","split","replication","architecture","as","tests","log","only","reliability","use","ops","coordination","leader","2026-11-10 10:56:23",false,"---\nname: raft-manager\ndescription: \"Use when an org role acts as Raft manager and must keep one replicated log consistent via leader election and majority-committed replication. Covers randomized election timeouts, persisting term and vote, idempotent ops, split-brain tests and snapshotting; crash faults only, not Byzantine.\"\ntags: [\"operations\",\"coordination\",\"reliability\",\"architecture\"]\ntools: []\nlicense: Apache-2.0\nsource: https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\n---\n# Raft Manager — Best Practices\n\n## Focus\nMaintains a single authoritative, replicated log across participants via leader election and log replication — consensus under crash\u002Fomission faults, not malicious ones.\n\n## Best practices\n- Keep the three subproblems separate in reasoning and implementation: leader election, log replication, and safety. Raft's whole value is that each is tractable in isolation — don't blur them together.\n- Use randomized election timeouts so followers don't all become candidates simultaneously; without randomization, split votes recur and elections stall.\n- Only mark a log entry committed once it's replicated to a majority of servers — never apply an entry to the state machine before that majority is confirmed.\n- Give every client operation an idempotency key (e.g. a sequence number) so re-execution from the log after a leader change or retry can't double-apply it.\n- Persist term number and vote state to stable storage before responding to any RPC — a node that forgets its term or vote across a restart can violate safety.\n- Never let a leader with a stale term keep acting as leader; step down immediately on discovering a higher term from any peer.\n\n## Common pitfalls\n- Conflating consensus, coordination, and replication — consensus is agreeing on a single ordered log; coordination (e.g. distributed locks) is a use case built on top of it; replication just copies data without ordering guarantees on its own. Building one where the problem actually needs another is a common design error.\n- Relying on wall-clock time without accounting for clock issues — NTP slews or a backward time jump can break election-timeout assumptions and cause spurious elections or missed heartbeats.\n- Treating \"leader elected\" as \"state agreed\" — a new leader must still catch followers up to the latest committed entry before the cluster is actually consistent.\n- Skipping snapshotting\u002Flog compaction on long-running clusters, letting the replicated log grow unbounded and making new-node catch-up impractically slow.\n- Applying an Raft-replicated decision as though it also tolerates malicious participants — Raft assumes honest-but-possibly-crashed nodes; it gives no protection against a node that lies.\n\n## Tools & techniques\n- Verify committed status by checking replication count against cluster majority explicitly, not by trusting the leader's local view alone.\n- Attach a monotonic operation id to every client request so re-application from the log is detectable and skippable.\n- Test explicitly for split-brain scenarios (partitioned leader still receiving client writes) — the term\u002Fquorum mechanism should make the partitioned leader's writes unable to commit, verify that it actually does.\n- Log every term change and leader transition; when debugging a consistency issue, the term\u002Flog-index history is almost always where the answer is.\n","# Raft Manager — Best Practices\n\n## Focus\nMaintains a single authoritative, replicated log across participants via leader election and log replication — consensus under crash\u002Fomission faults, not malicious ones.\n\n## Best practices\n- Keep the three subproblems separate in reasoning and implementation: leader election, log replication, and safety. Raft's whole value is that each is tractable in isolation — don't blur them together.\n- Use randomized election timeouts so followers don't all become candidates simultaneously; without randomization, split votes recur and elections stall.\n- Only mark a log entry committed once it's replicated to a majority of servers — never apply an entry to the state machine before that majority is confirmed.\n- Give every client operation an idempotency key (e.g. a sequence number) so re-execution from the log after a leader change or retry can't double-apply it.\n- Persist term number and vote state to stable storage before responding to any RPC — a node that forgets its term or vote across a restart can violate safety.\n- Never let a leader with a stale term keep acting as leader; step down immediately on discovering a higher term from any peer.\n\n## Common pitfalls\n- Conflating consensus, coordination, and replication — consensus is agreeing on a single ordered log; coordination (e.g. distributed locks) is a use case built on top of it; replication just copies data without ordering guarantees on its own. Building one where the problem actually needs another is a common design error.\n- Relying on wall-clock time without accounting for clock issues — NTP slews or a backward time jump can break election-timeout assumptions and cause spurious elections or missed heartbeats.\n- Treating \"leader elected\" as \"state agreed\" — a new leader must still catch followers up to the latest committed entry before the cluster is actually consistent.\n- Skipping snapshotting\u002Flog compaction on long-running clusters, letting the replicated log grow unbounded and making new-node catch-up impractically slow.\n- Applying an Raft-replicated decision as though it also tolerates malicious participants — Raft assumes honest-but-possibly-crashed nodes; it gives no protection against a node that lies.\n\n## Tools & techniques\n- Verify committed status by checking replication count against cluster majority explicitly, not by trusting the leader's local view alone.\n- Attach a monotonic operation id to every client request so re-application from the log is detectable and skippable.\n- Test explicitly for split-brain scenarios (partitioned leader still receiving client writes) — the term\u002Fquorum mechanism should make the partitioned leader's writes unable to commit, verify that it actually does.\n- Log every term change and leader transition; when debugging a consistency issue, the term\u002Flog-index history is almost always where the answer is.\n",{"name":5,"tags":43,"tools":45,"source":46,"license":14,"description":7},[44,36,33,28],"operations",[],"https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind","main","f7cd4595d0f8959822163e14f9787117765c931a","packages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fraft-manager",2,"https:\u002F\u002Fmonoes.github.io\u002Fmonomind\u002F","https:\u002F\u002Fgithub.com\u002Fmonoes","https:\u002F\u002Fmonoes.me","2026-11-14 03:30:52",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add monoes\u002Fmonomind --skill raft-manager",{"tool":61,"command":62},"bunx","bunx skills add monoes\u002Fmonomind --skill raft-manager",{"tool":64,"command":65},"pnpm","pnpm dlx skills add monoes\u002Fmonomind --skill raft-manager","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fraft-manager\u002FSKILL.md",true,[],[70,97,133,159,184,211],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":96},"01M71PB3SHWKMNJM6MD65VX8D6","zk-steward","Org role guidance for a ZK steward: engineer zero-knowledge proof systems with circuit design, SNARK vs STARK choice and security review. This is zero-knowledge cryptography, not Zettelkasten note-taking.","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fzk-steward\u002FSKILL.md",[],[77,78,79,80,81,82,83,84,85,86,87,88,22,89,90,91,92,93,94,95],"zk","zk steward","steward","zero-knowledge","engineer","choice","design","knowledge","impact","query","snark","review","security review","stark","zettelkasten","cryptography","security","org","blockchain","2026-11-10 13:02:02",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":101,"licenseFileUrl":102,"sourceHtmlUrl":103,"categories":104,"keywords":115,"publishedAt":96},"01M71PB18SDG28WBKPKJNB814K","writing-plans","Use when you have a spec or requirements for a multi-step coding task and must write an implementation plan before touching code. Produces bite-sized TDD tasks with exact file paths, code and commands for an engineer with zero context.","MIT","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fwriting-plans\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fwriting-plans\u002FSKILL.md",[105,110],{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[116,117,118,81,119,120,24,121,86,122,123,124,125,126,127,128,129,130,131,132],"writing","writing plans","plans","superpowers","implementation plan","you","code","tasks","plan","product","write","commands","paths","suggest","coding","context","ZeRO",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":137,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":96},"01M71PAXFM488X9ARXK0T04TF5","write-spec","Write a feature spec or PRD from a problem statement or feature idea. Use when turning a vague idea or user request into a structured document, scoping a feature with goals and non-goals, defining success metrics and acceptance criteria, or breaking a big ask into a phased spec.","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fwrite-spec\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fwrite-spec\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000031","产品经理",[126,144,145,146,147,84,148,24,149,150,151,125,152,153,154,155,156,157,34,158],"write spec","spec","user request","problem","acceptance","ask","vague","work","request","scoping","idea","metrics","feature","problem statement","document",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":163,"sourceHtmlUrl":164,"categories":165,"keywords":169,"publishedAt":96},"01M71PASSZY800C0RPEARBS918","write-query","Write optimized SQL for your dialect with best practices. Use when translating a natural-language data need into SQL, building a multi-CTE query with joins and aggregations, optimizing a query against a large partitioned table, or getting dialect-specific syntax for Snowflake, BigQuery, Postgres, etc.","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fwrite-query\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fwrite-query\u002FSKILL.md",[166],{"categoryNo":167,"categoryName":168,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000033","数据分析师",[86,126,170,171,172,173,84,34,24,174,175,176,177,151,178,179,180,181,182,183],"write query","postgres","for","snowflake","best practices","natural-language","with","multi","github","sql","https","syntax","plugins","data",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":196,"publishedAt":96},"01M71PAPTX0T3PF6ETFVR96SJJ","workflow-automation","Org role guidance for workflow automation: build and maintain CI\u002FCD definitions in GitHub Actions or equivalent: triggers, jobs, matrices, caching. Covers path filters, dependency caching, parallel jobs, timeouts and fail-fast ordering.","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fworkflow-automation\u002FSKILL.md",[190,193],{"categoryNo":191,"categoryName":192,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":194,"categoryName":195,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000023","Skill与智能体开发",[197,198,199,200,172,201,202,203,204,85,205,206,207,86,22,178,208,209,210,180],"Workflow Automation","automation","workflow","parallel","actions","ci","triggers","github actions","maintain","filters","caching","build","dependency","devops",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":218,"publishedAt":96},"01M71PAM19Z1XTV9NPCFSE2MY8","workflow-architect","Org role guidance for a workflow architect: map full workflow trees for systems, user journeys and agents, covering every branch and failure. Covers discovering workflows from code, handoff contracts, timeouts, recovery paths and observable state.","https:\u002F\u002Fgithub.com\u002Fmonoes\u002Fmonomind\u002Fblob\u002Fmain\u002Fpackages\u002F@monomind\u002Fcli\u002Forg-skills\u002Fworkflow-architect\u002FSKILL.md",[217],{"categoryNo":194,"categoryName":195,"taxonomyType":108,"taxonomyTypeDesc":109},[199,219,220,221,222,223,224,172,225,226,122,28,227,228,22,178,229,44,180,230],"workflow architect","architect","trees","user journeys","branch","planning","map","workflows","state","leadership","recovery","systems"]