[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BVSZJCAMR21FGYZC4Q97TZ":3,"skill-same:01M6BVSZJCAMR21FGYZC4Q97TZ":69},{"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":28,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":47,"ownerDescription":48,"updatedAt":49,"install":50,"resources":62},"01M6BVSZJCAMR21FGYZC4Q97TZ","writing-fragments",null,"Writing, explore: mine raw fragments, no structure yet.","feniix\u002Fdotfiles","feniix","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F91633?v=4","01M6BVMJ0Q5E6HZ4JTEWYBBKV9","Sebastian B Otaegui","01M6BVMJ53ZV8DFKXTRBPESTF3",8,"MIT","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwriting-fragments\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[29,30,31,32,33,34],"writing","writing fragments","explore","structure","mine","true","2026-11-10 10:12:30",false,"---\nname: writing-fragments\ndescription: \"Writing, explore: mine raw fragments, no structure yet.\"\ndisable-model-invocation: true\n---\n\n\u003Cwhat-to-do>\n\nThis is pure **explore**: widen the space of what could be written without committing to structure. Committing is _exploit_, a separate skill's job. Run a grilling session that produces fragments, interviewing the user relentlessly about whatever they want to write about. Imposing phases, outlines, or article structure is out of scope here.\n\nAs fragments emerge from either side of the conversation, append them to a single markdown file.\n\nIf the user did not pass a path, ask once where to save the document, then remember it for the rest of the session.\n\nCapture fragments from the very first thing the user says, including the initial prompt.\n\nOn first write, put a single H1 at the top with a working title (it can change later) and nothing else: no metadata, no TOC, no date.\n\n\u003C\u002Fwhat-to-do>\n\n\u003Csupporting-info>\n\n## What is a fragment\n\nA fragment is any piece of text that might survive into the final article. It must be _readable by the author_ (the author can tell what it means), but it does not need to define its terms or be comprehensible to a cold reader. The bar is \"is this a piece of good writing?\", not \"is this a self-contained argument?\"\n\nFragments are deliberately heterogeneous. Examples of what could be a fragment:\n\n- A sharp sentence you'd want to deploy somewhere but don't yet know where.\n- A claim with a one-line justification.\n- A vignette: a thing that happened, a code snippet, a scenario, an analogy.\n- A half-thought: \"something about how X feels like Y, work this out later.\"\n- A quote, a piece of dialogue, an overheard line.\n- A list of related observations that hang together by feel.\n- A complaint, a confession, a punchline.\n- A **leading word**: a compact metaphor or coinage the whole piece can hang on (one term that names the idea, the way _tracer bullets_ or _fog of war_ names a whole pattern).\n\nOf these, the leading word is the most valuable fragment to land. It is load-bearing: name the right one in explore and it shapes the structure, the transitions, and the title later, paying dividends through the entire exploit phase. When the conversation circles a recurring idea, push to coin a word for it.\n\nThe novelist's diary is the model: years of unstructured noticings that later get mined for raw material. Fragments are noticings.\n\n## File format\n\n```markdown\n# Working title\n\nA first fragment lives here.\n\nIt can be multiple paragraphs. It can include lists, code, quotes: whatever\nshape the fragment naturally takes.\n\n---\n\nA second fragment.\n\n---\n\n> A quoted line that the user wants to keep around.\n\nA reaction to it.\n\n---\n\n- A cluster of related observations\n- That hang together by feel\n- And want to be near each other\n```\n\nFragments are separated by a horizontal rule (`\\n---\\n`). No headings inside the body. No tags. No order beyond the order they were added.\n\n## Writing rhythm\n\nAppend silently. Don't ask permission for each fragment. Mention what you added in passing (\"adding that\"), but don't interrupt the conversation with save dialogs.\n\nBefore every write: re-read the file from disk. The user may have edited, reordered, or deleted fragments between turns, so preserve their changes. Never overwrite the file; only append (or, if the user asks, edit a specific fragment in place).\n\nThe user can say \"cut the last one\", \"rewrite that one sharper\", \"merge those two\" at any time. Treat those as first-class instructions.\n\n\u003C\u002Fsupporting-info>\n","\u003Cwhat-to-do>\n\nThis is pure **explore**: widen the space of what could be written without committing to structure. Committing is _exploit_, a separate skill's job. Run a grilling session that produces fragments, interviewing the user relentlessly about whatever they want to write about. Imposing phases, outlines, or article structure is out of scope here.\n\nAs fragments emerge from either side of the conversation, append them to a single markdown file.\n\nIf the user did not pass a path, ask once where to save the document, then remember it for the rest of the session.\n\nCapture fragments from the very first thing the user says, including the initial prompt.\n\nOn first write, put a single H1 at the top with a working title (it can change later) and nothing else: no metadata, no TOC, no date.\n\n\u003C\u002Fwhat-to-do>\n\n\u003Csupporting-info>\n\n## What is a fragment\n\nA fragment is any piece of text that might survive into the final article. It must be _readable by the author_ (the author can tell what it means), but it does not need to define its terms or be comprehensible to a cold reader. The bar is \"is this a piece of good writing?\", not \"is this a self-contained argument?\"\n\nFragments are deliberately heterogeneous. Examples of what could be a fragment:\n\n- A sharp sentence you'd want to deploy somewhere but don't yet know where.\n- A claim with a one-line justification.\n- A vignette: a thing that happened, a code snippet, a scenario, an analogy.\n- A half-thought: \"something about how X feels like Y, work this out later.\"\n- A quote, a piece of dialogue, an overheard line.\n- A list of related observations that hang together by feel.\n- A complaint, a confession, a punchline.\n- A **leading word**: a compact metaphor or coinage the whole piece can hang on (one term that names the idea, the way _tracer bullets_ or _fog of war_ names a whole pattern).\n\nOf these, the leading word is the most valuable fragment to land. It is load-bearing: name the right one in explore and it shapes the structure, the transitions, and the title later, paying dividends through the entire exploit phase. When the conversation circles a recurring idea, push to coin a word for it.\n\nThe novelist's diary is the model: years of unstructured noticings that later get mined for raw material. Fragments are noticings.\n\n## File format\n\n```markdown\n# Working title\n\nA first fragment lives here.\n\nIt can be multiple paragraphs. It can include lists, code, quotes: whatever\nshape the fragment naturally takes.\n\n---\n\nA second fragment.\n\n---\n\n> A quoted line that the user wants to keep around.\n\nA reaction to it.\n\n---\n\n- A cluster of related observations\n- That hang together by feel\n- And want to be near each other\n```\n\nFragments are separated by a horizontal rule (`\\n---\\n`). No headings inside the body. No tags. No order beyond the order they were added.\n\n## Writing rhythm\n\nAppend silently. Don't ask permission for each fragment. Mention what you added in passing (\"adding that\"), but don't interrupt the conversation with save dialogs.\n\nBefore every write: re-read the file from disk. The user may have edited, reordered, or deleted fragments between turns, so preserve their changes. Never overwrite the file; only append (or, if the user asks, edit a specific fragment in place).\n\nThe user can say \"cut the last one\", \"rewrite that one sharper\", \"merge those two\" at any time. Treat those as first-class instructions.\n\n\u003C\u002Fsupporting-info>\n",{"name":5,"description":7,"disable-model-invocation":40},true,"main","23e30a8887155f1bfa8c727b3c81128c3f918088","agents\u002Fskills\u002Fwriting-fragments",0,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles","https:\u002F\u002Fgithub.com\u002Ffeniix","https:\u002F\u002Ffeniix-hq.net\u002F","Systems and platform engineer. Kubernetes, Terraform, CI\u002FCD, observability; MCP and agent tooling. asdf plugins, Prometheus Operator.","2026-11-09 04:16:06",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":40},[52,55,58],{"tool":53,"command":54},"npx","npx skills add feniix\u002Fdotfiles --skill writing-fragments",{"tool":56,"command":57},"bunx","bunx skills add feniix\u002Fdotfiles --skill writing-fragments",{"tool":59,"command":60},"pnpm","pnpm dlx skills add feniix\u002Fdotfiles --skill writing-fragments","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwriting-fragments\u002FSKILL.md",[63],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"agents\u002Fopenai.yaml","REFERENCE","参考文档",140,"https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwriting-fragments\u002Fagents\u002Fopenai.yaml",[70,97,107,138,152,164],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":35},"01M70M28HFDKQPGSWESHGB0HV4","security-audit","Security guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full\u002Fcomprehensive\u002Fend-to-end reviews, or requested report artifacts.","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fsecurity-audit\u002FSKILL.md",[],[77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],"security","audit","security audit","review","cli","workflow","libraries","run","Tools","vulnerability","security guidance","use","only","codebase audit","full","tests","end","complete","reviews","for",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":105,"publishedAt":35},"01M6BVT1CVKQNSANZMZTNBDDY5","writing-shape","Writing, exploit: shape raw material into an article, paragraph by paragraph.","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwriting-shape\u002FSKILL.md",[103,104],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[106,29],"writing shape",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":111,"licenseFileUrl":112,"sourceHtmlUrl":113,"categories":114,"keywords":121,"publishedAt":35},"01M6BVSP7TBXD5GBW6KBTN5GGC","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[115,118],{"categoryNo":116,"categoryName":117,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[122,123,124,96,125,126,127,128,129,130,131,132,133,134,135,136,137],"testing","webapp testing","webapp","logs","with","local","behavior","applications","toolkit","ui","frontend","screenshots","playwright","web","debugging","browser",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":35},"01M6BVSMEE5GRR6ZCM43JNR73Y","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[140,145,146,147,148,149,150,151],"chunk","plan","decision","work","one at a time","session","issue",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":35},"01M6BVS3BHEG1D2RPZ2J6GNV90","to-tickets","Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker (edges as text in one file per ticket locally, or native blocking links on a real tracker).","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Fto-tickets\u002FSKILL.md",[],[159,160,161,162,163,146],"to tickets","text","spec","file","SET",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":35},"01M6BVRT61DF4XJE3ZERBBV0AW","tdd","Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions \"red-green-refactor\", or wants integration tests.","https:\u002F\u002Fgithub.com\u002Ffeniix\u002Fdotfiles\u002Fblob\u002Fmain\u002Fagents\u002Fskills\u002Ftdd\u002FSKILL.md",[],[166,171,172,173,174,175,176,177,178,88,179],"test","integration tests","development","integration","refactor","first","user","fix","red-green-refactor"]