{"items":[{"slug":"source-brief","kind":"skill","title":"Answers from documents","description":"Compare files, uncover contradictions, and link conclusions to evidence.","applications":["Compare a plan with a report before launch.","Find contradictions across several documents.","Prepare an answer with evidence for each conclusion."],"outcome":"An answer with source references, discrepancies and open questions.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/source-brief?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/source-brief?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/source-brief","download":"https://kossolapov.com/downloads/materials/en/source-brief.zip","source":null,"package":null},{"slug":"skill-audit","kind":"skill","title":"Audit agent instructions","description":"Find conflicting rules and unnecessary requirements in SKILL.md and AGENTS.md.","applications":["Understand why an agent reads unnecessary files.","Find conflicting rules in SKILL.md or AGENTS.md.","Shorten instructions while retaining important constraints."],"outcome":"A list of problems with exact quotes and focused proposed edits.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/skill-audit?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/skill-audit?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/skill-audit","download":"https://kossolapov.com/downloads/materials/en/skill-audit.zip","source":null,"package":null},{"slug":"research-brief","kind":"skill","title":"Research with sources","description":"Answer a work question using primary sources and make evidence gaps visible.","applications":["Compare services against your team’s requirements.","Check a claim against primary sources.","Separate known facts from questions that need investigation."],"outcome":"A concise brief with sources, comparison criteria and evidence gaps.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/research-brief?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/research-brief?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/research-brief","download":"https://kossolapov.com/downloads/materials/en/research-brief.zip","source":null,"package":null},{"slug":"interview-patterns","kind":"skill","title":"Interview patterns","description":"Extract jobs and recurring problems from interviews while keeping quotes and context.","applications":["Synthesize several user interviews.","Identify recurring customer problems and tasks.","Check a hypothesis while retaining examples and exceptions."],"outcome":"Themes and patterns with quotes, mention counts and sample limitations.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/interview-patterns?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/interview-patterns?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/interview-patterns","download":"https://kossolapov.com/downloads/materials/en/interview-patterns.zip","source":null,"package":null},{"slug":"decision-memo","kind":"skill","title":"Decision memo","description":"Compare alternatives using explicit criteria and recommend a decision with revisit conditions.","applications":["Choose between buying a service and building it.","Compare options with budget and time constraints.","Record when a decision should be revisited."],"outcome":"A memo with options, criteria, a recommendation and revisit conditions.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/decision-memo?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/decision-memo?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/decision-memo","download":"https://kossolapov.com/downloads/materials/en/decision-memo.zip","source":null,"package":null},{"slug":"plain-editor","kind":"skill","title":"Plain-language editor","description":"Remove jargon and repetition while preserving the author’s voice, facts, and uncertainty.","applications":["Shorten a post or email while preserving the author’s voice.","Remove jargon and repetition.","Make a complex explanation clearer without changing facts."],"outcome":"An edited text that retains facts, numbers and qualifications.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/plain-editor?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/plain-editor?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/plain-editor","download":"https://kossolapov.com/downloads/materials/en/plain-editor.zip","source":null,"package":null},{"slug":"content-repurpose","kind":"skill","title":"Repurpose a source","description":"Turn a source into a post, email, or script without inventing facts.","applications":["Turn a long piece into a Telegram post.","Adapt an article for an email newsletter.","Create a short video script from an existing text."],"outcome":"Versions for the chosen formats without new unsupported claims.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/content-repurpose?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/content-repurpose?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/content-repurpose","download":"https://kossolapov.com/downloads/materials/en/content-repurpose.zip","source":null,"package":null},{"slug":"meeting-actions","kind":"skill","title":"Meeting to actions","description":"Extract decisions, owners, and deadlines from a transcript, separating commitments from ideas.","applications":["Turn a meeting transcript into action items.","Extract agreements, owners and deadlines.","Separate decisions from ideas that were only discussed."],"outcome":"Notes with decisions, tasks and explicitly marked unknowns.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/meeting-actions?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/meeting-actions?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/meeting-actions","download":"https://kossolapov.com/downloads/materials/en/meeting-actions.zip","source":null,"package":null},{"slug":"product-brief","kind":"skill","title":"Idea to product brief","description":"Define the user problem, first-version scope, and observable acceptance criteria.","applications":["Describe the user problem before development.","Define the scope of an MVP.","Agree on how the team will accept the result."],"outcome":"A product brief covering the problem, scenarios, scope and acceptance criteria.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/product-brief?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/product-brief?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/product-brief","download":"https://kossolapov.com/downloads/materials/en/product-brief.zip","source":null,"package":null},{"slug":"reproducible-bug","kind":"skill","title":"Reproducible bug report","description":"Turn “it is broken” into clear reproduction steps, expected behavior, and evidence.","applications":["Give a developer a reproducible bug report.","Pinpoint when a form or download fails.","Gather observations and steps without guessing the cause."],"outcome":"A bug report with steps, expected and actual behavior, and evidence.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/reproducible-bug?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/reproducible-bug?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/reproducible-bug","download":"https://kossolapov.com/downloads/materials/en/reproducible-bug.zip","source":null,"package":null},{"slug":"csv-review","kind":"skill","title":"Review a dataset","description":"Find missing values, duplicates, mixed units, and ambiguous dates before analysis.","applications":["Check a table before calculating revenue.","Find duplicates, missing values and mixed units.","Resolve ambiguous dates before analysis."],"outcome":"A data-quality report and clarification list without changing the source file.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/csv-review?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/csv-review?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/csv-review","download":"https://kossolapov.com/downloads/materials/en/csv-review.zip","source":null,"package":null},{"slug":"change-review","kind":"skill","title":"Review a change","description":"Review a specific diff for behavior bugs and regressions, with line references.","applications":["Review a diff before merging.","Find regressions and behavioral bugs.","Assess how a change affects users."],"outcome":"Actionable findings with code locations, failure scenarios and consequences.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/change-review?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/change-review?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/change-review","download":"https://kossolapov.com/downloads/materials/en/change-review.zip","source":null,"package":null},{"slug":"task-brief","kind":"template","title":"Agent task brief","description":"A task prompt with context, source material, scope, and a clear definition of done.","applications":["Give an agent a task with a clear outcome.","Collect context and inputs in one place.","Define what is in and out of scope."],"outcome":"A completed brief with the task, inputs, constraints and completion criteria.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/task-brief?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/task-brief?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/task-brief","download":"https://kossolapov.com/downloads/materials/en/task-brief.md","source":null,"package":null},{"slug":"project-instructions","kind":"template","title":"Project AGENTS.md","description":"A concise starting point for project structure, real commands, and completion criteria.","applications":["Prepare a short AGENTS.md for a project.","Record actual run and verification commands.","Clarify working rules while retaining existing instructions."],"outcome":"A foundation for project instructions with verifiable commands and completion rules.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/project-instructions?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/project-instructions?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/project-instructions","download":"https://kossolapov.com/downloads/materials/en/project-instructions.md","source":null,"package":null},{"slug":"source-matrix","kind":"template","title":"Evidence matrix","description":"Track which claim relies on which source, including dates and disagreements.","applications":["Check the evidence for key claims.","Compare sources with different dates and conclusions.","See which claims still lack support."],"outcome":"A claim–source–evidence–limitations table.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/source-matrix?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/source-matrix?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/source-matrix","download":"https://kossolapov.com/downloads/materials/en/source-matrix.md","source":null,"package":null},{"slug":"acceptance-criteria","kind":"template","title":"Acceptance criteria","description":"Define observable success, errors, empty states, and data preservation.","applications":["Define when a feature is complete.","Plan form errors and empty states.","Agree on checks for data preservation."],"outcome":"A set of testable scenarios with expected results.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/acceptance-criteria?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/acceptance-criteria?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/acceptance-criteria","download":"https://kossolapov.com/downloads/materials/en/acceptance-criteria.md","source":null,"package":null},{"slug":"experiment-card","kind":"template","title":"Experiment card","description":"Define a hypothesis, metric, constraints, and decision rule before running a test.","applications":["Test a hypothesis before a large build.","Choose a metric and decision rule in advance.","Compare experiment results with original expectations."],"outcome":"An experiment card with a hypothesis, method, metric, constraints and decision rule.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/experiment-card?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/experiment-card?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/experiment-card","download":"https://kossolapov.com/downloads/materials/en/experiment-card.md","source":null,"package":null},{"slug":"handoff-note","kind":"template","title":"Task handoff note","description":"Hand work to another person or agent with state, decisions, files, and a next step.","applications":["Hand unfinished work to a colleague or agent.","Preserve decisions and links to relevant files.","Identify the next step and separate completed from started work."],"outcome":"A handoff note with status, context and the next action.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/handoff-note?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/handoff-note?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/handoff-note","download":"https://kossolapov.com/downloads/materials/en/handoff-note.md","source":null,"package":null},{"slug":"output-check","kind":"checklist","title":"Check an AI answer","description":"Check facts, calculations, and task fit before relying on an AI output.","applications":["Check an agent’s answer before sending it to a client.","Verify facts, calculations and fit to the task.","Identify parts of the result that remain unchecked."],"outcome":"A list of issues found and claims not yet verified.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/output-check?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/output-check?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/output-check","download":"https://kossolapov.com/downloads/materials/en/output-check.md","source":null,"package":null},{"slug":"skill-readiness","kind":"checklist","title":"Is the skill ready?","description":"Check a skill’s purpose, content, activation, and boundaries on realistic requests.","applications":["Check a new skill before using it.","Clarify when it should and should not activate.","Try examples with complete and incomplete information."],"outcome":"A review of the skill’s purpose, boundaries and behavior across scenarios.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/skill-readiness?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/skill-readiness?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/skill-readiness","download":"https://kossolapov.com/downloads/materials/en/skill-readiness.md","source":null,"package":null},{"slug":"source-check","kind":"checklist","title":"Evaluate a source","description":"Separate original evidence from retellings and assess its relevance to the question.","applications":["Distinguish a primary source from a retelling.","Check whether a link actually supports a claim.","Compare several sources before publication."],"outcome":"An assessment of sources specifying what each actually supports.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/source-check?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/source-check?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/source-check","download":"https://kossolapov.com/downloads/materials/en/source-check.md","source":null,"package":null},{"slug":"data-preparation","kind":"checklist","title":"Prepare inputs for an agent","description":"Provide useful context and files while preserving structure, versions, and sensitive information.","applications":["Prepare documents before handing them to an agent.","Check versions, context completeness and file availability.","Remove data that the task does not need."],"outcome":"A checked set of inputs and a list of missing information.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/data-preparation?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/data-preparation?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/data-preparation","download":"https://kossolapov.com/downloads/materials/en/data-preparation.md","source":null,"package":null},{"slug":"instruction-conflicts","kind":"checklist","title":"Why is the agent stuck?","description":"Identify rules that cause unnecessary reading, repeated checks, or premature stops.","applications":["Find a rule that makes an agent stop unnecessarily.","Remove repeated checks and unnecessary reading.","Analyze conflicts between layers of instructions."],"outcome":"The exact conflicting wording and a proposed minimal change.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/instruction-conflicts?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/instruction-conflicts?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/instruction-conflicts","download":"https://kossolapov.com/downloads/materials/en/instruction-conflicts.md","source":null,"package":null},{"slug":"website-check","kind":"checklist","title":"Website release checklist","description":"Walk through links, forms, mobile layouts, downloads, and failure states before publishing.","applications":["Prepare a website for publication.","Check navigation, forms and file downloads.","Cover mobile screens, errors and empty states."],"outcome":"A website review checklist with observed results and remaining issues.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/website-check?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/website-check?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/website-check","download":"https://kossolapov.com/downloads/materials/en/website-check.md","source":null,"package":null},{"slug":"react-performance","kind":"skill","title":"Speed up React and Next.js","description":"Find request waterfalls, heavy imports and unnecessary renders. Vercel’s rules help prioritize changes worth measuring first.","applications":["Investigate slow Next.js page loads","Reduce client JavaScript","Review data fetching and server component boundaries"],"outcome":"A prioritized set of changes with code examples and a measurement plan.","githubRepo":"vercel-labs/agent-skills","markdown":"https://kossolapov.com/api/public/materials/react-performance?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/react-performance?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/react-performance","download":null,"source":{"mode":"link-only","originalName":"vercel-react-best-practices","author":{"name":"Vercel Engineering","url":"https://github.com/vercel-labs","attribution":"Original skill: Vercel Engineering. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Vercel Engineering. Редакционное описание: kossolapov.com."},"repository":"vercel-labs/agent-skills","path":"skills/react-best-practices/SKILL.md","revision":"063bee94c3f4df8453406c830b0a7df0f2860278","url":"https://github.com/vercel-labs/agent-skills/blob/063bee94c3f4df8453406c830b0a7df0f2860278/skills/react-best-practices/SKILL.md","license":{"name":"MIT","url":"https://github.com/vercel-labs/agent-skills/blob/063bee94c3f4df8453406c830b0a7df0f2860278/README.md","evidenceType":"source-reference"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["React/Next.js project; code editor and project build tools","Browser profiler or bundle analyzer to verify performance"],"keys":[],"paidDependencies":[],"limitations":["Rules must match the installed React and Next.js versions.","Performance gains depend on the application and require measurement.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"README.md","sha256":"7c02f64b08fc6c4eef03c01d64f3e2ed478193ccfcbd14edba379abe23304651","bytes":7838,"role":"upstream"},{"path":"skills/react-best-practices/AGENTS.md","sha256":"fc93e7421177bbf869cce892bc60a6c83a4517d974bc3bf65c4e2c1e58a6ccf6","bytes":108261,"role":"upstream"},{"path":"skills/react-best-practices/README.md","sha256":"9eafb2123d3b8b2aef41fba0db2648a3f4f49996f8c7c8bb2c86263befd8b48a","bytes":3360,"role":"upstream"},{"path":"skills/react-best-practices/SKILL.md","sha256":"71ed7794962fa6e803ee83030517b5b93a9f70fbfeb431ec4535c5480a8d8355","bytes":7251,"role":"upstream"},{"path":"skills/react-best-practices/metadata.json","sha256":"c4e18bac3290fbe1b471a605867d4df68b03144ea26b8befdbe8f9d8fd124354","bytes":921,"role":"upstream"},{"path":"skills/react-best-practices/rules/_sections.md","sha256":"01c59969e4e867f0708c8f8ef9c6d87fab9a07d0586244f429ff84013db8a115","bytes":1554,"role":"upstream"},{"path":"skills/react-best-practices/rules/_template.md","sha256":"99df2a3ea088c6c22de2484ddc7e964d0e9923846f44c63380343ecc64455442","bytes":631,"role":"upstream"},{"path":"skills/react-best-practices/rules/advanced-effect-event-deps.md","sha256":"55ed8f9f27a1bff803d6fa55828176207714b02123cbb97ddb8a90d88024a723","bytes":1802,"role":"upstream"},{"path":"skills/react-best-practices/rules/advanced-event-handler-refs.md","sha256":"a3097edeecfb2ff6851cd66ed8cdf0617c3c88180504bee824aa6e75a215bbbc","bytes":1483,"role":"upstream"},{"path":"skills/react-best-practices/rules/advanced-init-once.md","sha256":"3e4dc22173eb0e2b6dcf583e3babd862b8696328f8f59aee7c4d746c5bc05f6c","bytes":958,"role":"upstream"},{"path":"skills/react-best-practices/rules/advanced-use-latest.md","sha256":"8a3f64dfe5a77d1564248faf17fe662ae75b55d497a243cb30b38eb07ccbbf9a","bytes":1072,"role":"upstream"},{"path":"skills/react-best-practices/rules/async-api-routes.md","sha256":"523338540d73427dc14c0cbb19f2741ebccdf8b105a7b2c1b33d2905cf237a42","bytes":1125,"role":"upstream"},{"path":"skills/react-best-practices/rules/async-cheap-condition-before-await.md","sha256":"03107c1f70a293cd58a8abc5474c5548e20ea4efdf01b6d45aae7ad0ac1cb32c","bytes":1220,"role":"upstream"},{"path":"skills/react-best-practices/rules/async-defer-await.md","sha256":"f3c142d090615abdcc99d31c123be37b31f0f1ed8d9ec9f7789a3bc6883ae0fb","bytes":2208,"role":"upstream"},{"path":"skills/react-best-practices/rules/async-dependencies.md","sha256":"16ef469f877e30c6b8e1e1b4bc3e527312fa3c6318cb785a4eca186ea236131a","bytes":1293,"role":"upstream"},{"path":"skills/react-best-practices/rules/async-parallel.md","sha256":"6d2f841896279e976dfcdc1ac89e70771ac188baadfd43c096b5706cb838b961","bytes":654,"role":"upstream"},{"path":"skills/react-best-practices/rules/async-suspense-boundaries.md","sha256":"de05fedac2eb7ae563b887b5a424464ec3dfaf84e5b7797467ebe2a796ac8afc","bytes":2510,"role":"upstream"},{"path":"skills/react-best-practices/rules/bundle-analyzable-paths.md","sha256":"62090b5c815fd71bf1133dce754f51abc16a9456d0ccd025fd627de27726e92a","bytes":2382,"role":"upstream"},{"path":"skills/react-best-practices/rules/bundle-barrel-imports.md","sha256":"e648f6d54525f07a691357040ca5bff6ea3424788a91ff63812adb29622a671b","bytes":2795,"role":"upstream"},{"path":"skills/react-best-practices/rules/bundle-conditional.md","sha256":"09c8259c3efb04fc0abb8e412ccbda217c222ae8118516283e571c995fe3a7d4","bytes":949,"role":"upstream"},{"path":"skills/react-best-practices/rules/bundle-defer-third-party.md","sha256":"3719fb47b191e8db4fe22686ec88448ad5af9e6838585425abbe103d0b642e37","bytes":920,"role":"upstream"},{"path":"skills/react-best-practices/rules/bundle-dynamic-imports.md","sha256":"401817a7369f315fc5a68a1095742ff7d53d0461906880dc9d64a41495ee1986","bytes":791,"role":"upstream"},{"path":"skills/react-best-practices/rules/bundle-preload.md","sha256":"d1f7cc28da7cd5ab249acd287edc5b761afcfb194e9cb62cd44c5f3543db2de2","bytes":1149,"role":"upstream"},{"path":"skills/react-best-practices/rules/client-event-listeners.md","sha256":"242a873349febc1ce685e85617994784dbab92c2eaa68aed7fed5a83e7680e93","bytes":1969,"role":"upstream"},{"path":"skills/react-best-practices/rules/client-localstorage-schema.md","sha256":"0fb7cdf9dc93fdf22f87e3669f953fb9d4ac9b0be42eec4a29fe9a2560610b88","bytes":1950,"role":"upstream"},{"path":"skills/react-best-practices/rules/client-passive-event-listeners.md","sha256":"1f35016f9053de69e884ee9be00654e37979c2ca85f5e57764dc2626ff7acb4b","bytes":1644,"role":"upstream"},{"path":"skills/react-best-practices/rules/client-swr-dedup.md","sha256":"644652c39c6cc00de8d1c77a7273612e868dc3f7edda30764164c12ec0f764a3","bytes":1159,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-batch-dom-css.md","sha256":"480b891b9eaf96e929dc1e964274a4828e3a78009b7d00ccd965a0d425215959","bytes":3266,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-cache-function-results.md","sha256":"3daaa11d24f4295cb6be8bc6f407f2ce83cc7b5bd1f0e68891ea8ab835721dc7","bytes":1949,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-cache-property-access.md","sha256":"73e47431e74878a927061bf0ddc7cd91a7556cb35d2573f3421e82300d9ae311","bytes":532,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-cache-storage.md","sha256":"11b826b0433898c1ece2d3547010d8e77db9fb240185748c45db91493de9b6cc","bytes":1651,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-combine-iterations.md","sha256":"71add08aeeb43091d4ff4c0b2842cce8b4bdef8ad3e732cc034bb5a84827e746","bytes":753,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-early-exit.md","sha256":"925ce5ce87f3347186ca62212f29cc6baa2b8c85a96d2720ad07c3d0abf781c0","bytes":1133,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-flatmap-filter.md","sha256":"9e5b166a41914d975bef7635467f8fb32cd98b5c3126c0bc6f163490812fb5f0","bytes":1411,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-hoist-regexp.md","sha256":"f9e9aef2f7c2307dd7310f283df85dcada45fc43e9bb941b0c3aa414dec21ec4","bytes":1028,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-index-maps.md","sha256":"5df1bdc2cfabb2c98abd55d26762e5c18189535c2e686184f426082e62920391","bytes":837,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-length-check-first.md","sha256":"8b54a311c826b299272f29187fc58bc55772a04c4a72eeb29456ee96dc9fc624","bytes":1747,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-min-max-loop.md","sha256":"87dfb67e2f39df6ad8bcfb5b78c5fb364d3c07554ad188a202408d99f3763421","bytes":2290,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-request-idle-callback.md","sha256":"ee08f83905b4011abbc33d594033157d77561b5bbd9b36b04f0f409581ffec32","bytes":2647,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-set-map-lookups.md","sha256":"a7fd781a6ba9ad49065961b6f9a90ef486bf6b648390e1a08704025f98e1642b","bytes":532,"role":"upstream"},{"path":"skills/react-best-practices/rules/js-tosorted-immutable.md","sha256":"d0a5e1b0fec48a0a81397957e2f068e224329f7c42cb5feeed8aae6fa64025e8","bytes":1782,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-activity.md","sha256":"1e5e7eaf3555e61d6a2e900089c676527d26259501db5594f59544b6c664f85a","bytes":564,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-animate-svg-wrapper.md","sha256":"9c6ae0ca7a51434e803887c64cded760956579a1452ccb80a461a03f9c937c77","bytes":1185,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-conditional-render.md","sha256":"2ec2fa23c4148285144687050c52369adba3da2fbe3d486f8d3e0aad8f06f2bc","bytes":980,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-content-visibility.md","sha256":"64eee6d5b916fe74df33363994b27fc7f71bea3bcedc7ee04bda23107ca3e6e4","bytes":815,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-hoist-jsx.md","sha256":"93b229560fae92005ed9a2a829064607b39b2e984e92d221d05b2d41df2b7c0e","bytes":1039,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-hydration-no-flicker.md","sha256":"dc7ab358c67c177bca6e6f360fbc935ebe4efa928c0ba3ebd3f9f3d9e2000ca3","bytes":2308,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-hydration-suppress-warning.md","sha256":"915bacb934e2927d84b37a3f3d225a47b309ac8f9e494ed2bcb66ce07c5676a2","bytes":872,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-resource-hints.md","sha256":"351b1095d641717b930f1b2253282b7120af3023bc74e06c17675168d4286864","bytes":2549,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-script-defer-async.md","sha256":"4cea07b7875ba7fc2c7465ff23b63a2bb334f90aaf2d9293d38d67b05fdb32ab","bytes":1868,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-svg-precision.md","sha256":"ed468533f6e95f622859c884b122cf21f9f593ed6bb3d500a54de4b9f9bcb9fb","bytes":588,"role":"upstream"},{"path":"skills/react-best-practices/rules/rendering-usetransition-loading.md","sha256":"3a1249c3f13026b6f54ab5712c388df219d6af01b12aa542749acd99a46f4bc1","bytes":2074,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-defer-reads.md","sha256":"234050a77faf50cb306be10a9e15bd4421134ab5907e75f13e6d78e2bd262dc9","bytes":973,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-dependencies.md","sha256":"17eb5830956fb56486fd3cfc7431f5849d39751730c05ad9e77dd4f0c27169c5","bytes":824,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-derived-state-no-effect.md","sha256":"cb11ec76f50aa7b6847269f02d79b120c889a30d9ecd2c1d578f75144419c77a","bytes":1201,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-derived-state.md","sha256":"1c326bb67b01fb084eb00c8911b0a7cff54681c2315b629f88e49b64eaa6481d","bytes":728,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-functional-setstate.md","sha256":"5e68df6b2ae8058e67f476ff1ac67bde159f5a9d18df439e46eabcdeb7b52e58","bytes":2968,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-lazy-state-init.md","sha256":"4ae844740f266fc8cbf050701230286624a2440ec5be67b9a63d9edc3c580573","bytes":2016,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-memo-with-default-value.md","sha256":"81c47476564ad8a79fc68fc442734255ca7d6829424359464503fda0a9f9a0dd","bytes":1173,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-memo.md","sha256":"1f258990c2f27ff6256b3cc5c43300631bb3f0d81f749aed08d07fcdcc131dd1","bytes":1148,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-move-effect-to-event.md","sha256":"abc2cbf167bee056743023351e96806a411d3398da8802093620aecf0721f029","bytes":1268,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-no-inline-components.md","sha256":"1cc32907a770272524ba682eef9e7efdd8ad4533b6f89b718a1fcd7d1d0eb6a3","bytes":2135,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-simple-expression-in-memo.md","sha256":"5bdcf2d1558ba5204e643c887b7b4060f89630969425651eb68e96427d97f800","bytes":1018,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-split-combined-hooks.md","sha256":"6f45d703343484ef9acef9388397f3642966ae6a5a258899a0cf1f9977cfbf6c","bytes":1844,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-transitions.md","sha256":"60f4033909a62df5e5b8c601494f9e50a562e2f8c1c2d81eac24f38142265f1c","bytes":1055,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-use-deferred-value.md","sha256":"8c3579576a61a949884167745dcfaf1d5426ba305cc61fd0a79602d70fda4909","bytes":1846,"role":"upstream"},{"path":"skills/react-best-practices/rules/rerender-use-ref-transient-values.md","sha256":"f1a649af9d1d0b5c762f6c9c4c1c70c90d7df82aa10296ee87aadb78c1b76c54","bytes":1742,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-after-nonblocking.md","sha256":"d0b8d24a3db9f0f65f9e2bddbf230b0e03a5f60e1229d93a4a18f5e7a991c7c2","bytes":2012,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-auth-actions.md","sha256":"a2ca8aa102839251c7971ec784560fab943c20b36fe6f80365d4110c13260c23","bytes":2649,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-cache-lru.md","sha256":"1924b64561841923b88a657085097a0aeba3e0ba2d5470b9f5c15cc10d6ae70f","bytes":1353,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-cache-react.md","sha256":"fddeea6c870bb3da4134b61d54b7d09b83d2603f929b7547cd3dc1dc269edd5c","bytes":2228,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-dedup-props.md","sha256":"c2747424cdac46be62f835f245a0aa887b0090b416d28e2ac8676702645eeb37","bytes":2060,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-hoist-static-io.md","sha256":"5abea4dd882b13661bd5f7dfb93f9e547d5f08176c61c448ade91b210ed5d49f","bytes":4423,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-no-shared-module-state.md","sha256":"4d869bf1cd2f1632e5ca4c0e64b1cf0e71c5f5a0f940bc8a22174d205e735ed7","bytes":1766,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-parallel-fetching.md","sha256":"569a2e9fc04f9606686cd75c5894ef8781b502786a7fffe241396846c7733472","bytes":1554,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-parallel-nested-fetching.md","sha256":"ad5d9656984d4a959997a2367bf59cc6632297b4634a1dd13a087939d83f30b3","bytes":992,"role":"upstream"},{"path":"skills/react-best-practices/rules/server-serialization.md","sha256":"f4c7d68b29c82381baad059c4a7f09e868e71ec9c3115a26ad3ae7d24c0dfe1f","bytes":996,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Проект React/Next.js, редактор кода и инструменты сборки","Профилировщик браузера или анализатор сборки для проверки скорости"],"keys":[],"paidDependencies":[],"limitations":["Правила должны соответствовать установленным версиям React и Next.js.","Выигрыш в скорости зависит от приложения и требует замеров.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"frontend-design","kind":"skill","title":"Design an interface around the product","description":"Define a visual direction, typography and layout, then check them against the brief. Anthropic’s workflow connects design choices to the product.","applications":["Design a distinctive landing page","Refresh an interface within brand constraints","Plan mobile layouts and error states"],"outcome":"A visual plan, style tokens and an interface ready for browser review.","githubRepo":"anthropics/skills","markdown":"https://kossolapov.com/api/public/materials/frontend-design?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/frontend-design?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/frontend-design","download":null,"source":{"mode":"link-only","originalName":"frontend-design","author":{"name":"Anthropic","url":"https://github.com/anthropics","attribution":"Original skill: Anthropic. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Anthropic. Редакционное описание: kossolapov.com."},"repository":"anthropics/skills","path":"skills/frontend-design/SKILL.md","revision":"41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f","url":"https://github.com/anthropics/skills/blob/41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f/skills/frontend-design/SKILL.md","license":{"name":"Apache-2.0","url":"https://github.com/anthropics/skills/blob/41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f/skills/frontend-design/LICENSE.txt","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["Frontend project and browser preview","Screenshot tools for visual review"],"keys":[],"paidDependencies":[],"limitations":["Visual quality is subjective; inspect rendered output and accessibility.","Does not supply production copy, factual claims or rights to external assets.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"skills/frontend-design/LICENSE.txt","sha256":"0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594","bytes":10174,"role":"license"},{"path":"skills/frontend-design/SKILL.md","sha256":"d91970639e9f5c37682ac7ab60094d35f1c7c1f38d731bd56396563aee10c1d3","bytes":9390,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Frontend-проект и предпросмотр в браузере","Инструменты создания скриншотов для визуальной проверки"],"keys":[],"paidDependencies":[],"limitations":["Качество дизайна субъективно; проверяйте отрисованный интерфейс и доступность.","Скилл не предоставляет готовые факты, тексты для публикации или права на внешние изображения.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"postgres-best-practices","kind":"skill","title":"PostgreSQL queries, indexes and access","description":"Review slow SQL, schema design and row-level access. Supabase provides explanations and examples for PostgreSQL, including deployments outside Supabase.","applications":["Read a slow query’s execution plan","Choose indexes for actual filter patterns","Review tenant data isolation"],"outcome":"SQL and schema recommendations with performance and access checks.","githubRepo":"supabase/agent-skills","markdown":"https://kossolapov.com/api/public/materials/postgres-best-practices?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/postgres-best-practices?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/postgres-best-practices","download":null,"source":{"mode":"link-only","originalName":"supabase-postgres-best-practices","author":{"name":"Supabase","url":"https://github.com/supabase","attribution":"Original skill: Supabase. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Supabase. Редакционное описание: kossolapov.com."},"repository":"supabase/agent-skills","path":"skills/supabase-postgres-best-practices/SKILL.md","revision":"8331f910845103c08d51f6ca1d86ebb7d1f745e3","url":"https://github.com/supabase/agent-skills/blob/8331f910845103c08d51f6ca1d86ebb7d1f745e3/skills/supabase-postgres-best-practices/SKILL.md","license":{"name":"MIT","url":"https://github.com/supabase/agent-skills/blob/8331f910845103c08d51f6ca1d86ebb7d1f745e3/LICENSE","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["PostgreSQL schema, queries and EXPLAIN plans","A separate test database for changes"],"keys":["Database access only when execution is requested; use a limited test role"],"paidDependencies":["A hosted database may incur usage charges"],"limitations":["Index advice depends on selectivity, workload and write cost; example speedups are not guarantees.","RLS must be tested with real application roles and trusted identity context.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"LICENSE","sha256":"b65e575eb4f04a13c187d64e958321298e2ab84d67aa8428819f362056ba292c","bytes":1065,"role":"license"},{"path":"skills/supabase-postgres-best-practices/CHANGELOG.md","sha256":"751ad110037c85d400018c9894716a04fa46357ff55c22b1169b280752e19e88","bytes":5684,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/SKILL.md","sha256":"ad65e776f45e761bafc609d3f506c77c1032225aa65e0c4c02f241b8071e5855","bytes":3231,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/_contributing.md","sha256":"191e039e7d94764e6073410b513b559f9a594e0fdf0252a30c2a2986df2ab3bc","bytes":4113,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/_sections.md","sha256":"c9e992612b422c7122de0b7542ebc2450db283edaab08cfe86c6d657fcccccd5","bytes":1682,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/_template.md","sha256":"6299954250f212caabe339d752c3e5313a8e07d1a182a4e4b425baee91df1bd2","bytes":1040,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/advanced-full-text-search.md","sha256":"40c2606bbb4c4dce31308f201b24cc7f58c7df05b1d9c6856fe2b888d3b7cf28","bytes":1468,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md","sha256":"24cacf6a8bc35901dd566d24502ce8e57f810a5c196b897e61d52726e521d106","bytes":1444,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/conn-idle-timeout.md","sha256":"630588902c00fcec59a5988cc5d042f76dcf2c923a535abfd8c47dca205eaed5","bytes":1282,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/conn-limits.md","sha256":"11b2a67a7c7679cbbc5d807bbb17e69c98484a581d0c8b929c03408f412b81b2","bytes":1325,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/conn-pooling.md","sha256":"88cf086bf98ba865d2e9d0579974e1366b14157619d6a93e7da77be91084e4a5","bytes":1382,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/conn-prepared-statements.md","sha256":"174e9332fe3dda5c99b2b00159fb1915ae36c00bab3a7882c14e73e4344e946e","bytes":1529,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/data-batch-inserts.md","sha256":"531933b82d6a622d0fae29e0ea80be6fe5d78655adf2804c271ea84a1930de37","bytes":1287,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/data-n-plus-one.md","sha256":"21a44905e5b16a42741892ec34bb1bfef124d049b140a76934a9acd0f46f5fc2","bytes":1361,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/data-pagination.md","sha256":"73c9fa10a3d439bedea0e11b640bd25bf30dd50f0d9006cf85baf7c3151543fa","bytes":1358,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/data-upsert.md","sha256":"2612af83b20a2701dde30ef1f8d7efd26b7e9eef84717226b8f038a2d2150ff7","bytes":1390,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/lock-advisory.md","sha256":"c88d259dbf81c3771438f59a165f7eab8acd09999dd370bdf807521c73f35aab","bytes":1531,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md","sha256":"09aee46f51d7178c8e55fe056cd5a94a64ba2c122fe418e6900cd99f297b2347","bytes":1855,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/lock-short-transactions.md","sha256":"5aa7f61095916986d39644b446cdbcd2bacca7ef698a3bb50b3f82dd60207602","bytes":1350,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/lock-skip-locked.md","sha256":"6c45077f430f29cd9cd8f448c94d578e827e7bd023fcdaf717a756acb116fa4b","bytes":1353,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md","sha256":"4cb67ffbf8e57f2e5b380b0beb4242528b513723ce314a2c2ffcf083bd4203d7","bytes":1441,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md","sha256":"89dca99d4e894fcbdcac136be7ad9fbc03d1342904f065c1b198dc9cf495f098","bytes":1418,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md","sha256":"2892272011710eb49b3f185ec12f15ce9ce4c365792c672f6e2a9c90da426a1a","bytes":1506,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/query-composite-indexes.md","sha256":"73e42424e671f0266e74fdb220db3196790f69fb43e2b19c7b9483eb4971b554","bytes":1454,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/query-covering-indexes.md","sha256":"daf2a7f0477fb7357b62b5fb5b185b1995a77a186347e45cb780e25e7a7589b6","bytes":1287,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/query-index-types.md","sha256":"472a74f22c2df203bd0154999b3a5a0187cca2ab3d9a3978e305bb7c32f1a282","bytes":1521,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/query-missing-indexes.md","sha256":"91ad8b0ff4365704b4830a7f077c6f140f7140fd5d3ce5cd0b92b160cf9e25f1","bytes":1218,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/query-partial-indexes.md","sha256":"6448982bc8558c6555284958edc331b29239c6a0130e6b4501dd6d4da607a6dd","bytes":1347,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/schema-constraints.md","sha256":"90e8efda3e9e81095e642911ad4aae2809d160f29414338fa997253238f510f8","bytes":1880,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/schema-data-types.md","sha256":"e01b58c14c7f3f65d8ead580b9a4fcf70b83baaab0f9a5f83c569c9fd113e8c8","bytes":1453,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md","sha256":"7587713d12a65a212365459b3d39e4717d8a79e4073b10bd62f1054d8192c0dd","bytes":1679,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md","sha256":"4bc80f70865f2390872591f326c8a6be6456a0aeb5a7e5a2475d7cd9d43059ab","bytes":1728,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/schema-partitioning.md","sha256":"541e13fbeaf4bb1485c9059d4c9417dbdb766cf16f4237cd63a04ada7ec45b90","bytes":1548,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/schema-primary-keys.md","sha256":"3c8beabef82066f9a0838b926da0885117fd2d9a263aaf84cb5ca9e5f0d400e9","bytes":1821,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/security-privileges.md","sha256":"095909274a4fb43df785d7144cf674eeb40284d2d45628f14af4108737b93663","bytes":1566,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/security-rls-basics.md","sha256":"e04dd1a3a382aafdaaa73fe9f7976352acdde6e90c2a2470d281b94d4f44b096","bytes":1372,"role":"upstream"},{"path":"skills/supabase-postgres-best-practices/references/security-rls-performance.md","sha256":"2e1faeca7d5746e246b1c78f9492fe2a9cfa41c4d7fa1e23c402d58fa18ea014","bytes":2103,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Схема PostgreSQL, запросы и планы EXPLAIN","Отдельная тестовая база для изменений"],"keys":["Доступ к базе нужен только для запуска запросов; используйте ограниченную тестовую роль"],"paidDependencies":["Облачная база данных может тарифицировать использование"],"limitations":["Выбор индексов зависит от селективности, нагрузки и стоимости записи; ускорения в примерах не гарантированы.","RLS нужно проверять с реальными ролями приложения и доверенным контекстом пользователя.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"remotion-video","kind":"skill","title":"React video: scenes, audio and captions","description":"Remotion’s official skill collection covers composition, preview and rendering, with dedicated guidance for timing, audio, captions and multiple scenes.","applications":["Create a multi-scene product video","Synchronize captions and audio","Build a video template driven by data"],"outcome":"A Remotion project with an editable composition; a video file requires a separate render.","githubRepo":"remotion-dev/skills","markdown":"https://kossolapov.com/api/public/materials/remotion-video?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/remotion-video?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/remotion-video","download":null,"source":{"mode":"link-only","originalName":"remotion-best-practices","author":{"name":"Remotion","url":"https://github.com/remotion-dev","attribution":"Original skill: Remotion. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Remotion. Редакционное описание: kossolapov.com."},"repository":"remotion-dev/skills","path":"skills/remotion-best-practices/SKILL.md","revision":"11986e44eeb672b083354e68967f2b194df73b7c","url":"https://github.com/remotion-dev/skills/blob/11986e44eeb672b083354e68967f2b194df73b7c/skills/remotion-best-practices/SKILL.md","license":{"name":"Not specified","url":"https://github.com/remotion-dev/skills/blob/11986e44eeb672b083354e68967f2b194df73b7c/README.md","evidenceType":"source-reference"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["Node.js, Git, React and a Remotion project","Browser for Remotion Studio; renderer for video export"],"keys":["Optional API credentials for voiceover, maps or cloud rendering"],"paidDependencies":["Remotion product licensing and optional cloud/API charges depend on usage; check the vendor terms"],"limitations":["Install the complete skill tree: the entry file routes to bundled references.","No explicit redistribution license was found for this skill repository; use the author’s source.","Third-party media requires its own usage rights.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"README.md","sha256":"6e0e9a0bf53e2c7f14b3f35a5ad6195cc07ac20c5a0bb1fd8ffe3198408cf50d","bytes":2805,"role":"upstream"},{"path":"skills/remotion-best-practices/SKILL.md","sha256":"e3ca3756935590167f694fa89b0f789b932512b37a0d2afe53cf4ec17b10dc26","bytes":2483,"role":"upstream"},{"path":"skills/remotion-best-practices/agents/openai.yaml","sha256":"66d3059cce8d9e49535a01dba01dd67f26a5da35cce3d3a32a3f513e957f71c9","bytes":311,"role":"upstream"},{"path":"skills/remotion-best-practices/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-captions/REFERENCE.md","sha256":"cc8b55f03f1da3ea6c1859cc1d9d0088f32bd86e1b4f1c5bfb387375eed3bffd","bytes":982,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-captions/agents/openai.yaml","sha256":"d115635f239714033447ca1ea5d39e115d2a746dd07211d6d8c6acdac8dd5282","bytes":305,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-captions/display-captions.md","sha256":"32fabb20c5251c3bec5ca706312dd8668dd9e4e0dd42a1bcfd2f927b90b0c72e","bytes":5647,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-captions/import-srt-captions.md","sha256":"cf5988aad6cba8192a81e5a030955ebf09e97473e0b5ce209e18973bf1a60633","bytes":2269,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-captions/transcribe-captions.md","sha256":"ad1a62af35fe176b37ac4d98f796451ca66bcc9983207a9710ec3eca6e847738","bytes":1897,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-create/REFERENCE.md","sha256":"f723bf8d6dd5f8befa76a0a4475a4d32f9a2d85deb64a19b6c6e2d121f2f7d4e","bytes":2041,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-create/agents/openai.yaml","sha256":"337274103fbb5395a6355fa09d87dd01ba3708500afbba7edb10d742391aa6d3","bytes":310,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-create/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-create/tailwind.md","sha256":"3ef07d3225d212af6a5076e62797a04d22d394434dcdbe2c050dab0d92806f36","bytes":386,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-create/video-layout.md","sha256":"7ad94c22e3ad87671292ebb9b22f234c544d6c7fed13f8cb112b84b0f7077d4c","bytes":498,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-docs/REFERENCE.md","sha256":"318e985d2f40a680148a5047323d9185b211dc1d5696a11639c86f49382c5822","bytes":1355,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-docs/agents/openai.yaml","sha256":"87c4045ace1c3852411e2095b35359268b4fc99e807108e8eb36e077131cfc26","bytes":307,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-interactivity/REFERENCE.md","sha256":"0e5700f2b36003159603045d2006c5aafec9cc8f651eaf73446c4545daf8cc1c","bytes":7529,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml","sha256":"c3983ddc6dc1c7d58c487017ceaabfb72d835d489400e719ea0466073b3f97e7","bytes":320,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/REFERENCE.md","sha256":"024b268be47d4c4af81606cfea8d921f8b573fe80b97f000ec199b1758d31b31","bytes":1030,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/agents/openai.yaml","sha256":"39e5a9fb81d07e5aa9030d66f4d5d955698b4673cf9733cb6734d2dc75c4a9bd","bytes":293,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md","sha256":"09057e77b67dcda23eed8ddbf1b5bd44541a952f380913a00b3bfddaa39ab675","bytes":3909,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx","sha256":"4d4a90e373176e840ae76ae91533fcd9dc445407693b17091c376bb597dbcb10","bytes":8912,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json","sha256":"329621928df19d115f93c472a0b7ddbd2463cad502a10722d3c23579a7441d44","bytes":12329,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json","sha256":"3bb420736d196f726b856420b319e21a8d7fc24bca7e626d67e8b00b0544e630","bytes":223,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx","sha256":"51c2df109015adc992b66b62f1ffc9801ad13f3dc47e4290de40cbe1b8e7809e","bytes":923,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts","sha256":"fab65d2d9cc0c4ca56f8a1422494d178c0e57f92a048a4720358d236ced980f0","bytes":1240,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson","sha256":"2c9f6dd35ac4aed56580078046941235ed7e1a5d432a6549dbf7fea4e8d1e9be","bytes":6409,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md","sha256":"23ac1acc576d49d599b33c812dc697b264ebe28849088c04e9827cb47b95275f","bytes":1451,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md","sha256":"09e1891cec991a246eec60dbcf76c4ea84c52e0bee14321471197703395d0a91","bytes":7887,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md","sha256":"c803fe443f5bab1a50408f1f6aa6aded7913577eaefcb586b320c5a96c391bf2","bytes":6741,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs","sha256":"6dbb4d1ae3f5fef9f3f6eb23e2a6d58622750714bb847b088ff58a3533839463","bytes":5561,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md","sha256":"921ef62afc1057e66423a9fae11d3f849d4b3dcfbfa7e9970a281e0d12f37c22","bytes":13166,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md","sha256":"96650329df3a870743b6255123e93dba866a37eb1ab1d07c8275efff0d4dead9","bytes":3639,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md","sha256":"16f659a83e4dca4817c2cc93d5be2242f3aeada1fe2d6b31190dbde51ea21c0c","bytes":13403,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md","sha256":"96650329df3a870743b6255123e93dba866a37eb1ab1d07c8275efff0d4dead9","bytes":3639,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md","sha256":"72896873e63d675caaab765941dbb8d668f2790090a63b94e165f254b77ef887","bytes":4518,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx","sha256":"6be8c7d5b3435c8d933f05394ce5e807da5fc9fe0565db94ccaee6ac049df137","bytes":1849,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts","sha256":"c8137792824323b9db997a88c3b923e8072cf2886cd90c38d84fdbbaad8258ed","bytes":2183,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx","sha256":"c3091e23dfd80178788d05c0bc43b17aee12aa4236d658f1a97c5acfb29a0f92","bytes":10830,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx","sha256":"e53677a7a207e37cbc04693eca8ccbab5f5f040efdc67a8b5c030c3913895e83","bytes":1039,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json","sha256":"470a76cc5a45e58e7e1702cd80f74fcacf9d6e8b1ef7b05011f69853a999ba7b","bytes":333134,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json","sha256":"73a99e77a2ce31cb3ac39be8fe4775d53ecf127a56137b587fca090067dfbb96","bytes":13082,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts","sha256":"29ae05eedb4988b5b8f2eb44d241b9c472533fb6ed05d4b33df3e71e0eabc71c","bytes":1256,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md","sha256":"b99680cbda8e7d70dc2cb1a8823f66247a21fc59d10c6dae0dd9ba24d2f15b80","bytes":4798,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md","sha256":"e09de8a4d00ea9a82b992918ec4d0302ee18979b73e6c777d584a9743092344f","bytes":6871,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md","sha256":"a97b1913f06195601889d4e090ad056db2fffb7b83918924c8cd92847b3829ef","bytes":4098,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md","sha256":"96650329df3a870743b6255123e93dba866a37eb1ab1d07c8275efff0d4dead9","bytes":3639,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs","sha256":"8265f56bd7c27a7d1a5fa528a77bbe1b29c6acc0e6730233583ca53e2632d490","bytes":7553,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md","sha256":"1d2b15f2e09cbb2b2ba0d5a6ec54ecf619b6696acced0b7bec7e010fbe1f1f03","bytes":1151,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/3d.md","sha256":"42cef6d68fb4a266ab495d35df0c60e03672b0d85c043f9b567f6aa7ff00dd0d","bytes":2292,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/REFERENCE.md","sha256":"6130638045177b16a49fcd001ccef7d7d3d2b5633ce016ac6cb1ee3e67b5fd00","bytes":11039,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/agents/openai.yaml","sha256":"e466d0d7ede756e96d8b366e8d6b76f69dbde3d1d937e8e25b72287e045be95c","bytes":310,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/audio-visualization.md","sha256":"0f4043de86639b6390e5ab888eaa66a24a10a8bd540f1443327cb88107eae1e9","bytes":4892,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/audio.md","sha256":"59b03efd20139ec344c850add031bf5784e744927f896f7437242178d22ab932","bytes":3615,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/calculate-metadata.md","sha256":"711743642a475970dcadddb71805939dd6ee8f348825818cc8897b6a01e1eef0","bytes":3498,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/compositions.md","sha256":"c99d15ce34ba5d5e2fdfdef7be715b8afdae106001bf234f7fceab15378ed6df","bytes":3194,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/cropping.md","sha256":"66b470cb09d2a93939b08340a3503b6cb7aef6682c62c7ef478ca802994d622d","bytes":1102,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/effects.md","sha256":"4f8abd99e3a89668aa1b6521d2cbde8a9b3d25aa9cb4ca2b135b96fe4e70fae7","bytes":8904,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/embedding-videos.md","sha256":"543ddf73e53bd750019b0283506d2cc30e9acb605c8628fa12fc9dd3edbc145c","bytes":3505,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/ffmpeg.md","sha256":"930d26b519b744e97f0c080608b55200b97ff15d6c366c6c5361bab56ff0e873","bytes":1099,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/gifs.md","sha256":"91e17126f7f0d57efdbdbaf34e0c234f874bd6aa66ec7854b80f17b0e32c3b22","bytes":3783,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/google-fonts.md","sha256":"fff29cf692ccab0cda263cd85255cf634dbb4d1d2d99e8372b01d9fedbd6cbfd","bytes":1714,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/html-in-canvas.md","sha256":"d674ed1c1c16a657d8b8a58024e6eee625457b93eca0ef83666cc74d4531bba9","bytes":3626,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/images.md","sha256":"3a82065698ad8d4818164882212215dfe4dc78f00145c87f47513a691550b72b","bytes":1466,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/light-leaks.md","sha256":"892c90340921b5aff5499588aadd23cf9fa79758d345f6ea3acf02ae0258ea73","bytes":3212,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/local-fonts.md","sha256":"fcad2a2e3a05419d4555c59a75454c4891455dbea91ad596c1095e2887d26a11","bytes":1533,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/lottie.md","sha256":"666268c8151d91042162f9efe3f02fe8c62b4c45053614eb1a9325c169428826","bytes":1806,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md","sha256":"a677b976eaf1cbc3cdd29cf29a3fd546c557b9a31e6b1fd70e473fde7e828733","bytes":995,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/measuring-text.md","sha256":"4bed81d1ea818db3975f878152dc24ecbc17e163117dcab10761dc8690c33f0c","bytes":2801,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/multi-scene-video.md","sha256":"00d4c4cdd515b69cee84b2e274393aafd4060612372aa629712c320427e6bd37","bytes":2035,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/parameters.md","sha256":"b002ac9959105b2b91da5786bcb20aa6ff4c6632ed37074b32711f248867dff0","bytes":2403,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md","sha256":"024b268be47d4c4af81606cfea8d921f8b573fe80b97f000ec199b1758d31b31","bytes":1030,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml","sha256":"39e5a9fb81d07e5aa9030d66f4d5d955698b4673cf9733cb6734d2dc75c4a9bd","bytes":293,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md","sha256":"09057e77b67dcda23eed8ddbf1b5bd44541a952f380913a00b3bfddaa39ab675","bytes":3909,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx","sha256":"4d4a90e373176e840ae76ae91533fcd9dc445407693b17091c376bb597dbcb10","bytes":8912,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json","sha256":"329621928df19d115f93c472a0b7ddbd2463cad502a10722d3c23579a7441d44","bytes":12329,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json","sha256":"3bb420736d196f726b856420b319e21a8d7fc24bca7e626d67e8b00b0544e630","bytes":223,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx","sha256":"51c2df109015adc992b66b62f1ffc9801ad13f3dc47e4290de40cbe1b8e7809e","bytes":923,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts","sha256":"fab65d2d9cc0c4ca56f8a1422494d178c0e57f92a048a4720358d236ced980f0","bytes":1240,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson","sha256":"2c9f6dd35ac4aed56580078046941235ed7e1a5d432a6549dbf7fea4e8d1e9be","bytes":6409,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md","sha256":"23ac1acc576d49d599b33c812dc697b264ebe28849088c04e9827cb47b95275f","bytes":1451,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md","sha256":"09e1891cec991a246eec60dbcf76c4ea84c52e0bee14321471197703395d0a91","bytes":7887,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md","sha256":"c803fe443f5bab1a50408f1f6aa6aded7913577eaefcb586b320c5a96c391bf2","bytes":6741,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs","sha256":"6dbb4d1ae3f5fef9f3f6eb23e2a6d58622750714bb847b088ff58a3533839463","bytes":5561,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md","sha256":"921ef62afc1057e66423a9fae11d3f849d4b3dcfbfa7e9970a281e0d12f37c22","bytes":13166,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md","sha256":"96650329df3a870743b6255123e93dba866a37eb1ab1d07c8275efff0d4dead9","bytes":3639,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md","sha256":"16f659a83e4dca4817c2cc93d5be2242f3aeada1fe2d6b31190dbde51ea21c0c","bytes":13403,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md","sha256":"96650329df3a870743b6255123e93dba866a37eb1ab1d07c8275efff0d4dead9","bytes":3639,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md","sha256":"72896873e63d675caaab765941dbb8d668f2790090a63b94e165f254b77ef887","bytes":4518,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx","sha256":"6be8c7d5b3435c8d933f05394ce5e807da5fc9fe0565db94ccaee6ac049df137","bytes":1849,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts","sha256":"c8137792824323b9db997a88c3b923e8072cf2886cd90c38d84fdbbaad8258ed","bytes":2183,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx","sha256":"c3091e23dfd80178788d05c0bc43b17aee12aa4236d658f1a97c5acfb29a0f92","bytes":10830,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx","sha256":"e53677a7a207e37cbc04693eca8ccbab5f5f040efdc67a8b5c030c3913895e83","bytes":1039,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json","sha256":"470a76cc5a45e58e7e1702cd80f74fcacf9d6e8b1ef7b05011f69853a999ba7b","bytes":333134,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json","sha256":"73a99e77a2ce31cb3ac39be8fe4775d53ecf127a56137b587fca090067dfbb96","bytes":13082,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts","sha256":"29ae05eedb4988b5b8f2eb44d241b9c472533fb6ed05d4b33df3e71e0eabc71c","bytes":1256,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md","sha256":"b99680cbda8e7d70dc2cb1a8823f66247a21fc59d10c6dae0dd9ba24d2f15b80","bytes":4798,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md","sha256":"e09de8a4d00ea9a82b992918ec4d0302ee18979b73e6c777d584a9743092344f","bytes":6871,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md","sha256":"a97b1913f06195601889d4e090ad056db2fffb7b83918924c8cd92847b3829ef","bytes":4098,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md","sha256":"96650329df3a870743b6255123e93dba866a37eb1ab1d07c8275efff0d4dead9","bytes":3639,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs","sha256":"8265f56bd7c27a7d1a5fa528a77bbe1b29c6acc0e6730233583ca53e2632d490","bytes":7553,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md","sha256":"6fcb61a66084f4037a2fa0deb988500dd18e4ae7fa3c6923fb1142c1e521e9be","bytes":1138,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/sequencing.md","sha256":"64784498f40db7b32c032dc648282caf5a02082d4d7a6667d8b7a1465f341dc4","bytes":3829,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/sfx.md","sha256":"5397a44c2d7678bf642d746b7edbf4f51e10c31ac99c8054da4a4a7d70365dcd","bytes":1806,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/silence-detection.md","sha256":"ed95d46d078f3749b87ec3c6e25c1c5b0c8485fdcb41156d649266369748fdc2","bytes":2548,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/text-highlights.md","sha256":"70773952286e1aec2ba02f2f54d2d776dad7799d87744df03b0c75637ebfb21f","bytes":1851,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/timing.md","sha256":"48047e758b96aea519916479ede62b832bf51f982924978e091c37f569ab4bac","bytes":3315,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/transitions.md","sha256":"41d69d0b5c862bcada825a68413064837fd4fcd55f81ad59492931db982a08ad","bytes":6882,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/video-editing.md","sha256":"c43e1b419b0ea32c07b14ff6a17fb3bccb6acea7317de4051827ef0316f4262a","bytes":3404,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-markup/voiceover.md","sha256":"28350a793939b6170c535a219b2c4702378346ea8485540f980da5ccc5fa19fc","bytes":3342,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-multimedia/REFERENCE.md","sha256":"7e28322023badaab4a740585231f0a3aa409a6197ca6ca4078786406df083a11","bytes":705,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml","sha256":"9109fd8b176a930631ee7e822ae7b2cff28abf9d587f6ea68edc489f6468dbb8","bytes":317,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md","sha256":"f4ec12e356144697b802a2d93240612aa09b60a76342154983a2cf41316f0bba","bytes":1315,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md","sha256":"d330e701e4a494fdac7502be52f206f6dee11c43314d1b2f731e4120eed72dc5","bytes":1584,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-multimedia/get-video-duration.md","sha256":"6e3bec1b3f62e3ab1f16ad41cca7b14e6e3db5046e8282cd2389e05cff42c743","bytes":1335,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-render/REFERENCE.md","sha256":"deb8177ddef8bf3138f3a55d1634fdab8d1580f52bd73f8703b034efb7c1874b","bytes":470,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-render/agents/openai.yaml","sha256":"292f401942c41e05bc92caae76b2f2c522f9b499e445e7fe0edaf42d5535b064","bytes":286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-render/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-render/transparent-videos.md","sha256":"394ccda476e084522d544471fee92d7c65672e2cbaf2201a785c3dd5c74f31a4","bytes":2267,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-saas/REFERENCE.md","sha256":"ecef237b4968924defb78c416920193b63d47bfe5b8f98d590bb2d0133d6d413","bytes":1053,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-saas/agents/openai.yaml","sha256":"9d203fcf45639af3c932a03943d90ab2e0080ac4986d69b24016afca77b1951f","bytes":283,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-saas/framework.md","sha256":"d1071a392f88fbafde3166547e1000b18a920e89ab8433cd1783edc8cfadc151","bytes":1188,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-saas/player.md","sha256":"cc2f2944f1158d6ff1ddfc421a6a790f99ae86f54bbe0f0b18ef8bc7485e1b05","bytes":942,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-saas/rendering.md","sha256":"b2f30b53e0191ef9e7f2da7360b36c0c5448ab5bdcf55575e1f7e55c5bbd257f","bytes":3343,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-studio/REFERENCE.md","sha256":"d1b981979ea3f9a08571b1c90892328aff1afbeb22eb11fcdbe32bc1057b2d5f","bytes":958,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-studio/agents/openai.yaml","sha256":"f416359bbdf397494fb60f60d9ba5f473be67696dc0673be49ab2f4a38370bd8","bytes":237,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-upgrade/REFERENCE.md","sha256":"794a2944f869d0430554496a9c00350a84d6f11e13a3ef22a2eb8216906b141f","bytes":1880,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml","sha256":"641150148be8a40fd8ae45970c863bf894d5a19420459541e5f37594a8ea2920","bytes":282,"role":"upstream"},{"path":"skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png","sha256":"662a084d72d99ab91b47c7a566dd0631f0ce0e4f0bf6032708c9200b0db09fd9","bytes":1286,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Node.js, Git, React и проект Remotion","Браузер для Remotion Studio; рендерер для экспорта видео"],"keys":["Дополнительные API-ключи для озвучки, карт или облачного рендера"],"paidDependencies":["Лицензия Remotion и стоимость облачных сервисов/API зависят от использования; проверьте условия поставщика"],"limitations":["Устанавливайте полное дерево скилла: входной файл направляет к вложенным справочникам.","Явная лицензия на распространение файлов этого репозитория скиллов не найдена; используйте оригинал автора.","На сторонние изображения, видео и звук нужны отдельные права использования.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"dbt-analytics-engineering","kind":"skill","title":"Build and validate dbt data models","description":"Start with the target table, work back to its sources and validate transformations against data. dbt Labs connects SQL, model dependencies and tests.","applications":["Build a sales mart with an explicit row grain","Investigate duplicates introduced by joins","Assess the impact of changing an existing model"],"outcome":"dbt models, tests and documented checks of input and output data.","githubRepo":"dbt-labs/dbt-agent-skills","markdown":"https://kossolapov.com/api/public/materials/dbt-analytics-engineering?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/dbt-analytics-engineering?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/dbt-analytics-engineering","download":null,"source":{"mode":"link-only","originalName":"using-dbt-for-analytics-engineering","author":{"name":"dbt Labs","url":"https://github.com/dbt-labs","attribution":"Original skill: dbt Labs. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: dbt Labs. Редакционное описание: kossolapov.com."},"repository":"dbt-labs/dbt-agent-skills","path":"skills/dbt/skills/using-dbt-for-analytics-engineering/SKILL.md","revision":"2116bc1397c6b1f8d406e0c52a0601c2a969b90d","url":"https://github.com/dbt-labs/dbt-agent-skills/blob/2116bc1397c6b1f8d406e0c52a0601c2a969b90d/skills/dbt/skills/using-dbt-for-analytics-engineering/SKILL.md","license":{"name":"Apache-2.0","url":"https://github.com/dbt-labs/dbt-agent-skills/blob/2116bc1397c6b1f8d406e0c52a0601c2a969b90d/LICENSE","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["dbt CLI and an existing dbt project with the appropriate warehouse adapter","dbt show access to test data; optional dbt MCP integration","For breaking changes: companion working-with-dbt-mesh, included in the source file list"],"keys":["Authorized test warehouse profile or credentials"],"paidDependencies":["Warehouse queries and optional dbt platform services may be billed"],"limitations":["Requires real schema and data access; does not infer business definitions reliably from names alone.","Breaking column changes require the companion working-with-dbt-mesh skill and a migration plan.","Use selective runs and bounded exploration to control warehouse cost.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"LICENSE","sha256":"a25c0f444db00399e225e96559b376d92188fbab622b50c5d4db7c556f77daff","bytes":11338,"role":"license"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/SKILL.md","sha256":"bcbf2ea18ff5a6ba5988febf0d8989560cbe05fdf76e61c84ef3f012c5f79a7b","bytes":7435,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/debugging-dbt-errors.md","sha256":"f542cf623fd1a5c2969f1464874e58d04ea9245313a1ea3503cf0848eeed9d87","bytes":4154,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/discovering-data.md","sha256":"c9eedadd6defa42cd31912c01d118349cd8eb258e44af9397cbeaf4db61bbef2","bytes":6569,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/evaluating-impact-of-a-dbt-model-change.md","sha256":"7f4c4542d72834cc3d0f6aa9a488c4bdbd48d189744020632dc66ea76f3b3f72","bytes":3604,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/managing-packages.md","sha256":"e91601808e75fd5dba61fb471d3e3e67a2f88f46a55252446924b6d2e7e196d1","bytes":2443,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/planning-dbt-models.md","sha256":"da9c9431b59c3da8a67466896139841046be5287115434f26da60882e1b7a6fc","bytes":7284,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/writing-data-tests.md","sha256":"2b110c633f3696c2f3d620535f927fc93a5a90e64bdc32759c62617cab53b0f2","bytes":6366,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/references/writing-documentation.md","sha256":"99796521bfb88076703b73983e5c4a484e6470322fd908911a2407c2736c0552","bytes":1063,"role":"upstream"},{"path":"skills/dbt/skills/using-dbt-for-analytics-engineering/scripts/review_run_results.md","sha256":"c8554bbb0d1683706cdea7a98496cc2af5f4774b7c236bd90f5d72612dcfaa93","bytes":1746,"role":"upstream"},{"path":"skills/dbt/skills/working-with-dbt-mesh/SKILL.md","sha256":"69a2701a0dfd63cd03c3e2de6dad33df45d53841cafaa1789062dcb799ad271d","bytes":18936,"role":"upstream"},{"path":"skills/dbt/skills/working-with-dbt-mesh/references/cross-project-collaboration.md","sha256":"7929c38a90e5472912fd69784a89ff42b96935b35cea64b7679edfde1eec5278","bytes":6335,"role":"upstream"},{"path":"skills/dbt/skills/working-with-dbt-mesh/references/groups-and-access.md","sha256":"101b5a401654f4461d1e2b58a7c1b529f00d85d582b7c0d68a8f0a5e27d7e324","bytes":6192,"role":"upstream"},{"path":"skills/dbt/skills/working-with-dbt-mesh/references/model-contracts.md","sha256":"81dfabcce915f62fa684da88a0d3389d86cc67acdda60eb81923f75694415d24","bytes":6306,"role":"upstream"},{"path":"skills/dbt/skills/working-with-dbt-mesh/references/model-versions.md","sha256":"c828f842ec4df3cd7303a35e8acd4cc376ba3453e27ed51c5a1a86991c452455","bytes":13998,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["dbt CLI, существующий проект dbt и подходящий адаптер хранилища","Доступ через dbt show к тестовым данным; интеграция dbt MCP необязательна","Для несовместимых изменений нужен скилл working-with-dbt-mesh, включённый в список исходников"],"keys":["Разрешённый профиль или учётные данные тестового хранилища"],"paidDependencies":["Запросы к хранилищу и дополнительные сервисы платформы dbt могут тарифицироваться"],"limitations":["Нужен доступ к реальной схеме и данным; названия колонок сами по себе не раскрывают бизнес-определения.","Несовместимые изменения колонок требуют скилла working-with-dbt-mesh и плана миграции.","Ограничивайте объём исследования и запускайте выбранные модели, чтобы контролировать расходы.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"security-threat-model","kind":"skill","title":"Threat modeling grounded in source code","description":"Connect entry points, valuable assets and trust boundaries to concrete abuse scenarios. OpenAI’s workflow separates observed controls from assumptions.","applications":["Review a service architecture before launch","Analyze file-upload and background-job risks","Map isolation boundaries between tenants"],"outcome":"A Markdown report with threats, reasoned priorities, mitigations and open questions.","githubRepo":"openai/skills","markdown":"https://kossolapov.com/api/public/materials/security-threat-model?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/security-threat-model?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/security-threat-model","download":null,"source":{"mode":"link-only","originalName":"security-threat-model","author":{"name":"OpenAI","url":"https://github.com/openai","attribution":"Original skill: OpenAI. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: OpenAI. Редакционное описание: kossolapov.com."},"repository":"openai/skills","path":"skills/.curated/security-threat-model/SKILL.md","revision":"49f948faa9258a0c61caceaf225e179651397431","url":"https://github.com/openai/skills/blob/49f948faa9258a0c61caceaf225e179651397431/skills/.curated/security-threat-model/SKILL.md","license":{"name":"Apache-2.0","url":"https://github.com/openai/skills/blob/49f948faa9258a0c61caceaf225e179651397431/skills/.curated/security-threat-model/LICENSE.txt","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["Read access to the in-scope repository","Deployment and authentication context from the service owner"],"keys":[],"paidDependencies":[],"limitations":["A threat model is not a penetration test or proof that vulnerabilities exist.","The workflow asks for confirmation of assumptions that affect scope or severity.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"skills/.curated/security-threat-model/LICENSE.txt","sha256":"4dd13869245e356246a5b770723247bbb80a8f07a181d1d3d873a1734297cdb9","bytes":10776,"role":"license"},{"path":"skills/.curated/security-threat-model/SKILL.md","sha256":"1283c0dd62a8104d9edda4583569b5d8510b4ddaa45120687c999250fd96bad2","bytes":5561,"role":"upstream"},{"path":"skills/.curated/security-threat-model/agents/openai.yaml","sha256":"3319b59736312abceca614e341c0e59cae47263e3b58a22b2b5ddf1e5fc8c227","bytes":254,"role":"upstream"},{"path":"skills/.curated/security-threat-model/references/prompt-template.md","sha256":"81a59aa3fb3ac3a739d6a26ab38e4015965f215581ee54becef21a2b121ec29b","bytes":12642,"role":"upstream"},{"path":"skills/.curated/security-threat-model/references/security-controls-and-assets.md","sha256":"d536cfa9acad2523dc39134bcf33b9566c29dd9a57b407cbc9901637230c6b98","bytes":1680,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Доступ на чтение к исследуемому репозиторию","Контекст развёртывания и аутентификации от владельца сервиса"],"keys":[],"paidDependencies":[],"limitations":["Модель угроз не является тестом на проникновение или доказательством наличия уязвимостей.","Процесс предусматривает подтверждение предположений, влияющих на границы анализа или серьёзность риска.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"seo-audit","kind":"skill","title":"An SEO audit with evidence and priorities","description":"Review crawlability, canonical URLs, content and language variants. Connect each finding to observed evidence and a concrete fix.","applications":["Investigate technical indexing problems","Review canonical and hreflang on a bilingual site","Prioritize fixes after a site migration"],"outcome":"An audit recording each issue, its evidence, impact and proposed fix.","githubRepo":"coreyhaines31/marketingskills","markdown":"https://kossolapov.com/api/public/materials/seo-audit?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/seo-audit?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/seo-audit","download":null,"source":{"mode":"link-only","originalName":"seo-audit","author":{"name":"Corey Haines","url":"https://github.com/coreyhaines31","attribution":"Original skill: Corey Haines. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Corey Haines. Редакционное описание: kossolapov.com."},"repository":"coreyhaines31/marketingskills","path":"skills/seo-audit/SKILL.md","revision":"5b2c0007766c6a1cf1d53fd8fc73e979e0821022","url":"https://github.com/coreyhaines31/marketingskills/blob/5b2c0007766c6a1cf1d53fd8fc73e979e0821022/skills/seo-audit/SKILL.md","license":{"name":"MIT","url":"https://github.com/coreyhaines31/marketingskills/blob/5b2c0007766c6a1cf1d53fd8fc73e979e0821022/LICENSE","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["Browser or crawler that can inspect rendered pages","Search Console for indexing and traffic evidence; PageSpeed Insights as needed"],"keys":["Site-owner access for private Search Console data"],"paidDependencies":["Ahrefs, Semrush and other commercial crawlers are optional"],"limitations":["Rankings and traffic gains are not guaranteed.","Validate structured data in rendered output; text-only fetches may omit scripts.","Some upstream tool references are dated, including the retired Mobile-Friendly Test; use current equivalents.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"LICENSE","sha256":"b70d71e24e40fce5da8f4b6f9cd862096a048e433db7f3c8cac5e348e6d34591","bytes":1069,"role":"license"},{"path":"skills/seo-audit/SKILL.md","sha256":"9420a6c1ffcf7212766bcb618c28766ecb084631bed8045f3115d42b1230d368","bytes":16610,"role":"upstream"},{"path":"skills/seo-audit/evals/evals.json","sha256":"b808dfa7ee1e312cda39cfac57f44674bd3cee6eaa151af7008760a9514bb6cf","bytes":9796,"role":"upstream"},{"path":"skills/seo-audit/references/ai-writing-detection.md","sha256":"f1e273f56ce7e2215ff218bf903680ddcec0fd026ab90c3ebfb3439ed0edfaa4","bytes":6528,"role":"upstream"},{"path":"skills/seo-audit/references/international-seo.md","sha256":"d2fc76f40eccc422ae0f1d7e5b770095e89a045f38e1d0370811203da57996ff","bytes":14258,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Браузер или краулер с проверкой отрисованных страниц","Search Console для данных об индексации и трафике; PageSpeed Insights при необходимости"],"keys":["Доступ владельца сайта для закрытых данных Search Console"],"paidDependencies":["Ahrefs, Semrush и другие коммерческие краулеры необязательны"],"limitations":["Рост позиций и трафика не гарантируется.","Проверяйте структурированные данные в отрисованной странице: текстовая загрузка может пропускать скрипты.","Некоторые инструменты в оригинале устарели, включая закрытый Mobile-Friendly Test; используйте актуальные аналоги.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"react-composition","kind":"skill","title":"React components without a maze of flags","description":"Replace overloaded components with composable parts, explicit variants and shared state. Vercel illustrates component API design with concrete examples.","applications":["Refactor a component with many boolean props","Build form variants from shared pieces","Separate state management from presentation"],"outcome":"A clearer component API and a refactoring plan that preserves behavior.","githubRepo":"vercel-labs/agent-skills","markdown":"https://kossolapov.com/api/public/materials/react-composition?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/react-composition?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/react-composition","download":null,"source":{"mode":"link-only","originalName":"vercel-composition-patterns","author":{"name":"Vercel Engineering","url":"https://github.com/vercel-labs","attribution":"Original skill: Vercel Engineering. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Vercel Engineering. Редакционное описание: kossolapov.com."},"repository":"vercel-labs/agent-skills","path":"skills/composition-patterns/SKILL.md","revision":"063bee94c3f4df8453406c830b0a7df0f2860278","url":"https://github.com/vercel-labs/agent-skills/blob/063bee94c3f4df8453406c830b0a7df0f2860278/skills/composition-patterns/SKILL.md","license":{"name":"MIT","url":"https://github.com/vercel-labs/agent-skills/blob/063bee94c3f4df8453406c830b0a7df0f2860278/README.md","evidenceType":"source-reference"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["React project and its component tests"],"keys":[],"paidDependencies":[],"limitations":["React 19-specific advice must not be applied to React 18 unchanged.","Composition adds structure; small components may not need this refactor.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"README.md","sha256":"7c02f64b08fc6c4eef03c01d64f3e2ed478193ccfcbd14edba379abe23304651","bytes":7838,"role":"upstream"},{"path":"skills/composition-patterns/AGENTS.md","sha256":"89e3ddd58fcf99a53a50e25dfd21b8cde1be5f10b7df6bacd3dfa6796932f516","bytes":22627,"role":"upstream"},{"path":"skills/composition-patterns/README.md","sha256":"85915a43a6f0b4efe525e3cf6398dd866166da2025837c4460468a24a940da94","bytes":2140,"role":"upstream"},{"path":"skills/composition-patterns/SKILL.md","sha256":"e38e0eaa609316b10423a9a138ed95e35099accd3f735585295c8a8f165c28a3","bytes":2886,"role":"upstream"},{"path":"skills/composition-patterns/metadata.json","sha256":"49262ed5cb4186f31ee980cf8d990be0170c51efed4908d0464a1cff9905bd05","bytes":530,"role":"upstream"},{"path":"skills/composition-patterns/rules/_sections.md","sha256":"a174213b87e6911e2b766995a2cbaf8d1534057076e82fb79fe3f0ecb38047df","bytes":829,"role":"upstream"},{"path":"skills/composition-patterns/rules/_template.md","sha256":"587f7d16b0660eb61fee4a4d3d7df2b3077d6835de170602c7d6e60bee559131","bytes":329,"role":"upstream"},{"path":"skills/composition-patterns/rules/architecture-avoid-boolean-props.md","sha256":"007555ebb020f4d552582a2c4db194db71a1fd33094012e5187bcfa4f8c392d5","bytes":2267,"role":"upstream"},{"path":"skills/composition-patterns/rules/architecture-compound-components.md","sha256":"f246af13dc269b521cf20eb8ad99a0cb645beac381c8c9b117262c34612c8457","bytes":2600,"role":"upstream"},{"path":"skills/composition-patterns/rules/patterns-children-over-render-props.md","sha256":"7c45a0d21b3c4126a32cba916ee31adeae195386ad1dbbe6634aedb7457aa0ad","bytes":1886,"role":"upstream"},{"path":"skills/composition-patterns/rules/patterns-explicit-variants.md","sha256":"8c19e596e61807549d01ce8c6954c6358199f97a8511c0c02c625ec0efda8c0e","bytes":2395,"role":"upstream"},{"path":"skills/composition-patterns/rules/react19-no-forwardref.md","sha256":"881830adb7534c4b2d70db426556646ad9837f5478f744f35641f635ada22227","bytes":953,"role":"upstream"},{"path":"skills/composition-patterns/rules/state-context-interface.md","sha256":"09e73afbf9285fa416679cc864a287b9e8b821d0969272ab784295386d8c9bc3","bytes":4974,"role":"upstream"},{"path":"skills/composition-patterns/rules/state-decouple-implementation.md","sha256":"76a8c1eb29a70d8996ab3f71260345af2f7bc89deab815a421d6c87c6591a9c3","bytes":2699,"role":"upstream"},{"path":"skills/composition-patterns/rules/state-lift-state.md","sha256":"74c54038a6c554c748fe31cec673b80861b5d920b7553cf78cdf10d18b4b759b","bytes":3224,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["React-проект и тесты его компонентов"],"keys":[],"paidDependencies":[],"limitations":["Рекомендации для React 19 нельзя без изменений применять в React 18.","Композиция добавляет структуру; небольшим компонентам такой рефакторинг может не требоваться.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"webapp-testing","kind":"skill","title":"Test a web app through the browser","description":"Inspect the rendered page before exercising a user journey. Anthropic includes Playwright examples and a helper for starting local servers.","applications":["Check form submission and success states","Reproduce a dynamic interface bug","Capture screenshots and console messages"],"outcome":"A reproducible browser scenario with observed results and supporting artifacts.","githubRepo":"anthropics/skills","markdown":"https://kossolapov.com/api/public/materials/webapp-testing?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/webapp-testing?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/webapp-testing","download":null,"source":{"mode":"link-only","originalName":"webapp-testing","author":{"name":"Anthropic","url":"https://github.com/anthropics","attribution":"Original skill: Anthropic. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Anthropic. Редакционное описание: kossolapov.com."},"repository":"anthropics/skills","path":"skills/webapp-testing/SKILL.md","revision":"41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f","url":"https://github.com/anthropics/skills/blob/41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f/skills/webapp-testing/SKILL.md","license":{"name":"Apache-2.0","url":"https://github.com/anthropics/skills/blob/41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f/skills/webapp-testing/LICENSE.txt","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["Python, Playwright and its installed browser","An authorized local development server and test data"],"keys":["Test account only if the scenario requires authentication"],"paidDependencies":[],"limitations":["The server helper executes supplied shell commands; use only reviewed project commands.","Its generic networkidle wait may need replacement with a specific readiness condition.","Inspect helper process cleanup for long-running or noisy servers; this is not a sandbox.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"skills/webapp-testing/LICENSE.txt","sha256":"bc6b3af2f331cbc7fb0da1344efb2cbe5877a31498b4d70dbc7000f3405a1362","bytes":11345,"role":"license"},{"path":"skills/webapp-testing/SKILL.md","sha256":"51b7349e77ec63b7744a6f63647e7566a0b4d2e301121cc10e8c2113af6556a2","bytes":3913,"role":"upstream"},{"path":"skills/webapp-testing/examples/console_logging.py","sha256":"ea46877289acb82da7e7ce59d0bc37c8977cd57e2a006d0c88d7a1c625bf95da","bytes":1027,"role":"upstream"},{"path":"skills/webapp-testing/examples/element_discovery.py","sha256":"d63c89604a22f8845d724e95dda45db49b1bf57c25ce0a83afbb7b8da3d402f0","bytes":1463,"role":"upstream"},{"path":"skills/webapp-testing/examples/static_html_automation.py","sha256":"9d533aafb875ee3ab8b8ebf8f5b9003ac8d999da3d09b285cce252e623140064","bytes":953,"role":"upstream"},{"path":"skills/webapp-testing/scripts/with_server.py","sha256":"b0dcf4918935b795f4eda9821579b9902119235ff4447f687a30286e7d0925fd","bytes":3693,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Python, Playwright и установленный для него браузер","Разрешённый локальный сервер разработки и тестовые данные"],"keys":["Тестовая учётная запись, только если сценарию нужна аутентификация"],"paidDependencies":[],"limitations":["Помощник запуска серверов выполняет переданные shell-команды; используйте только проверенные команды проекта.","Общее ожидание networkidle может потребовать замены на конкретный признак готовности.","Для долгоживущих серверов или большого объёма логов проверьте завершение процессов; помощник не является изолированной средой.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"doc-coauthoring","kind":"skill","title":"A document a new reader can understand","description":"Gather context, refine the document section by section and test it with a fresh reader. Anthropic’s method helps expose assumptions familiar to the authors.","applications":["Prepare an RFC or team proposal","Write a specification with decisions and constraints","Check whether a document works without the discussion history"],"outcome":"A refined document with gaps addressed through reader testing.","githubRepo":"anthropics/skills","markdown":"https://kossolapov.com/api/public/materials/doc-coauthoring?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/doc-coauthoring?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/doc-coauthoring","download":null,"source":{"mode":"link-only","originalName":"doc-coauthoring","author":{"name":"Anthropic","url":"https://github.com/anthropics","attribution":"Original skill: Anthropic. Editorial description: kossolapov.com.","attributionRu":"Автор оригинального скилла: Anthropic. Редакционное описание: kossolapov.com."},"repository":"anthropics/skills","path":"skills/doc-coauthoring/SKILL.md","revision":"41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f","url":"https://github.com/anthropics/skills/blob/41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f/skills/doc-coauthoring/SKILL.md","license":{"name":"Not specified","url":"https://github.com/anthropics/skills/blob/41bbe19d1a1a7eaab5e7bb9050a417e5c6cffc8f/README.md","evidenceType":"source-reference"},"packageVersion":1,"checkedAt":"2026-09-08T00:43:17.332838+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; tool access depends on the host"],"tools":["A text editor and source material","A fresh model conversation for reader testing; document connectors are optional"],"keys":["Optional authorized document connectors"],"paidDependencies":["Fresh reader-model calls may consume additional usage"],"limitations":["Designed for collaborative long-form work and can require several rounds of questions.","No explicit file-level redistribution license was found; the original remains with its author.","Reader testing does not replace checking factual claims against sources.","Editorial selection based on source inspection, not a comparative performance certification."]},"files":[{"path":"README.md","sha256":"2fb9c4cc026366ea6e21c60cb23c908a4d27c62071819cc06beffaac102d0694","bytes":5552,"role":"upstream"},{"path":"skills/doc-coauthoring/SKILL.md","sha256":"2e47d78846faeea4a56e9809c52700087a15a2155a3f293a3efbaded81398ef4","bytes":15815,"role":"upstream"}],"compatibilityRu":{"agents":["Агент, умеющий читать инструкции Agent Skills; доступ к инструментам зависит от среды"],"tools":["Текстовый редактор и исходные материалы","Новый диалог с моделью для читательской проверки; подключения документов необязательны"],"keys":["Необязательные разрешённые подключения к документам"],"paidDependencies":["Вызовы модели в роли нового читателя могут расходовать дополнительные лимиты"],"limitations":["Метод рассчитан на совместную работу над большими документами и может потребовать нескольких раундов вопросов.","Явная лицензия на распространение файла не найдена; оригинал остаётся у автора.","Читательская проверка не заменяет сверку фактических утверждений с источниками.","Редакционный отбор по изученным исходникам, без сертификации сравнительной эффективности."]},"review":{"kind":"editorial","reviewedAt":"2026-09-08T00:49:04.747035+00:00"}},"package":null},{"slug":"agent-network","kind":"skill","title":"Agent Network: your local agent team","description":"Astra and 12 specialists in a local Codex system. Assign work through a map or controller chat, collect result files and review the execution history.","applications":["Split work across Engineering, Research and Operations specialists","Hand one agent’s result to another for review","Revisit saved tasks, files and events with Replay"],"outcome":"A local app with a team map, two installation and control skills, real tasks and saved results.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/agent-network?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/agent-network?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/agent-network","download":"https://kossolapov.com/downloads/agent-network/1.0.0/Agent-Network-Video-Kit.zip","source":null,"package":{"version":"1.0.0","installation":{"ru":["Создайте папку «Рабочая система» и откройте её в настольном Codex.","Скачайте и распакуйте архив в эту папку. Внутри должна появиться папка agent-network-video-kit.","Скопируйте установочный промпт со страницы и отправьте его в задачу Codex.","При необходимости ответьте на два вопроса о своей работе и первой задаче. Вход в аккаунт выполните сами.","Дождитесь отчёта о проверке, откройте локальную ссылку и задайте первую миссию."],"en":["Create a “Working System” folder and open it in the Codex desktop app.","Download and extract the archive into that folder. It should contain the agent-network-video-kit directory.","Copy the installation prompt from this page and send it to a Codex task.","If asked, answer two questions about your work and first task. Complete account sign-in yourself.","Wait for the verification report, open the local URL and start your first mission."]},"requirements":{"ru":["macOS, настольный Codex, Node.js 22.13+ и установленный Codex CLI.","Нужен доступ к gpt-6-astra; реальные задачи расходуют лимиты вашего аккаунта.","Интернет нужен для установки зависимостей и выполнения задач Codex.","Интерфейс приложения на английском; архив и установочный промпт включают инструкции на русском."],"en":["macOS, the Codex desktop app, Node.js 22.13+ and Codex CLI.","Access to gpt-6-astra is required; real tasks use your account limits.","Internet access is needed to install dependencies and run Codex tasks.","The app interface is in English; the archive and installation prompt include Russian instructions."]},"limitations":{"ru":["Постоянные чаты создаются штатными инструментами настольного Codex, если они доступны. Если создание чатов недоступно, установщик завершит установку приложения и сообщит об этом ограничении.","Миссии из веб-интерфейса выполняются отдельными запусками Codex CLI. Они не выполняются внутри постоянных чатов.","Replay воспроизводит сохранённые события и не запускает задания повторно.","Full Access и Computer History не обязательны. Пакет не включает слежение или фоновые расписания.","Для работы нужен включённый локальный компьютер. Windows, Linux и Claude Code в этом выпуске не проверены."],"en":["Persistent chats are created through native Codex desktop tools when available. Otherwise, the installer completes the app installation and reports this limitation.","Web missions use separate Codex CLI runs. They do not execute inside the persistent chats.","Replay plays recorded events without rerunning tasks.","Full Access and Computer History are not required. The package does not enable monitoring or background schedules.","The local computer must stay on while work runs. Windows, Linux and Claude Code were not tested for this release."]},"verification":{"ru":"По отчёту выпуска от 9 сентября 2026 года: установка в чистую папку на Mac, production-сборка, 17 тестов исполнителя/истории/Replay и 3 теста установщика; реальная миссия Forge → Sentinel → Astra с проверкой файлов и сохранение истории после перезапуска. Это проверка на одном Mac, не на другом аккаунте. Browser UI QA самого приложения не проводилась; постоянные чаты ранее проверялись в авторской системе. Подробности находятся в VERIFICATION.md внутри архива.","en":"The September 9, 2026 release report covers installation into a clean folder on a Mac, a production build, 17 runtime/history/Replay tests and 3 installer tests, a real Forge → Sentinel → Astra mission with file verification, and history persistence after restart. This was tested on one Mac, not another account. Browser UI QA of the app was not performed; persistent chats were previously tested in the author’s system. See VERIFICATION.md in the archive."},"download":"/downloads/agent-network/1.0.0/Agent-Network-Video-Kit.zip","sha256":"a1ba2b25ebbd04af217a7654dd09a8adcf784f5763138a945664ce252472807b","bytes":368085,"installPrompt":"Установи мне рабочую агентскую систему из приложенного пакета agent-network-video-kit в открытой локальной папке «Рабочая система».\n\nНайди пакет среди приложений к задаче или файлов этой папки. Если это ZIP — распакуй его. Прочитай skills/agent-system-install/SKILL.md и выполни установку по нему. Используй готовый шаблон из пакета, сохрани дизайн: Astra в центре, ядра-агенты на ветках слева и справа, зум, просмотр задач, передача заданий и результатов, Replay. Интерфейс оставь на английском. Не заменяй реальную работу имитацией.\n\nСпроси максимум два вопроса: чем я занимаюсь и какую первую задачу хочу делегировать. Пока я отвечаю, делай независимые шаги установки. Если я хочу просто начать, используй базовую команду Engineering / Research / Operations.\n\nПроверь Node.js и Codex CLI, установи необходимые зависимости, собери и запусти приложение. Используй GPT 6 Astra (gpt-6-astra), если она доступна моему аккаунту. Если нет — объясни точную причину; другую модель без моего выбора не подставляй. Вход в аккаунт я выполню сам, если потребуется.\n\nРазрешаю создать отдельные чаты для Astra и каждого базового специалиста штатными инструментами Codex и объединить их в разделе «Рабочая система». Этот чат оставь управляющим. Запиши реальные идентификаторы, дай агентам роли и первые промпты, дождись их готовности. Если такие инструменты недоступны, не выдумывай чаты: закончи установку приложения и укажи, какой шаг не выполнен.\n\nАдаптируй рабочие инструкции к моим ответам, сохрани их в папке команды. Разрешаю одну короткую реальную проверку: один агент создаёт файл, второй проверяет его, Astra собирает результат. Проверь сохранённые файлы и анимацию через реальные события, затем дай рабочую локальную ссылку и короткую инструкцию, как ставить задачи из этого чата и из карты.\n\nНе включай Full Access, Computer History, слежение, расписания, внешние рассылки или публикации как часть установки. Не копируй чужую историю, аккаунты или идентификаторы чатов. Повторный запуск должен продолжать мою установку, а не создавать дубликаты.\n","promptLanguage":"ru","contents":{"ru":["agent-system-install — скилл установки и исходники приложения.","agent-system-control — скилл управления заданиями и результатами.","Карта команды: Astra, 12 специалистов, масштабирование и просмотр заданий.","Готовые промпты установки, первой миссии и управления.","История событий, реальные файлы результатов и Replay."],"en":["agent-system-install — installation skill and app source.","agent-system-control — task and result management skill.","Team map: Astra, 12 specialists, zoom and task inspector.","Prompts for installation, the first mission and team control.","Event history, actual result files and Replay."]}}},{"slug":"slicer-skill","kind":"skill","title":"Slicer: a skill for code and 3D scenes","description":"Find answers in 3D Slicer source and documentation, prepare a script and, with a separately connected MCP server, inspect a real scene using a public sample.","applications":["Find APIs for a Slicer Python script or extension","Understand MRML scenes and view controls","Prepare a CTChest demonstration through the separate MCP server"],"outcome":"Code and documentation references and a verifiable action plan; with MCP available, actual scene information and a screenshot.","githubRepo":"pieper/slicer-skill","markdown":"https://kossolapov.com/api/public/materials/slicer-skill?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/slicer-skill?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/slicer-skill","download":null,"source":{"mode":"link-only","originalName":"slicer","author":{"name":"Steve Pieper","url":"https://github.com/pieper","attribution":"Original skill: Steve Pieper and contributors. Editorial guide: kossolapov.com.","attributionRu":"Оригинальный скилл: Steve Pieper и участники проекта. Редакционная инструкция: kossolapov.com."},"repository":"pieper/slicer-skill","path":"SKILL.md","revision":"c3b9f3bbc2b95938e73f1ad0c2e6c01a8fd2e32f","url":"https://github.com/pieper/slicer-skill/blob/c3b9f3bbc2b95938e73f1ad0c2e6c01a8fd2e32f/SKILL.md","license":{"name":"Apache-2.0","url":"https://github.com/pieper/slicer-skill/blob/c3b9f3bbc2b95938e73f1ad0c2e6c01a8fd2e32f/LICENSE","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-14T17:46:14.189137+00:00","compatibility":{"agents":["An agent that can read Agent Skills instructions; MCP support is separately required for live Slicer control"],"tools":["Git, Bash and Perl for the setup helper; web mode avoids large source clones","Installed 3D Slicer and its Python console for the separate slicer-mcp-server.py","Optional Python search dependencies and disk space for BM25/hybrid indexes"],"keys":[],"paidDependencies":["The chosen AI host or remote compute may incur costs"],"limitations":["Source-reviewed only: neither this skill nor its MCP server was run for this release.","The MCP bridge can execute Python with the privileges of the Slicer process; use an isolated public-sample environment.","MCP responses can reach a cloud AI host; a local Slicer window does not guarantee local-only data handling.","Installing the skill does not install Slicer or connect MCP. The full setup can clone many repositories; choose its mode deliberately.","Software control and screenshots are not clinical interpretation or a complete CT review.","The pinned SKILL.md links to references/mcp.md, which is absent in that revision. Inspect the included slicer-mcp-server.py and verify MCP setup separately; the referenced setup guide is unavailable."]},"files":[{"path":"LICENSE","sha256":"098a837115eee56c633f88d0fa6dd197321296e1228873f4b402e49fe4bd7de0","bytes":11358,"role":"license"},{"path":"README.md","sha256":"f30f73c80c253f5b32aa8b08e9a9d59d494ee64a87e2b9ee4361fa8c3a47d7e5","bytes":6664,"role":"upstream"},{"path":"SKILL.md","sha256":"7d89e36438fcc064a2cc9fe9acdf3fd51b446ff22a78628b707c357b76b5b4bd","bytes":48796,"role":"upstream"},{"path":"slicer-mcp-server.py","sha256":"31b0cff2880a248f173964a8d8edb591d3eadcc4c019889e8f32eadb65f6abbc","bytes":20282,"role":"upstream"},{"path":"setup.sh","sha256":"280bb8e98ccd55327daa00f8600169d06496205ca8c1904c5ef97c7aae16e12b","bytes":31663,"role":"upstream"},{"path":".gitignore","sha256":"61a090f79c20c43aa16fd4777d3d8d650a5f8cc130ae0ca2fa2cc94ab623b0cf","bytes":773,"role":"upstream"},{"path":"scripts/bm25_lib.py","sha256":"823f2c6bb723de69af8d10ed58ed75b781fb62221907b4b0154a694abb0031ac","bytes":5246,"role":"upstream"},{"path":"scripts/build_bm25.py","sha256":"426f27f1bdd978c79c781e46a92e51ffde2be3b2a064d111c060ab8094bc1b28","bytes":7928,"role":"upstream"},{"path":"scripts/build_vector.py","sha256":"a521b4d3f8b534b7e6bd0ac3456532fb73432a3fa60b0392a3e52311823f4265","bytes":5302,"role":"upstream"},{"path":"scripts/extract_pw_stats.py","sha256":"278b9f7a2c739e1793326b8d14ce58060adedf6c163481d4c96c79526d558cde","bytes":13645,"role":"upstream"},{"path":"scripts/requirements.txt","sha256":"7fb69c0918a70a145f4ff7b0174745877c6c6f7f97b70aafe40b22767e56459e","bytes":35,"role":"upstream"},{"path":"scripts/vector_lib.py","sha256":"0f91e05526506213c831d6a88af47407175f68714f443783347f1fd333820031","bytes":8688,"role":"upstream"},{"path":"slicer-skill-search-mcp.py","sha256":"2e80028edb1a1f5b02b556cd653df7ea659b71db66cc4509a70cff5c62b8e765","bytes":12575,"role":"upstream"}],"compatibilityRu":{"agents":["Агент с поддержкой инструкций Agent Skills; для управления открытым Slicer отдельно нужна поддержка MCP"],"tools":["Git, Bash и Perl для setup; режим web не клонирует большие репозитории","Установленный 3D Slicer и его Python-консоль для отдельного slicer-mcp-server.py","Необязательные Python-зависимости поиска и место для BM25/hybrid-индексов"],"keys":[],"paidDependencies":["Выбранный AI-сервис или удалённые вычисления могут быть платными"],"limitations":["Изучены исходники: этот скилл и его MCP-сервер в рамках выпуска не запускались.","MCP-мост выполняет Python с правами процесса Slicer; для демонстрации используйте изолированную среду и открытый пример.","Ответы MCP могут передаваться облачной модели; локальное окно Slicer не означает, что данные остаются только на компьютере.","Установка скилла не устанавливает Slicer и не подключает MCP. Полный setup клонирует много репозиториев; режим выбирайте явно.","Управление программой и снимки экрана не являются клиническим заключением или полной проверкой КТ.","Закреплённый SKILL.md ссылается на references/mcp.md, которого нет в этой ревизии. Изучите включённый slicer-mcp-server.py и отдельно проверьте настройку MCP: указанный справочник недоступен."]},"review":{"kind":"editorial","reviewedAt":"2026-09-14T17:50:11.929546+00:00"}},"package":null},{"slug":"totalsegmentator-skill","kind":"skill","title":"TotalSegmentator: a skill for choosing segmentation tasks","description":"The official skill guides an agent through MCP capability discovery, task, device and speed selection, then records the generated masks and run settings.","applications":["Select exact classes and a compatible task","Prepare segmentation of a public CT sample","Record settings, masks and limitations of the statistics"],"outcome":"An explicit operation choice and a result record; masks are produced only by a real run of the separately installed MCP server.","githubRepo":"wasserth/TotalSegmentator","markdown":"https://kossolapov.com/api/public/materials/totalsegmentator-skill?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/totalsegmentator-skill?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/totalsegmentator-skill","download":null,"source":{"mode":"link-only","originalName":"totalsegmentator","author":{"name":"Jakob Wasserthal and TotalSegmentator contributors","url":"https://github.com/wasserth/TotalSegmentator","attribution":"Original skill and software: the TotalSegmentator team, University Hospital Basel. Editorial guide: kossolapov.com.","attributionRu":"Оригинальный скилл и программа: команда TotalSegmentator, University Hospital Basel. Редакционная инструкция: kossolapov.com."},"repository":"wasserth/TotalSegmentator","path":"skills/totalsegmentator/SKILL.md","revision":"a0d35d5996a9c096caed4184cededdbf2ede5268","url":"https://github.com/wasserth/TotalSegmentator/blob/a0d35d5996a9c096caed4184cededdbf2ede5268/skills/totalsegmentator/SKILL.md","license":{"name":"Apache-2.0","url":"https://github.com/wasserth/TotalSegmentator/blob/a0d35d5996a9c096caed4184cededdbf2ede5268/LICENSE","evidenceType":"license-file"},"packageVersion":1,"checkedAt":"2026-09-14T17:46:14.189137+00:00","compatibility":{"agents":["An Agent Skills-compatible agent with an MCP client"],"tools":["Python, uv or pipx, PyTorch and a separately installed TotalSegmentator[mcp] environment","A compatible CPU/GPU/MPS device, RAM, disk space and access to model weights","A permitted public NIfTI sample or supported DICOM input and an image viewer for mask review"],"keys":["Some tasks require a separate TotalSegmentator license; inspect the selected task first"],"paidDependencies":["Licensed tasks and rented compute can incur costs; the total task is listed as Apache-2.0 in the reviewed README"],"limitations":["This pinned skill and MCP server were source-reviewed, not executed. The earlier CLI 2.18.0 sample run is separate evidence.","MCP HTTP mode has no authentication in the reviewed documentation; prefer local stdio, or restrict HTTP to loopback.","The first inference can download weights. Paths refer to the server machine.","Upstream documents anonymous usage reporting and its send_usage_stats setting; inspect data flows before use.","An empty pathology mask does not exclude disease; incomplete structures can distort statistics. Outputs are estimates, not clinical findings."]},"files":[{"path":"LICENSE","sha256":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","bytes":11357,"role":"license"},{"path":"README.md","sha256":"5f02478b22f02b0c5d4c05d4d5878355ebd4c8145dc7eb485d430e11abba13ee","bytes":45171,"role":"upstream"},{"path":"pyproject.toml","sha256":"0808693f6b5001134c8853ba6a9a4154775a45b5c864d397a7a64f9e9a88ae7c","bytes":1695,"role":"upstream"},{"path":"setup.py","sha256":"05212244280e077e33de46862756b4711b3a11682524bc240b4c71d26dcffa6f","bytes":5470,"role":"upstream"},{"path":"skills/totalsegmentator/SKILL.md","sha256":"7d9a0848081a6eb4c9f88b6ded63efdf9cc86837cb6d98af2de54c9302ed0d4e","bytes":3988,"role":"upstream"},{"path":"totalsegmentator_mcp/README.md","sha256":"30c9f72c9cf8dddaffebe419d44c17acf54fe31f59519b656f43406148b83458","bytes":3342,"role":"upstream"},{"path":"totalsegmentator_mcp/__init__.py","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","bytes":0,"role":"upstream"},{"path":"totalsegmentator_mcp/mcp_server.py","sha256":"265dc2fa43176c081618111475d87db65cc0ca248571a6c9f2913f94c6d6b34d","bytes":11073,"role":"upstream"},{"path":"totalsegmentator_mcp/utils.py","sha256":"69717057e66f1103ec77fdc07db3833b3fd8d65ba347c47f2b24853ca0706bfb","bytes":4085,"role":"upstream"}],"compatibilityRu":{"agents":["Агент с поддержкой Agent Skills и MCP-клиентом"],"tools":["Python, uv или pipx, PyTorch и отдельно установленная среда TotalSegmentator[mcp]","Совместимое CPU/GPU/MPS-устройство, память, место на диске и доступ к весам","Разрешённый открытый NIfTI-пример или поддерживаемый DICOM-вход и просмотрщик для проверки масок"],"keys":["Для некоторых задач нужна отдельная лицензия TotalSegmentator; сначала проверьте выбранную задачу"],"paidDependencies":["Лицензируемые задачи и аренда вычислений могут быть платными; задача total обозначена Apache-2.0 в изученном README"],"limitations":["Этот скилл и MCP изучены по исходникам и не запускались. Прежний запуск CLI 2.18.0 на примере — отдельное свидетельство.","В изученной документации HTTP-режим MCP не имеет аутентификации; предпочтителен локальный stdio, либо HTTP только на loopback.","Первый запуск может скачать веса. Пути относятся к машине MCP-сервера.","Авторы описывают анонимную статистику использования и настройку send_usage_stats; перед работой проверьте передачу данных.","Пустая маска патологии не исключает заболевание; неполные структуры искажают статистику. Выходы модели — оценки, а не клинические выводы."]},"review":{"kind":"editorial","reviewedAt":"2026-09-14T17:50:11.929546+00:00"}},"package":null},{"slug":"ct-chat-reproduction","kind":"template","title":"CT-CHAT: a research reproduction plan","description":"Check the environment, GPU, weights and chest CT encoding before running the model. An original planning template; CT-CHAT is a research model, not an agent skill.","applications":["Check GPU capacity and dependencies for the chosen model","Review HU, spacing and encoder paths","Prepare a record for one reproducible experiment"],"outcome":"An environment and command plan with explicit unknowns, checkpoint paths and a raw-output review sheet.","githubRepo":"ibrahimethemhamamci/CT-CHAT","markdown":"https://kossolapov.com/api/public/materials/ct-chat-reproduction?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/ct-chat-reproduction?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/ct-chat-reproduction","download":"https://kossolapov.com/downloads/materials/en/ct-chat-reproduction.md","source":null,"package":null},{"slug":"merlin-reproduction","kind":"template","title":"Merlin: a report-generation reproduction plan","description":"Separate library setup, checkpoint downloads and model-generated text for one public sample. An original research template, not a Merlin agent skill.","applications":["Check requirements for the selected Merlin task","Plan the path from DataLoader to raw report","Plan a review of omissions and unsupported statements"],"outcome":"A one-task plan with requirements, commands, a raw-output record and review questions.","githubRepo":"StanfordMIMI/Merlin","markdown":"https://kossolapov.com/api/public/materials/merlin-reproduction?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/merlin-reproduction?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/merlin-reproduction","download":"https://kossolapov.com/downloads/materials/en/merlin-reproduction.md","source":null,"package":null},{"slug":"ct-ai-kit","kind":"skill","title":"CT toolkit: one ZIP for Codex and Claude Code","description":"Give the archive to your agent and run a public CT demo. Includes a coordinating skill, the Slicer skill, the TotalSegmentator skill and CT-CHAT/Merlin templates.","applications":["Start from one archive in Claude Code or Codex","Produce a mask and segmentation overlays for a public CT sample","Continue in Slicer or prepare a CT-CHAT/Merlin run"],"outcome":"After a successful run: a liver mask, three slice overlays, an HTML report and a run log. The agent checks the environment and reports a specific blocker if execution is unavailable.","githubRepo":null,"markdown":"https://kossolapov.com/api/public/materials/ct-ai-kit?lang=en&format=md","prompt":"https://kossolapov.com/api/public/materials/ct-ai-kit?lang=en&format=prompt","url":"https://kossolapov.com/en/materials/ct-ai-kit","download":"https://kossolapov.com/downloads/ct-ai-kit/CT-AI-Kit.zip","source":null,"package":{"version":"1.0.0","download":"/downloads/ct-ai-kit/CT-AI-Kit.zip","sha256":"65cdd2374ef5d5cbb517b25dafcf8cd9c01ead52ff6a3e9efbbe6bf49fb8c8b9","bytes":118457,"installPrompt":"Set up and run CT AI Kit in this project using the current agent (Codex or Claude Code).\nUse the attached CT-AI-Kit.zip if present, otherwise download https://kossolapov.com/downloads/ct-ai-kit/CT-AI-Kit.zip .\nExpected archive SHA-256: 65cdd2374ef5d5cbb517b25dafcf8cd9c01ead52ff6a3e9efbbe6bf49fb8c8b9 .\nVerify the archive hash, extract it into a new folder without overwriting files, read ct-ai-kit/START-HERE.md and follow ct-ai-kit/SKILL.md.\nInstall the whole kit in this project's supported skill directory. Prepare an isolated environment and run the public CT demo, downloading only the dependencies and public model weights needed for that demo.\nShow the actual mask overlay and HTML report, and save the masks and execution log. Use local computation; do not rent cloud hardware. If execution is blocked, report the observed blocker without claiming success. Reply in my language.","promptLanguage":"en","platforms":{"ru":"Codex · Claude Code","en":"Codex · Claude Code"},"summary":{"ru":"Один ZIP: скиллы, инструкции, установщик и запуск публичного демо.","en":"One ZIP: skills, instructions, installer and a public demo runner."},"installation":{"ru":["Скачайте CT-AI-Kit.zip и сохраните его в папку проекта Codex или Claude Code.","Отправьте агенту установочный промпт. Он распакует архив и прочитает START-HERE.md.","Агент установит набор в папку скиллов проекта, проверит среду и загрузит зависимости выбранного демо.","После запуска откройте report.html или overlay.png; маска и журнал будут рядом."],"en":["Download CT-AI-Kit.zip into your Codex or Claude Code project folder.","Send the installation prompt. The agent extracts the archive and reads START-HERE.md.","The agent installs the project skill, checks the environment and downloads dependencies for the selected demo.","After execution, open report.html or overlay.png; the mask and log are saved alongside."]},"contents":{"ru":["Общий скилл ct-ai-kit с инструкцией запуска на английском.","Неизменённые исходники скилла Slicer и выбранные файлы скилла/MCP TotalSegmentator с лицензиями Apache-2.0.","Авторские шаблоны CT-CHAT и Merlin на русском и английском.","Проверка окружения, установщик, CLI-демо и генератор PNG/HTML-отчёта."],"en":["The coordinating ct-ai-kit skill and English startup instructions.","Unmodified Slicer skill sources and selected TotalSegmentator skill/MCP files with Apache-2.0 licenses.","Original CT-CHAT and Merlin planning templates in Russian and English.","Environment check, installer, CLI demo and PNG/HTML report generator."]},"requirements":{"ru":["Codex или Claude Code с доступом к локальным файлам и выполнению команд.","Совместимый Python 3.10+, Git, интернет и место для библиотек и весов; агент проверяет окружение.","Для демо нужен совместимый PyTorch: GPU/MPS при наличии, CPU как более медленный вариант."],"en":["Codex or Claude Code with local file access and command execution.","Compatible Python 3.10+, Git, internet and disk space for dependencies and weights; the agent checks the environment.","A compatible PyTorch runtime: GPU/MPS when available, or a slower CPU route."]},"limitations":{"ru":["ZIP содержит весь набор инструкций и вспомогательного кода; Python, 3D Slicer, полные библиотеки и веса загружаются отдельно по выбранному сценарию.","Демо по умолчанию — TotalSegmentator CLI на одном открытом примере. CT-CHAT/Merlin не запускаются автоматически вместе с ним.","Установщик не меняет глобальные настройки и не подключает MCP. Для работы MCP нужен отдельный шаг настройки.","Выходы модели не являются медицинским заключением. Скорость и возможность запуска зависят от оборудования и разрешений."],"en":["The ZIP contains all toolkit instructions and helper code; Python, 3D Slicer, full libraries and weights are separate per-workflow installations.","The default demo uses TotalSegmentator CLI on one public sample. CT-CHAT/Merlin do not automatically run alongside it.","The installer does not change global settings or connect MCP; MCP requires a separate setup step.","Model output is not a clinical assessment. Runtime and availability depend on hardware and permissions."]},"verification":{"ru":"Проверены 22 исходных файла по хешам; прошли 8 тестов упаковки, установки и обработки ошибок, включая обе структуры скиллов. Генератор отчёта проверен на синтетических объёмах. Полный запуск модели через этот ZIP, Slicer MCP и работа в другом аккаунте Claude Code/Codex не проверялись.","en":"All 22 upstream files were hash-verified; 8 packaging, installation and failure-handling tests passed, including both skill layouts. Report rendering was tested on synthetic volumes. Full model execution through this ZIP, Slicer MCP and execution in another Claude Code/Codex account were not tested."}}}]}