[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-mattpocock-ubiquitous-language-en":3,"guides-for-mattpocock-ubiquitous-language":556,"similar-k179asw8asavxday6bte5xx4x986mb9y-en":557},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":242,"isFallback":226,"parentExtension":247,"providers":248,"relations":253,"repo":255,"tags":553,"workflow":554},1778692846401.1477,"k179asw8asavxday6bte5xx4x986mb9y",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions \"domain model\" or \"DDD\".",{"claudeCode":12},"mattpocock/skills","ubiquitous-language","https://github.com/mattpocock/skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":224,"workflow":240},1778692960269.2534,"kn7b25tgdn5tjwanh6dh2eqhmh86nt3z","en",{"checks":20,"evaluatedAt":193,"extensionSummary":194,"features":195,"nonGoals":201,"promptVersionExtension":205,"promptVersionScoring":206,"purpose":207,"rationale":208,"score":209,"summary":210,"tags":211,"targetMarket":217,"tier":218,"useCases":219},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,103,107,110,114,117,122,125,128,131,134,137,140,144,148,151,154,158,161,164,167,170,174,177,180,183,186,190],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of defining domain terms and creating a ubiquitous language, and specifies the conditions under which it should be used.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill provides a structured process for extracting, flagging ambiguities, and proposing canonical terms for a ubiquitous language, going beyond basic summarization or glossary generation.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill is fully implemented, extracts terms, flags ambiguities, proposes canonical terms, saves to a file, and provides inline summaries, covering its stated use case.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses solely on extracting and formalizing domain terminology from a conversation, aligning with its name and description.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The description is concise, readable, and accurately reflects the skill's behavior, including its output file and use cases.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This skill appears to be a single, self-contained capability and does not expose multiple distinct tools.",{"category":45,"check":46,"severity":42,"summary":47},"Documentation","Configuration & parameter reference","The skill does not appear to have any configurable parameters or external configuration options beyond its core function.",{"category":33,"check":49,"severity":42,"summary":50},"Tool naming","This skill does not expose multiple tools with user-facing names.",{"category":33,"check":52,"severity":42,"summary":53},"Minimal I/O surface","As this skill operates on conversation context and outputs a file, it does not have a typical tool parameter schema or response shape.",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","The extension is licensed under the MIT license, which is a permissive open-source license.",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","The repository has recent commits within the last 3 months, indicating active maintenance.",{"category":59,"check":63,"severity":42,"summary":64},"Dependency Management","No third-party dependencies were detected in the provided source files.",{"category":66,"check":67,"severity":24,"summary":68},"Security","Secret Management","The skill does not handle any secrets, as it operates on conversation context and generates a markdown file.",{"category":66,"check":70,"severity":24,"summary":71},"Injection","The skill processes conversation text and generates a markdown file; it does not load or execute third-party data as instructions.",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","The skill does not fetch external content at runtime or include any external files.",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","The skill operates within the conversation context and writes to a file in the working directory, without modifying files outside its scope.",{"category":66,"check":79,"severity":24,"summary":80},"Sandbox escape primitives","No detached process spawns or deny-retry loops were found in the skill's logic.",{"category":66,"check":82,"severity":24,"summary":83},"Data Exfiltration","The skill processes conversation data and writes to a local file, with no outbound network calls or references to confidential data.",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","The bundled content is free of hidden-steering tricks, and descriptions use clean printable ASCII.",{"category":88,"check":89,"severity":24,"summary":90},"Hooks","Opaque code execution","The skill's logic is contained within readable markdown and does not involve obfuscated code, base64 payloads, or runtime script fetching.",{"category":92,"check":93,"severity":24,"summary":94},"Portability","Structural Assumption","The skill makes no structural assumptions about the user's project layout beyond writing to the working directory.",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","With a closure rate of approximately 79% (117 closed / 144 total issues) and a low number of currently open issues (27), the maintainer engagement is good.",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","The repository has a meaningful commit history and a recently updated `pushedAt` date, indicating active development, although no formal versioning is strictly required for this type of skill.",{"category":104,"check":105,"severity":42,"summary":106},"Execution","Validation","The skill operates on natural language input from the conversation and outputs a markdown file, without complex structured inputs or outputs requiring schema validation.",{"category":66,"check":108,"severity":24,"summary":109},"Unguarded Destructive Operations","The skill's only destructive operation is writing to a file, which is a standard and safe operation.",{"category":111,"check":112,"severity":24,"summary":113},"Code Execution","Error Handling","The skill's described process implies robust error handling by halting on unexpected state and providing clear reporting.",{"category":111,"check":115,"severity":42,"summary":116},"Logging","As the skill is primarily analytical and focuses on writing a single output file, detailed logging of actions is not a primary concern.",{"category":118,"check":119,"severity":120,"summary":121},"Compliance","GDPR","info","The skill processes conversation data which may include personal data, and while it does not submit this to a third party, it lacks specific sanitization steps for the LLM.",{"category":118,"check":123,"severity":24,"summary":124},"Target market","The skill's functionality is language-agnostic and does not contain any regional or jurisdictional logic, making it globally applicable.",{"category":92,"check":126,"severity":24,"summary":127},"Runtime stability","The skill relies on standard markdown processing and file system operations, making it portable across different environments.",{"category":45,"check":129,"severity":24,"summary":130},"README","The README file exists and clearly outlines the purpose and benefits of the skills repository, including this specific skill.",{"category":33,"check":132,"severity":42,"summary":133},"Tool surface size","This is a single-purpose skill and does not expose multiple tools.",{"category":40,"check":135,"severity":42,"summary":136},"Overlapping near-synonym tools","This skill does not expose multiple tools with overlapping functionalities.",{"category":45,"check":138,"severity":24,"summary":139},"Phantom features","All advertised features related to generating a ubiquitous language glossary are implemented and detailed in the SKILL.md.",{"category":141,"check":142,"severity":24,"summary":143},"Install","Installation instruction","The README provides clear installation instructions via `npx skills@latest add` and a setup command to configure the skills.",{"category":145,"check":146,"severity":24,"summary":147},"Errors","Actionable error messages","The skill's process implies that errors like ambiguity will be flagged with remediation steps and recovery information.",{"category":104,"check":149,"severity":42,"summary":150},"Pinned dependencies","The skill does not have any third-party dependencies that would require pinning.",{"category":33,"check":152,"severity":42,"summary":153},"Dry-run preview","The skill's primary output is a markdown file, and it does not perform state-changing operations that would require a dry-run mode.",{"category":155,"check":156,"severity":42,"summary":157},"Protocol","Idempotent retry & timeouts","The skill is stateless between calls and does not involve remote operations or state-changing actions that would require idempotency or timeouts.",{"category":118,"check":159,"severity":24,"summary":160},"Telemetry opt-in","The skill does not emit any telemetry, thus satisfying the opt-in requirement by default.",{"category":40,"check":162,"severity":24,"summary":163},"Precise Purpose","The skill's purpose is precisely defined: to extract a DDD-style ubiquitous language glossary from conversation, flagging ambiguities and proposing canonical terms, saving to UBIQUITOUS_LANGUAGE.md, and it specifies clear use cases and triggers.",{"category":40,"check":165,"severity":24,"summary":166},"Concise Frontmatter","The frontmatter is concise, self-contained, and clearly states the core capability and trigger phrases within the recommended character limit.",{"category":45,"check":168,"severity":24,"summary":169},"Concise Body","The SKILL.md body is reasonably concise, outlining the process and rules without excessive bloat, and delegates complex examples to a conceptual format.",{"category":171,"check":172,"severity":24,"summary":173},"Context","Progressive Disclosure","The skill's process is outlined directly in SKILL.md, with the output format and rules clearly defined, and the example dialogue serves as a practical illustration without requiring separate files.",{"category":171,"check":175,"severity":42,"summary":176},"Forked exploration","This skill is not an exploration-style skill and does not involve deep code review or multi-file inspection.",{"category":22,"check":178,"severity":24,"summary":179},"Usage examples","The SKILL.md provides a clear example dialogue demonstrating the interaction and expected outcome, which is sufficient for this type of skill.",{"category":22,"check":181,"severity":24,"summary":182},"Edge cases","The skill's rules and output format implicitly handle edge cases by explicitly defining how to flag ambiguities and group terms, with recovery being a re-run.",{"category":111,"check":184,"severity":42,"summary":185},"Tool Fallback","This skill does not appear to rely on external tools like an MCP server, as its functionality is self-contained.",{"category":187,"check":188,"severity":24,"summary":189},"Safety","Halt on unexpected state","The skill's rules emphasize being opinionated and flagging conflicts explicitly, implying a halt on ambiguous or unexpected states and reporting them.",{"category":92,"check":191,"severity":24,"summary":192},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills; its scope is clearly defined.",1778692959589,"This skill extracts a DDD-style ubiquitous language glossary from conversation, flags ambiguities, proposes canonical terms, and saves the output to UBIQUITOUS_LANGUAGE.md.",[196,197,198,199,200],"Extracts domain-relevant terms from conversation","Identifies and flags ambiguities and synonyms","Proposes canonical terms with opinionated choices","Saves glossary to UBIQUITOUS_LANGUAGE.md","Outputs an inline summary",[202,203,204],"Generating code or class definitions","Acting as a general-purpose summarization tool","Replacing a full-fledged documentation system","3.0.0","4.4.0","To help teams define domain terms, build a consistent glossary, and harden terminology for better communication and code clarity.","The skill is well-defined, highly usable, and adheres to best practices for agent skills. Minor informational finding on GDPR compliance is noted but does not detract from overall quality.",95,"Excellent skill for extracting and formalizing domain terminology with clear instructions and examples.",[212,213,214,215,216],"ddd","glossary","domain-driven-design","terminology","language","global","verified",[220,221,222,223],"Defining domain terms for a new project","Building a shared glossary for a team","Hardening terminology for consistency","Creating a ubiquitous language for DDD",{"codeQuality":225,"collectedAt":227,"documentation":228,"maintenance":231,"security":237,"testCoverage":239},{"hasLockfile":226},false,1778692942794,{"descriptionLength":229,"readmeSize":230},313,11516,{"closedIssues90d":232,"forks":233,"hasChangelog":226,"openIssues90d":234,"pushedAt":235,"stars":236},117,6767,27,1778677522000,78489,{"hasNpmPackage":226,"license":238,"smitheryVerified":226},"MIT",{"hasCi":226,"hasTests":226},{"updatedAt":241},1778692960269,{"basePath":243,"githubOwner":244,"githubRepo":245,"locale":18,"slug":13,"type":246},"skills/deprecated/ubiquitous-language","mattpocock","skills","skill",null,{"evaluate":249,"extract":251},{"promptVersionExtension":205,"promptVersionScoring":206,"score":209,"tags":250,"targetMarket":217,"tier":218},[212,213,214,215,216],{"commitSha":252},"HEAD",{"repoId":254},"kd70nm2vazehgqc4j28ve6cwv986mv1s",{"_creationTime":256,"_id":254,"identity":257,"providers":258,"workflow":549},1778692842371.0967,{"githubOwner":244,"githubRepo":245,"sourceUrl":14},{"classify":259,"discover":543,"github":546},{"commitSha":252,"extensions":260},[261,277,286,294,302,307,318,331,345,357,375,393,401,409,421,429,437,445,453,461,471,479,487,495,503,511,519,527,535],{"basePath":262,"displayName":263,"installMethods":264,"rationale":265,"selectedPaths":266,"source":275,"sourceLanguage":18,"type":276},"","mattpocock-skills",{"claudeCode":263},"plugin manifest at .claude-plugin/plugin.json",[267,270,272],{"path":268,"priority":269},".claude-plugin/plugin.json","mandatory",{"path":271,"priority":269},"README.md",{"path":273,"priority":274},"LICENSE","high","rule","plugin",{"basePath":278,"description":279,"displayName":280,"installMethods":281,"rationale":282,"selectedPaths":283,"source":275,"sourceLanguage":18,"type":246},"skills/deprecated/design-an-interface","Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an API, explore interface options, compare module shapes, or mentions \"design it twice\".","design-an-interface",{"claudeCode":12},"SKILL.md frontmatter at skills/deprecated/design-an-interface/SKILL.md",[284],{"path":285,"priority":269},"SKILL.md",{"basePath":287,"description":288,"displayName":289,"installMethods":290,"rationale":291,"selectedPaths":292,"source":275,"sourceLanguage":18,"type":246},"skills/deprecated/qa","Interactive QA session where user reports bugs or issues conversationally, and the agent files GitHub issues. Explores the codebase in the background for context and domain language. Use when user wants to report bugs, do QA, file issues conversationally, or mentions \"QA session\".","qa",{"claudeCode":12},"SKILL.md frontmatter at skills/deprecated/qa/SKILL.md",[293],{"path":285,"priority":269},{"basePath":295,"description":296,"displayName":297,"installMethods":298,"rationale":299,"selectedPaths":300,"source":275,"sourceLanguage":18,"type":246},"skills/deprecated/request-refactor-plan","Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.","request-refactor-plan",{"claudeCode":12},"SKILL.md frontmatter at skills/deprecated/request-refactor-plan/SKILL.md",[301],{"path":285,"priority":269},{"basePath":243,"description":10,"displayName":13,"installMethods":303,"rationale":304,"selectedPaths":305,"source":275,"sourceLanguage":18,"type":246},{"claudeCode":12},"SKILL.md frontmatter at skills/deprecated/ubiquitous-language/SKILL.md",[306],{"path":285,"priority":269},{"basePath":308,"description":309,"displayName":310,"installMethods":311,"rationale":312,"selectedPaths":313,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/diagnose","Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says \"diagnose this\" / \"debug this\", reports a bug, says something is broken/throwing/failing, or describes a performance regression.","diagnose",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/diagnose/SKILL.md",[314,315],{"path":285,"priority":269},{"path":316,"priority":317},"scripts/hitl-loop.template.sh","low",{"basePath":319,"description":320,"displayName":321,"installMethods":322,"rationale":323,"selectedPaths":324,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/grill-with-docs","Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.","grill-with-docs",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/grill-with-docs/SKILL.md",[325,326,329],{"path":285,"priority":269},{"path":327,"priority":328},"ADR-FORMAT.md","medium",{"path":330,"priority":328},"CONTEXT-FORMAT.md",{"basePath":332,"description":333,"displayName":334,"installMethods":335,"rationale":336,"selectedPaths":337,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/improve-codebase-architecture","Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.","improve-codebase-architecture",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/improve-codebase-architecture/SKILL.md",[338,339,341,343],{"path":285,"priority":269},{"path":340,"priority":328},"DEEPENING.md",{"path":342,"priority":328},"INTERFACE-DESIGN.md",{"path":344,"priority":328},"LANGUAGE.md",{"basePath":346,"description":347,"displayName":348,"installMethods":349,"rationale":350,"selectedPaths":351,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/prototype","Build a throwaway prototype to flesh out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says \"prototype this\", \"let me play with it\", \"try a few designs\".","prototype",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/prototype/SKILL.md",[352,353,355],{"path":285,"priority":269},{"path":354,"priority":328},"LOGIC.md",{"path":356,"priority":328},"UI.md",{"basePath":358,"description":359,"displayName":360,"installMethods":361,"rationale":362,"selectedPaths":363,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/setup-matt-pocock-skills","Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.","setup-matt-pocock-skills",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/setup-matt-pocock-skills/SKILL.md",[364,365,367,369,371,373],{"path":285,"priority":269},{"path":366,"priority":328},"domain.md",{"path":368,"priority":328},"issue-tracker-github.md",{"path":370,"priority":328},"issue-tracker-gitlab.md",{"path":372,"priority":328},"issue-tracker-local.md",{"path":374,"priority":328},"triage-labels.md",{"basePath":376,"description":377,"displayName":378,"installMethods":379,"rationale":380,"selectedPaths":381,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/tdd","Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions \"red-green-refactor\", wants integration tests, or asks for test-first development.","tdd",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/tdd/SKILL.md",[382,383,385,387,389,391],{"path":285,"priority":269},{"path":384,"priority":328},"deep-modules.md",{"path":386,"priority":328},"interface-design.md",{"path":388,"priority":328},"mocking.md",{"path":390,"priority":328},"refactoring.md",{"path":392,"priority":328},"tests.md",{"basePath":394,"description":395,"displayName":396,"installMethods":397,"rationale":398,"selectedPaths":399,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/to-issues","Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices. Use when user wants to convert a plan into issues, create implementation tickets, or break down work into issues.","to-issues",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/to-issues/SKILL.md",[400],{"path":285,"priority":269},{"basePath":402,"description":403,"displayName":404,"installMethods":405,"rationale":406,"selectedPaths":407,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/to-prd","Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.","to-prd",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/to-prd/SKILL.md",[408],{"path":285,"priority":269},{"basePath":410,"description":411,"displayName":412,"installMethods":413,"rationale":414,"selectedPaths":415,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/triage","Triage issues through a state machine driven by triage roles. Use when user wants to create an issue, triage issues, review incoming bugs or feature requests, prepare issues for an AFK agent, or manage issue workflow.","triage",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/triage/SKILL.md",[416,417,419],{"path":285,"priority":269},{"path":418,"priority":328},"AGENT-BRIEF.md",{"path":420,"priority":328},"OUT-OF-SCOPE.md",{"basePath":422,"description":423,"displayName":424,"installMethods":425,"rationale":426,"selectedPaths":427,"source":275,"sourceLanguage":18,"type":246},"skills/engineering/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.","zoom-out",{"claudeCode":12},"SKILL.md frontmatter at skills/engineering/zoom-out/SKILL.md",[428],{"path":285,"priority":269},{"basePath":430,"description":431,"displayName":432,"installMethods":433,"rationale":434,"selectedPaths":435,"source":275,"sourceLanguage":18,"type":246},"skills/in-progress/review","Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/PRD asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".","review",{"claudeCode":12},"SKILL.md frontmatter at skills/in-progress/review/SKILL.md",[436],{"path":285,"priority":269},{"basePath":438,"description":439,"displayName":440,"installMethods":441,"rationale":442,"selectedPaths":443,"source":275,"sourceLanguage":18,"type":246},"skills/in-progress/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.","writing-beats",{"claudeCode":12},"SKILL.md frontmatter at skills/in-progress/writing-beats/SKILL.md",[444],{"path":285,"priority":269},{"basePath":446,"description":447,"displayName":448,"installMethods":449,"rationale":450,"selectedPaths":451,"source":275,"sourceLanguage":18,"type":246},"skills/in-progress/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.","writing-fragments",{"claudeCode":12},"SKILL.md frontmatter at skills/in-progress/writing-fragments/SKILL.md",[452],{"path":285,"priority":269},{"basePath":454,"description":455,"displayName":456,"installMethods":457,"rationale":458,"selectedPaths":459,"source":275,"sourceLanguage":18,"type":246},"skills/in-progress/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.","writing-shape",{"claudeCode":12},"SKILL.md frontmatter at skills/in-progress/writing-shape/SKILL.md",[460],{"path":285,"priority":269},{"basePath":462,"description":463,"displayName":464,"installMethods":465,"rationale":466,"selectedPaths":467,"source":275,"sourceLanguage":18,"type":246},"skills/misc/git-guardrails-claude-code","Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.","git-guardrails-claude-code",{"claudeCode":12},"SKILL.md frontmatter at skills/misc/git-guardrails-claude-code/SKILL.md",[468,469],{"path":285,"priority":269},{"path":470,"priority":317},"scripts/block-dangerous-git.sh",{"basePath":472,"description":473,"displayName":474,"installMethods":475,"rationale":476,"selectedPaths":477,"source":275,"sourceLanguage":18,"type":246},"skills/misc/migrate-to-shoehorn","Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.","migrate-to-shoehorn",{"claudeCode":12},"SKILL.md frontmatter at skills/misc/migrate-to-shoehorn/SKILL.md",[478],{"path":285,"priority":269},{"basePath":480,"description":481,"displayName":482,"installMethods":483,"rationale":484,"selectedPaths":485,"source":275,"sourceLanguage":18,"type":246},"skills/misc/scaffold-exercises","Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.","scaffold-exercises",{"claudeCode":12},"SKILL.md frontmatter at skills/misc/scaffold-exercises/SKILL.md",[486],{"path":285,"priority":269},{"basePath":488,"description":489,"displayName":490,"installMethods":491,"rationale":492,"selectedPaths":493,"source":275,"sourceLanguage":18,"type":246},"skills/misc/setup-pre-commit","Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.","setup-pre-commit",{"claudeCode":12},"SKILL.md frontmatter at skills/misc/setup-pre-commit/SKILL.md",[494],{"path":285,"priority":269},{"basePath":496,"description":497,"displayName":498,"installMethods":499,"rationale":500,"selectedPaths":501,"source":275,"sourceLanguage":18,"type":246},"skills/personal/edit-article","Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.","edit-article",{"claudeCode":12},"SKILL.md frontmatter at skills/personal/edit-article/SKILL.md",[502],{"path":285,"priority":269},{"basePath":504,"description":505,"displayName":506,"installMethods":507,"rationale":508,"selectedPaths":509,"source":275,"sourceLanguage":18,"type":246},"skills/personal/obsidian-vault","Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.","obsidian-vault",{"claudeCode":12},"SKILL.md frontmatter at skills/personal/obsidian-vault/SKILL.md",[510],{"path":285,"priority":269},{"basePath":512,"description":513,"displayName":514,"installMethods":515,"rationale":516,"selectedPaths":517,"source":275,"sourceLanguage":18,"type":246},"skills/productivity/caveman","Ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use when user says \"caveman mode\", \"talk like caveman\", \"use caveman\", \"less tokens\", \"be brief\", or invokes /caveman.\n","caveman",{"claudeCode":12},"SKILL.md frontmatter at skills/productivity/caveman/SKILL.md",[518],{"path":285,"priority":269},{"basePath":520,"description":521,"displayName":522,"installMethods":523,"rationale":524,"selectedPaths":525,"source":275,"sourceLanguage":18,"type":246},"skills/productivity/grill-me","Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions \"grill me\".","grill-me",{"claudeCode":12},"SKILL.md frontmatter at skills/productivity/grill-me/SKILL.md",[526],{"path":285,"priority":269},{"basePath":528,"description":529,"displayName":530,"installMethods":531,"rationale":532,"selectedPaths":533,"source":275,"sourceLanguage":18,"type":246},"skills/productivity/handoff","Compact the current conversation into a handoff document for another agent to pick up.","handoff",{"claudeCode":12},"SKILL.md frontmatter at skills/productivity/handoff/SKILL.md",[534],{"path":285,"priority":269},{"basePath":536,"description":537,"displayName":538,"installMethods":539,"rationale":540,"selectedPaths":541,"source":275,"sourceLanguage":18,"type":246},"skills/productivity/write-a-skill","Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.","write-a-skill",{"claudeCode":12},"SKILL.md frontmatter at skills/productivity/write-a-skill/SKILL.md",[542],{"path":285,"priority":269},{"sources":544},[545],"manual",{"closedIssues90d":232,"description":547,"forks":233,"license":238,"openIssues90d":234,"pushedAt":235,"readmeSize":230,"stars":236,"topics":548},"Skills for Real Engineers. Straight from my .claude directory.",[],{"classifiedAt":550,"discoverAt":551,"extractAt":552,"githubAt":552,"updatedAt":550},1778692846116,1778692842371,1778692844195,[212,214,213,216,215],{"evaluatedAt":241,"extractAt":555,"updatedAt":241},1778692846401,[],[558,588,608,633,655,675],{"_creationTime":559,"_id":560,"community":561,"display":562,"identity":568,"providers":573,"relations":581,"tags":584,"workflow":585},1778696691708.319,"k17ey3nf1mw23zz7s6kftbzeg986n8ze",{"reviewCount":8},{"description":563,"installMethods":564,"name":566,"sourceUrl":567},"Scaffold an aggregate root with entity, value objects, repository interface, domain events, and test stubs",{"claudeCode":565},"ruvnet/ruflo","DDD Aggregate","https://github.com/ruvnet/ruflo",{"basePath":569,"githubOwner":570,"githubRepo":571,"locale":18,"slug":572,"type":246},"plugins/ruflo-ddd/skills/ddd-aggregate","ruvnet","ruflo","ddd-aggregate",{"evaluate":574,"extract":580},{"promptVersionExtension":205,"promptVersionScoring":206,"score":575,"tags":576,"targetMarket":217,"tier":218},99,[577,212,578,579,214],"code-generation","typescript","scaffolding",{"commitSha":252,"license":238},{"parentExtensionId":582,"repoId":583},"k17dr6hvg5rnnfjvf9n8pbwjph86m6g5","kd7ed28gj8n0y3msk5dzrp05zs86nqtc",[577,212,214,579,578],{"evaluatedAt":586,"extractAt":587,"updatedAt":586},1778700408933,1778696691708,{"_creationTime":589,"_id":590,"community":591,"display":592,"identity":596,"providers":598,"relations":604,"tags":605,"workflow":606},1778696691708.3193,"k178pg0zxq3mszf47p8pw3ye8s86njjs",{"reviewCount":8},{"description":593,"installMethods":594,"name":595,"sourceUrl":567},"Create and manage a DDD bounded context with standard directory structure",{"claudeCode":565},"ddd-context",{"basePath":597,"githubOwner":570,"githubRepo":571,"locale":18,"slug":595,"type":246},"plugins/ruflo-ddd/skills/ddd-context",{"evaluate":599,"extract":603},{"promptVersionExtension":205,"promptVersionScoring":206,"score":600,"tags":601,"targetMarket":217,"tier":218},98,[212,214,579,577,578,602],"developer-tools",{"commitSha":252},{"parentExtensionId":582,"repoId":583},[577,212,602,214,579,578],{"evaluatedAt":607,"extractAt":587,"updatedAt":607},1778700425461,{"_creationTime":609,"_id":610,"community":611,"display":612,"identity":617,"providers":619,"relations":626,"tags":629,"workflow":630},1778698867338.2966,"k1729b0tjgmnf87fphk31r78hd86njn7",{"reviewCount":8},{"description":613,"installMethods":614,"name":214,"sourceUrl":616},"Model software around the business domain using bounded contexts, aggregates, and ubiquitous language. Use when the user mentions \"domain modeling\", \"bounded context\", \"aggregate root\", \"ubiquitous language\", \"anti-corruption layer\", \"context mapping\", \"domain events\", or \"strategic design\". Also trigger when splitting a monolith into services, defining microservice boundaries, or aligning code structure with business processes. Covers entities vs value objects, domain events, and context mapping strategies. For architecture layers, see clean-architecture. For complexity, see software-design-philosophy.",{"claudeCode":615},"wondelai/skills","https://github.com/wondelai/skills",{"basePath":214,"githubOwner":618,"githubRepo":245,"locale":18,"slug":214,"type":246},"wondelai",{"evaluate":620,"extract":625},{"promptVersionExtension":205,"promptVersionScoring":206,"score":600,"tags":621,"targetMarket":217,"tier":218},[214,622,212,623,13,624],"software-architecture","bounded-contexts","modeling",{"commitSha":252},{"parentExtensionId":627,"repoId":628},"k17bj16z8e1yp2wwfd2hxagjtd86m0fp","kd7aexggvp8qjwjtgjbetg0jch86mg5a",[623,212,214,624,622,13],{"evaluatedAt":631,"extractAt":632,"updatedAt":631},1778699174343,1778698867338,{"_creationTime":634,"_id":635,"community":636,"display":637,"identity":641,"providers":643,"relations":651,"tags":652,"workflow":653},1778696691708.3062,"k178rt0mhkwtjj1axhgtt0tfth86mt09",{"reviewCount":8},{"description":638,"installMethods":639,"name":640,"sourceUrl":567},"Domain-Driven Design architecture for claude-flow v3. Implements modular, bounded context architecture with clean separation of concerns and microkernel pattern.",{"claudeCode":565},"v3-ddd-architecture",{"basePath":642,"githubOwner":570,"githubRepo":571,"locale":18,"slug":640,"type":246},".claude/skills/v3-ddd-architecture",{"evaluate":644,"extract":650},{"promptVersionExtension":205,"promptVersionScoring":206,"score":645,"tags":646,"targetMarket":217,"tier":218},100,[212,647,648,649,578],"architecture","refactoring","clean-architecture",{"commitSha":252},{"repoId":583},[647,649,212,648,578],{"evaluatedAt":654,"extractAt":587,"updatedAt":654},1778699412094,{"_creationTime":656,"_id":657,"community":658,"display":659,"identity":663,"providers":665,"relations":671,"tags":672,"workflow":673},1778696691708.3196,"k17a655yz13p1qkjjymqjb5ry986n4s1",{"reviewCount":8},{"description":660,"installMethods":661,"name":662,"sourceUrl":567},"Validate domain boundaries -- detect cross-context import violations and aggregate invariant issues",{"claudeCode":565},"ddd-validate",{"basePath":664,"githubOwner":570,"githubRepo":571,"locale":18,"slug":662,"type":246},"plugins/ruflo-ddd/skills/ddd-validate",{"evaluate":666,"extract":670},{"promptVersionExtension":205,"promptVersionScoring":206,"score":575,"tags":667,"targetMarket":217,"tier":218},[212,668,578,669,602],"code-quality","validation",{"commitSha":252},{"parentExtensionId":582,"repoId":583},[668,212,602,578,669],{"evaluatedAt":674,"extractAt":587,"updatedAt":674},1778700443780,{"_creationTime":676,"_id":677,"community":678,"display":679,"identity":685,"providers":690,"relations":699,"tags":701,"workflow":702},1778697652123.8882,"k171669e2wby7rvkwtsrg3fqjx86m793",{"reviewCount":8},{"description":680,"installMethods":681,"name":683,"sourceUrl":684},"OpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.",{"claudeCode":682},"steipete/clawdis","OpenProse VM","https://github.com/steipete/clawdis",{"basePath":686,"githubOwner":687,"githubRepo":688,"locale":18,"slug":689,"type":246},"extensions/open-prose/skills/prose","steipete","clawdis","prose",{"evaluate":691,"extract":698},{"promptVersionExtension":205,"promptVersionScoring":206,"score":575,"tags":692,"targetMarket":217,"tier":218},[693,694,695,216,696,697],"orchestration","workflow","agent","runtime","vm",{"commitSha":252,"license":238},{"repoId":700},"kd738npxg9yh3xf3vddzy9fyfh86nhng",[695,216,693,696,697,694],{"evaluatedAt":703,"extractAt":704,"updatedAt":703},1778698206178,1778697652123]