[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6RACSJ4YESFZK8ECF20KSS4":3,"skill-same:01M6RACSJ4YESFZK8ECF20KSS4":61},{"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":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":46,"updatedAt":47,"install":48,"resources":60},"01M6RACSJ4YESFZK8ECF20KSS4","typeset",null,"Improves typography by fixing font choices, hierarchy, sizing, weight, and readability so text feels intentional. Use when the user mentions fonts, type, readability, text hierarchy, sizing looks off, or wants more polished, intentional typography.","Nairon-AI\u002Fagentic-starter-pack","Nairon-AI","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F260662138?v=4","01M6R8PZ1Y8CSQGFN61VACZGTH","Nairon AI","01M6R8PZ6184VR3BA88YZFBC3N",4,"MIT","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Ffrontend\u002Fspecialists\u002Ftypeset\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30],"text","user","use","typography","readability","type","fonts","more","true","font","hierarchy","when","2026-11-10 10:12:30",false,"---\nname: typeset\ndescription: Improves typography by fixing font choices, hierarchy, sizing, weight, and readability so text feels intentional. Use when the user mentions fonts, type, readability, text hierarchy, sizing looks off, or wants more polished, intentional typography.\nversion: 2.1.1\nuser-invocable: true\nargument-hint: \"[target]\"\n---\n\nAssess and improve typography that feels generic, inconsistent, or poorly structured — turning default-looking text into intentional, well-crafted type.\n\n## MANDATORY PREPARATION\n\nInvoke \u002Fimpeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run \u002Fimpeccable teach first.\n\n---\n\n## Assess Current Typography\n\nAnalyze what's weak or generic about the current type:\n\n1. **Font choices**:\n   - Are we using invisible defaults? (Inter, Roboto, Arial, Open Sans, system defaults)\n   - Does the font match the brand personality? (A playful brand shouldn't use a corporate typeface)\n   - Are there too many font families? (More than 2-3 is almost always a mess)\n\n2. **Hierarchy**:\n   - Can you tell headings from body from captions at a glance?\n   - Are font sizes too close together? (14px, 15px, 16px = muddy hierarchy)\n   - Are weight contrasts strong enough? (Medium vs Regular is barely visible)\n\n3. **Sizing & scale**:\n   - Is there a consistent type scale, or are sizes arbitrary?\n   - Does body text meet minimum readability? (16px+)\n   - Is the sizing strategy appropriate for the context? (Fixed `rem` scales for app UIs; fluid `clamp()` for marketing\u002Fcontent page headings)\n\n4. **Readability**:\n   - Are line lengths comfortable? (45-75 characters ideal)\n   - Is line-height appropriate for the font and context?\n   - Is there enough contrast between text and background?\n\n5. **Consistency**:\n   - Are the same elements styled the same way throughout?\n   - Are font weights used consistently? (Not bold in one section, semibold in another for the same role)\n   - Is letter-spacing intentional or default everywhere?\n\n**CRITICAL**: The goal isn't to make text \"fancier\" — it's to make it clearer, more readable, and more intentional. Good typography is invisible; bad typography is distracting.\n\n## Plan Typography Improvements\n\nConsult the [typography reference](reference\u002Ftypography.md) from the impeccable skill for detailed guidance on scales, pairing, and loading strategies.\n\nCreate a systematic plan:\n\n- **Font selection**: Do fonts need replacing? What fits the brand\u002Fcontext?\n- **Type scale**: Establish a modular scale (e.g., 1.25 ratio) with clear hierarchy\n- **Weight strategy**: Which weights serve which roles? (Regular for body, Semibold for labels, Bold for headings — or whatever fits)\n- **Spacing**: Line-heights, letter-spacing, and margins between typographic elements\n\n## Improve Typography Systematically\n\n### Font Selection\n\nIf fonts need replacing:\n- Choose fonts that reflect the brand personality\n- Pair with genuine contrast (serif + sans, geometric + humanist) — or use a single family in multiple weights\n- Ensure web font loading doesn't cause layout shift (`font-display: swap`, metric-matched fallbacks)\n\n### Establish Hierarchy\n\nBuild a clear type scale:\n- **5 sizes cover most needs**: caption, secondary, body, subheading, heading\n- **Use a consistent ratio** between levels (1.25, 1.333, or 1.5)\n- **Combine dimensions**: Size + weight + color + space for strong hierarchy — don't rely on size alone\n- **App UIs**: Use a fixed `rem`-based type scale, optionally adjusted at 1-2 breakpoints. Fluid sizing undermines the spatial predictability that dense, container-based layouts need\n- **Marketing \u002F content pages**: Use fluid sizing via `clamp(min, preferred, max)` for headings and display text. Keep body text fixed\n\n### Fix Readability\n\n- Set `max-width` on text containers using `ch` units (`max-width: 65ch`)\n- Adjust line-height per context: tighter for headings (1.1-1.2), looser for body (1.5-1.7)\n- Increase line-height slightly for light-on-dark text\n- Ensure body text is at least 16px \u002F 1rem\n\n### Refine Details\n\n- Use `tabular-nums` for data tables and numbers that should align\n- Apply proper `letter-spacing`: slightly open for small caps and uppercase, default or tight for large display text\n- Use semantic token names (`--text-body`, `--text-heading`), not value names (`--font-16`)\n- Set `font-kerning: normal` and consider OpenType features where appropriate\n\n### Weight Consistency\n\n- Define clear roles for each weight and stick to them\n- Don't use more than 3-4 weights (Regular, Medium, Semibold, Bold is plenty)\n- Load only the weights you actually use (each weight adds to page load)\n\n**NEVER**:\n- Use more than 2-3 font families\n- Pick sizes arbitrarily — commit to a scale\n- Set body text below 16px\n- Use decorative\u002Fdisplay fonts for body text\n- Disable browser zoom (`user-scalable=no`)\n- Use `px` for font sizes — use `rem` to respect user settings\n- Default to Inter\u002FRoboto\u002FOpen Sans when personality matters\n- Pair fonts that are similar but not identical (two geometric sans-serifs)\n\n## Verify Typography Improvements\n\n- **Hierarchy**: Can you identify heading vs body vs caption instantly?\n- **Readability**: Is body text comfortable to read in long passages?\n- **Consistency**: Are same-role elements styled identically throughout?\n- **Personality**: Does the typography reflect the brand?\n- **Performance**: Are web fonts loading efficiently without layout shift?\n- **Accessibility**: Does text meet WCAG contrast ratios? Is it zoomable to 200%?\n\nRemember: Typography is the foundation of interface design — it carries the majority of information. Getting it right is the highest-leverage improvement you can make.","Assess and improve typography that feels generic, inconsistent, or poorly structured — turning default-looking text into intentional, well-crafted type.\n\n## MANDATORY PREPARATION\n\nInvoke \u002Fimpeccable — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no design context exists yet, you MUST run \u002Fimpeccable teach first.\n\n---\n\n## Assess Current Typography\n\nAnalyze what's weak or generic about the current type:\n\n1. **Font choices**:\n   - Are we using invisible defaults? (Inter, Roboto, Arial, Open Sans, system defaults)\n   - Does the font match the brand personality? (A playful brand shouldn't use a corporate typeface)\n   - Are there too many font families? (More than 2-3 is almost always a mess)\n\n2. **Hierarchy**:\n   - Can you tell headings from body from captions at a glance?\n   - Are font sizes too close together? (14px, 15px, 16px = muddy hierarchy)\n   - Are weight contrasts strong enough? (Medium vs Regular is barely visible)\n\n3. **Sizing & scale**:\n   - Is there a consistent type scale, or are sizes arbitrary?\n   - Does body text meet minimum readability? (16px+)\n   - Is the sizing strategy appropriate for the context? (Fixed `rem` scales for app UIs; fluid `clamp()` for marketing\u002Fcontent page headings)\n\n4. **Readability**:\n   - Are line lengths comfortable? (45-75 characters ideal)\n   - Is line-height appropriate for the font and context?\n   - Is there enough contrast between text and background?\n\n5. **Consistency**:\n   - Are the same elements styled the same way throughout?\n   - Are font weights used consistently? (Not bold in one section, semibold in another for the same role)\n   - Is letter-spacing intentional or default everywhere?\n\n**CRITICAL**: The goal isn't to make text \"fancier\" — it's to make it clearer, more readable, and more intentional. Good typography is invisible; bad typography is distracting.\n\n## Plan Typography Improvements\n\nConsult the [typography reference](reference\u002Ftypography.md) from the impeccable skill for detailed guidance on scales, pairing, and loading strategies.\n\nCreate a systematic plan:\n\n- **Font selection**: Do fonts need replacing? What fits the brand\u002Fcontext?\n- **Type scale**: Establish a modular scale (e.g., 1.25 ratio) with clear hierarchy\n- **Weight strategy**: Which weights serve which roles? (Regular for body, Semibold for labels, Bold for headings — or whatever fits)\n- **Spacing**: Line-heights, letter-spacing, and margins between typographic elements\n\n## Improve Typography Systematically\n\n### Font Selection\n\nIf fonts need replacing:\n- Choose fonts that reflect the brand personality\n- Pair with genuine contrast (serif + sans, geometric + humanist) — or use a single family in multiple weights\n- Ensure web font loading doesn't cause layout shift (`font-display: swap`, metric-matched fallbacks)\n\n### Establish Hierarchy\n\nBuild a clear type scale:\n- **5 sizes cover most needs**: caption, secondary, body, subheading, heading\n- **Use a consistent ratio** between levels (1.25, 1.333, or 1.5)\n- **Combine dimensions**: Size + weight + color + space for strong hierarchy — don't rely on size alone\n- **App UIs**: Use a fixed `rem`-based type scale, optionally adjusted at 1-2 breakpoints. Fluid sizing undermines the spatial predictability that dense, container-based layouts need\n- **Marketing \u002F content pages**: Use fluid sizing via `clamp(min, preferred, max)` for headings and display text. Keep body text fixed\n\n### Fix Readability\n\n- Set `max-width` on text containers using `ch` units (`max-width: 65ch`)\n- Adjust line-height per context: tighter for headings (1.1-1.2), looser for body (1.5-1.7)\n- Increase line-height slightly for light-on-dark text\n- Ensure body text is at least 16px \u002F 1rem\n\n### Refine Details\n\n- Use `tabular-nums` for data tables and numbers that should align\n- Apply proper `letter-spacing`: slightly open for small caps and uppercase, default or tight for large display text\n- Use semantic token names (`--text-body`, `--text-heading`), not value names (`--font-16`)\n- Set `font-kerning: normal` and consider OpenType features where appropriate\n\n### Weight Consistency\n\n- Define clear roles for each weight and stick to them\n- Don't use more than 3-4 weights (Regular, Medium, Semibold, Bold is plenty)\n- Load only the weights you actually use (each weight adds to page load)\n\n**NEVER**:\n- Use more than 2-3 font families\n- Pick sizes arbitrarily — commit to a scale\n- Set body text below 16px\n- Use decorative\u002Fdisplay fonts for body text\n- Disable browser zoom (`user-scalable=no`)\n- Use `px` for font sizes — use `rem` to respect user settings\n- Default to Inter\u002FRoboto\u002FOpen Sans when personality matters\n- Pair fonts that are similar but not identical (two geometric sans-serifs)\n\n## Verify Typography Improvements\n\n- **Hierarchy**: Can you identify heading vs body vs caption instantly?\n- **Readability**: Is body text comfortable to read in long passages?\n- **Consistency**: Are same-role elements styled identically throughout?\n- **Personality**: Does the typography reflect the brand?\n- **Performance**: Are web fonts loading efficiently without layout shift?\n- **Accessibility**: Does text meet WCAG contrast ratios? Is it zoomable to 200%?\n\nRemember: Typography is the foundation of interface design — it carries the majority of information. Getting it right is the highest-leverage improvement you can make.",{"name":5,"version":36,"description":7,"argument-hint":37,"user-invocable":38},"2.1.1","[target]",true,"main","c9d0c408715983e993b2f9ebffdbfa7f10153bcb","frontend\u002Fspecialists\u002Ftypeset",0,"https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack","https:\u002F\u002Fgithub.com\u002FNairon-AI","https:\u002F\u002Fwww.naironai.com\u002F","Building the future of Work","2026-09-20 17:40:05",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":38},[50,53,56],{"tool":51,"command":52},"npx","npx skills add Nairon-AI\u002Fagentic-starter-pack --skill typeset",{"tool":54,"command":55},"bunx","bunx skills add Nairon-AI\u002Fagentic-starter-pack --skill typeset",{"tool":57,"command":58},"pnpm","pnpm dlx skills add Nairon-AI\u002Fagentic-starter-pack --skill typeset","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Ffrontend\u002Fspecialists\u002Ftypeset\u002FSKILL.md",[],[62,97,118,139,158,180],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":78,"publishedAt":31},"01M6RBCG630Y8X99XWR9Q4GYNY","writing-shape","Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fwriting-shape\u002FSKILL.md",[68,73],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[79,80,81,82,83,84,85,86,87,21,88,89,90,91,92,93,94,95,96,30],"writing","writing shape","shape","notes","help","file","markdown","format","session","take","draft","article","material","it","about","quotes","at","candidate",{"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":31},"01M6RBCCCB1KMF01P5SYGFWBSW","writing-fragments","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.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fwriting-fragments\u002FSKILL.md",[103,104],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[79,106,107,108,109,20,87,21,110,111,112,90,113,91,114,115,116,117,30],"writing fragments","grilling","ideate","develop","document","structure","ideas","as","sharp","claims","for","single",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":126,"publishedAt":31},"01M6RBC8V7NHHKMTAZB4BPXVYQ","writing-beats","Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fwriting-beats\u002FSKILL.md",[124,125],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[79,127,128,129,21,130,131,81,132,133,134,90,135,113,136,91,137,138,116,30],"writing beats","choose","write","assemble","only","journey","next","options","end","style","narrative","argument",{"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":147,"publishedAt":31},"01M6RBC58SG5Y5SC4ZV4ZNEFHC","stop-slop","Remove AI writing patterns from prose. Use when drafting, editing, or reviewing text to eliminate predictable AI tells.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fstop-slop\u002FSKILL.md",[145,146],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[148,149,150,79,151,152,19,153,154,21,155,156,157,116,30],"stop","stop slop","slop","content","https","editing","remove","prose","patterns","drafts",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":166,"publishedAt":31},"01M6RBBJTTCJ7KZCP16G9JDFZH","humanizer","Remove signs of AI-generated writing from text. Use when editing or reviewing\ntext to make it sound more natural and human-written. Based on Wikipedia's\ncomprehensive \"Signs of AI writing\" guide. Detects and fixes patterns including:\ninflated symbolism, promotional language, superficial -ing analyses, vague\nattributions, em dash overuse, rule of three, AI vocabulary words, passive\nvoice, negative parallelisms, and filler phrases.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Fhumanizer\u002FSKILL.md",[164,165],{"categoryNo":69,"categoryName":70,"taxonomyType":71,"taxonomyTypeDesc":72},{"categoryNo":74,"categoryName":75,"taxonomyType":76,"taxonomyTypeDesc":77},[160,79,167,168,19,169,129,170,171,154,172,173,156,174,175,176,177,178,179,30],"code","em dash","read","edit","generated","guide","opencode","three","human","make","wikipedia","vague","dash",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":186,"publishedAt":31},"01M6RBBEQKJ5HRH8AV9J85QB1T","feedback","Prepare, deliver, and debrief timely interpersonal feedback using a question-first coaching flow, observable behavior, owned experience, and concrete impact. Use when drafting feedback, coaching managers, rehearsing a feedback conversation, praising specific behavior, or reviewing whether feedback landed.","https:\u002F\u002Fgithub.com\u002FNairon-AI\u002Fagentic-starter-pack\u002Fblob\u002Fmain\u002Fwriting\u002Ffeedback\u002FSKILL.md",[],[182,187,188,189,190,191,21,192,193,194,195,196,30,197],"prepare","flow","first","question","behavior","conversation","coaching","debrief","impact","managers","deliver"]