[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7ERSD6VFAQYGC7GG8EFJVCK":3,"skill-same:01M7ERSD6VFAQYGC7GG8EFJVCK":48},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":27,"commitSha":28,"skillDirectory":29,"forksCount":14,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":6,"ownerDescription":32,"updatedAt":33,"install":34,"resources":47},"01M7ERSD6VFAQYGC7GG8EFJVCK","compound",null,"Record one solved problem as a solution entry anchored to the files it touches, so later sessions on those files see it first. Use after a fix or decision whose reasoning the final code does not show, or when learning-check finds a durable learning.","Ventorius\u002Fven-stack","Ventorius","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5689509?v=4","01M7ERRDPQ5YXCNXJZWEKQNP50","Sebastian Basznianin","01M7ERRDQ9S0ZD9YMH1RN1WVP7",0,"MIT","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Fcompound\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: compound\ndescription: Record one solved problem as a solution entry anchored to the files it touches, so later sessions on those files see it first. Use after a fix or decision whose reasoning the final code does not show, or when learning-check finds a durable learning.\nmetadata:\n  layer: L3\n  source: EveryInc\u002Fcompound-engineering-plugin@7a68002:skills\u002Fce-compound\u002FSKILL.md\n  license: MIT\n---\n\n# Compound\n\nWrite one solved problem to `$(ven-profile path)\u002Fsolutions\u002F\u003Carea>\u002F\u003Cslug>.md`. `ven-profile context` (run at the start of every routed task) surfaces entries whose `files:` overlap the branch's changed files, `ven-profile solutions-for \u003Cfiles>` surfaces them before an edit, and a refresh later prunes entries whose files are gone. Both depend on `files:`, so it is required.\n\n## The bar\n\nWrite only when the problem is solved and verified, and the entry passes this test: if it disappeared, would a future agent reading the final code, tests and docs still repeat the mistake or redo the investigation? Effort and diff size don't count. If the test fails, write nothing and say why in one line.\n\nOne problem per entry. Several problems mean several entries, written one at a time.\n\n## Steps\n\n1. **Look for an existing entry.** Search `solutions\u002F` for the files you touched and the symptom text. Same problem: update that entry in place and add `last_updated: \u003CYYYY-MM-DD>`. An entry that became wrong is updated, never left beside a new one.\n2. **Ground every claim.** Before stating how code behaves, read the defining line in the current tree and cite it as `path:line`. Mark what you could not check as unverified.\n3. **Pick the area.** List `solutions\u002F` and reuse the area directory that covers this part of the code. Create one only when none fits, named after the module or workspace (`ven-profile get workspaces`), in kebab-case.\n4. **Fill the template** below. The slug is the title in kebab-case.\n5. **Anchor `files:`.** Repo-relative paths or globs for where the problem showed and where the fix landed. Each must match something in the current tree (check with a file search). Prefer narrow anchors: a glob over half the repo surfaces the entry on every branch.\n6. **Capture terms.** A domain term the session defined or sharpened goes to `GLOSSARY.md` through **glossary**, not into the entry.\n7. **Check the frontmatter.** `ven-profile` reads a YAML subset: one `key: value` per line, lists as `- item` lines (inline `[a, b]` only for tags), no nested maps. Quote a list item that starts with a backtick, `[`, `*`, `&`, `!`, `|`, `>`, `%`, `@` or `?`, or that contains `\": \"`.\n\n## Vocabulary\n\n- `problem_type` (closed): build_error, test_failure, runtime_error, performance_issue, security_issue, data_issue, integration_issue, logic_error, workflow_issue, developer_experience, design_decision, convention.\n- `resolution_type` (closed): code_fix, config_change, test_fix, dependency_update, environment_setup, workflow_change, documentation_update, tooling_addition, data_fix.\n- `severity` (closed): critical, high, medium, low.\n- `root_cause` (open): reuse the spelling other entries use for the same cause; otherwise a short snake_case phrase such as missing_validation, wrong_interface, ordering, shared_state, config_drift, missing_step.\n\n## Template\n\n```markdown\n---\ntitle: \u003Cthe problem in one line, not the fix>\ndate: \u003CYYYY-MM-DD>\narea: \u003Carea directory name>\nproblem_type: \u003Cclosed list>\nsymptoms:\n  - \u003Cobservable symptom; quote error text>\nroot_cause: \u003Copen vocabulary>\nresolution_type: \u003Cclosed list>\nseverity: \u003Ccritical|high|medium|low>\nfiles:\n  - \u003Crepo-relative path or glob>\ntags: [\u003Ckeyword>, \u003Ckeyword>]\n---\n\n# \u003Ctitle>\n\n## Problem\n\u003COne or two sentences: what broke or was unclear, and who noticed.>\n\n## Symptoms\n- \u003CWhat you saw, verbatim where possible.>\n\n## What didn't work\n- \u003CAttempt> — \u003Cwhy it failed.>\n\n## Solution\n\u003CThe fix, citing path:line. Short snippets only when the shape matters.>\n\n## Why this works\n\u003CThe root cause, and how the fix removes it.>\n\n## Prevention\n- \u003CThe check that now guards it, with its path; or \"none, judgment only\".>\n```\n\n## Report\n\nThe entry path (or \"nothing written\" and why), its area, and its `files:` anchors. When Prevention says \"none\" but a check could catch the mistake, say so: the caller routes it as a correction.\n","# Compound\n\nWrite one solved problem to `$(ven-profile path)\u002Fsolutions\u002F\u003Carea>\u002F\u003Cslug>.md`. `ven-profile context` (run at the start of every routed task) surfaces entries whose `files:` overlap the branch's changed files, `ven-profile solutions-for \u003Cfiles>` surfaces them before an edit, and a refresh later prunes entries whose files are gone. Both depend on `files:`, so it is required.\n\n## The bar\n\nWrite only when the problem is solved and verified, and the entry passes this test: if it disappeared, would a future agent reading the final code, tests and docs still repeat the mistake or redo the investigation? Effort and diff size don't count. If the test fails, write nothing and say why in one line.\n\nOne problem per entry. Several problems mean several entries, written one at a time.\n\n## Steps\n\n1. **Look for an existing entry.** Search `solutions\u002F` for the files you touched and the symptom text. Same problem: update that entry in place and add `last_updated: \u003CYYYY-MM-DD>`. An entry that became wrong is updated, never left beside a new one.\n2. **Ground every claim.** Before stating how code behaves, read the defining line in the current tree and cite it as `path:line`. Mark what you could not check as unverified.\n3. **Pick the area.** List `solutions\u002F` and reuse the area directory that covers this part of the code. Create one only when none fits, named after the module or workspace (`ven-profile get workspaces`), in kebab-case.\n4. **Fill the template** below. The slug is the title in kebab-case.\n5. **Anchor `files:`.** Repo-relative paths or globs for where the problem showed and where the fix landed. Each must match something in the current tree (check with a file search). Prefer narrow anchors: a glob over half the repo surfaces the entry on every branch.\n6. **Capture terms.** A domain term the session defined or sharpened goes to `GLOSSARY.md` through **glossary**, not into the entry.\n7. **Check the frontmatter.** `ven-profile` reads a YAML subset: one `key: value` per line, lists as `- item` lines (inline `[a, b]` only for tags), no nested maps. Quote a list item that starts with a backtick, `[`, `*`, `&`, `!`, `|`, `>`, `%`, `@` or `?`, or that contains `\": \"`.\n\n## Vocabulary\n\n- `problem_type` (closed): build_error, test_failure, runtime_error, performance_issue, security_issue, data_issue, integration_issue, logic_error, workflow_issue, developer_experience, design_decision, convention.\n- `resolution_type` (closed): code_fix, config_change, test_fix, dependency_update, environment_setup, workflow_change, documentation_update, tooling_addition, data_fix.\n- `severity` (closed): critical, high, medium, low.\n- `root_cause` (open): reuse the spelling other entries use for the same cause; otherwise a short snake_case phrase such as missing_validation, wrong_interface, ordering, shared_state, config_drift, missing_step.\n\n## Template\n\n```markdown\n---\ntitle: \u003Cthe problem in one line, not the fix>\ndate: \u003CYYYY-MM-DD>\narea: \u003Carea directory name>\nproblem_type: \u003Cclosed list>\nsymptoms:\n  - \u003Cobservable symptom; quote error text>\nroot_cause: \u003Copen vocabulary>\nresolution_type: \u003Cclosed list>\nseverity: \u003Ccritical|high|medium|low>\nfiles:\n  - \u003Crepo-relative path or glob>\ntags: [\u003Ckeyword>, \u003Ckeyword>]\n---\n\n# \u003Ctitle>\n\n## Problem\n\u003COne or two sentences: what broke or was unclear, and who noticed.>\n\n## Symptoms\n- \u003CWhat you saw, verbatim where possible.>\n\n## What didn't work\n- \u003CAttempt> — \u003Cwhy it failed.>\n\n## Solution\n\u003CThe fix, citing path:line. Short snippets only when the shape matters.>\n\n## Why this works\n\u003CThe root cause, and how the fix removes it.>\n\n## Prevention\n- \u003CThe check that now guards it, with its path; or \"none, judgment only\".>\n```\n\n## Report\n\nThe entry path (or \"nothing written\" and why), its area, and its `files:` anchors. When Prevention says \"none\" but a check could catch the mistake, say so: the caller routes it as a correction.\n",{"name":5,"metadata":24,"description":7},{"layer":25,"source":26,"license":15},"L3","EveryInc\u002Fcompound-engineering-plugin@7a68002:skills\u002Fce-compound\u002FSKILL.md","main","e57e3dd5c8aec0fe40658397aee9fd9b1d77bb60","plugins\u002Fven\u002Fskills\u002Fcompound","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack","https:\u002F\u002Fgithub.com\u002FVentorius","Heavy testing believer. Workflow automation fan. Fullstack JS developer.","2026-11-04 04:05:46",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add Ventorius\u002Fven-stack --skill compound",{"tool":40,"command":41},"bunx","bunx skills add Ventorius\u002Fven-stack --skill compound",{"tool":43,"command":44},"pnpm","pnpm dlx skills add Ventorius\u002Fven-stack --skill compound","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Fcompound\u002FSKILL.md",true,[],[49,56,63,70,77,84],{"skillNo":50,"name":51,"nameZh":6,"description":52,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":53,"categories":54,"keywords":55,"publishedAt":19},"01M7ES1P06ZPAGTT7YS4V6MS32","yeet","Take every local change green through the repo's own checks, slice it into conventional commits, push, and with --pr open a pull request on the code host. Use only when the user explicitly asks to yeet, or to commit and push everything; never on your own initiative.","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Fyeet\u002FSKILL.md",[],[],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":19},"01M7ES1JHVQEN3YYMRZEBM2E79","write-docs","Write or update documentation from the code: gather facts, pick the shape for the reader, write it plain, and prove every command and path in it. Use when asked to document a repo, module or feature, or to bring stale docs up to date.","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Fwrite-docs\u002FSKILL.md",[],[],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":19},"01M7ES1DD3YVMF1MY7D51R6516","why","Find why code is shaped the way it is (design rationale, trade-offs, regressions, odd thresholds) from history, tickets, docs and chat, citing every claim and stating its confidence. Use for 'why does X work this way', 'why did we pick Y', or before changing code whose purpose is unclear.","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Fwhy\u002FSKILL.md",[],[],{"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":19},"01M7ES18XVRZGQ0V1BBZH63Q8W","verify","Prove a change works with the check that matches its type, do the read-back, and log the pass against the exact tree. Use when a change is ready to call done, before review, commit or stopping, and whenever ven-decisions end refuses an unverified tree.","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Fverify\u002FSKILL.md",[],[],{"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":19},"01M7ES15Z3W8QTJH4CRAJ53D2G","unslop","Cut AI writing tells (filler, model vocabulary, metaphor nouns, hedging, formatting tics) from text while keeping every fact. Use when editing or checking any prose before it ships: docs, PR bodies, reports, skill text.","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Funslop\u002FSKILL.md",[],[],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":19},"01M7ES12GT9WD9NE2X3M1B29ZZ","type-discipline","Apply when designing types or data shapes, reviewing a signature, or handling outside data, in any language. Make wrong states fail early: in the compiler for typed languages, in validated runtime contracts for untyped ones.","https:\u002F\u002Fgithub.com\u002FVentorius\u002Fven-stack\u002Fblob\u002Fmain\u002Fplugins\u002Fven\u002Fskills\u002Ftype-discipline\u002FSKILL.md",[],[]]