[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PDSP70C9MCEY8VNFDYFTK4":3,"skill-same:01M6PDSP70C9MCEY8VNFDYFTK4":76},{"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":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":57,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6PDSP70C9MCEY8VNFDYFTK4","writing-fragments",null,"Grilling session that mines the user for fragments — heterogeneous nuggets of writing (claims, vignettes, sharp sentences, half-thoughts) — and appends them to a single document as raw material for a future article. Use when the user wants to develop ideas before imposing structure, or mentions \"fragments\", \"ideate\", or \"raw material\" for writing.","stevesolun\u002Fctx","stevesolun","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1304538?v=4","01M6PDDJQ35XAXMPJQP8YG3P2X","Steve Solun","01M6PDDJVJ663A3CMV7XQN9XAY",590,"MIT","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fimported-skills\u002Fmattpocock\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,35,36,37,38,39,40,41,42,43,44,45,46],"writing fragments","writing","structure","single","for","claims","sharp","material","as","article","ideas","document","use","session","user","develop","ideate","grilling","2026-11-10 10:12:30",false,"---\nname: writing-fragments\ndescription: Grilling session that mines the user for fragments — heterogeneous nuggets of writing (claims, vignettes, sharp sentences, half-thoughts) — and appends them to a single document as raw material for a future article. Use when the user wants to develop ideas before imposing structure, or mentions \"fragments\", \"ideate\", or \"raw material\" for writing.\n---\n\n\u003Cwhat-to-do>\n\nRun a grilling session that produces fragments. Interview the user relentlessly about whatever they want to write about. Do not impose phases, outlines, or structure — that is explicitly out of scope.\n\nAs fragments emerge from either side of the conversation, append them to a single markdown file. The user will be editing this file during the session; always re-read it before writing so their edits are preserved.\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\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 — 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\nRun a grilling session that produces fragments. Interview the user relentlessly about whatever they want to write about. Do not impose phases, outlines, or structure — that is explicitly out of scope.\n\nAs fragments emerge from either side of the conversation, append them to a single markdown file. The user will be editing this file during the session; always re-read it before writing so their edits are preserved.\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\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 — 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},"main","11b582a7cd4d549f1e83c412e04421bcc9c3fc28","imported-skills\u002Fmattpocock\u002Fwriting-fragments",69,"https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx","https:\u002F\u002Fstevesolun.github.io\u002Fctx\u002F","https:\u002F\u002Fgithub.com\u002Fstevesolun","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsolunsteve\u002F","High motivated, dedicated, fast learner data scientist and enthusiastic researcher.","2026-10-15 03:55:28",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add stevesolun\u002Fctx --skill writing-fragments",{"tool":68,"command":69},"bunx","bunx skills add stevesolun\u002Fctx --skill writing-fragments",{"tool":71,"command":72},"pnpm","pnpm dlx skills add stevesolun\u002Fctx --skill writing-fragments","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fimported-skills\u002Fmattpocock\u002Fwriting-fragments\u002FSKILL.md",true,[],[77,103,124,150,172,193],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":47},"01M6PDTT7F6Z9T6G6H92845RNC","toolbox","Pre\u002Fpost dev toolbox — named bundles of skills\u002Fagents loaded before development work and councils of experts invoked after. Run \u002Ftoolbox or the toolbox.py CLI to list, activate, initialize, export, import, and validate toolboxes. Invoke at the start or end of a dev session, when setting up a new repo, or when sharing toolboxes with a team.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Ftoolbox\u002FSKILL.md",[],[79,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"cli","development","run","start","team","work","list","initialize","export","up","activate","feature","end","new repo","false","import","experts","at","invoke",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":112,"publishedAt":47},"01M6PDTNZ10BAW6VY49S40NCBB","skill-router","Alive skill router — reads the current project's stack and loads\u002Funloads skills dynamically. Invoke at session start or when project context changes.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Fskill-router\u002FSKILL.md",[109],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[113,114,87,115,116,117,42,118,119,120,121,122,101,123,102],"router","skill router","Meta","stack","context","project context","project","loads","session start","true","changes",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":131,"publishedAt":47},"01M6PDTGVDG503T4QNX64KJMAC","repo-stats-autoupdate","Keeps README badge + inline counts in sync with the real number of skills, agents, graph nodes\u002Fedges, communities, converted pipelines, and test inventory. Runs automatically on every commit via a git pre-commit hook. Use when the README drifts from reality or before publishing a release.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Frepo-stats-autoupdate\u002FSKILL.md",[130],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},[132,133,134,135,136,137,138,139,140,141,142,143,41,144,145,98,146,147,148,149],"stats","repo","repo stats autoupdate","test","commit","sync","release","git","graph","pre-commit","inventory","README","publishing","communities","with","hook","number","inline",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":160,"publishedAt":47},"01M6PDTC3AB7H4NXJFS3SDKQG9","find-skills","Discover installable agent skills from ctx's shipped Skills.sh catalog, the Skills.sh search API, and the npx skills CLI. Use when a user asks whether a skill exists, wants to add\u002Fupdate a skill, or needs a repeatable procedure for finding candidate skills safely.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fskills\u002Ffind-skills\u002FSKILL.md",[156,157],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":158,"categoryName":159,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师",[161,162,84,163,164,165,43,166,41,65,167,168,169,33,170,171],"find skills","find","update","search","api","catalog","discover","add","skills cli","candidate","ctx",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":47},"01M6PDT6ETDH54GGY7K8E29Y9V","no-mistakes","Validate committed feature-branch changes through the no-mistakes pipeline: intent, rebase, review, test, docs, lint, push, PR, and CI. Use when the user asks to run no-mistakes, ship safely, validate before pushing, or gate a change before it reaches upstream.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fimported-skills\u002Fno-mistakes\u002Fskills\u002Fno-mistakes\u002FSKILL.md",[],[179,180,135,181,182,183,86,184,185,186,187,188,189,190,41,191,192,95,122,123],"no mistakes","review","change","validate","pr","lint","push","ci","pipeline","ship","rebase","branch","intent","upstream",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":201,"publishedAt":47},"01M6PDT18DD3HETZF1CF39CT8J","zoom-out","Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.","https:\u002F\u002Fgithub.com\u002Fstevesolun\u002Fctx\u002Fblob\u002Fmain\u002Fimported-skills\u002Fmattpocock\u002Fzoom-out\u002FSKILL.md",[199,200],{"categoryNo":110,"categoryName":111,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":158,"categoryName":159,"taxonomyType":26,"taxonomyTypeDesc":27},[202,203,204,205,117,41,206,207,146,208,209,122,210,211],"zoom out","zoom","code","how","it","understand","you","re","perspective","section"]