{
 "updated": "2026-10-22",
 "count": 516,
 "loops": [
  {
   "slug": "seo-loop",
   "name": "SEO loop",
   "outcome": "Rank new pages every 21 days.",
   "summary": "Every 21 days the loop reads its task board, pulls search data, writes one page per finding, lets a second agent grade it, and opens a pull request. Three weeks later it checks Search Console and reopens what did not work.",
   "origin": "ours",
   "use_case": "seo",
   "url": "https://gethabit.dev/loops/seo-loop",
   "md": "https://gethabit.dev/loops/seo-loop.md",
   "trigger": "every 21 days",
   "verification": "hard check + second grader",
   "memory": "task board",
   "built_from": [],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "dotnet-test-run-loop",
   "name": ".NET test run loop",
   "outcome": "Run the right dotnet test command.",
   "summary": "On each pull request, your agent reads the repository overlay if present, works out classic, VSTest, bridged MTP or native MTP mode from global.json and project props, runs the smallest matching test command with correct filters and reports a literal Passed, Failed, Skipped summary.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dotnet/run-tests",
   "md": "https://gethabit.dev/skills/dotnet/run-tests.md",
   "trigger": ".NET pull request opened",
   "verification": "tests pass, scope matches",
   "memory": "test command log",
   "built_from": [
    "dotnet--run-tests"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-build-check-loop",
   "name": "Agent build check loop",
   "outcome": "LangChain agents built the current way.",
   "summary": "On each pull request that touches agent code, the agent checks that agents use create_agent, tools carry clear descriptions, memory has a checkpointer and thread_id, and invoke calls set recursion_limit. Tests must pass; findings go to a run log.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/langchain-ai/langchain-fundamentals",
   "md": "https://gethabit.dev/skills/langchain-ai/langchain-fundamentals.md",
   "trigger": "PR touches agent code",
   "verification": "pattern check + tests",
   "memory": "agent review log",
   "built_from": [
    "langchain-ai--langchain-fundamentals"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-cli-ergonomics-loop",
   "name": "Agent CLI ergonomics loop",
   "outcome": "Agent-facing CLIs stay AXI-compliant.",
   "summary": "On every pull request to an agent-facing CLI, your agent checks the AXI standards: TOON output, minimal schemas, truncation with totals, definitive empty states, structured errors on stdout, unknown-flag rejection and a fast --version. A log keeps open violations.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/kunchenguid/axi",
   "md": "https://gethabit.dev/skills/kunchenguid/axi.md",
   "trigger": "CLI code changes",
   "verification": "flag and exit checks",
   "memory": "AXI violation log",
   "built_from": [
    "kunchenguid--axi"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-deploy-loop",
   "name": "Agent deploy loop",
   "outcome": "Agents deployed only after your approval.",
   "summary": "When eval scores are in, your agent pastes them with the test results and asks if you are ready to deploy to dev. On your yes it runs agents-cli deploy, polls the status, and tests the live agent with agents-cli run --url. A log keeps each deploy.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/google/google-agents-cli-deploy",
   "md": "https://gethabit.dev/skills/google/google-agents-cli-deploy.md",
   "trigger": "eval scores ready",
   "verification": "your yes + live test",
   "memory": "deploy log",
   "built_from": [
    "google--google-agents-cli-deploy"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-health-audit-loop",
   "name": "Agent health audit loop",
   "outcome": "Weekly agent setup health report.",
   "summary": "Each week your agent runs the health collector in summary mode, checks agent config, instruction drift, hooks, MCP and AI maintainability, and writes a report-only list of findings with actions. The next run compares against the last report.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/tw93/health",
   "md": "https://gethabit.dev/skills/tw93/health.md",
   "trigger": "weekly health audit",
   "verification": "collector + finding format",
   "memory": "last health report",
   "built_from": [
    "tw93--health"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-orient-brief-loop",
   "name": "Agent orient brief loop",
   "outcome": "Agents know code owners before editing.",
   "summary": "Before each new coding task, your agent runs indexion agent orient to build a structure brief: likely owners, knowledge sources, consumer surfaces and unsafe edit spots. It confirms the owner with doc graph, grep and search, and stops if the edit path is off-limits.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/trkbt10/indexion-agent-orient",
   "md": "https://gethabit.dev/skills/trkbt10/indexion-agent-orient.md",
   "trigger": "new coding task starts",
   "verification": "brief + edit gate",
   "memory": "orientation map",
   "built_from": [
    "trkbt10--indexion-agent-orient"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-reach-topic-watch-loop",
   "name": "Agent Reach topic watch loop",
   "outcome": "Fresh cross-platform research, read-only.",
   "summary": "Each morning your agent runs agent-reach doctor, then searches the web, Twitter, Reddit, Bilibili and other channels for your watched topics, read-only. It keeps only results with real content and logs what it already reported so the next run shows only new items.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/panniantong/skill",
   "md": "https://gethabit.dev/skills/panniantong/skill.md",
   "trigger": "daily topic scan",
   "verification": "doctor + non-empty results",
   "memory": "reported items log",
   "built_from": [
    "panniantong--skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-task-handoff-loop",
   "name": "Agent task handoff loop",
   "outcome": "Tasks handed between agents through logstream.",
   "summary": "When you delegate work, your agent verifies the MemPalace coordination seam, normalizes the task with an exact branch and base commit, gets your approval, then creates it with mempalace_task_create and returns the ready-to-paste handoff. Delivery closes back through MemPalace.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/mempalace/mempalace-task",
   "md": "https://gethabit.dev/skills/mempalace/mempalace-task.md",
   "trigger": "you delegate a task",
   "verification": "approved + created",
   "memory": "task handoff log",
   "built_from": [
    "mempalace--mempalace-task"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agent-workspace-backup-loop",
   "name": "Agent workspace backup loop",
   "outcome": "Agent files backed up, encrypted, restorable.",
   "summary": "Once a week, your agent encrypts the OpenClaw workspace files with a fresh random password, uploads them with backup.py, and appends the backup id and password to the recovery file. Deletes only happen after you confirm.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/theagentservice/openclaw-backup",
   "md": "https://gethabit.dev/skills/theagentservice/openclaw-backup.md",
   "trigger": "weekly agent backup",
   "verification": "upload returns backup id",
   "memory": "backup recovery file",
   "built_from": [
    "theagentservice--openclaw-backup"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agents-sdk-review-loop",
   "name": "Agents SDK review loop",
   "outcome": "Cloudflare agents reviewed on every change.",
   "summary": "When a pull request changes a Cloudflare Agents SDK app, your agent pulls the current docs, checks the install, the wrangler config and migrations against the skill's gotchas, and runs the tests. A board keeps open findings for the next pull request.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/cloudflare/agents-sdk",
   "md": "https://gethabit.dev/skills/cloudflare/agents-sdk.md",
   "trigger": "PR touches agent code",
   "verification": "tests and config checks",
   "memory": "open agent findings",
   "built_from": [
    "cloudflare--agents-sdk"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agents-md-refresh-loop",
   "name": "AGENTS.md refresh loop",
   "outcome": "Agent docs match the codebase.",
   "summary": "Each week your agent runs index-knowledge in update mode: parallel explore agents and a codemap score every directory, then root and subdirectory AGENTS.md files are updated, trimmed and deduplicated. Git history keeps each refresh.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/tursodatabase/index-knowledge",
   "md": "https://gethabit.dev/skills/tursodatabase/index-knowledge.md",
   "trigger": "weekly docs refresh",
   "verification": "size and dedupe checks",
   "memory": "AGENTS.md commit history",
   "built_from": [
    "tursodatabase--index-knowledge"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "agents-md-upkeep-loop",
   "name": "AGENTS.md upkeep loop",
   "outcome": "Keep agent instructions short, accurate.",
   "summary": "Each month your agent inspects lock files, manifests, CI and docs, updates AGENTS.md to the smallest useful file and checks every path and command still exists. Git history keeps each change.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/getsentry/agents-md",
   "md": "https://gethabit.dev/skills/getsentry/agents-md.md",
   "trigger": "monthly instructions review",
   "verification": "length and paths check",
   "memory": "AGENTS.md git history",
   "built_from": [
    "getsentry--agents-md"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ai-news-digest-loop",
   "name": "AI news digest loop",
   "outcome": "A daily digest of AI news.",
   "summary": "On a schedule, your agent queries AIHOT in real time for the last day's AI highlights and hot events, reads the Chinese Markdown it returns, and writes a digest. A run log keeps what was already reported.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/kkkkhazix/aihot",
   "md": "https://gethabit.dev/skills/kkkkhazix/aihot.md",
   "trigger": "daily AI digest",
   "verification": "live query returns items",
   "memory": "news digest log",
   "built_from": [
    "kkkkhazix--aihot"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ai-slop-cleanup-loop",
   "name": "AI slop cleanup loop",
   "outcome": "Bloated AI code trimmed, behavior kept.",
   "summary": "After AI-written code lands, your agent locks behavior with regression tests, writes a cleanup plan, then runs deletion-first passes for dead code, duplication, naming and tests, keeping the gates green. A run log keeps what was cleaned.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/yeachan-heo/ai-slop-cleaner",
   "md": "https://gethabit.dev/skills/yeachan-heo/ai-slop-cleaner.md",
   "trigger": "after AI code lands",
   "verification": "gates green, behavior kept",
   "memory": "cleanup log",
   "built_from": [
    "yeachan-heo--ai-slop-cleaner"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ai-visibility-loop",
   "name": "AI visibility loop",
   "outcome": "Know where AI answers cite you.",
   "summary": "Each month your agent gives you the top 20 queries. You run them in your own ChatGPT, Perplexity and Google, or export answers from a monitoring tool. The agent records who gets cited, checks the AI bot rules in robots.txt and turns gaps into fixes.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/coreyhaines31/ai-seo",
   "md": "https://gethabit.dev/skills/coreyhaines31/ai-seo.md",
   "trigger": "monthly visibility check",
   "verification": "full sample logged",
   "memory": "monthly cite rates",
   "built_from": [
    "coreyhaines31--ai-seo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "allium-converge-loop",
   "name": "Allium converge loop",
   "outcome": "Spec, tests and code all agree.",
   "summary": "On a goal, your agent drives the Allium loop: gather context into a .allium spec, generate tests, implement, run tests and weed out drift, repeat until converged, then witness the claim. The .allium spec is the durable memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/juxt/allium",
   "md": "https://gethabit.dev/skills/juxt/allium.md",
   "trigger": "you give a goal",
   "verification": "tests, weed, witness",
   "memory": "allium spec",
   "built_from": [
    "juxt--allium"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "allium-distill-loop",
   "name": "Allium distill loop",
   "outcome": "Existing code gets a spec.",
   "summary": "When a module has no spec yet, your agent maps it into bounded contexts, fans out one subagent per context and assembles an Allium spec. allium check must pass and the abstraction checklist must be clean. Open questions stay in the spec.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/juxt/distill",
   "md": "https://gethabit.dev/skills/juxt/distill.md",
   "trigger": "module needs a spec",
   "verification": "allium check + you confirm",
   "memory": "distilled spec questions",
   "built_from": [
    "juxt--distill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "allium-propagate-loop",
   "name": "Allium propagate loop",
   "outcome": "Spec changes regenerate the tests.",
   "summary": "When an .allium spec changes, your agent reads allium plan and allium model, maps spec constructs to code and generates tests. Tests must run and every obligation must be covered or reported. Hashes and the summary line go into the ledger.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/juxt/propagate",
   "md": "https://gethabit.dev/skills/juxt/propagate.md",
   "trigger": "allium spec changed",
   "verification": "tests run, obligations covered",
   "memory": "allium loop ledger",
   "built_from": [
    "juxt--propagate"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "allium-spec-drift-loop",
   "name": "Allium spec drift loop",
   "outcome": "Spec and code stay aligned.",
   "summary": "Every week, your agent compares the .allium specs with the implementation in check mode and reports each divergence with its spec and code location and a proposed classification. Findings and their status are kept in a run log.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/juxt/weed",
   "md": "https://gethabit.dev/skills/juxt/weed.md",
   "trigger": "weekly drift check",
   "verification": "check + you classify",
   "memory": "divergence log",
   "built_from": [
    "juxt--weed"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "allium-tend-loop",
   "name": "Allium tend loop",
   "outcome": "Spec changes stay valid.",
   "summary": "When a change request for an Allium spec arrives, your agent reads the existing specs, pushes back on vague parts and makes a minimal edit. allium check must pass after every edit. Changes and parked questions are logged for the next run.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/juxt/tend",
   "md": "https://gethabit.dev/skills/juxt/tend.md",
   "trigger": "spec change requested",
   "verification": "allium check passes",
   "memory": "spec change log",
   "built_from": [
    "juxt--tend"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "amazon-listing-audit-loop",
   "name": "Amazon listing audit loop",
   "outcome": "Listings keep their keyword coverage.",
   "summary": "Every month, your agent fetches your Amazon listing with fetch-listing.sh, compares it with competitor keywords, scores it on eight dimensions and writes an optimized title, bullets and description with a before and after keyword coverage map.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/nexscope-ai/amazon-listing-optimization",
   "md": "https://gethabit.dev/skills/nexscope-ai/amazon-listing-optimization.md",
   "trigger": "monthly listing audit",
   "verification": "limits and coverage met",
   "memory": "monthly audit scores",
   "built_from": [
    "nexscope-ai--amazon-listing-optimization"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "amazon-product-watch-loop",
   "name": "Amazon product watch loop",
   "outcome": "Fresh scores for watched products.",
   "summary": "Every week your agent re-researches the products on your watch list with web_search and web_fetch: demand, competition, profit potential and entry barriers. It scores each one from 1 to 10, compares with last week and keeps the scores in a board.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/nexscope-ai/amazon-product-research",
   "md": "https://gethabit.dev/skills/nexscope-ai/amazon-product-research.md",
   "trigger": "every Monday",
   "verification": "all factors scored",
   "memory": "product score board",
   "built_from": [
    "nexscope-ai--amazon-product-research"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "animation-opportunities-loop",
   "name": "Animation opportunities loop",
   "outcome": "Only motion that earns its place.",
   "summary": "Each week your agent sweeps the interface for places that should animate, runs every candidate through the four-question gate and reports a short table with exact values plus rejected candidates. It never changes code. The report file keeps what was suggested and rejected.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/emilkowalski/find-animation-opportunities",
   "md": "https://gethabit.dev/skills/emilkowalski/find-animation-opportunities.md",
   "trigger": "weekly UI sweep",
   "verification": "report format holds",
   "memory": "past suggestions and rejections",
   "built_from": [
    "emilkowalski--find-animation-opportunities"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "antd-lint-loop",
   "name": "Ant Design lint loop",
   "outcome": "Keep antd usage current and clean.",
   "summary": "On each pull request touching antd code, your agent runs antd lint on the changed files, checks props against your antd version with antd info, fixes deprecated usage and reruns lint. A board keeps usage stats from antd usage over time.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/ant-design/antd",
   "md": "https://gethabit.dev/skills/ant-design/antd.md",
   "trigger": "antd code changes",
   "verification": "antd lint is clean",
   "memory": "antd usage board",
   "built_from": [
    "ant-design--antd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "antd-api-check-loop",
   "name": "antd API check loop",
   "outcome": "antd code uses real, current APIs.",
   "summary": "On pull requests that touch Ant Design code, your agent looks up each component's API with antd info --format json before judging it, checks tokens-first theming and SSR, then runs antd lint on the changed paths. It never relies on memory or internal .ant- selectors.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/ant-design/ant-design",
   "md": "https://gethabit.dev/skills/ant-design/ant-design.md",
   "trigger": "antd code changes",
   "verification": "info + lint",
   "memory": "antd review log",
   "built_from": [
    "ant-design--ant-design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "install-anti-slop-loop",
   "name": "Anti-slop update loop",
   "outcome": "Lint rules stay current, customizations kept.",
   "summary": "Once a month your agent checks the vendored anti-slop Oxlint plugin, installs it fresh or follows the update procedure, enables the rules, runs lint and typecheck, and records the copied source in UPSTREAM.md for the next update.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dmmulroy/install-anti-slop",
   "md": "https://gethabit.dev/skills/dmmulroy/install-anti-slop.md",
   "trigger": "monthly upstream check",
   "verification": "lint, typecheck, provenance",
   "memory": "UPSTREAM.md provenance record",
   "built_from": [
    "dmmulroy--install-anti-slop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "antigravity-task-queue-loop",
   "name": "Antigravity task queue loop",
   "outcome": "Delegate to agy, review, then land.",
   "summary": "For each task in your queue, your agent writes a full brief, runs relay.mjs to hand it to the Antigravity agy CLI, reads result.json, reruns the gates and the diff itself and commits only verified work. A queue file keeps progress.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/amelnagdy/agy-delegate",
   "md": "https://gethabit.dev/skills/amelnagdy/agy-delegate.md",
   "trigger": "you queue tasks for agy",
   "verification": "gates rerun, diff reviewed",
   "memory": "delegation queue",
   "built_from": [
    "amelnagdy--agy-delegate"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "antislop-audit-loop",
   "name": "Antislop audit loop",
   "outcome": "Strip generic AI look from UI.",
   "summary": "When UI work is done, your agent audits it against the antislop rules, writes a numbered findings file, fixes only the numbers you approve and runs the Delivery Gate. Audit files with rising numbers keep the history.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/miqdadbadjuber/antislop",
   "md": "https://gethabit.dev/skills/miqdadbadjuber/antislop.md",
   "trigger": "UI work finished",
   "verification": "you approve, gate passes",
   "memory": "numbered audit reports",
   "built_from": [
    "miqdadbadjuber--antislop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "antislop-mobile-layout-loop",
   "name": "Antislop mobile layout loop",
   "outcome": "Layouts that reflow at every width.",
   "summary": "When layout code changes, your agent loads the antislop core and this mobile skill, drags the viewport across the full width range, checks breakpoints, scale, grids, overflow, tap targets and mobile navigation, fixes failures and runs the Layoutmobile Skill Checklist.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/miqdadbadjuber/antislop-layoutmobile",
   "md": "https://gethabit.dev/skills/miqdadbadjuber/antislop-layoutmobile.md",
   "trigger": "layout code changes",
   "verification": "mobile checklist passes",
   "memory": "numbered audit reports",
   "built_from": [
    "miqdadbadjuber--antislop-layoutmobile"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "anysearch-watch-loop",
   "name": "AnySearch watch loop",
   "outcome": "Fresh facts on your topics.",
   "summary": "Each morning your agent runs anysearch on a saved list of topics: it finds the right vertical with get_sub_domains, runs a batch_search and extracts key pages. New results are compared to the last run and only changes are kept.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/anysearch-ai/anysearch",
   "md": "https://gethabit.dev/skills/anysearch-ai/anysearch.md",
   "trigger": "daily topic search",
   "verification": "results returned",
   "memory": "topic results log",
   "built_from": [
    "anysearch-ai--anysearch"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "apm-slow-trace-loop",
   "name": "APM slow trace loop",
   "outcome": "Slow and failing services flagged daily.",
   "summary": "Each workday your agent confirms the env tag, lists services and stats with pup apm services, searches error and slow traces over the last hour with pup traces search, and reports the services that got worse.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/datadog-labs/dd-apm",
   "md": "https://gethabit.dev/skills/datadog-labs/dd-apm.md",
   "trigger": "daily trace check",
   "verification": "services checked, env confirmed",
   "memory": "trace check log",
   "built_from": [
    "datadog-labs--dd-apm"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "app-review-health-loop",
   "name": "App review health loop",
   "outcome": "Submission blockers found and routed.",
   "summary": "When a release is blocked or review looks stuck, your agent runs asc validate and asc review doctor, gathers build and version evidence, routes each blocker to the right repair and watches review status. Cancels need your yes; a log keeps each diagnosis.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/rorkai/asc-submission-health",
   "md": "https://gethabit.dev/skills/rorkai/asc-submission-health.md",
   "trigger": "validation fails or stalls",
   "verification": "validators clean, you confirm",
   "memory": "diagnosis log",
   "built_from": [
    "rorkai--asc-submission-health"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "app-smoke-flow-loop",
   "name": "App smoke flow loop",
   "outcome": "Every build passes a real tap-through.",
   "summary": "After each new app build, your agent opens the app on a device with agent-device, taps through one key flow and checks the expected text appears. It closes the session and logs which flows passed for the next build.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/callstack/agent-device",
   "md": "https://gethabit.dev/skills/callstack/agent-device.md",
   "trigger": "new app build ready",
   "verification": "expected text on screen",
   "memory": "flow results per build",
   "built_from": [
    "callstack--agent-device"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "asc-release-loop",
   "name": "App Store release loop",
   "outcome": "Releases reach review safely.",
   "summary": "Runs when a release is approved. Your agent stages the version with asc, validates it, previews every change with a dry run, waits for your confirm, then submits and records the submission IDs for the next release.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/rorkai/asc-release-flow",
   "md": "https://gethabit.dev/skills/rorkai/asc-release-flow.md",
   "trigger": "release approved",
   "verification": "validate plus your confirm",
   "memory": "release handoff log",
   "built_from": [
    "rorkai--asc-release-flow"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "apply-upgrade-notes-loop",
   "name": "Apply upgrade notes loop",
   "outcome": "Installed pipeline artifacts stay current.",
   "summary": "After a skills upgrade, your agent reads UPGRADE_NOTES.md, re-syncs the installed tracker and browser descriptors under .ai/ while keeping local edits, reports custom-provider gaps and checks the config. It leaves changes uncommitted for review.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/open-mercato/om-apply-upgrade-notes",
   "md": "https://gethabit.dev/skills/open-mercato/om-apply-upgrade-notes.md",
   "trigger": "after skills upgrade",
   "verification": "descriptors synced, config parses",
   "memory": "agentic config",
   "built_from": [
    "open-mercato--om-apply-upgrade-notes"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "appwrite-code-review-loop",
   "name": "Appwrite code review loop",
   "outcome": "Appwrite code follows current SDK patterns.",
   "summary": "On each pull request that touches Appwrite code, your agent checks for the deprecated Databases class and legacy string columns, risky Role.any() permissions, missing row permissions, React Native OAuth misuse and unsafe session cookies, then reports fixes.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/appwrite/appwrite-typescript",
   "md": "https://gethabit.dev/skills/appwrite/appwrite-typescript.md",
   "trigger": "Appwrite code changed",
   "verification": "tests pass, patterns clean",
   "memory": "review findings log",
   "built_from": [
    "appwrite--appwrite-typescript"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "appwrite-schema-sync-loop",
   "name": "Appwrite schema sync loop",
   "outcome": "Schema, config and types stay synced.",
   "summary": "When appwrite.config.json changes, your agent reviews the change table, pushes only the changed resource, reruns appwrite generate and runs the type checker. Secrets stay in the environment, never in the config.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/appwrite/appwrite-cli",
   "md": "https://gethabit.dev/skills/appwrite/appwrite-cli.md",
   "trigger": "config file changes",
   "verification": "push and type check",
   "memory": "config commit history",
   "built_from": [
    "appwrite--appwrite-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "architect-decision-spec-loop",
   "name": "Architect decision spec loop",
   "outcome": "Turn open decisions into build specs.",
   "summary": "When a load bearing decision is open, your agent asks the questions only you can answer, recommends a pick with a runner up, writes a numbered spec in docs/specs/ and offers a read only cross check. Specs and their status lines keep the record.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/jsmastery-pro/architect",
   "md": "https://gethabit.dev/skills/jsmastery-pro/architect.md",
   "trigger": "decision owed or Assumed",
   "verification": "you confirm the spec",
   "memory": "spec folder",
   "built_from": [
    "jsmastery-pro--architect"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "architecture-deepening-loop",
   "name": "Architecture deepening loop",
   "outcome": "Find shallow modules, deepen one.",
   "summary": "Each week your agent scans recent hot spots from git log, finds shallow modules and writes an HTML report of deepening candidates. You pick one and it grills you through it, updating GLOSSARY.md and ADRs. A board keeps every candidate seen.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mattpocock/improve-codebase-architecture",
   "md": "https://gethabit.dev/skills/mattpocock/improve-codebase-architecture.md",
   "trigger": "weekly architecture review",
   "verification": "report check + your pick",
   "memory": "deepening candidates board",
   "built_from": [
    "mattpocock--improve-codebase-architecture"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "archify-diagram-loop",
   "name": "Architecture diagram loop",
   "outcome": "Diagrams that match the code.",
   "summary": "After changes land on main, your agent redraws the architecture diagram from repository evidence and runs archify finalize. The run passes only when every finalize gate passes. A run log keeps the candidate folder and receipt per run.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/tt-a1i/archify",
   "md": "https://gethabit.dev/skills/tt-a1i/archify.md",
   "trigger": "push to main",
   "verification": "finalize gates pass",
   "memory": "candidates and receipts",
   "built_from": [
    "tt-a1i--archify"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "architecture-diagram-loop",
   "name": "Architecture diagram loop",
   "outcome": "Keep diagrams true to the code.",
   "summary": "Every merge to main runs archify on the changed code and redraws the architecture diagram. A validator checks that every box points to a file that exists, so the diagram never drifts from the repo.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/tt-a1i/archify",
   "md": "https://gethabit.dev/skills/tt-a1i/archify.md",
   "trigger": "merge to main",
   "verification": "every node exists",
   "memory": "diagram + log",
   "built_from": [
    "tt-a1i--archify"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "architecture-drift-audit-loop",
   "name": "Architecture drift audit loop",
   "outcome": "Code keeps to your ADRs.",
   "summary": "When a pull request lands, your agent runs the read-only audit workflow: it checks the change against your accepted ADRs, ranks evidence and lists drift and risk by severity. The loop keeps each report so repeat drift stands out.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/stark-ai-de/architecture-compass",
   "md": "https://gethabit.dev/skills/stark-ai-de/architecture-compass.md",
   "trigger": "PR opened or updated",
   "verification": "read-only audit completed",
   "memory": "ADR drift log",
   "built_from": [
    "stark-ai-de--architecture-compass"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "arize-error-trace-digest-loop",
   "name": "Arize error trace digest loop",
   "outcome": "A daily digest of failing traces.",
   "summary": "Each day, your agent exports error traces from Arize with the ax CLI for a UTC window, reads the error spans, and writes a digest with span counts and error types. A run log keeps each day's counts and trace ids.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/arize-ai/arize-trace",
   "md": "https://gethabit.dev/skills/arize-ai/arize-trace.md",
   "trigger": "daily error digest",
   "verification": "export counted, not truncated",
   "memory": "daily error log",
   "built_from": [
    "arize-ai--arize-trace"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "arize-eval-check-loop",
   "name": "Arize eval check loop",
   "outcome": "Score new spans every week.",
   "summary": "Each week your agent triggers an Arize evaluation task with ax tasks trigger-run on a capped span window, waits for it, and checks that spans were really scored. Failures are reported, never replaced by guessed scores. A run log keeps task ids and results.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/arize-ai/arize-evaluator",
   "md": "https://gethabit.dev/skills/arize-ai/arize-evaluator.md",
   "trigger": "every Monday morning",
   "verification": "spans scored, not zero",
   "memory": "eval task run log",
   "built_from": [
    "arize-ai--arize-evaluator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "arize-eval-dataset-loop",
   "name": "Arize eval dataset loop",
   "outcome": "A growing, verified evaluation dataset.",
   "summary": "When new test cases appear, your agent checks the dataset schema, appends the examples with ax datasets append, then exports with --all and confirms the row count matches the server. Arize dataset versions are the memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/arize-ai/arize-dataset",
   "md": "https://gethabit.dev/skills/arize-ai/arize-dataset.md",
   "trigger": "new test cases added",
   "verification": "export count matches server",
   "memory": "dataset version notes",
   "built_from": [
    "arize-ai--arize-dataset"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "art-direction-signoff-loop",
   "name": "Art direction sign-off loop",
   "outcome": "An agreed look before volume generation.",
   "summary": "Before a big batch, your agent turns the brief into production terms, runs one moodboard that varies a single axis, and asks you to pick a direction. The chosen image becomes the anchor for every later run, kept in a notes file.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/layerai/layer-art-direction",
   "md": "https://gethabit.dev/skills/layerai/layer-art-direction.md",
   "trigger": "new brief arrives",
   "verification": "you pick a direction",
   "memory": "direction notes",
   "built_from": [
    "layerai--layer-art-direction"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "aspnet-endpoint-review-loop",
   "name": "ASP.NET endpoint review loop",
   "outcome": "New API endpoints follow HTTP conventions.",
   "summary": "On pull requests that add or change ASP.NET Core Web API endpoints, your agent checks HTTP status codes, CancellationToken, sealed record DTOs, OpenAPI metadata and RFC 7807 errors, then builds. A .http test file and the build must pass.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dotnet/dotnet-webapi",
   "md": "https://gethabit.dev/skills/dotnet/dotnet-webapi.md",
   "trigger": "API endpoint change",
   "verification": "build + convention checks",
   "memory": "endpoint review log",
   "built_from": [
    "dotnet--dotnet-webapi"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "astro-hydration-review-loop",
   "name": "Astro hydration review loop",
   "outcome": "Astro pages ship only needed JavaScript.",
   "summary": "On every pull request to an Astro site, your agent checks client directives against the decision tree, flags hydrated components that need none, checks content collections use loaders and Zod in src/content.config.ts, and runs the build. A log keeps findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/delineas/astro-framework",
   "md": "https://gethabit.dev/skills/delineas/astro-framework.md",
   "trigger": "Astro pull request",
   "verification": "build and rules pass",
   "memory": "hydration findings log",
   "built_from": [
    "delineas--astro-framework"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "auth0-tenant-audit-loop",
   "name": "Auth0 tenant audit loop",
   "outcome": "Tenant security issues found monthly.",
   "summary": "Once a month your agent runs the Auth0 audit intent: it loads the audit, remediation and tooling references, scans the tenant with CheckMate and reports findings. Fixes run only with your per-command confirmation, and each change is verified by re-fetch.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/auth0/auth0",
   "md": "https://gethabit.dev/skills/auth0/auth0.md",
   "trigger": "monthly tenant audit",
   "verification": "re-fetch check + approval",
   "memory": "audit findings log",
   "built_from": [
    "auth0--auth0"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "auto-create-pr-loop-habit",
   "name": "Auto create PR loop",
   "outcome": "Task brief shipped as a PR",
   "summary": "On a task brief, your agent claims a run slot, drafts a Progress-tracked plan, implements phase by phase in an isolated worktree, runs the validation gate and review pass, and opens a labelled PR. The plan file holds progress.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/open-mercato/om-auto-create-pr",
   "md": "https://gethabit.dev/skills/open-mercato/om-auto-create-pr.md",
   "trigger": "you give a task brief",
   "verification": "gate and review pass",
   "memory": "execution plan",
   "built_from": [
    "open-mercato--om-auto-create-pr"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "automation-recommender-loop",
   "name": "Automation recommender loop",
   "outcome": "Fresh automation ideas every month.",
   "summary": "Once a month your agent scans the codebase for its stack, tests, CI and existing Claude Code config, then recommends the top one or two hooks, subagents, skills, plugins and MCP servers. A log keeps past reports so only new ideas surface.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/anthropics/claude-automation-recommender",
   "md": "https://gethabit.dev/skills/anthropics/claude-automation-recommender.md",
   "trigger": "first day each month",
   "verification": "report shape check",
   "memory": "past recommendation reports",
   "built_from": [
    "anthropics--claude-automation-recommender"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "baidu-news-digest-loop",
   "name": "Baidu news digest loop",
   "outcome": "Weekly Chinese news digest per topic.",
   "summary": "Every week, your agent runs Baidu AI search on your watched topics with --recency week and --json, summarizes the new results and compares them with last week's digest. Encyclopedia lookups use the baike mode when needed.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/countbot-ai/baidu-search",
   "md": "https://gethabit.dev/skills/countbot-ai/baidu-search.md",
   "trigger": "weekly topic digest",
   "verification": "results per topic",
   "memory": "weekly digests",
   "built_from": [
    "countbot-ai--baidu-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "bailian-agents-yaml-loop",
   "name": "Bailian agents.yaml loop",
   "outcome": "Agent infra changes stay reviewed.",
   "summary": "When agents.yaml changes, your agent runs bl managed-agent validate and plan, shows you the diff and applies it only after your explicit yes. It never adds --yes by itself. A run log keeps each plan and apply result.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/modelstudioai/bailian-managed-agent",
   "md": "https://gethabit.dev/skills/modelstudioai/bailian-managed-agent.md",
   "trigger": "agents.yaml changed",
   "verification": "validate, plan, your yes",
   "memory": "plan and apply log",
   "built_from": [
    "modelstudioai--bailian-managed-agent"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "bailian-media-batch-loop",
   "name": "Bailian media batch loop",
   "outcome": "Media requests become saved files.",
   "summary": "When a new list of media requests arrives, your agent makes each image, video or speech file with the bl CLI, saves it locally and checks the file exists. It asks once before the first Bailian call and logs each output path.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/modelstudioai/bailian-gen",
   "md": "https://gethabit.dev/skills/modelstudioai/bailian-gen.md",
   "trigger": "new media request list",
   "verification": "files saved, one consent",
   "memory": "media output log",
   "built_from": [
    "modelstudioai--bailian-gen"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "bailian-usage-watch-loop",
   "name": "Bailian usage watch loop",
   "outcome": "Know your Bailian usage weekly.",
   "summary": "Once a week your agent uses the bl CLI to read Bailian usage, quota and model error numbers. It checks that each command ran and compares the numbers with last week, then keeps a short log for the next run.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/modelstudioai/bailian-cli",
   "md": "https://gethabit.dev/skills/modelstudioai/bailian-cli.md",
   "trigger": "every Monday morning",
   "verification": "commands ran, numbers logged",
   "memory": "weekly usage log",
   "built_from": [
    "modelstudioai--bailian-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "base44-error-sweep-loop",
   "name": "Base44 error sweep loop",
   "outcome": "Catch Base44 failures each morning.",
   "summary": "Each morning the agent confirms it is signed in, lists failed workflow runs and pulls error-level function logs for your Base44 app. It reads the failing task and error, correlates timestamps and keeps a log so the next run sees what is new.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/base44/base44-troubleshooter",
   "md": "https://gethabit.dev/skills/base44/base44-troubleshooter.md",
   "trigger": "every morning",
   "verification": "auth and log checks",
   "memory": "incident log",
   "built_from": [
    "base44--base44-troubleshooter"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "baseline-ui-review-loop",
   "name": "Baseline UI review loop",
   "outcome": "UI slop gets caught on merge.",
   "summary": "When a pull request changes UI files, your agent reviews each one with baseline-ui, reports violations with the exact line and a fix, and keeps a log of the rules broken most often.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/ibelick/baseline-ui",
   "md": "https://gethabit.dev/skills/ibelick/baseline-ui.md",
   "trigger": "PR touches UI files",
   "verification": "no baseline rule violations",
   "memory": "violation log",
   "built_from": [
    "ibelick--baseline-ui"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "beat-sync-edit-loop",
   "name": "Beat sync edit loop",
   "outcome": "Every cut lands on beat.",
   "summary": "When a new track and footage are ready, your agent writes an edit-timing plan: BPM to frames, phrase cuts, a pacing arc, motivated transitions and speed ramps as frame numbers. Beat markers are checked against detected beat seconds. Plans are logged.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/iart-ai/beat-sync-editing",
   "md": "https://gethabit.dev/skills/iart-ai/beat-sync-editing.md",
   "trigger": "track and footage ready",
   "verification": "beat sync verified",
   "memory": "edit plans",
   "built_from": [
    "iart-ai--beat-sync-editing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "bitbucket-pr-status-loop",
   "name": "Bitbucket PR status loop",
   "outcome": "Failing Bitbucket PRs flagged daily.",
   "summary": "Each workday your agent runs bkt auth status, confirms Cloud or Data Center, reads open pull requests and their commit statuses with --json output, and reports which PRs have failing checks, without making changes you did not request.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/avivsinai/bkt",
   "md": "https://gethabit.dev/skills/avivsinai/bkt.md",
   "trigger": "workday PR check",
   "verification": "read-only report produced",
   "memory": "daily PR report log",
   "built_from": [
    "avivsinai--bkt"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "blender-model-check-loop",
   "name": "Blender model check loop",
   "outcome": "Clean meshes built step by step.",
   "summary": "For each modeling request your agent reads the MCP backend guide, picks a recipe from the decision tree, builds geometry in small code calls with GEO- names, keeps the modifier stack order, cleans up the mesh and renders a viewport check.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/roble3/blender-modeling",
   "md": "https://gethabit.dev/skills/roble3/blender-modeling.md",
   "trigger": "new object to model",
   "verification": "names, stack order, render",
   "memory": "modeling steps log",
   "built_from": [
    "roble3--blender-modeling"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "book-breakdown-loop",
   "name": "Book breakdown loop",
   "outcome": "Reference novels broken down in stages.",
   "summary": "When a novel text is added, the agent runs the inspector, builds the chapter index, breaks down the first three chapters, extracts summaries in batches and builds plot, character, report and style outputs. _progress.md lets runs resume.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/zenstory-ai/story-long-analyze",
   "md": "https://gethabit.dev/skills/zenstory-ai/story-long-analyze.md",
   "trigger": "novel text added",
   "verification": "stage checks + author",
   "memory": "progress file",
   "built_from": [
    "zenstory-ai--story-long-analyze"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "book-fold-in-loop",
   "name": "Book fold-in loop",
   "outcome": "Keep book skills up to date.",
   "summary": "When you add a new document, your agent extracts it, confirms the source and token estimate with you, then folds it into the existing book skill with new chapters and merged glossary, patterns and cheatsheet. The security scan must pass before the run ends.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/virgiliojr94/book-to-skill",
   "md": "https://gethabit.dev/skills/virgiliojr94/book-to-skill.md",
   "trigger": "new document added",
   "verification": "scan passes, you confirm",
   "memory": "fold-in history",
   "built_from": [
    "virgiliojr94--book-to-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "book-study-review-loop",
   "name": "Book study review loop",
   "outcome": "Book concepts held in long-term memory.",
   "summary": "Each session, your agent checks the mastery map for due items, reviews them with Socratic questions, then guides the next chapter: pre-reading questions, ingest, mastery test and practice. The mastery-map.md keeps what is due.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/sanyuan0704/book-study",
   "md": "https://gethabit.dev/skills/sanyuan0704/book-study.md",
   "trigger": "you open the book",
   "verification": "mastery before advancing",
   "memory": "mastery map",
   "built_from": [
    "sanyuan0704--book-study"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "book-to-skills-loop",
   "name": "Book to skills loop",
   "outcome": "One book distilled into usable skills.",
   "summary": "For each book on the board, your agent resumes from PIPELINE_STATE.md, runs the staged pipeline: overview, parallel extraction, triple verification, promotion gate, capability cards, linking, pressure tests and compile. You confirm at each gate.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/kangarooking/cangjie-skill",
   "md": "https://gethabit.dev/skills/kangarooking/cangjie-skill.md",
   "trigger": "next book on board",
   "verification": "you confirm, pack validates",
   "memory": "pipeline state file",
   "built_from": [
    "kangarooking--cangjie-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "botpress-adk-health-loop",
   "name": "Botpress ADK health loop",
   "outcome": "ADK bot checked before every session.",
   "summary": "At the start of each session on an ADK project, your agent runs adk check and adk status with JSON output plus tsc --noEmit, and raises unconfigured integrations, missing models or type errors before anything else. A log keeps issues found.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/botpress/adk",
   "md": "https://gethabit.dev/skills/botpress/adk.md",
   "trigger": "ADK session starts",
   "verification": "check, status, typecheck pass",
   "memory": "health issues log",
   "built_from": [
    "botpress--adk"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "brag-slim-launch-video-loop",
   "name": "Brag launch video loop",
   "outcome": "A launch video per release.",
   "summary": "When a project ships something new, your agent runs /brag-slim: it reads the code or site, writes brag-plan.md, renders brag.mp4 with poster and share-copy.txt, checks length and files, and logs the angle and tone used.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/latent-spaces/brag-slim",
   "md": "https://gethabit.dev/skills/latent-spaces/brag-slim.md",
   "trigger": "new feature or release",
   "verification": "stills, files and you",
   "memory": "past angles and tones",
   "built_from": [
    "latent-spaces--brag-slim"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "branch-bug-hunt-loop",
   "name": "Branch bug hunt loop",
   "outcome": "Find bugs before branches merge.",
   "summary": "When a pull request opens, your agent reads the full branch diff, maps the attack surface, walks the security checklist for every file, verifies each issue and reports findings by severity. It changes nothing; you decide what to fix.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/getsentry/find-bugs",
   "md": "https://gethabit.dev/skills/getsentry/find-bugs.md",
   "trigger": "pull request opened",
   "verification": "full coverage, you decide",
   "memory": "findings per branch",
   "built_from": [
    "getsentry--find-bugs"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "brave-news-watch-loop",
   "name": "Brave news watch loop",
   "outcome": "Fresh results on your topics, daily.",
   "summary": "Each morning your agent queries the Brave Web Search API for your watched topics with freshness set to the past day, optional Goggles to boost trusted sites and a result filter for web and news. It drops links already seen and writes a short digest.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/brave/web-search",
   "md": "https://gethabit.dev/skills/brave/web-search.md",
   "trigger": "daily topic search",
   "verification": "API response check",
   "memory": "seen links log",
   "built_from": [
    "brave--web-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "breach-self-audit-loop",
   "name": "Breach self-audit loop",
   "outcome": "Know when your accounts leak.",
   "summary": "Each month your agent checks your own email addresses in Have I Been Pwned, grades each breach, and checks your current passwords through the Pwned Passwords range API without sending them. It compares with last month and lists new breaches and accounts to clean up.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/useosint/what-leaked-about-you",
   "md": "https://gethabit.dev/skills/useosint/what-leaked-about-you.md",
   "trigger": "monthly breach check",
   "verification": "privacy-safe check rules",
   "memory": "breach list, no credentials",
   "built_from": [
    "useosint--what-leaked-about-you"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "brief-to-tasks-loop",
   "name": "Brief to tasks loop",
   "outcome": "Turn design briefs into buildable tasks.",
   "summary": "When a design brief is ready, your agent reads it with any architecture and token files, scans existing components, pages and dependencies, splits the work into vertical slices ordered by dependency, visibility and risk, and saves TASKS.md next to the brief.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/julianoczkowski/brief-to-tasks",
   "md": "https://gethabit.dev/skills/julianoczkowski/brief-to-tasks.md",
   "trigger": "a brief is written",
   "verification": "task list saved, valid",
   "memory": "TASKS.md checklist",
   "built_from": [
    "julianoczkowski--brief-to-tasks"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "bright-data-search-loop",
   "name": "Bright Data search loop",
   "outcome": "Fresh search results, checked.",
   "summary": "On a schedule, your agent runs your saved queries through the Bright Data CLI, with bdata search for keyword results or bdata discover for intent. It checks the JSON, required fields and block pages, and logs the result URLs.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/brightdata/search",
   "md": "https://gethabit.dev/skills/brightdata/search.md",
   "trigger": "weekly query run",
   "verification": "verification gate passes",
   "memory": "queries and result URLs",
   "built_from": [
    "brightdata--search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "browser-qa-loop",
   "name": "Browser QA loop",
   "outcome": "Your web app tested every night.",
   "summary": "Each night your agent loads the current agent-browser guide with skills get core and the dogfood skill, then explores your web app in Chrome, takes screenshots and notes bugs. A board keeps open findings so the next run checks them first.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/vercel-labs/agent-browser",
   "md": "https://gethabit.dev/skills/vercel-labs/agent-browser.md",
   "trigger": "nightly app check",
   "verification": "guide loaded, screenshots saved",
   "memory": "open QA findings",
   "built_from": [
    "vercel-labs--agent-browser"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "business-analytics-report-loop",
   "name": "Business analytics report loop",
   "outcome": "Monthly report on weak business areas.",
   "summary": "Each month your agent runs the analysis script on the latest sales CSV, reads the JSON report, explains weak areas by severity, matches each to a strategy from the business frameworks reference and writes an HTML or markdown report. A log keeps last month's metrics.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/ailabs-393/business-analytics-reporter",
   "md": "https://gethabit.dev/skills/ailabs-393/business-analytics-reporter.md",
   "trigger": "monthly sales report",
   "verification": "report built from script",
   "memory": "monthly metrics log",
   "built_from": [
    "ailabs-393--business-analytics-reporter"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "cache-components-adoption-loop",
   "name": "Cache Components adoption loop",
   "outcome": "One feature adopted per run.",
   "summary": "Each run, your agent picks the next feature still marked TODO: Cache Components adoption, removes its opt-outs top-down, fixes blockers from the linked docs and verifies in next dev and the browser. next build must pass, then you decide on the PR.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/vercel/next-cache-components-adoption",
   "md": "https://gethabit.dev/skills/vercel/next-cache-components-adoption.md",
   "trigger": "next feature to adopt",
   "verification": "build, browser, your OK",
   "memory": "TODO markers as queue",
   "built_from": [
    "vercel--next-cache-components-adoption"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "calendar-agenda-loop",
   "name": "Calendar agenda loop",
   "outcome": "Start each day with your agenda.",
   "summary": "Every weekday morning your agent runs gws calendar +agenda to list upcoming events across all calendars and writes a short agenda note. It only reads, never changes events, and keeps yesterday's note to spot new or moved events.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/googleworkspace/gws-calendar",
   "md": "https://gethabit.dev/skills/googleworkspace/gws-calendar.md",
   "trigger": "weekday morning agenda",
   "verification": "agenda read succeeds",
   "memory": "daily agenda notes",
   "built_from": [
    "googleworkspace--gws-calendar"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "capacitor-health-loop",
   "name": "Capacitor health loop",
   "outcome": "Capacitor app stays release ready.",
   "summary": "Each week your agent reviews the Capacitor app with capacitor-best-practices: version drift, config, plugin patterns and native projects. It reports findings by severity, asks before invasive fixes, runs the skill's verification commands and keeps a findings board.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/cap-go/capacitor-best-practices",
   "md": "https://gethabit.dev/skills/cap-go/capacitor-best-practices.md",
   "trigger": "weekly app review",
   "verification": "skill verification commands pass",
   "memory": "capacitor findings board",
   "built_from": [
    "cap-go--capacitor-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "carousel-writing-loop",
   "name": "Carousel writing loop",
   "outcome": "A ready carousel draft every week.",
   "summary": "Each week your agent reads your social media context file, picks the carousel slot from your plan, and writes slide-by-slide copy: cover, context, one point per body slide and a CTA, within the platform's slide count. A log keeps topics and formats used.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/blacktwist/carousel-writer-sms",
   "md": "https://gethabit.dev/skills/blacktwist/carousel-writer-sms.md",
   "trigger": "weekly carousel draft",
   "verification": "slide rules hold",
   "memory": "carousel topics log",
   "built_from": [
    "blacktwist--carousel-writer-sms"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "cavecrew-fix-loop",
   "name": "Cavecrew fix loop",
   "outcome": "Small fixes with lean context.",
   "summary": "When a small fix task comes in, your agent chains the cavecrew subagents: the investigator finds the sites, the builder edits one or two files, the reviewer checks the diff. Each answers in compressed form. The run log keeps results.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/juliusbrussee/cavecrew",
   "md": "https://gethabit.dev/skills/juliusbrussee/cavecrew.md",
   "trigger": "small fix task",
   "verification": "re-read + reviewer totals",
   "memory": "fix results log",
   "built_from": [
    "juliusbrussee--cavecrew"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ccxt-market-snapshot-loop",
   "name": "CCXT market snapshot loop",
   "outcome": "Daily read-only market snapshots.",
   "summary": "Every morning your agent runs read-only ccxt calls such as fetchTicker and fetchOHLCV with --raw for a watch list of symbols, checks the exit code, and appends the JSON to a snapshot file. It places no orders. A log keeps errors per exchange.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/ccxt/ccxt-cli",
   "md": "https://gethabit.dev/skills/ccxt/ccxt-cli.md",
   "trigger": "every morning",
   "verification": "exit code and JSON",
   "memory": "snapshot and error log",
   "built_from": [
    "ccxt--ccxt-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "celigo-export-check-loop",
   "name": "Celigo export check loop",
   "outcome": "Celigo exports keep returning records.",
   "summary": "Every Monday your agent lists your Celigo exports, finds orphans with account lint and runs the skill's pre-submit checklist: delta setup, resource paths, mock output shape and file deletion. Record exports get a live invoke, and findings go into a run log.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/celigo/configuring-exports",
   "md": "https://gethabit.dev/skills/celigo/configuring-exports.md",
   "trigger": "every Monday morning",
   "verification": "checklist passes, records return",
   "memory": "export check log",
   "built_from": [
    "celigo--configuring-exports"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "celigo-import-check-loop",
   "name": "Celigo import check loop",
   "outcome": "Celigo imports pass their checklist.",
   "summary": "Every Monday your agent lists your Celigo imports, finds orphans with account lint and runs the skill's pre-submit checklist on each one, including duplicate-write guards. It tests through flow test runs, never a real write, and logs findings.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/celigo/configuring-imports",
   "md": "https://gethabit.dev/skills/celigo/configuring-imports.md",
   "trigger": "every Monday morning",
   "verification": "checklist items all pass",
   "memory": "import check log",
   "built_from": [
    "celigo--configuring-imports"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "chakra-ui-review-loop",
   "name": "Chakra UI review loop",
   "outcome": "Components stay accessible and v3-correct.",
   "summary": "On every pull request that touches UI components, your agent reviews them with the Chakra UI v3 checklist: accessibility, responsiveness, v3 API names, semantic tokens, structure and maintainability. It reports critical issues with minimal fixes and logs v2 leftovers.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/chakra-ui/chakra-ui-refactor",
   "md": "https://gethabit.dev/skills/chakra-ui/chakra-ui-refactor.md",
   "trigger": "component files change",
   "verification": "critical issue count",
   "memory": "UI review log",
   "built_from": [
    "chakra-ui--chakra-ui-refactor"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "change-document-loop",
   "name": "Change document loop",
   "outcome": "Every change gets human-facing prose.",
   "summary": "When a change ships, your agent writes the human-facing document, a PR body, changelog entry, release note or postmortem, drafting from the real commits and diff, not imagination. Every sentence traces to a commit or a given fact, and it writes to the right place.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/jsmastery-pro/document",
   "md": "https://gethabit.dev/skills/jsmastery-pro/document.md",
   "trigger": "change ready to document",
   "verification": "sourced + confirmed",
   "memory": "commit and diff",
   "built_from": [
    "jsmastery-pro--document"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "chinese-novel-chapter-loop",
   "name": "Chinese novel chapter loop",
   "outcome": "Write a novel chapter by chapter.",
   "summary": "Your agent asks about genre, hero and conflict, plans an outline and writing plan you confirm, then writes chapters from the outline, resumes where it stopped and checks length and quality, rewriting weak chapters up to 3 rounds.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/penglonghuang/chinese-novelist",
   "md": "https://gethabit.dev/skills/penglonghuang/chinese-novelist.md",
   "trigger": "you start or resume",
   "verification": "you confirm plan, checks",
   "memory": "writing plan JSON",
   "built_from": [
    "penglonghuang--chinese-novelist"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "chinese-prose-polish-loop",
   "name": "Chinese prose polish loop",
   "outcome": "Chinese drafts read natural, facts kept.",
   "summary": "When a Chinese draft changes in your docs folder, your agent edits empty phrases and template wording with humanizer-zh. A diff check makes sure code, links, front matter and headings stay the same, and a log keeps which files were polished.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/op7418/humanizer-zh",
   "md": "https://gethabit.dev/skills/op7418/humanizer-zh.md",
   "trigger": "Chinese draft changed",
   "verification": "protected parts unchanged",
   "memory": "polished files log",
   "built_from": [
    "op7418--humanizer-zh"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ci-bottleneck-weekly-loop",
   "name": "CI bottleneck weekly report",
   "outcome": "CI long pole named weekly.",
   "summary": "Each week your agent compares workflow-health over two adjacent windows, finds the slow or flaky long-pole workflow, confirms its effect with pull-requests, opens one stuck PR with pr-lifecycle and reports median and p95 with honest caveats.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/posthog/diagnosing-ci-and-merge-bottlenecks",
   "md": "https://gethabit.dev/skills/posthog/diagnosing-ci-and-merge-bottlenecks.md",
   "trigger": "weekly CI health",
   "verification": "numbers carry caveats",
   "memory": "CI health log",
   "built_from": [
    "posthog--diagnosing-ci-and-merge-bottlenecks"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ci-flake-triage-loop",
   "name": "CI flake triage loop",
   "outcome": "Flaky e2e tests reproduced, then fixed.",
   "summary": "When e2e tests fail on main after a merge, your agent reproduces each failing Playwright test with dev code, then with the prod build, fixes it only after reproduction, reruns it ten times and asks you before opening a PR.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/payloadcms/triage-ci-flake",
   "md": "https://gethabit.dev/skills/payloadcms/triage-ci-flake.md",
   "trigger": "e2e fails on main",
   "verification": "ten green reruns",
   "memory": "flake triage log",
   "built_from": [
    "payloadcms--triage-ci-flake"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ci-triage-loop",
   "name": "CI triage loop",
   "outcome": "Failing CI gets triaged fast.",
   "summary": "When a CI run fails, your agent lists the failing runs with gh, pulls only the failed-step lines, checks toolchain drift against the workflow pins and, if you allowed fixes, pushes one and watches the new run. Causes go into a run log.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/paulrberg/cli-gh",
   "md": "https://gethabit.dev/skills/paulrberg/cli-gh.md",
   "trigger": "a CI run fails",
   "verification": "new run passes",
   "memory": "CI failure log",
   "built_from": [
    "paulrberg--cli-gh"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "claude-md-audit-loop",
   "name": "CLAUDE.md audit loop",
   "outcome": "Keep every CLAUDE.md current.",
   "summary": "Once a week your agent finds every CLAUDE.md in the repo, scores each one with the claude md improver rubric and writes a quality report. You approve the proposed diffs before any file changes. A score log keeps each file's grade for the next run.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/anthropics/claude-md-improver",
   "md": "https://gethabit.dev/skills/anthropics/claude-md-improver.md",
   "trigger": "weekly on Monday",
   "verification": "report first, you approve",
   "memory": "CLAUDE.md score log",
   "built_from": [
    "anthropics--claude-md-improver"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "clickhouse-metrics-report-loop",
   "name": "ClickHouse metrics report loop",
   "outcome": "Weekly metrics with clear definitions.",
   "summary": "Each week your agent reruns your confirmed metric questions against ClickHouse with clickhousectl: it restates the saved intent block, checks the connection, runs bounded SQL, analyzes trends and reports answer, method, SQL and caveats. New ambiguity goes back to you.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/cline/data-analyst",
   "md": "https://gethabit.dev/skills/cline/data-analyst.md",
   "trigger": "weekly metrics report",
   "verification": "intent confirmed, answer shaped",
   "memory": "confirmed intent blocks",
   "built_from": [
    "cline--data-analyst"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "cmake-build-matrix-loop",
   "name": "CMake build matrix loop",
   "outcome": "Green C++ builds in every config.",
   "summary": "On each pull request, your agent configures out-of-source builds with CMake presets, builds Debug with AddressSanitizer and Release, and reviews CMakeLists.txt changes for target-first style. A log keeps configure errors and fixes.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mohitmishra786/cmake",
   "md": "https://gethabit.dev/skills/mohitmishra786/cmake.md",
   "trigger": "pull request opened",
   "verification": "presets build, tests pass",
   "memory": "configure error log",
   "built_from": [
    "mohitmishra786--cmake"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "code-index-refresh-loop",
   "name": "Code index refresh loop",
   "outcome": "Keep semantic code search fresh.",
   "summary": "After significant code changes and at session start, your agent runs ccc index so the semantic index stays current, initializing with ccc init if needed. Searches then use ccc search with language and path filters. A log keeps refresh times.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/cocoindex-io/ccc",
   "md": "https://gethabit.dev/skills/cocoindex-io/ccc.md",
   "trigger": "code changes land",
   "verification": "index and search work",
   "memory": "index refresh log",
   "built_from": [
    "cocoindex-io--ccc"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "code-polish-loop",
   "name": "Code polish loop",
   "outcome": "Changed code ends up simpler.",
   "summary": "When a pull request opens or updates, your agent fixes the scope to its changed files, simplifies with high confidence, reviews by risk profile and fixes evidence-backed defects. Lint, typecheck and targeted tests must pass.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/paulrberg/code-polish",
   "md": "https://gethabit.dev/skills/paulrberg/code-polish.md",
   "trigger": "PR opened or updated",
   "verification": "lint, types, tests pass",
   "memory": "polish report log",
   "built_from": [
    "paulrberg--code-polish"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "codebase-advisor-loop",
   "name": "Codebase advisor loop",
   "outcome": "Fresh improvement plans every week.",
   "summary": "Each week your agent runs improve in reconcile mode, then a quick audit: it checks done and blocked plans, finds new high-leverage issues, vets them and writes self-contained plans in plans/. It never edits source code. The plans index is the memory.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/shadcn/improve",
   "md": "https://gethabit.dev/skills/shadcn/improve.md",
   "trigger": "weekly code audit",
   "verification": "plans checked, you pick",
   "memory": "plans index",
   "built_from": [
    "shadcn--improve"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "codebase-control-loop",
   "name": "Codebase control loop",
   "outcome": "A scheduled loop driving your codebase.",
   "summary": "Your agent reads the repo, interviews you to design a set point, sensor, controller and actuator, builds each as a locally runnable piece, then wires them into a scheduled CI workflow that opens one reviewable PR at a time with a memory file for feedback.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/humanlayer/design-control-loop",
   "md": "https://gethabit.dev/skills/humanlayer/design-control-loop.md",
   "trigger": "you want a loop",
   "verification": "runs locally, YAML parses",
   "memory": "loop memory file",
   "built_from": [
    "humanlayer--design-control-loop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "codegraph-health-check-loop",
   "name": "CodeGraph health check loop",
   "outcome": "Code analysis tools stay ready.",
   "summary": "Every week your agent runs the doctor workflow on your CodeGraph and ast-grep setup: versions, config, MCP exposure, guidance and index freshness. It never repairs; it logs the diagnosis and recommends setup or update when needed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/stark-ai-de/codegraph-ast-grep",
   "md": "https://gethabit.dev/skills/stark-ai-de/codegraph-ast-grep.md",
   "trigger": "weekly analysis stack check",
   "verification": "doctor report, you approve",
   "memory": "stack health log",
   "built_from": [
    "stark-ai-de--codegraph-ast-grep"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "coderabbit-autofix-loop",
   "name": "CodeRabbit autofix loop",
   "outcome": "Review threads fixed with approval.",
   "summary": "When CodeRabbit finishes a review on your branch's PR, your agent fetches the open threads, checks each issue against the code, asks you before every fix, makes one commit and posts one summary comment. It logs what was fixed and deferred.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/coderabbitai/autofix",
   "md": "https://gethabit.dev/skills/coderabbitai/autofix.md",
   "trigger": "CodeRabbit review posted",
   "verification": "your approval per fix",
   "memory": "fixed and deferred issues",
   "built_from": [
    "coderabbitai--autofix"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "codex-memory-review-loop",
   "name": "Codex memory review loop",
   "outcome": "Codex memory stays true and safe.",
   "summary": "Every month your agent runs a read-only review of Codex memory with the review-file route: inventory, redacted risk scan, one classification per claim. It writes one curation record, and the next run starts from the last record's deferred work.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/stark-ai-de/codex-memory-curator",
   "md": "https://gethabit.dev/skills/stark-ai-de/codex-memory-curator.md",
   "trigger": "monthly memory review",
   "verification": "complete redacted curation record",
   "memory": "curation record folder",
   "built_from": [
    "stark-ai-de--codex-memory-curator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "color-contrast-audit-loop",
   "name": "Color contrast audit loop",
   "outcome": "Every color pair passes contrast.",
   "summary": "When your color tokens change, your agent checks the color system: full tonal scales, semantic roles with all variants, and contrast for every foreground and background pair. It logs failing pairs so the next run checks them first.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/owl-listener/color-system",
   "md": "https://gethabit.dev/skills/owl-listener/color-system.md",
   "trigger": "color tokens changed",
   "verification": "contrast ratios pass",
   "memory": "failing pairs log",
   "built_from": [
    "owl-listener--color-system"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "color-motion-loop",
   "name": "Color motion loop",
   "outcome": "Gradients without muddy midpoints.",
   "summary": "When a palette or gradient task comes in, your agent builds one standalone HTML file that interpolates in OKLCH, freezes it at start, mid and end, screenshots each frame and fixes banding or gray midpoints. A run log keeps the palettes that passed.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/iart-ai/color-motion",
   "md": "https://gethabit.dev/skills/iart-ai/color-motion.md",
   "trigger": "new color brief",
   "verification": "frozen frames stay vivid",
   "memory": "palette run log",
   "built_from": [
    "iart-ai--color-motion"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "color-system-audit-loop",
   "name": "Color system audit loop",
   "outcome": "Color tokens stay used by role.",
   "summary": "On each pull request that touches styles, your agent runs better colors: it checks for raw color literals, primitives used in components, tokens used outside their role and measured contrast pairs. It ends with Block or Approve and logs findings.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jakubkrehel/better-colors",
   "md": "https://gethabit.dev/skills/jakubkrehel/better-colors.md",
   "trigger": "PR touches styles",
   "verification": "no HIGH color findings",
   "memory": "color findings log",
   "built_from": [
    "jakubkrehel--better-colors"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "community-pr-finish-loop",
   "name": "Community PR finish loop",
   "outcome": "Blocked community PRs get merged.",
   "summary": "When you run /finish-line with a PR number, the agent finds what blocks a React Router community PR, adds the missing tests, change file or docs, shows you the content and pushes only after your OK. A log keeps each PR and its blocker.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/remix-run/finish-line",
   "md": "https://gethabit.dev/skills/remix-run/finish-line.md",
   "trigger": "/finish-line with PR",
   "verification": "your OK + checks",
   "memory": "finished PR log",
   "built_from": [
    "remix-run--finish-line"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "console-audit-loop",
   "name": "Console audit loop",
   "outcome": "Console errors caught before users.",
   "summary": "Each night your agent starts the local app with with_server.py, crawls its routes in headless Chromium with a console audit script, confirms each error with a second clean run and keeps a checkpointed log of real errors per route.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/sentimony/web-debug",
   "md": "https://gethabit.dev/skills/sentimony/web-debug.md",
   "trigger": "nightly local audit",
   "verification": "errors confirmed on rerun",
   "memory": "route audit checkpoint",
   "built_from": [
    "sentimony--web-debug"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "content-brief-queue-loop",
   "name": "Content brief queue loop",
   "outcome": "One editor-ready brief per keyword.",
   "summary": "Each week your agent takes the next keyword from your queue, reviews the top results, maps intent, writes title options, meta description and heading outline, sets E-E-A-T and SEO targets and picks a differentiation angle. A board tracks briefs done.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/calm-north/brief",
   "md": "https://gethabit.dev/skills/calm-north/brief.md",
   "trigger": "weekly brief batch",
   "verification": "brief completeness check",
   "memory": "keyword brief board",
   "built_from": [
    "calm-north--brief"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "content-calendar-loop",
   "name": "Content calendar loop",
   "outcome": "Next week's posting plan, every Monday.",
   "summary": "Every Monday your agent reads your social media context, reviews last week's results, builds a balanced weekly calendar with open slots and a batching plan, and asks you to confirm. With BlackTwist connected it schedules only approved posts.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/blacktwist/content-calendar-sms",
   "md": "https://gethabit.dev/skills/blacktwist/content-calendar-sms.md",
   "trigger": "Monday planning session",
   "verification": "you confirm the calendar",
   "memory": "weekly calendar and review",
   "built_from": [
    "blacktwist--content-calendar-sms"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "content-strategy-loop",
   "name": "Content strategy loop",
   "outcome": "A ranked content plan each month.",
   "summary": "Each month your agent reads the product context, mines forums and competitor blogs for ideas, scores every idea on the four weighted factors and updates the plan. Hard checks confirm the weighted totals, the data behind each search score and an information-gain line. The board keeps ranked topics.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/coreyhaines31/content-strategy",
   "md": "https://gethabit.dev/skills/coreyhaines31/content-strategy.md",
   "trigger": "first of the month",
   "verification": "scores backed, gain line",
   "memory": "ranked topic board",
   "built_from": [
    "coreyhaines31--content-strategy"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "content-strategy-review-loop",
   "name": "Content strategy review loop",
   "outcome": "A content strategy that stays current.",
   "summary": "Each quarter your agent reads your social media context and the last strategy, asks only the missing discovery questions, rebuilds three to five pillars, topic clusters, weekly mix and gaps to own, and asks you to confirm before saving. The strategy file is the memory.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/blacktwist/content-strategy-sms",
   "md": "https://gethabit.dev/skills/blacktwist/content-strategy-sms.md",
   "trigger": "quarterly strategy review",
   "verification": "you confirm the strategy",
   "memory": "content strategy document",
   "built_from": [
    "blacktwist--content-strategy-sms"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "convex-backend-review-loop",
   "name": "Convex backend review loop",
   "outcome": "Every Convex change reviewed and verified.",
   "summary": "When a pull request changes files under convex/, your agent routes it through convex-expert, convex-reviewer, convex-authz and convex-verify, and needs tsc --noEmit to pass. A board keeps open findings so the next run starts from them.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/convex/convex",
   "md": "https://gethabit.dev/skills/convex/convex.md",
   "trigger": "PR changes convex/",
   "verification": "typecheck and verify pass",
   "memory": "open Convex findings",
   "built_from": [
    "convex--convex"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "convex-review-loop",
   "name": "Convex review loop",
   "outcome": "Convex changes checked against the rules.",
   "summary": "On pull requests that touch the convex folder, your agent reviews the code against the production rules, validators on every function, index reads instead of filters, idempotent mutations, ConvexError for client messages, then runs the ESLint plugin and reports failures against the checklist.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/waynesutton/convex-best-practices",
   "md": "https://gethabit.dev/skills/waynesutton/convex-best-practices.md",
   "trigger": "convex code changes",
   "verification": "lint passes, checklist met",
   "memory": "review log",
   "built_from": [
    "waynesutton--convex-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "convex-subscription-check-loop",
   "name": "Convex subscription check loop",
   "outcome": "Live queries stay small and indexed.",
   "summary": "When a pull request changes Convex queries or React components that use them, the agent walks the skill's checklist: skip instead of conditional hooks, undefined handled, withIndex reads, no Date.now() in queries, paginate for growing lists. It logs what it found.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/waynesutton/convex-realtime",
   "md": "https://gethabit.dev/skills/waynesutton/convex-realtime.md",
   "trigger": "PR touches convex code",
   "verification": "realtime checklist passes",
   "memory": "query findings log",
   "built_from": [
    "waynesutton--convex-realtime"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "crewai-agent-review-loop",
   "name": "CrewAI agent review loop",
   "outcome": "Every agent passes the checklist.",
   "summary": "Runs when agents.yaml or agent code changes. Your agent checks each CrewAI agent against the design checklist: specific role, clear goal, 3-5 tools, tuned max_iter, explicit llm, timeouts and task-level guardrails, and logs gaps.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/crewaiinc/design-agent",
   "md": "https://gethabit.dev/skills/crewaiinc/design-agent.md",
   "trigger": "agent config changed",
   "verification": "design checklist passes",
   "memory": "agent review notes",
   "built_from": [
    "crewaiinc--design-agent"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "crypto-price-watch-loop",
   "name": "Crypto price watch loop",
   "outcome": "Live prices streamed, read-only.",
   "summary": "Each day your agent connects to your exchange with CCXT in Python, loads markets, and reads tickers and order books for your watched symbols, read-only. It uses the async API, closes the exchange when done, enables rate limiting and retries only on NetworkError.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/ccxt/ccxt-python",
   "md": "https://gethabit.dev/skills/ccxt/ccxt-python.md",
   "trigger": "daily price snapshot",
   "verification": "tickers fetched, closed",
   "memory": "price snapshot log",
   "built_from": [
    "ccxt--ccxt-python"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "cursor-rules-review-loop",
   "name": "Cursor rules review loop",
   "outcome": "Cursor rules stay current and safe.",
   "summary": "Every month, and when rule files change, your agent runs a read-only review-file pass over your Cursor rules, .cursorrules and AGENTS.md. It flags stale, ignored or sensitive rules in one record, and the next run starts from that record's deferred work.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/stark-ai-de/cursor-memory-curator",
   "md": "https://gethabit.dev/skills/stark-ai-de/cursor-memory-curator.md",
   "trigger": "monthly Cursor rules review",
   "verification": "complete redacted curation record",
   "memory": "curation record folder",
   "built_from": [
    "stark-ai-de--cursor-memory-curator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "daily-ai-news-loop",
   "name": "Daily AI news loop",
   "outcome": "A fresh AI briefing daily.",
   "summary": "Every morning, your agent fetches 3-5 AI news sites, runs date-filtered web searches, drops duplicates and old items, sorts stories into five categories and writes a linked briefing. A check rejects briefings with missing links or repeats.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/yyh211/daily-ai-news",
   "md": "https://gethabit.dev/skills/yyh211/daily-ai-news.md",
   "trigger": "every morning",
   "verification": "links and dedupe check",
   "memory": "past briefings",
   "built_from": [
    "yyh211--daily-ai-news"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "daily-papers-digest-loop",
   "name": "Daily papers digest loop",
   "outcome": "Never miss an important paper.",
   "summary": "Every weekday your agent pulls the Hugging Face Daily Papers feed, reads the top papers as markdown, and lists linked models, datasets and spaces. It keeps a digest log so papers already covered are skipped next time.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/huggingface/huggingface-papers",
   "md": "https://gethabit.dev/skills/huggingface/huggingface-papers.md",
   "trigger": "weekday morning digest",
   "verification": "feed fetched, papers summarized",
   "memory": "paper digest log",
   "built_from": [
    "huggingface--huggingface-papers"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "dark-mode-check-loop",
   "name": "Dark mode check loop",
   "outcome": "Dark mode stays readable everywhere.",
   "summary": "When light theme colors or components change, your agent checks the dark mode version: surface elevation steps, desaturated primaries, off-white text, 4.5:1 body contrast and prefers-color-scheme support. It logs components that still fail.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/owl-listener/dark-mode-design",
   "md": "https://gethabit.dev/skills/owl-listener/dark-mode-design.md",
   "trigger": "light theme changed",
   "verification": "dark contrast and surfaces",
   "memory": "dark mode log",
   "built_from": [
    "owl-listener--dark-mode-design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "dashfix-check-loop",
   "name": "Dash discipline loop",
   "outcome": "Prose uses only the plain hyphen.",
   "summary": "On every pull request with prose changes, your agent runs the single-file dash check on each changed doc, fixes banned dashes with a spaced hyphen or better punctuation, re-runs the check and reports counts. The bundled commit-msg hook guards commit messages.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/sentimony/dashfix",
   "md": "https://gethabit.dev/skills/sentimony/dashfix.md",
   "trigger": "prose files changed",
   "verification": "no banned dashes remain",
   "memory": "dash check log",
   "built_from": [
    "sentimony--dashfix"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "dashboard-search-first-loop",
   "name": "Dashboard search first loop",
   "outcome": "No duplicate Coralogix dashboards built.",
   "summary": "Before anyone builds a Coralogix dashboard, your agent searches existing dashboards and widgets with the cx dashboards CLI and reports matches. A run log keeps which topics were already covered.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/coralogix/cx-search-dashboard",
   "md": "https://gethabit.dev/skills/coralogix/cx-search-dashboard.md",
   "trigger": "new dashboard requested",
   "verification": "search returned results",
   "memory": "search log",
   "built_from": [
    "coralogix--cx-search-dashboard"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "data-availability-audit-loop",
   "name": "Data availability audit loop",
   "outcome": "Every dataset has an access route.",
   "summary": "Before a manuscript goes to a journal, the agent lists every supporting dataset, gives each one access route, drafts the Data Availability statement and runs the FAIR metadata audit. Unresolved fields stay on a board for the next run.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/yuan1z0825/nature-data",
   "md": "https://gethabit.dev/skills/yuan1z0825/nature-data.md",
   "trigger": "before manuscript submission",
   "verification": "route and metadata audit",
   "memory": "unresolved dataset fields",
   "built_from": [
    "yuan1z0825--nature-data"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "decision-records-check-loop",
   "name": "Decision records check loop",
   "outcome": "Keep decision records valid and linked.",
   "summary": "On every commit and pull request your agent runs decisions.py check, rebuilds INDEX.md with build --relink and flags cites of superseded records. Drafts are promoted only with your explicit go-ahead. Git history keeps the record.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/skymavis/decision-records",
   "md": "https://gethabit.dev/skills/skymavis/decision-records.md",
   "trigger": "decision docs change",
   "verification": "check passes, you promote",
   "memory": "decision record history",
   "built_from": [
    "skymavis--decision-records"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "deep-interview-spec-loop",
   "name": "Deep interview spec loop",
   "outcome": "Vague ideas become clear specs.",
   "summary": "When you start a vague idea, your agent interviews you one question at a time, scores ambiguity after every answer and stops only below the threshold. It writes the spec to .omc/specs and keeps interview state in .omc/state so it can resume.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/yeachan-heo/deep-interview",
   "md": "https://gethabit.dev/skills/yeachan-heo/deep-interview.md",
   "trigger": "you run deep-interview",
   "verification": "ambiguity below threshold",
   "memory": "interview state file",
   "built_from": [
    "yeachan-heo--deep-interview"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "audit-dependencies-loop",
   "name": "Dependency audit loop",
   "outcome": "Vulnerable dependencies fixed the simplest way.",
   "summary": "Each week or when the audit check fails, your agent runs the audit script, traces each vulnerable package, picks direct bump, lockfile update or override, shows you the plan, then installs, re-audits, builds and opens a PR with advisory links.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/payloadcms/audit-dependencies",
   "md": "https://gethabit.dev/skills/payloadcms/audit-dependencies.md",
   "trigger": "audit check fails",
   "verification": "you approve, audit exits 0",
   "memory": "fix(deps) commits",
   "built_from": [
    "payloadcms--audit-dependencies"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "design-dna-fidelity-loop",
   "name": "Design DNA fidelity loop",
   "outcome": "Match generated designs to references.",
   "summary": "When you share reference designs, your agent measures colors with measure-colors.mjs, fills a full Design DNA JSON across system, style and effects, generates the design, screenshots it and runs verify.mjs until color drift passes. The DNA file is the memory.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/zanwei/design-dna",
   "md": "https://gethabit.dev/skills/zanwei/design-dna.md",
   "trigger": "you share references",
   "verification": "verify.mjs color drift",
   "memory": "Design DNA JSON",
   "built_from": [
    "zanwei--design-dna"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "design-doc-check-loop",
   "name": "Design doc check loop",
   "outcome": "Specs reach reviewers without vague gaps.",
   "summary": "When a proposal, RFC or spec is opened for review, the agent checks the skeleton, the Why & What boxes, the benefits and costs chapter and the five vagueness defects. A board keeps open questions and their owners.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/riekelt/writing-design-docs",
   "md": "https://gethabit.dev/skills/riekelt/writing-design-docs.md",
   "trigger": "design doc pull request",
   "verification": "completeness check",
   "memory": "open questions board",
   "built_from": [
    "riekelt--writing-design-docs"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "design-flow-phase-loop",
   "name": "Design flow phase loop",
   "outcome": "Takes features from idea to UI.",
   "summary": "For each new feature, your agent walks you through grill-me, design-brief, information-architecture, design-tokens, brief-to-tasks and frontend-design in order, confirms each phase before the next, and saves every output under .design/<feature-slug>/.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/julianoczkowski/design-flow",
   "md": "https://gethabit.dev/skills/julianoczkowski/design-flow.md",
   "trigger": "you start a feature",
   "verification": "phase files and approval",
   "memory": "design folder per feature",
   "built_from": [
    "julianoczkowski--design-flow"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "design-token-guard-loop",
   "name": "Design token guard loop",
   "outcome": "No hardcoded colors slip in.",
   "summary": "When a pull request changes styles or slides, your agent runs the design-system checks: validate-tokens.cjs looks for hardcoded values in src/, and slide-token-validator.py checks slide HTML. It regenerates tokens.css when the token config changed and logs violations.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/nextlevelbuilder/design-system",
   "md": "https://gethabit.dev/skills/nextlevelbuilder/design-system.md",
   "trigger": "PR changes styles",
   "verification": "token validators pass",
   "memory": "token violation log",
   "built_from": [
    "nextlevelbuilder--design-system"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "design-first-brainstorm-loop",
   "name": "Design-first brainstorm loop",
   "outcome": "No build before an approved design.",
   "summary": "Whenever you ask for something new, your agent first reads your project, asks one question at a time, lays out two or three approaches for you to pick, writes a short or full design doc, gets it reviewed and approved, then hands off to writing-plans.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/obra/brainstorming",
   "md": "https://gethabit.dev/skills/obra/brainstorming.md",
   "trigger": "new feature request",
   "verification": "your approval of the doc",
   "memory": "committed design docs",
   "built_from": [
    "obra--brainstorming"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "devbox-test-run-loop",
   "name": "Devbox test run loop",
   "outcome": "Tests run on a disposable devbox.",
   "summary": "For each pull request, your agent creates an ephemeral Namespace devbox, syncs the working tree including untracked files, runs the tests with a small summary line and tears the box down. Logs stay on the box unless the run fails.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/namespacelabs/devboxes",
   "md": "https://gethabit.dev/skills/namespacelabs/devboxes.md",
   "trigger": "pull request opened",
   "verification": "exit code and cleanup",
   "memory": "devbox run log",
   "built_from": [
    "namespacelabs--devboxes"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "diagram-design-loop",
   "name": "Diagram redraw loop",
   "outcome": "Clean branded diagrams, checked each time.",
   "summary": "When a diagram source such as a .drawio or Mermaid file changes, your agent redraws it as one self-contained HTML file with inline SVG, runs the self check and the taste gate, and logs the type, profile and cuts for the next run.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/cathrynlavery/diagram-design",
   "md": "https://gethabit.dev/skills/cathrynlavery/diagram-design.md",
   "trigger": "diagram source changes",
   "verification": "self check + your OK",
   "memory": "diagram log",
   "built_from": [
    "cathrynlavery--diagram-design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "diff-impact-review-loop",
   "name": "Diff impact review loop",
   "outcome": "Every PR gets an impact map.",
   "summary": "On each pull request, your agent lists the changed files, checks the knowledge graph is fresh, finds the matching nodes and their one-hop neighbours, and writes changed parts, affected parts, layers and a risk rating. It saves diff-overlay.json for the dashboard.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/egonex-ai/understand-diff",
   "md": "https://gethabit.dev/skills/egonex-ai/understand-diff.md",
   "trigger": "pull request opened",
   "verification": "graph found, overlay written",
   "memory": "diff overlay file",
   "built_from": [
    "egonex-ai--understand-diff"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "discriminated-unions-review-loop",
   "name": "Discriminated unions review loop",
   "outcome": "Invalid states removed from the code.",
   "summary": "When TypeScript changes, your agent reviews types for mutually exclusive variants hidden behind optional properties or boolean flags, suggests discriminated unions, and checks exhaustiveness and the build. A run log keeps prior findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mkosir/typescript-discriminated-unions",
   "md": "https://gethabit.dev/skills/mkosir/typescript-discriminated-unions.md",
   "trigger": "TypeScript changes",
   "verification": "types compile, switches exhaustive",
   "memory": "union review log",
   "built_from": [
    "mkosir--typescript-discriminated-unions"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "disk-storage-report-loop",
   "name": "Disk storage report loop",
   "outcome": "Know what fills your disk.",
   "summary": "Every month your agent runs a read-only disk scan with scan.py, sorts large items into auto-clean, judge-yourself and careful tiers, and builds an HTML report. It keeps a short history so you can see which folders grow.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/kkkkhazix/storage-analyzer",
   "md": "https://gethabit.dev/skills/kkkkhazix/storage-analyzer.md",
   "trigger": "monthly disk scan",
   "verification": "scan and report exist",
   "memory": "storage size history",
   "built_from": [
    "kkkkhazix--storage-analyzer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "docs-crawl-sync-loop",
   "name": "Docs crawl sync loop",
   "outcome": "Fresh local copy of docs.",
   "summary": "Every week the agent crawls one documentation section with tvly crawl, using --select-paths, --max-depth and --limit, and saves each page as markdown with --output-dir. A run log keeps the paths crawled and the page count.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/tavily-ai/tavily-crawl",
   "md": "https://gethabit.dev/skills/tavily-ai/tavily-crawl.md",
   "trigger": "every Monday early",
   "verification": "crawl output check",
   "memory": "crawl log",
   "built_from": [
    "tavily-ai--tavily-crawl"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "docs-review-loop",
   "name": "Docs review loop",
   "outcome": "Every doc reviewed before it ships.",
   "summary": "When a pull request changes a document, the agent reviews the full text, rates each finding BLOCKER, WARNING or OBS and runs the delivery checklist. Findings go into a review report, and a re-review lists only what is still open.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/riekelt/reviewing-technical-prose",
   "md": "https://gethabit.dev/skills/riekelt/reviewing-technical-prose.md",
   "trigger": "PR changes a document",
   "verification": "delivery checklist",
   "memory": "review findings log",
   "built_from": [
    "riekelt--reviewing-technical-prose"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "domain-context-loop",
   "name": "Domain context loop",
   "outcome": "Your agent learns your business.",
   "summary": "At the start of every session your agent reads .tasks/domain.md, flags unknown terms and unclear rules inline while it works, and ends with proposed domain updates. You approve them, and the next session reads the updated file.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/customware-ai/domain-context",
   "md": "https://gethabit.dev/skills/customware-ai/domain-context.md",
   "trigger": "every session start",
   "verification": "you approve updates",
   "memory": "domain knowledge file",
   "built_from": [
    "customware-ai--domain-context"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "domain-glossary-loop",
   "name": "Domain glossary loop",
   "outcome": "One clear term per concept.",
   "summary": "During design sessions, your agent challenges terms against docs/glossary/, sharpens fuzzy words with you, checks claims against the code and writes each resolved term as its own glossary file. It lints the glossary after each edit.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/pandoscope/domain-modeling",
   "md": "https://gethabit.dev/skills/pandoscope/domain-modeling.md",
   "trigger": "you start design session",
   "verification": "glossary lint passes",
   "memory": "project glossary",
   "built_from": [
    "pandoscope--domain-modeling"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "draft-deslop-loop",
   "name": "Draft de-slop loop",
   "outcome": "Drafts sound like you, not AI.",
   "summary": "When you hand over a new draft, your agent edits it with the minimum change: cuts banned words and AI patterns, keeps your voice and checks the result against eval.md. It returns the draft with a What changed note and logs the patterns it found.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/petergyang/no-ai-slop",
   "md": "https://gethabit.dev/skills/petergyang/no-ai-slop.md",
   "trigger": "you share a draft",
   "verification": "eval.md checks pass",
   "memory": "patterns found",
   "built_from": [
    "petergyang--no-ai-slop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "drawio-diagram-loop",
   "name": "Draw.io diagram loop",
   "outcome": "Diagrams stay valid and current.",
   "summary": "Runs when a diagram spec changes. Your agent renders the YAML spec to .drawio and a 300dpi PNG, runs the built-in validator, inspects the exported image, and keeps a review record of open blockers for the next run.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/bahayonghang/drawio",
   "md": "https://gethabit.dev/skills/bahayonghang/drawio.md",
   "trigger": "diagram spec changed",
   "verification": "validator and export check",
   "memory": "visual review record",
   "built_from": [
    "bahayonghang--drawio"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "drawio-diagram-review-loop",
   "name": "Draw.io diagram review loop",
   "outcome": "Diagrams stay valid and readable.",
   "summary": "When a pull request changes .drawio files, your agent runs the read-only review workflow: XML preflight, lint and diagram rule checks, then a semantic and light/dark review. It logs findings so recurring layout problems are easy to spot.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/stark-ai-de/drawio-diagrams",
   "md": "https://gethabit.dev/skills/stark-ai-de/drawio-diagrams.md",
   "trigger": "PR changes drawio files",
   "verification": "validators report no errors",
   "memory": "diagram review log",
   "built_from": [
    "stark-ai-de--drawio-diagrams"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "drive-changes-digest-loop",
   "name": "Drive changes digest loop",
   "outcome": "Know what changed in Drive.",
   "summary": "Every morning your agent asks gws drive changes list for everything new since the last saved page token, checks the sharing of changed files with permissions list and writes a short digest. It keeps the page token so no change is read twice.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/googleworkspace/gws-drive",
   "md": "https://gethabit.dev/skills/googleworkspace/gws-drive.md",
   "trigger": "every morning",
   "verification": "token saved, digest written",
   "memory": "saved page token",
   "built_from": [
    "googleworkspace--gws-drive"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "duplicate-code-loop",
   "name": "Duplicate code loop",
   "outcome": "Copy-pasted code stops growing.",
   "summary": "Every week the agent runs jscpd with the ai reporter and a summary, fails the run when duplication passes your threshold, and lists the top hotspots. It keeps each run's duplication share so the next run sees the trend.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/kucherenko/jscpd",
   "md": "https://gethabit.dev/skills/kucherenko/jscpd.md",
   "trigger": "weekly duplication scan",
   "verification": "threshold not exceeded",
   "memory": "duplication trend log",
   "built_from": [
    "kucherenko--jscpd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "durable-objects-review-loop",
   "name": "Durable Objects review loop",
   "outcome": "Durable Object code stays safe.",
   "summary": "When a pull request touches Durable Object code or wrangler.jsonc, your agent fetches the current Cloudflare docs, reviews the change against the critical rules and anti-patterns, and runs the Vitest suite. A board keeps open findings for the next review.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/cloudflare/durable-objects",
   "md": "https://gethabit.dev/skills/cloudflare/durable-objects.md",
   "trigger": "PR touches Durable Objects",
   "verification": "Vitest plus rule check",
   "memory": "open DO findings",
   "built_from": [
    "cloudflare--durable-objects"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "dynatrace-problem-triage-loop",
   "name": "Dynatrace problem triage loop",
   "outcome": "Active problems triaged every morning.",
   "summary": "Every morning, your agent queries dt.davis.problems for active, non-duplicate problems, ranks them by user impact and blast radius, and names the root cause entity. Recurring root causes are compared with the last runs in a log.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/dynatrace/dt-obs-problems",
   "md": "https://gethabit.dev/skills/dynatrace/dt-obs-problems.md",
   "trigger": "every morning",
   "verification": "query and list checks",
   "memory": "problem triage log",
   "built_from": [
    "dynatrace--dt-obs-problems"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "dynatrace-slow-trace-loop",
   "name": "Dynatrace slow trace loop",
   "outcome": "Slow and failed requests found daily.",
   "summary": "Every morning, your agent queries fetch spans for root requests over 5 seconds, failure rates by service and failure reasons, with exemplar trace IDs. Percentiles per endpoint are compared with the last run in a log.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/dynatrace/dt-obs-tracing",
   "md": "https://gethabit.dev/skills/dynatrace/dt-obs-tracing.md",
   "trigger": "every morning",
   "verification": "query rules hold",
   "memory": "endpoint latency log",
   "built_from": [
    "dynatrace--dt-obs-tracing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ef-core-query-review-loop",
   "name": "EF Core query review loop",
   "outcome": "Catch slow EF Core queries early.",
   "summary": "On each pull request touching data access, your agent traces every EF Core query to execution, counts database operations, checks materialization, predicates, tracking, Includes, paging, SaveChanges placement and DbContext overlap, and reports prioritized findings with safe fixes.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dotnet/optimizing-ef-core-queries",
   "md": "https://gethabit.dev/skills/dotnet/optimizing-ef-core-queries.md",
   "trigger": "data access code changes",
   "verification": "findings with evidence",
   "memory": "query finding log",
   "built_from": [
    "dotnet--optimizing-ef-core-queries"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "effect-v4-review-loop",
   "name": "Effect v4 review loop",
   "outcome": "Effect code follows v4 defaults.",
   "summary": "On every pull request that touches Effect code, your agent reads the matching branch references and checks the core defaults and do-nots: Effect.fn on services, Schema.TaggedError, Config over process.env, no casts. A log keeps open issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/kitlangton/effect",
   "md": "https://gethabit.dev/skills/kitlangton/effect.md",
   "trigger": "Effect code changes",
   "verification": "tests and do-nots",
   "memory": "effect review log",
   "built_from": [
    "kitlangton--effect"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "electron-smoke-test-loop",
   "name": "Electron smoke test loop",
   "outcome": "Desktop app checked after each build.",
   "summary": "When a new Electron build is ready, your agent launches it with remote debugging, connects agent-browser over the DevTools port, snapshots the UI, walks a short flow, and saves a screenshot. A log keeps the ports and flows for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/vercel-labs/electron",
   "md": "https://gethabit.dev/skills/vercel-labs/electron.md",
   "trigger": "new Electron build",
   "verification": "connect and snapshot work",
   "memory": "ports and flows log",
   "built_from": [
    "vercel-labs--electron"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "email-best-practices-loop",
   "name": "Email health review loop",
   "outcome": "Emails stay deliverable and accessible.",
   "summary": "Once a week your agent reviews your app's email setup against the email best practices guides: DNS authentication, accessibility of templates, consent and compliance, retries and suppression of bounces. Findings go to a board for the next review.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/resend/email-best-practices",
   "md": "https://gethabit.dev/skills/resend/email-best-practices.md",
   "trigger": "weekly email review",
   "verification": "checklist items all pass",
   "memory": "open email issues board",
   "built_from": [
    "resend--email-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "email-unsubscribe-check-loop",
   "name": "Email unsubscribe check loop",
   "outcome": "Every marketing mail can unsubscribe.",
   "summary": "When backend or frontend code changes in a Caffeine app with marketing email, your agent walks the six setup steps of the skill, checks the unsubscribe placeholder and the public /unsubscribe route, and logs what it found for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/caffeinelabs/extension-email-marketing",
   "md": "https://gethabit.dev/skills/caffeinelabs/extension-email-marketing.md",
   "trigger": "email code changed",
   "verification": "six setup steps present",
   "memory": "setup check log",
   "built_from": [
    "caffeinelabs--extension-email-marketing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "esql-log-digest-loop",
   "name": "ES|QL log digest loop",
   "outcome": "Daily log patterns and spikes reported.",
   "summary": "Each morning your agent checks the cluster with elastic es info, discovers the log index mapping, then runs ES|QL queries for error counts, CATEGORIZE patterns and CHANGE_POINT spikes over the last day. It writes a TSV-based digest and logs the queries that worked.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/elastic/elasticsearch-esql",
   "md": "https://gethabit.dev/skills/elastic/elasticsearch-esql.md",
   "trigger": "daily log digest",
   "verification": "connection + query runs",
   "memory": "query and digest log",
   "built_from": [
    "elastic--elasticsearch-esql"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "excel-merge-report-loop",
   "name": "Excel merge report loop",
   "outcome": "One merged sheet every week.",
   "summary": "Each Friday your agent merges the Excel files in one folder with excel_processor.py merge, reads the result back to confirm it holds data, and fills a Word report template with word_processor.py template. A run log keeps which files were merged.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/texiaoyao/office-automation",
   "md": "https://gethabit.dev/skills/texiaoyao/office-automation.md",
   "trigger": "every Friday afternoon",
   "verification": "merged file has rows",
   "memory": "merged files log",
   "built_from": [
    "texiaoyao--office-automation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "fallow-pr-audit-loop",
   "name": "Fallow PR audit loop",
   "outcome": "Every PR gets a risk verdict.",
   "summary": "When a pull request opens, the agent runs fallow audit against the base branch for a pass, warn or fail verdict on introduced risk, reads the walkthrough guide and writes a judgment that fallow checks. Findings go into a log and the audit exit code gates the PR.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/fallow-rs/fallow",
   "md": "https://gethabit.dev/skills/fallow-rs/fallow.md",
   "trigger": "pull request opened",
   "verification": "audit verdict and judgment",
   "memory": "audit findings log",
   "built_from": [
    "fallow-rs--fallow"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ffmpeg-platform-export-loop",
   "name": "FFmpeg platform export loop",
   "outcome": "Each render ready for every platform.",
   "summary": "When Remotion writes a new out/video.mp4, your agent uses FFmpeg to export versions for YouTube, Twitter/X, LinkedIn and web embed. ffprobe confirms each file is playable and within platform limits; a run log keeps settings used.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/digitalsamba/ffmpeg",
   "md": "https://gethabit.dev/skills/digitalsamba/ffmpeg.md",
   "trigger": "new Remotion render",
   "verification": "ffprobe checks every export",
   "memory": "export settings log",
   "built_from": [
    "digitalsamba--ffmpeg"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "file-planning-loop",
   "name": "File planning loop",
   "outcome": "Long tasks keep plans on disk.",
   "summary": "When a multi-step task starts, your agent restores or creates task_plan.md, findings.md and progress.md, rereads the plan before each decision, logs every error, and checks with check-complete.sh that all phases are done before it stops.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/othmanadi/planning-with-files-zh",
   "md": "https://gethabit.dev/skills/othmanadi/planning-with-files-zh.md",
   "trigger": "multi-step task starts",
   "verification": "phases complete, else ask",
   "memory": "plan, findings, progress",
   "built_from": [
    "othmanadi--planning-with-files-zh"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "file-planning-es-loop",
   "name": "File planning loop (Spanish)",
   "outcome": "Long tasks survive context resets.",
   "summary": "For any task with many tool calls, your agent keeps task_plan.md, findings.md and progress.md on disk in Spanish. Hooks re-read the plan before each tool call, errors get logged, and check-complete.sh tells when all phases are done.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/othmanadi/planning-with-files-es",
   "md": "https://gethabit.dev/skills/othmanadi/planning-with-files-es.md",
   "trigger": "multi-step task starts",
   "verification": "all phases complete",
   "memory": "plan, findings, progress",
   "built_from": [
    "othmanadi--planning-with-files-es"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "firebase-rules-audit-loop",
   "name": "Firebase rules audit loop",
   "outcome": "No rules change ships unaudited.",
   "summary": "When a pull request changes Firestore or Cloud Storage security rules, your agent red-teams them against the six-point checklist and returns a JSON score from 1 to 5 with findings. The run fails below 4. A log keeps scores and open findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/firebase/firebase-security-rules-auditor",
   "md": "https://gethabit.dev/skills/firebase/firebase-security-rules-auditor.md",
   "trigger": "rules file changed",
   "verification": "score 4 or higher",
   "memory": "scores and open findings",
   "built_from": [
    "firebase--firebase-security-rules-auditor"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "five-axis-review-loop",
   "name": "Five-axis review loop",
   "outcome": "Every PR reviewed before merge.",
   "summary": "When a pull request opens, your agent reviews it on five axes: correctness, readability, architecture, security and performance. It tests the tests by flipping one condition, labels each finding by severity, and checks that tests and build pass. A log keeps repeat findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/addyosmani/code-review-and-quality",
   "md": "https://gethabit.dev/skills/addyosmani/code-review-and-quality.md",
   "trigger": "pull request opened",
   "verification": "tests, build, your call",
   "memory": "review findings log",
   "built_from": [
    "addyosmani--code-review-and-quality"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flight-fare-watch-loop",
   "name": "Flight fare watch loop",
   "outcome": "See fare changes on your route.",
   "summary": "Each morning your agent opens a Google Flights search URL for one saved route with agent-browser, reads the results snapshot and lists the flights in compact form. A fare log keeps each day's results so the next run shows what changed.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/skillhq/google-flights",
   "md": "https://gethabit.dev/skills/skillhq/google-flights.md",
   "trigger": "every morning at seven",
   "verification": "flights found in snapshot",
   "memory": "daily fare log",
   "built_from": [
    "skillhq--google-flights"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flow-breadboard-loop",
   "name": "Flow breadboard loop",
   "outcome": "Flows mapped with every edge case.",
   "summary": "For each job story your agent loads /layers-intro, confirms the conceptual model is stable, breadboards the places, affordances and destinations, walks the happy path and every failure, empty and cancel path, and logs the open decisions.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jamiemill/layers-interaction-flow",
   "md": "https://gethabit.dev/skills/jamiemill/layers-interaction-flow.md",
   "trigger": "new job story to map",
   "verification": "every affordance has destination",
   "memory": "breadboards and open decisions",
   "built_from": [
    "jamiemill--layers-interaction-flow"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-flow-check-loop",
   "name": "Flow type check loop",
   "outcome": "No Flow errors reach main.",
   "summary": "On each pull request in the React repository, your agent runs yarn flow for the right renderer, reports type errors with file locations, checks new $FlowFixMe suppressions and logs the error count so the next run sees the trend.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/react/flow",
   "md": "https://gethabit.dev/skills/react/flow.md",
   "trigger": "pull request updated",
   "verification": "yarn flow passes",
   "memory": "Flow error count log",
   "built_from": [
    "react--flow"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flue-desktop-step-loop",
   "name": "Flue desktop step loop",
   "outcome": "Desktop app edits, one step.",
   "summary": "When you ask for a change in a desktop app, your agent checks Flue is installed, reads the adapter notes, inspects the live app state and runs one small script. The JSON result must report success, you confirm, and a step log keeps what ran.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/sfkislev/flue",
   "md": "https://gethabit.dev/skills/sfkislev/flue.md",
   "trigger": "you request an edit",
   "verification": "JSON success + you confirm",
   "memory": "step log",
   "built_from": [
    "sfkislev--flue"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flutter-animation-check-loop",
   "name": "Flutter animation check loop",
   "outcome": "Clean Flutter motion, analyzer approved.",
   "summary": "When a pull request changes Flutter animation code, your agent picks the smallest animation model, fixes lifecycle and reduced-motion gaps, then runs dart format, flutter analyze and focused tests. It logs what stayed visually unverified.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/madteacher/flutter-animations",
   "md": "https://gethabit.dev/skills/madteacher/flutter-animations.md",
   "trigger": "pull request touches animations",
   "verification": "analyzer, format and tests",
   "memory": "animation run log",
   "built_from": [
    "madteacher--flutter-animations"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flutter-layer-review-loop",
   "name": "Flutter layer review loop",
   "outcome": "Flutter features keep clean layer boundaries.",
   "summary": "On each pull request to a Flutter app, your agent checks layer and feature boundaries: no cross-feature imports, ViewModels without direct I/O, repositories independent of UI. It runs flutter analyze and focused tests and logs violations.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/madteacher/flutter-architecture",
   "md": "https://gethabit.dev/skills/madteacher/flutter-architecture.md",
   "trigger": "PR changes lib/",
   "verification": "analyze and tests pass",
   "memory": "layer violations log",
   "built_from": [
    "madteacher--flutter-architecture"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flutter-widget-test-loop",
   "name": "Flutter widget test loop",
   "outcome": "Every new widget gets a test.",
   "summary": "When a pull request adds or changes a widget, your agent writes a widget test with WidgetTester: build, find, check, interact, pump and check again. It runs flutter test until the test passes. A board lists widgets still without tests.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/flutter/flutter-add-widget-test",
   "md": "https://gethabit.dev/skills/flutter/flutter-add-widget-test.md",
   "trigger": "PR changes a widget",
   "verification": "flutter test passes",
   "memory": "untested widgets board",
   "built_from": [
    "flutter--flutter-add-widget-test"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "flyai-trip-watch-loop",
   "name": "FlyAI trip watch loop",
   "outcome": "Track flight and hotel options daily.",
   "summary": "Each morning your agent runs flyai search-flight and search-hotel for one saved trip, checks that the JSON output holds results, and writes them with images and booking links. A trip log keeps each day's options so changes stand out.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/alibaba-flyai/flyai",
   "md": "https://gethabit.dev/skills/alibaba-flyai/flyai.md",
   "trigger": "every morning at seven",
   "verification": "search returns valid JSON",
   "memory": "daily trip log",
   "built_from": [
    "alibaba-flyai--flyai"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "football-matchday-loop",
   "name": "Football matchday loop",
   "outcome": "Weekly match reports for your teams.",
   "summary": "After each matchday your agent resolves your teams with search_team, finds their recent matches, pulls summary, stats and timeline, adds xG for top-5 leagues and previews the next game with head-to-head and strength. A log keeps reported events.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/machina-sports/football-data",
   "md": "https://gethabit.dev/skills/machina-sports/football-data.md",
   "trigger": "Monday after matchday",
   "verification": "IDs resolved, scores reconciled",
   "memory": "reported events log",
   "built_from": [
    "machina-sports--football-data"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "requesting-code-review-loop",
   "name": "Fresh reviewer loop",
   "outcome": "Every task reviewed before merge.",
   "summary": "After each finished task or before a merge to main, your agent sends the diff between two git SHAs to a fresh reviewer subagent. It fixes Critical and Important issues at once and notes Minor ones. The list of open Minor issues is kept for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/obra/requesting-code-review",
   "md": "https://gethabit.dev/skills/obra/requesting-code-review.md",
   "trigger": "task done or merge",
   "verification": "no open Critical issues",
   "memory": "open minor issues",
   "built_from": [
    "obra--requesting-code-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "frontend-test-review-loop",
   "name": "Frontend test review loop",
   "outcome": "Tests check behavior, not implementation.",
   "summary": "On every pull request with test changes, your agent checks the six rules: E2E over unit tests, no React component unit tests, at most two mocks, E2E tests in e2e/tests/, accessible selectors and unit tests only for pure functions. A log keeps repeat findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/sergiodxa/frontend-testing-best-practices",
   "md": "https://gethabit.dev/skills/sergiodxa/frontend-testing-best-practices.md",
   "trigger": "test files changed",
   "verification": "tests pass, rules hold",
   "memory": "test rule findings",
   "built_from": [
    "sergiodxa--frontend-testing-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "game-asset-set-loop",
   "name": "Game asset set loop",
   "outcome": "New assets that match the set.",
   "summary": "When a set grows, your agent generates each new character, icon or background against approved anchors, names the shared grammar in every prompt, and reviews the set at target size. A log keeps anchor file ids and the grammar.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/layerai/layer-game-assets",
   "md": "https://gethabit.dev/skills/layerai/layer-game-assets.md",
   "trigger": "set needs new assets",
   "verification": "on-model at target size",
   "memory": "set grammar notes",
   "built_from": [
    "layerai--layer-game-assets"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "game-mod-build-loop",
   "name": "Game mod build loop",
   "outcome": "Mods working in the real game.",
   "summary": "For a game the user owns, your agent runs recon, picks the cheapest route, backs up saves, builds one vertical slice and verifies it in the running game with screenshots and logs. MODLOG.md keeps every path, failure and next step.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/rehan-remade/mod-any-game",
   "md": "https://gethabit.dev/skills/rehan-remade/mod-any-game.md",
   "trigger": "you name game, idea",
   "verification": "seen working in game",
   "memory": "mod journal",
   "built_from": [
    "rehan-remade--mod-any-game"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gemini-model-freshness-loop",
   "name": "Gemini model freshness loop",
   "outcome": "No deprecated Gemini models ship.",
   "summary": "Each week your agent scans the codebase for legacy Gemini model strings and deprecated SDKs, confirms the migration scope with you, migrates using the skill's migration guide and docs, and logs what changed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/google-gemini/gemini-api-dev",
   "md": "https://gethabit.dev/skills/google-gemini/gemini-api-dev.md",
   "trigger": "weekly model scan",
   "verification": "no legacy models, tests pass",
   "memory": "migration log",
   "built_from": [
    "google-gemini--gemini-api-dev"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gha-workflow-security-loop",
   "name": "GHA workflow security loop",
   "outcome": "Exploitable workflow bugs caught before merge.",
   "summary": "When a pull request touches GitHub Actions workflows or actions, your agent classifies triggers, runs the eight vulnerability checks, traces every attack path and reports only high and medium findings an external attacker could exploit. A log keeps findings and cleared workflows.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/getsentry/gha-security-review",
   "md": "https://gethabit.dev/skills/getsentry/gha-security-review.md",
   "trigger": "workflow file changes",
   "verification": "traced findings only",
   "memory": "workflow review log",
   "built_from": [
    "getsentry--gha-security-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gh-issue-digest-loop",
   "name": "GitHub issue digest loop",
   "outcome": "Open issues and PRs summarized daily.",
   "summary": "Each morning your agent checks gh auth status, then lists new issues, PRs waiting for review and blocked issues with gh search and gh issue list using --json and -L. It compares against yesterday and writes a short digest.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/cli/gh",
   "md": "https://gethabit.dev/skills/cli/gh.md",
   "trigger": "daily repo digest",
   "verification": "auth + JSON results",
   "memory": "digest log",
   "built_from": [
    "cli--gh"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gh-repo-digest-loop",
   "name": "GitHub repo digest loop",
   "outcome": "A daily digest of your repo.",
   "summary": "Each morning your agent uses gh with --json and --jq to list open PRs, their CI checks, new issues and the latest release, and writes a short digest of what changed since yesterday. A log keeps the last digest.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/logicrw/gh-cli",
   "md": "https://gethabit.dev/skills/logicrw/gh-cli.md",
   "trigger": "daily repo digest",
   "verification": "gh calls succeed",
   "memory": "daily digest log",
   "built_from": [
    "logicrw--gh-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "go-design-review-loop",
   "name": "Go design review loop",
   "outcome": "Go code stays idiomatic and bounded.",
   "summary": "Each week your agent runs golang design patterns in review mode over the Go code: it looks for init() misuse, unbounded resources, missing timeouts and hidden global state. It reports before it refactors, and keeps a board of open design issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/samber/golang-design-patterns",
   "md": "https://gethabit.dev/skills/samber/golang-design-patterns.md",
   "trigger": "weekly design review",
   "verification": "tests pass, you choose",
   "memory": "design issues board",
   "built_from": [
    "samber--golang-design-patterns"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "go-error-handling-review-loop",
   "name": "Go error handling loop",
   "outcome": "No swallowed or double-logged errors.",
   "summary": "When a pull request changes Go code, your agent reviews its error handling with golang-error-handling: unchecked errors, missing %w context, log-and-return pairs, panic misuse and non-slog logging. golangci-lint and the tests must pass, and a log keeps findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/samber/golang-error-handling",
   "md": "https://gethabit.dev/skills/samber/golang-error-handling.md",
   "trigger": "PR changes Go files",
   "verification": "lint, tests, error rules",
   "memory": "error findings log",
   "built_from": [
    "samber--golang-error-handling"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "go-quality-gate-loop",
   "name": "Go quality gate loop",
   "outcome": "Go changes that pass every gate.",
   "summary": "When a pull request changes Go code, your agent runs go vet, golangci-lint and the tests with the race detector, checks coverage and the skill's must-do rules, and fixes what fails. A run log keeps the issues found for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/jeffallan/golang-pro",
   "md": "https://gethabit.dev/skills/jeffallan/golang-pro.md",
   "trigger": "PR changes Go files",
   "verification": "vet, lint, race clean",
   "memory": "lint and race log",
   "built_from": [
    "jeffallan--golang-pro"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "go-style-review-loop",
   "name": "Go style review loop",
   "outcome": "Go code stays clear, not clever.",
   "summary": "When a pull request changes .go files, your agent reviews them with golang-code-style: early returns, no needless else, named booleans, field names in literals, initialized slices and maps. golangci-lint and the tests must pass. A log keeps repeat issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/samber/golang-code-style",
   "md": "https://gethabit.dev/skills/samber/golang-code-style.md",
   "trigger": "PR changes Go files",
   "verification": "lint and tests pass",
   "memory": "style findings log",
   "built_from": [
    "samber--golang-code-style"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "go-test-audit-loop",
   "name": "Go test audit loop",
   "outcome": "Go tests stay fast, isolated, leak-free.",
   "summary": "Each week your agent audits the Go test suite with golang-testing in audit mode: unit quality and coverage gaps, integration isolation, and goroutine leaks and races. go test -race must pass. It writes a gap report and keeps last week's to compare.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/samber/golang-testing",
   "md": "https://gethabit.dev/skills/samber/golang-testing.md",
   "trigger": "weekly test audit",
   "verification": "race-free tests pass",
   "memory": "weekly gap reports",
   "built_from": [
    "samber--golang-testing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gradio-space-check-loop",
   "name": "Gradio Space check loop",
   "outcome": "Your Gradio endpoints keep answering.",
   "summary": "Each morning your agent runs gradio info on the Spaces you list, then sends one stored sample payload per endpoint with gradio predict. It checks that each reply holds the expected output keys and logs every result.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/huggingface/huggingface-gradio",
   "md": "https://gethabit.dev/skills/huggingface/huggingface-gradio.md",
   "trigger": "every morning at seven",
   "verification": "endpoints answer with outputs",
   "memory": "endpoint run log",
   "built_from": [
    "huggingface--huggingface-gradio"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "graphql-operations-review-loop",
   "name": "GraphQL operations review loop",
   "outcome": "Operations match the schema and lint.",
   "summary": "When GraphQL operations change, your agent checks them against the project schema: named operations, variables not hardcoded values, only needed fields, id on cacheable types, then runs codegen and the linter. A run log keeps prior findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/apollographql/graphql-operations",
   "md": "https://gethabit.dev/skills/apollographql/graphql-operations.md",
   "trigger": "operations change",
   "verification": "schema, codegen, lint",
   "memory": "operations review log",
   "built_from": [
    "apollographql--graphql-operations"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "grill-docs-loop",
   "name": "Grill docs loop",
   "outcome": "Plans grilled, decisions documented.",
   "summary": "When you start a plan, your agent runs grill with docs: it calls the grilling skill to interview you and the domain modeling skill to write ADRs and a glossary as you go. A check makes sure the docs changed, and a log keeps each run.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/mattpocock/grill-with-docs",
   "md": "https://gethabit.dev/skills/mattpocock/grill-with-docs.md",
   "trigger": "you start a plan",
   "verification": "you answer + docs check",
   "memory": "grill runs log",
   "built_from": [
    "mattpocock--grill-with-docs"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "groundcover-prod-triage-loop",
   "name": "Groundcover prod triage loop",
   "outcome": "Production issues triaged with evidence.",
   "summary": "Every morning your agent runs the groundcover triage flow for your key services: error logs, slow traces, PromQL error rate and latency, and k8s warning events and restarts. It writes a short triage note and keeps a log to compare day to day.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/paymog/groundcover-cli",
   "md": "https://gethabit.dev/skills/paymog/groundcover-cli.md",
   "trigger": "every weekday morning",
   "verification": "all queries answered",
   "memory": "daily triage log",
   "built_from": [
    "paymog--groundcover-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gsap-performance-loop",
   "name": "GSAP performance loop",
   "outcome": "Keep GSAP animations smooth.",
   "summary": "When a pull request changes GSAP animation code, your agent reviews it against the GSAP performance rules: transforms and opacity, sparing will-change, stagger, quickTo and cleanup. A hard check flags layout tweens, and the loop keeps a list of fixed patterns.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/greensock/gsap-performance",
   "md": "https://gethabit.dev/skills/greensock/gsap-performance.md",
   "trigger": "PR changes animation code",
   "verification": "layout check + review score",
   "memory": "animation findings list",
   "built_from": [
    "greensock--gsap-performance"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "gsap-react-cleanup-loop",
   "name": "GSAP React cleanup loop",
   "outcome": "No leaking GSAP animations in React.",
   "summary": "When a pull request changes React components that use GSAP, your agent checks for useGSAP with a scope, ctx.revert() in useEffect cleanups, contextSafe for event handlers and no GSAP calls during server render. It keeps a list of fixed components.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/greensock/gsap-react",
   "md": "https://gethabit.dev/skills/greensock/gsap-react.md",
   "trigger": "PR changes GSAP components",
   "verification": "cleanup and scope check",
   "memory": "component findings list",
   "built_from": [
    "greensock--gsap-react"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "hallmark-design-loop",
   "name": "Hallmark design loop",
   "outcome": "Pages that never look templated.",
   "summary": "When you ask for a new page, your agent scans the project, asks audience, use case and tone, picks a macrostructure and theme unlike the last builds, builds, then runs the slop test. It records each build in .hallmark/log.json for the next run.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/nutlope/hallmark",
   "md": "https://gethabit.dev/skills/nutlope/hallmark.md",
   "trigger": "you request a page",
   "verification": "slop test + self-critique",
   "memory": "Hallmark build log",
   "built_from": [
    "nutlope--hallmark"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "harness-coherence-test-loop",
   "name": "Harness coherence test loop",
   "outcome": "Automation harness stays coherent per PR.",
   "summary": "On every pull request that changes your Playwright or Puppeteer harness, your test suite calls checkPage from liarjs on a real Page and asserts the score and zero critical checks. A run log keeps the failing ids per pull request.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/liarjsdev/playwright-stealth-verify",
   "md": "https://gethabit.dev/skills/liarjsdev/playwright-stealth-verify.md",
   "trigger": "PR changes test harness",
   "verification": "checkPage assertions pass",
   "memory": "failing ids per PR",
   "built_from": [
    "liarjsdev--playwright-stealth-verify"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "harness-test-loop",
   "name": "Harness test loop",
   "outcome": "Hooks and skills always tested.",
   "summary": "When hooks, skills or settings change, your agent picks the cheapest test tier, writes a unit or deterministic test, runs npx vigiles test --no-skip in CI and checks eval locks with vigiles eval --check. Real-model evals run locally. Locks are the memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/zernie/test-harness",
   "md": "https://gethabit.dev/skills/zernie/test-harness.md",
   "trigger": "harness files changed",
   "verification": "harness tests and locks pass",
   "memory": "eval lock files",
   "built_from": [
    "zernie--test-harness"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "headline-snapshot-loop",
   "name": "Headline snapshot loop",
   "outcome": "A daily front-page brief per country.",
   "summary": "Every morning the agent calls the country-view endpoint for each chosen country, reads the raw headlines next to the AI overviews and writes a short brief on the main stories and framing. A run log keeps timestamps and countries.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/sfkislev/the-news",
   "md": "https://gethabit.dev/skills/sfkislev/the-news.md",
   "trigger": "every morning",
   "verification": "response check",
   "memory": "daily headline log",
   "built_from": [
    "sfkislev--the-news"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "heroui-native-check-loop",
   "name": "HeroUI Native check loop",
   "outcome": "HeroUI Native code stays native.",
   "summary": "When a pull request changes mobile UI, your agent fetches the HeroUI Native docs for each touched component and checks the code for web patterns, flat props, onClick and raw colors. A notes file keeps which components were checked.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/heroui-inc/heroui-native",
   "md": "https://gethabit.dev/skills/heroui-inc/heroui-native.md",
   "trigger": "PR changes mobile UI",
   "verification": "native pattern checks",
   "memory": "component usage notes",
   "built_from": [
    "heroui-inc--heroui-native"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "hf-dataset-health-loop",
   "name": "HF dataset health loop",
   "outcome": "Spot dataset changes every week.",
   "summary": "Each week your agent calls the Hugging Face Dataset Viewer API for your datasets: /is-valid, /splits, /size and /statistics, all read-only. It compares row totals with the last run and keeps them in a run log.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/huggingface/huggingface-datasets",
   "md": "https://gethabit.dev/skills/huggingface/huggingface-datasets.md",
   "trigger": "every Monday at nine",
   "verification": "dataset valid, rows counted",
   "memory": "dataset size log",
   "built_from": [
    "huggingface--huggingface-datasets"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "hf-finetune-run-loop",
   "name": "HF fine-tune run loop",
   "outcome": "Fine-tuned models saved to Hub.",
   "summary": "When you ask for a training run, your agent validates the dataset, writes a TRL script with Trackio, sets a long enough timeout and Hub push, and submits it with hf_jobs. A run log keeps job IDs, settings and failures for the next run.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/huggingface/huggingface-llm-trainer",
   "md": "https://gethabit.dev/skills/huggingface/huggingface-llm-trainer.md",
   "trigger": "training run requested",
   "verification": "dataset ready, push set",
   "memory": "training job log",
   "built_from": [
    "huggingface--huggingface-llm-trainer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "home-assistant-review-loop",
   "name": "Home Assistant review loop",
   "outcome": "Automations use native Home Assistant features.",
   "summary": "Each week your agent reviews new or changed Home Assistant automations against the skill's anti-pattern table: templates where native triggers fit, device_id instead of entity_id, wrong modes. It proposes fixes, waits for your OK, then checks the config.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/homeassistant-ai/home-assistant-best-practices",
   "md": "https://gethabit.dev/skills/homeassistant-ai/home-assistant-best-practices.md",
   "trigger": "every Sunday evening",
   "verification": "config check, your OK",
   "memory": "review notes",
   "built_from": [
    "homeassistant-ai--home-assistant-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "hook-ab-test-loop",
   "name": "Hook A/B test loop",
   "outcome": "Learn which hooks your audience likes.",
   "summary": "Each week your agent reads your social media context and last tests, writes five to seven labeled hook variants per planned post across the nine patterns, marks a top pick, and records A/B results in a test log so patterns that win get used more.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/blacktwist/hook-writer-sms",
   "md": "https://gethabit.dev/skills/blacktwist/hook-writer-sms.md",
   "trigger": "weekly hook drafting",
   "verification": "variants labeled, pick marked",
   "memory": "hook A/B test log",
   "built_from": [
    "blacktwist--hook-writer-sms"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "humanize-draft-loop",
   "name": "Humanize draft loop",
   "outcome": "Drafts lose their AI tells.",
   "summary": "Before a draft is published, your agent runs eight editing passes: structure, inflation, vocabulary, grammar, rhythm, hedging, transitions and voice, then does the read-aloud test and adds a short changes table, keeping facts and names intact.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/jpeggdev/humanize-writing",
   "md": "https://gethabit.dev/skills/jpeggdev/humanize-writing.md",
   "trigger": "draft ready for edit",
   "verification": "tells removed, facts kept",
   "memory": "edit passes log",
   "built_from": [
    "jpeggdev--humanize-writing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "hyperframes-render-loop",
   "name": "HyperFrames render loop",
   "outcome": "Checked videos, rendered on your OK.",
   "summary": "Every hour on work days your agent checks the HyperFrames project history for your edits. If there are any, it lints the project, snapshots frames, previews it and renders after your OK. It verifies the file and its duration with ffprobe.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/heygen-com/hyperframes-cli",
   "md": "https://gethabit.dev/skills/heygen-com/hyperframes-cli.md",
   "trigger": "hourly on work days",
   "verification": "check gate + your OK",
   "memory": "HyperFrames project history",
   "built_from": [
    "heygen-com--hyperframes-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "idea-pressure-test-loop",
   "name": "Idea pressure test loop",
   "outcome": "A blunt verdict on every idea.",
   "summary": "Your agent pressure-tests a product idea: core assumption, ranked fatal flaws, problem reality, competition, first 10 customers, a 2-week MVP test, a scorecard and a strong, weak or pivot verdict. It writes docs/validation-report.md and re-runs after new discovery.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/buildgreatproducts/idea-validator",
   "md": "https://gethabit.dev/skills/buildgreatproducts/idea-validator.md",
   "trigger": "idea file changes",
   "verification": "report written, verified",
   "memory": "validation report",
   "built_from": [
    "buildgreatproducts--idea-validator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "image-batch-loop",
   "name": "Image batch loop",
   "outcome": "Saved prompts become finished images.",
   "summary": "When new prompt files land in prompts/, your agent loads EXTEND.md, builds a batch file with build-batch.ts and runs main.ts in batch mode. Each image retries up to three times. The run reports success and failure counts, kept in a log.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/jimliu/baoyu-image-gen",
   "md": "https://gethabit.dev/skills/jimliu/baoyu-image-gen.md",
   "trigger": "new prompt files saved",
   "verification": "every image exists",
   "memory": "batch results log",
   "built_from": [
    "jimliu--baoyu-image-gen"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "writing-plans-loop",
   "name": "Implementation plan loop",
   "outcome": "Every spec becomes a plan.",
   "summary": "When a new spec lands, your agent writes an implementation plan with exact files, signatures and tests per task. It runs its own five-point review against the spec, saves the plan, and waits for you to approve it and pick how it runs.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/obra/writing-plans",
   "md": "https://gethabit.dev/skills/obra/writing-plans.md",
   "trigger": "new spec committed",
   "verification": "self-review + your approval",
   "memory": "saved plans folder",
   "built_from": [
    "obra--writing-plans"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "indexion-doc-drift-loop",
   "name": "Indexion doc drift loop",
   "outcome": "Docs keep up with the code.",
   "summary": "Each week your agent measures doc coverage with indexion plan documentation, lists undocumented items with indexion grep --undocumented and runs indexion plan reconcile to find stale docs. It fixes flagged docs, re-runs reconcile and logs the coverage number.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/trkbt10/indexion-documentation",
   "md": "https://gethabit.dev/skills/trkbt10/indexion-documentation.md",
   "trigger": "weekly docs drift check",
   "verification": "coverage + reconcile rerun",
   "memory": "coverage history log",
   "built_from": [
    "trkbt10--indexion-documentation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "indexion-readme-drift-loop",
   "name": "Indexion README drift loop",
   "outcome": "README changes stay purely additive.",
   "summary": "When a pull request touches docs or packages, your agent regenerates per-package READMEs, assembles the root README with indexion doc readme and runs indexion plan drift against the previous version. A run log keeps the drift result of each run.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/trkbt10/indexion-readme",
   "md": "https://gethabit.dev/skills/trkbt10/indexion-readme.md",
   "trigger": "docs or package change",
   "verification": "plan drift guard",
   "memory": "drift run log",
   "built_from": [
    "trkbt10--indexion-readme"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "insforge-advisor-loop",
   "name": "InsForge advisor loop",
   "outcome": "Clear backend advisor findings weekly.",
   "summary": "Each week your agent recalls project memory, runs an InsForge advisor scan, fixes security and performance findings through migrations on a backend branch, and merges only after a dry run and your OK. It rescans and records decisions in project memory.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/insforge/insforge-cli",
   "md": "https://gethabit.dev/skills/insforge/insforge-cli.md",
   "trigger": "weekly advisor scan",
   "verification": "rescan + your merge OK",
   "memory": "advisor runs log",
   "built_from": [
    "insforge--insforge-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "insforge-sdk-check-loop",
   "name": "InsForge SDK check loop",
   "outcome": "Catch InsForge SDK mistakes early.",
   "summary": "When a pull request changes code that uses @insforge/sdk, your agent checks the key rules: array inserts, bounded reads, no admin key in public env vars, .env files kept local, and a local build. It keeps a list of issues found per module.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/insforge/insforge",
   "md": "https://gethabit.dev/skills/insforge/insforge.md",
   "trigger": "PR touches InsForge code",
   "verification": "SDK rule check + build",
   "memory": "SDK issues list",
   "built_from": [
    "insforge--insforge"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "instagram-hashtag-watch-loop",
   "name": "Instagram hashtag watch loop",
   "outcome": "Track hashtags and profiles daily.",
   "summary": "Each day your agent calls the fetcher.sh Instagram endpoints for your watched hashtags, locations and profiles, keeps only posts it has not seen and writes a short digest. A seen-posts file keeps ids so the next run skips them.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/fetcher-sh/instagram-api",
   "md": "https://gethabit.dev/skills/fetcher-sh/instagram-api.md",
   "trigger": "daily hashtag watch",
   "verification": "status 200, new posts",
   "memory": "seen post ids",
   "built_from": [
    "fetcher-sh--instagram-api"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "instagram-profile-watch-loop",
   "name": "Instagram profile watch loop",
   "outcome": "Fresh public Instagram numbers, logged.",
   "summary": "On a schedule, your agent runs the preflight, then pulls public profile details or recent posts for a short list of accounts through apify/instagram-scraper with a fixed resultsLimit. It logs follower and post counts so each run shows the change.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/skillify-sh/instagram-scraper",
   "md": "https://gethabit.dev/skills/skillify-sh/instagram-scraper.md",
   "trigger": "weekly profile check",
   "verification": "preflight and result check",
   "memory": "profile numbers history",
   "built_from": [
    "skillify-sh--instagram-scraper"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "interface-craft-loop",
   "name": "Interface craft loop",
   "outcome": "Product UI that holds its system.",
   "summary": "When a pull request changes product UI, your agent reads .interface-design/system.md, checks the change against its tokens, spacing and depth, runs the build and the four craft tests, and saves new reusable patterns back to system.md.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/dammyjay93/interface-design",
   "md": "https://gethabit.dev/skills/dammyjay93/interface-design.md",
   "trigger": "PR changes product UI",
   "verification": "build + craft tests",
   "memory": "design system file",
   "built_from": [
    "dammyjay93--interface-design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "interface-review-loop",
   "name": "Interface review loop",
   "outcome": "One ranked verdict across six domains.",
   "summary": "On a schedule, your agent reviews one complete flow by running six better-* skills in order and merging their evidence into one ranked table of at most 15 findings. Escalation triggers are always HIGH. Open findings are logged for the next run.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jakubkrehel/better-interface",
   "md": "https://gethabit.dev/skills/jakubkrehel/better-interface.md",
   "trigger": "weekly flow review",
   "verification": "evidence + coverage check",
   "memory": "findings by root cause",
   "built_from": [
    "jakubkrehel--better-interface"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "interrupt-safety-loop",
   "name": "Interrupt safety loop",
   "outcome": "Paused graphs resume without duplicates.",
   "summary": "On each pull request that touches LangGraph nodes, the agent checks that graphs with interrupt() compile with a checkpointer, resume through Command(resume=...) on the same thread_id and keep side effects before interrupt() idempotent. Tests must pass.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/langchain-ai/langgraph-human-in-the-loop",
   "md": "https://gethabit.dev/skills/langchain-ai/langgraph-human-in-the-loop.md",
   "trigger": "PR touches graph code",
   "verification": "interrupt rules + tests",
   "memory": "flagged nodes log",
   "built_from": [
    "langchain-ai--langgraph-human-in-the-loop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ios-hig-score-loop",
   "name": "iOS HIG score loop",
   "outcome": "Every screen scores toward 10/10.",
   "summary": "Runs on each pull request that changes iOS screens. Your agent scores the screen with the skill's six-row quick diagnostic plus native idiom points, lists fixes to reach 10/10, and keeps scores per screen.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/wondelai/ios-hig-design",
   "md": "https://gethabit.dev/skills/wondelai/ios-hig-design.md",
   "trigger": "iOS screen changed",
   "verification": "HIG score per screen",
   "memory": "screen score history",
   "built_from": [
    "wondelai--ios-hig-design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "limrun-ios-smoke-test-loop",
   "name": "iOS simulator smoke test loop",
   "outcome": "Each build gets a smoke test.",
   "summary": "After each successful iOS build, your agent attaches a Limrun simulator, reads the element tree, taps through what changed plus core flows, and records a demo video for UI changes. Results and the instance ID go to a run log.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/limrun-inc/limrun-ios-simulator",
   "md": "https://gethabit.dev/skills/limrun-inc/limrun-ios-simulator.md",
   "trigger": "iOS build succeeds",
   "verification": "element tree confirms flow",
   "memory": "smoke test log",
   "built_from": [
    "limrun-inc--limrun-ios-simulator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "issue-triage-loop",
   "name": "Issue triage loop",
   "outcome": "Sort open issues, act after approval.",
   "summary": "When issues pile up, your agent audits open issues with gh, sorts them by category, risk, linked PRs, likely duplicates and staleness, runs deep analysis on the ones you pick, drafts comments, labels and closes, and runs only the actions you approve.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/rtk-ai/issue-triage",
   "md": "https://gethabit.dev/skills/rtk-ai/issue-triage.md",
   "trigger": "untriaged issues pile up",
   "verification": "preconditions and your approval",
   "memory": "triage tables",
   "built_from": [
    "rtk-ai--issue-triage"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "yomiyasu-loop",
   "name": "Japanese polish loop",
   "outcome": "Natural Japanese in every draft.",
   "summary": "When a new Japanese draft lands, your agent runs yomiyasu on it: lint first, then a careful rewrite that keeps meaning, then the bundled lint and diff check and a hash verify. The final goes beside the original and the run is logged.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/nanaism/yomiyasu",
   "md": "https://gethabit.dev/skills/nanaism/yomiyasu.md",
   "trigger": "new Japanese draft added",
   "verification": "lint, diff, hash verify",
   "memory": "polished drafts log",
   "built_from": [
    "nanaism--yomiyasu"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "kgf-spec-check-loop",
   "name": "KGF spec check loop",
   "outcome": "KGF spec edits keep docs extracted.",
   "summary": "When a KGF spec file changes, your agent runs indexion kgf inspect on a sample file, drills into tokens, events and edges, and checks that declares edges still carry doc. It looks for the known PEG ordering, NL and token priority pitfalls.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/trkbt10/indexion-kgf",
   "md": "https://gethabit.dev/skills/trkbt10/indexion-kgf.md",
   "trigger": "KGF spec changes",
   "verification": "doc in declares edges",
   "memory": "spec check log",
   "built_from": [
    "trkbt10--indexion-kgf"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "knap-notes-batch-loop",
   "name": "Knap notes batch loop",
   "outcome": "Turn new data into notes.",
   "summary": "When new JSON or CSV data lands, your agent validates the Knap template, does a dry run, then renders one Markdown note per row or object with knap batch. A run log keeps which files were written.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/kepano/knap",
   "md": "https://gethabit.dev/skills/kepano/knap.md",
   "trigger": "new data file arrives",
   "verification": "validate and dry run",
   "memory": "rendered files log",
   "built_from": [
    "kepano--knap"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "knowledge-brain-refresh-loop",
   "name": "Knowledge brain refresh loop",
   "outcome": "Keep your work brains current.",
   "summary": "Every week your agent rebuilds each claude-mem knowledge corpus with new observations, reprimes it and asks it a fixed set of questions. It checks that the corpus is primed and answers, and keeps the answers for the next run.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/thedotmack/knowledge-agent",
   "md": "https://gethabit.dev/skills/thedotmack/knowledge-agent.md",
   "trigger": "every Monday morning",
   "verification": "corpus primed and answering",
   "memory": "weekly brain answers",
   "built_from": [
    "thedotmack--knowledge-agent"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "knowledge-closeout-loop",
   "name": "Knowledge closeout loop",
   "outcome": "Docs, rules and code agree.",
   "summary": "After each merged change, your agent runs the neat-freak closeout: it inventories the project with audit-inventory.sh, aligns README, docs and CLAUDE.md or AGENTS.md with the actual code, lists leftover session files as delete candidates and reports. Nothing is deleted until you confirm.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/kkkkhazix/neat-freak",
   "md": "https://gethabit.dev/skills/kkkkhazix/neat-freak.md",
   "trigger": "change merged",
   "verification": "fact surfaces + your confirmation",
   "memory": "project rules file",
   "built_from": [
    "kkkkhazix--neat-freak"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "zsxq-daily-patrol-loop",
   "name": "Knowledge Planet patrol loop",
   "outcome": "What needs your reply, daily.",
   "summary": "Each morning your agent runs the daily patrol scenario on your Knowledge Planet group with zsxq-cli: new topics, unanswered questions and unreplied comments, with draft replies. Nothing is posted without your confirmation. A log keeps what was handled.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/unnoo/zsxq",
   "md": "https://gethabit.dev/skills/unnoo/zsxq.md",
   "trigger": "daily group patrol",
   "verification": "patrol report written",
   "memory": "patrol log",
   "built_from": [
    "unnoo--zsxq"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "landing-page-audit-loop",
   "name": "Landing page audit loop",
   "outcome": "Conversion leaks ranked every month.",
   "summary": "Once a month your agent audits your landing page against ad message match, mobile fold, offer, form, trust, post-purchase path and measurement, and writes a ranked fix list. A hard check enforces the report shape. A board keeps open fixes for the next audit.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/autonnel/landing-page-conversion-audit",
   "md": "https://gethabit.dev/skills/autonnel/landing-page-conversion-audit.md",
   "trigger": "monthly page audit",
   "verification": "report shape enforced",
   "memory": "open conversion fixes",
   "built_from": [
    "autonnel--landing-page-conversion-audit"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "langfuse-trace-review-loop",
   "name": "Langfuse trace review loop",
   "outcome": "Weekly failure modes from real traces.",
   "summary": "Every week your agent reads current Langfuse docs, uses langfuse-cli to list recent data, runs an error analysis on the traces, and records the failure modes it finds. A run log keeps the modes so the next week compares against them.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/langfuse/langfuse",
   "md": "https://gethabit.dev/skills/langfuse/langfuse.md",
   "trigger": "weekly on Monday",
   "verification": "data read, modes logged",
   "memory": "failure modes log",
   "built_from": [
    "langfuse--langfuse"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "lark-drive-sync-loop",
   "name": "Lark Drive sync loop",
   "outcome": "Local folder matches Drive.",
   "summary": "On a schedule, your agent compares a local folder with a Drive folder using +status, shows you the plan, runs +sync after your OK and runs +status again to confirm nothing differs. A run log keeps what moved in each direction.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/larksuite/lark-drive",
   "md": "https://gethabit.dev/skills/larksuite/lark-drive.md",
   "trigger": "nightly folder sync",
   "verification": "status diff plus OK",
   "memory": "sync history",
   "built_from": [
    "larksuite--lark-drive"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "launch-video-loop",
   "name": "Launch video loop",
   "outcome": "A short launch video per release.",
   "summary": "When you tag a release, your agent reads the project code, plans a 15 to 25 second brag video, builds it with Hyperframes, checks it, renders brag.mp4 with a poster frame and writes share copy. Each run keeps its own timestamped output folder.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/latent-spaces/brag",
   "md": "https://gethabit.dev/skills/latent-spaces/brag.md",
   "trigger": "new release tag",
   "verification": "check passes, files exist",
   "memory": "past brag plans",
   "built_from": [
    "latent-spaces--brag"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "layout-audit-loop",
   "name": "Layout audit loop",
   "outcome": "Layouts survive resize, translation, RTL.",
   "summary": "When a pull request changes layout or styles, your agent scans for the skill's detection patterns, checks grouping, order and logical properties, and tests 320px, 200% zoom and RTL where a browser exists. It ends with Block or Approve and logs root causes.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jakubkrehel/better-layout",
   "md": "https://gethabit.dev/skills/jakubkrehel/better-layout.md",
   "trigger": "PR changes styles",
   "verification": "detection table, no HIGH",
   "memory": "findings by root cause",
   "built_from": [
    "jakubkrehel--better-layout"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "lean-prd-loop",
   "name": "Lean PRD loop",
   "outcome": "Every feature idea gets a PRD.",
   "summary": "When a new feature idea comes in, your agent asks up to three questions, writes a lean 8-section PRD with create-prd, checks that segments and value propositions are there and logs each PRD so the next run knows what exists.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/phuryn/create-prd",
   "md": "https://gethabit.dev/skills/phuryn/create-prd.md",
   "trigger": "new feature idea filed",
   "verification": "your answers + section check",
   "memory": "PRDs written so far",
   "built_from": [
    "phuryn--create-prd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "library-bundle-check-loop",
   "name": "Library bundle check loop",
   "outcome": "Library builds valid before publish.",
   "summary": "On every pull request to a TypeScript library, your agent runs tsdown with the project config, generating declarations, and validates the package with publint and attw. A log keeps build warnings and package issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/rolldown/tsdown",
   "md": "https://gethabit.dev/skills/rolldown/tsdown.md",
   "trigger": "pull request opened",
   "verification": "build and package checks",
   "memory": "build warnings log",
   "built_from": [
    "rolldown--tsdown"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "lightweight-charts-v5-loop",
   "name": "Lightweight Charts v5 loop",
   "outcome": "Chart code stays on v5.",
   "summary": "On every pull request that touches chart code, your agent reads the installed lightweight-charts version and typings, flags v4 calls with their v5 replacements and checks the time and wrapper foot-guns. A log keeps the version and open findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/tradingview/lightweight-charts",
   "md": "https://gethabit.dev/skills/tradingview/lightweight-charts.md",
   "trigger": "chart code changes",
   "verification": "no v4 API left",
   "memory": "chart findings log",
   "built_from": [
    "tradingview--lightweight-charts"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "linkedin-profile-refresh-loop",
   "name": "LinkedIn profile refresh loop",
   "outcome": "Your profile stays search ready.",
   "summary": "Once a month your agent compares your saved LinkedIn profile text with your resume and target roles, rewrites headline and About within the character limits, scores completeness against the checklist and keeps the scores so you see progress.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/paramchoudhary/linkedin-profile-optimizer",
   "md": "https://gethabit.dev/skills/paramchoudhary/linkedin-profile-optimizer.md",
   "trigger": "first day each month",
   "verification": "limits and sections check",
   "memory": "profile score history",
   "built_from": [
    "paramchoudhary--linkedin-profile-optimizer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "linkedin-weekly-content-loop",
   "name": "LinkedIn weekly content loop",
   "outcome": "A week of posts, approved first.",
   "summary": "Every Monday, your agent plans the week with linkedin-content-planner, drafts posts with linkedin-post-writer, audits each with linkedin-humanizer and waits for your approval. Only approved drafts are published through Publora or handed over to paste.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/sergebulaev/linkedin-marketing",
   "md": "https://gethabit.dev/skills/sergebulaev/linkedin-marketing.md",
   "trigger": "every Monday morning",
   "verification": "audit and your approval",
   "memory": "story bank",
   "built_from": [
    "sergebulaev--linkedin-marketing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "living-scope-reconcile-loop",
   "name": "Living scope reconcile loop",
   "outcome": "The scope stays honest after shipping.",
   "summary": "After each shipped slice, your agent runs /scope with no argument to reconcile what shipped, surface plan versus reality drift, enroll features found during the build and queue the next slice. It writes only coarse scope rows in docs/scope/, never specs or code.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/jsmastery-pro/scope",
   "md": "https://gethabit.dev/skills/jsmastery-pro/scope.md",
   "trigger": "a slice ships",
   "verification": "scope matches reality",
   "memory": "scope file",
   "built_from": [
    "jsmastery-pro--scope"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "llm-wiki-lint-loop",
   "name": "LLM wiki lint loop",
   "outcome": "Your wiki stays grounded.",
   "summary": "Runs weekly on your personal wiki. Your agent fixes index and link problems, runs check_evidence.py to confirm facts still match the raw sources, reports contradictions, and appends the result to wiki/log.md.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/astro-han/karpathy-llm-wiki",
   "md": "https://gethabit.dev/skills/astro-han/karpathy-llm-wiki.md",
   "trigger": "weekly wiki lint",
   "verification": "evidence script passes",
   "memory": "wiki operation log",
   "built_from": [
    "astro-han--karpathy-llm-wiki"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "logfire-coverage-loop",
   "name": "Logfire coverage loop",
   "outcome": "One more service sending real traces.",
   "summary": "Each run your agent confirms the Logfire project with whoami, instruments one service with configure before instrument calls, sets service metadata, triggers a real request and queries Logfire to prove fresh data arrived. A board tracks services left.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/pydantic/logfire-instrumentation",
   "md": "https://gethabit.dev/skills/pydantic/logfire-instrumentation.md",
   "trigger": "next service to instrument",
   "verification": "fresh data queried in Logfire",
   "memory": "services to instrument",
   "built_from": [
    "pydantic--logfire-instrumentation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "logfire-error-digest-loop",
   "name": "Logfire error digest loop",
   "outcome": "Daily summary of new errors.",
   "summary": "Every morning, your agent queries Logfire for exceptions and slow spans from the last day, groups errors by service and compares them with yesterday's digest. Each query has a LIMIT and stays within the 14-day range.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/pydantic/logfire-query",
   "md": "https://gethabit.dev/skills/pydantic/logfire-query.md",
   "trigger": "every morning",
   "verification": "queries run with LIMIT",
   "memory": "daily error digests",
   "built_from": [
    "pydantic--logfire-query"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "logo-animation-loop",
   "name": "Logo animation loop",
   "outcome": "Every logo reveal ships clean.",
   "summary": "When a logo brief comes in, your agent builds one standalone HTML reveal with a single technique, freezes it at start, mid and end with ?t=N, screenshots each frame and fixes it until all frames are clean. A run log keeps what was tried.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/iart-ai/logo-animation",
   "md": "https://gethabit.dev/skills/iart-ai/logo-animation.md",
   "trigger": "new logo brief",
   "verification": "frozen frame screenshots",
   "memory": "reveal run log",
   "built_from": [
    "iart-ai--logo-animation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "loki-error-rate-loop",
   "name": "Loki error rate loop",
   "outcome": "Log errors spotted every hour.",
   "summary": "Every hour, your agent writes and runs LogQL queries against Grafana Loki: error rate by service, slow requests and 5xx errors. It compares the rate with an hour ago using offset, flags services over the threshold and logs the numbers.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/grafana/loki",
   "md": "https://gethabit.dev/skills/grafana/loki.md",
   "trigger": "every hour",
   "verification": "queries run, threshold checked",
   "memory": "hourly error rates",
   "built_from": [
    "grafana--loki"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "manuscript-polish-loop",
   "name": "Manuscript polish loop",
   "outcome": "Tighter prose, same facts.",
   "summary": "When a manuscript section changes, your agent detects paper type, section, language and journal, loads only the matching guidance, polishes the prose without new claims, and checks that terms and numbers stay the same. A log keeps the chosen axes.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/yuan1z0825/nature-polishing",
   "md": "https://gethabit.dev/skills/yuan1z0825/nature-polishing.md",
   "trigger": "manuscript section changes",
   "verification": "facts kept + your check",
   "memory": "axes and terms log",
   "built_from": [
    "yuan1z0825--nature-polishing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "marimo-notebook-check-loop",
   "name": "marimo notebook check loop",
   "outcome": "Keep marimo notebooks running clean.",
   "summary": "When a marimo notebook changes, your agent runs uvx marimo check, runs the notebook as a script with uv run, runs pytest on test cells if present, and fixes common mistakes like guarded cells, try/except control flow and missing PEP 723 dependencies.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/marimo-team/marimo-notebook",
   "md": "https://gethabit.dev/skills/marimo-team/marimo-notebook.md",
   "trigger": "notebook file changes",
   "verification": "check, run and tests",
   "memory": "notebook check log",
   "built_from": [
    "marimo-team--marimo-notebook"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "market-environment-report-loop",
   "name": "Market environment report loop",
   "outcome": "A daily global market conditions read.",
   "summary": "Each morning your agent collects global market data with web search, assesses trend, risk sentiment, volatility and sector rotation, and writes a structured report with an executive summary and strategy implications. A log keeps yesterday's read.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/tradermonty/market-environment-analysis",
   "md": "https://gethabit.dev/skills/tradermonty/market-environment-analysis.md",
   "trigger": "daily market report",
   "verification": "data + report structure",
   "memory": "market read log",
   "built_from": [
    "tradermonty--market-environment-analysis"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "md3-compliance-audit-loop",
   "name": "MD3 compliance audit loop",
   "outcome": "Your UI stays Material 3 compliant.",
   "summary": "When UI code changes, your agent runs the material-3 audit: it scores color, type, shape, elevation, components, layout, navigation, motion, accessibility and theming 0-10 and lists fixes. A run log keeps the scores per run.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/hamen/material-3",
   "md": "https://gethabit.dev/skills/hamen/material-3.md",
   "trigger": "UI code changes",
   "verification": "audit score and greps",
   "memory": "audit score log",
   "built_from": [
    "hamen--material-3"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "media-gap-loop",
   "name": "Media gap loop",
   "outcome": "Fill media gaps in every video.",
   "summary": "When a HyperFrames video is built or reviewed, your agent scans once for media gaps like silent cuts or placeholder images, offers the fixes in one ask, then resolves each file into assets/. A check confirms every resolved file exists locally.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/heygen-com/media-use",
   "md": "https://gethabit.dev/skills/heygen-com/media-use.md",
   "trigger": "video built or reviewed",
   "verification": "resolved files + your OK",
   "memory": "media gaps board",
   "built_from": [
    "heygen-com--media-use"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mem0-integrate-loop",
   "name": "Mem0 integration loop",
   "outcome": "Mem0 added behind a feature flag.",
   "summary": "On demand, your agent wires Mem0 into a repo test-first: goal doc and plan you approve, failing tests, a reviewed diff, four local commits, then a heal loop with mem0-test-integration. Goal, plan and summary stay in .mem0-integration/.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mem0ai/mem0-integrate",
   "md": "https://gethabit.dev/skills/mem0ai/mem0-integrate.md",
   "trigger": "you ask to integrate",
   "verification": "approvals, tests, heal loop",
   "memory": "integration artifacts folder",
   "built_from": [
    "mem0ai--mem0-integrate"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mem0-verify-loop",
   "name": "Mem0 verify loop",
   "outcome": "A Mem0 integration proven to run.",
   "summary": "After /mem0-integrate, your agent installs dependencies, runs static checks, the repo's tests in two flag passes, a real smoke call and an end-to-end flow, then writes a scorecard. The scorecard files in .mem0-integration/ are the memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mem0ai/mem0-test-integration",
   "md": "https://gethabit.dev/skills/mem0ai/mem0-test-integration.md",
   "trigger": "after mem0 integrate",
   "verification": "two-pass tests and smoke",
   "memory": "scorecard folder",
   "built_from": [
    "mem0ai--mem0-test-integration"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "genshijin-compress-loop",
   "name": "Memory file compress loop",
   "outcome": "Smaller memory files, same facts.",
   "summary": "When you name a memory file such as CLAUDE.md, your agent runs genshijin compress: it backs the file up as FILE.original.md, rewrites the prose in terse form and keeps code, URLs, paths and headings intact. The built-in validation checks the result. A run log keeps which files were done.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/interfacex-co-jp/genshijin-compress",
   "md": "https://gethabit.dev/skills/interfacex-co-jp/genshijin-compress.md",
   "trigger": "you name a file",
   "verification": "output validation passes",
   "memory": "compressed files log",
   "built_from": [
    "interfacex-co-jp--genshijin-compress"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "memory-recall-loop",
   "name": "Memory recall loop",
   "outcome": "Past context before new work.",
   "summary": "When you ask what we did about a topic, your agent searches agentmemory with memory_smart_search, expands the chosen ids, groups results by session with high importance first, and never invents a match. A log keeps queries that found nothing.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/rohitg00/recall",
   "md": "https://gethabit.dev/skills/rohitg00/recall.md",
   "trigger": "you ask about past work",
   "verification": "only returned results shown",
   "memory": "recall query log",
   "built_from": [
    "rohitg00--recall"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "memory-save-loop",
   "name": "Memory save loop",
   "outcome": "Every decision saved with tags.",
   "summary": "When you say remember this or note that, your agent saves the insight to agentmemory with memory_save, tags 2-5 specific concepts and real file paths, and echoes the tags back. A run log keeps what was saved.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/rohitg00/remember",
   "md": "https://gethabit.dev/skills/rohitg00/remember.md",
   "trigger": "you say remember this",
   "verification": "save confirmed with concepts",
   "memory": "saved memories log",
   "built_from": [
    "rohitg00--remember"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mermaid-docs-diagram-loop",
   "name": "Mermaid docs diagram loop",
   "outcome": "Keep diagrams matched to the code.",
   "summary": "When architecture, schema or flows change, your agent picks the right Mermaid diagram type, updates the .mmd file next to the code, renders it with mmdc to catch syntax errors, and keeps one focused diagram per concept.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/softaworks/mermaid-diagrams",
   "md": "https://gethabit.dev/skills/softaworks/mermaid-diagrams.md",
   "trigger": "structure or flow changes",
   "verification": "diagrams render cleanly",
   "memory": "diagram files in git",
   "built_from": [
    "softaworks--mermaid-diagrams"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "message-delivery-funnel-loop",
   "name": "Message delivery funnel loop",
   "outcome": "Delivery drops get caught early.",
   "summary": "Every morning the agent runs the MDR funnel script on yesterday's Sent export, splits results by channel and direction, and checks webhook health before naming a cause. It ends with one diagnosis and next step, and logs each day's rates as the baseline.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/sentdm/messaging-performance-analyzer",
   "md": "https://gethabit.dev/skills/sentdm/messaging-performance-analyzer.md",
   "trigger": "daily delivery report",
   "verification": "funnel script exit code",
   "memory": "daily funnel baseline",
   "built_from": [
    "sentdm--messaging-performance-analyzer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mintlify-docs-check-loop",
   "name": "Mintlify docs check loop",
   "outcome": "Docs pages that validate cleanly.",
   "summary": "When a pull request changes Mintlify docs, your agent reads docs.json, runs mint validate and mint broken-links, checks code block language tags, alt text and navigation, fixes what it caused, and publishes only when you ask.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/mintlify/mintlify",
   "md": "https://gethabit.dev/skills/mintlify/mintlify.md",
   "trigger": "PR changes docs",
   "verification": "validate passes + your OK",
   "memory": "product brief",
   "built_from": [
    "mintlify--mintlify"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "modding-field-note-loop",
   "name": "Modding field note loop",
   "outcome": "Every modding session leaves a note.",
   "summary": "Before modding, your agent searches the shared knowledge base. During work it keeps MODLOG.md. At the end it turns the journal into a field note, runs um kb check and, with your OK, opens a pull request so the next agent benefits.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/rehan-remade/share-field-notes",
   "md": "https://gethabit.dev/skills/rehan-remade/share-field-notes.md",
   "trigger": "modding session ends",
   "verification": "kb check, your OK",
   "memory": "mod journal",
   "built_from": [
    "rehan-remade--share-field-notes"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mongodb-pool-tuning-loop",
   "name": "MongoDB pool tuning loop",
   "outcome": "Size MongoDB connection pools from evidence.",
   "summary": "When client setup changes or connection errors appear, your agent asks about deployment, workload and concurrency one question at a time, picks the matching scenario, sets pool and timeout values with a reason for each, and checks total connections against server limits.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/mongodb/mongodb-connection",
   "md": "https://gethabit.dev/skills/mongodb/mongodb-connection.md",
   "trigger": "connection code or errors",
   "verification": "sizing checks pass",
   "memory": "pool settings log",
   "built_from": [
    "mongodb--mongodb-connection"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mongodb-report-query-loop",
   "name": "MongoDB report query loop",
   "outcome": "Recurring data questions answered read-only.",
   "summary": "Each week your agent answers your saved data questions against MongoDB: it fetches indexes, schema and a few sample documents through the MongoDB MCP server, validates fields, writes a find query or aggregation and notes missing indexes. Queries stay read-only and are logged.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/mongodb/mongodb-natural-language-querying",
   "md": "https://gethabit.dev/skills/mongodb/mongodb-natural-language-querying.md",
   "trigger": "weekly data questions",
   "verification": "fields validated, read-only",
   "memory": "saved query log",
   "built_from": [
    "mongodb--mongodb-natural-language-querying"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mongodb-slow-query-loop",
   "name": "MongoDB slow query loop",
   "outcome": "Suggest indexes for slow queries.",
   "summary": "Each week your agent pulls slow query logs and index suggestions from Atlas Performance Advisor, checks the worst queries with explain and collection-indexes, and suggests indexes. You approve before any index is created. A board keeps suggestions.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/mongodb/mongodb-query-optimizer",
   "md": "https://gethabit.dev/skills/mongodb/mongodb-query-optimizer.md",
   "trigger": "weekly slow query review",
   "verification": "explain check, your approval",
   "memory": "index suggestion board",
   "built_from": [
    "mongodb--mongodb-query-optimizer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "seo-audit-loop",
   "name": "Monthly SEO audit loop",
   "outcome": "SEO issues found and ranked.",
   "summary": "Each month your agent audits your site in a fixed order: crawlability, technical foundations, on-page, content quality, then authority. It writes each issue with impact, evidence, fix and priority, and the run log marks every earlier finding as fixed, open or back.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/coreyhaines31/seo-audit",
   "md": "https://gethabit.dev/skills/coreyhaines31/seo-audit.md",
   "trigger": "first of the month",
   "verification": "checks pass, you confirm",
   "memory": "dated findings log",
   "built_from": [
    "coreyhaines31--seo-audit"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "motion-audit-loop",
   "name": "Motion audit loop",
   "outcome": "Motion reviewed on every UI change.",
   "summary": "When a pull request changes UI animations, your agent runs design motion principles in Audit mode, weights the three lenses by project type, checks reduced motion support and writes the HTML report. A log keeps past findings.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/kylezantos/design-motion-principles",
   "md": "https://gethabit.dev/skills/kylezantos/design-motion-principles.md",
   "trigger": "PR touches UI motion",
   "verification": "reduced motion and report",
   "memory": "motion audit log",
   "built_from": [
    "kylezantos--design-motion-principles"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "improve-animations-loop",
   "name": "Motion audit plan loop",
   "outcome": "Ranked motion fixes, ready to execute.",
   "summary": "Each month your agent maps the motion in your codebase, audits it across eight categories, vets every finding at its file:line, and writes self-contained plans into plans/. The reconcile pass marks done plans and refreshes stale references. Source code is never changed.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/emilkowalski/improve-animations",
   "md": "https://gethabit.dev/skills/emilkowalski/improve-animations.md",
   "trigger": "monthly motion audit",
   "verification": "read-only, you pick plans",
   "memory": "plans README board",
   "built_from": [
    "emilkowalski--improve-animations"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "motion-consistency-loop",
   "name": "Motion consistency loop",
   "outcome": "Every shot follows one motion language.",
   "summary": "When a new shot or cut is ready, the agent audits it against the project's motion-language spec: one easing family, durations on the base unit, one transition family, one hero per frame. It records pass or fail per shot in the spec file.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/iart-ai/motion-art-direction",
   "md": "https://gethabit.dev/skills/iart-ai/motion-art-direction.md",
   "trigger": "new shot ready",
   "verification": "per-shot consistency audit",
   "memory": "motion-language spec",
   "built_from": [
    "iart-ai--motion-art-direction"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "review-animations-loop",
   "name": "Motion review loop",
   "outcome": "Every animation earns its place.",
   "summary": "When a pull request changes motion code, your agent checks each animation against ten standards and returns a Before, After, Why table with a Block or Approve verdict.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/emilkowalski/review-animations",
   "md": "https://gethabit.dev/skills/emilkowalski/review-animations.md",
   "trigger": "PR changes motion code",
   "verification": "Block or Approve verdict",
   "memory": "motion findings log",
   "built_from": [
    "emilkowalski--review-animations"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "motion-timing-review-loop",
   "name": "Motion timing review loop",
   "outcome": "Motion never feels stiff again.",
   "summary": "When an animation change lands, your agent reviews its timing, easing, stagger and weight: no linear on discrete events, durations matched to element size, stagger capped. It hands back concrete numbers. Accepted values stay in a motion notes file.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/iart-ai/animation-principles",
   "md": "https://gethabit.dev/skills/iart-ai/animation-principles.md",
   "trigger": "animation change submitted",
   "verification": "timing rules + critic",
   "memory": "motion notes",
   "built_from": [
    "iart-ai--animation-principles"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "mysql-change-review-loop",
   "name": "MySQL change review loop",
   "outcome": "Safe, measured MySQL changes.",
   "summary": "When a pull request touches MySQL schema, indexes or queries, your agent defines the workload, reads only the matching references, proposes the smallest change, backs it with EXPLAIN evidence and adds rollback steps. Destructive operations wait for a human yes.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/planetscale/mysql",
   "md": "https://gethabit.dev/skills/planetscale/mysql.md",
   "trigger": "PR changes SQL",
   "verification": "EXPLAIN evidence, human yes",
   "memory": "review notes",
   "built_from": [
    "planetscale--mysql"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "n8n-secret-audit-loop",
   "name": "n8n secret audit loop",
   "outcome": "No secrets hardcoded in workflows.",
   "summary": "Each week your agent scans n8n workflows for tokens in header fields, Set nodes or $vars, lists matching credentials with list_credentials, binds them by ID with setNodeCredential, asks you when several match, and names the exact credential type to create.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/n8n-io/n8n-credentials-and-security-official",
   "md": "https://gethabit.dev/skills/n8n-io/n8n-credentials-and-security-official.md",
   "trigger": "weekly secret scan",
   "verification": "no plain-text secrets left",
   "memory": "secret audit log",
   "built_from": [
    "n8n-io--n8n-credentials-and-security-official"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "n8n-workflow-ship-loop",
   "name": "n8n workflow ship loop",
   "outcome": "n8n workflows shipped only after testing.",
   "summary": "For every new or changed n8n workflow, your agent plans, builds, runs validate_workflow, checks connections with get_workflow_details, has you confirm credentials, tests with pinned data and only then publishes and writes a handoff. A log keeps handoffs.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/n8n-io/n8n-workflow-lifecycle-official",
   "md": "https://gethabit.dev/skills/n8n-io/n8n-workflow-lifecycle-official.md",
   "trigger": "workflow request arrives",
   "verification": "validate, verify, test, then publish",
   "memory": "workflow handoff log",
   "built_from": [
    "n8n-io--n8n-workflow-lifecycle-official"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "name-drift-audit-loop",
   "name": "Name drift audit loop",
   "outcome": "Names keep matching what code does.",
   "summary": "Each week your agent runs indexion identity audit, treats each row as a candidate, verifies it with doc graph, grep and rg, and makes the smallest confirmed rename, move or split. Tests must pass, and the JSON report keeps the queue for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/trkbt10/indexion-identity",
   "md": "https://gethabit.dev/skills/trkbt10/indexion-identity.md",
   "trigger": "weekly name drift audit",
   "verification": "moon test + re-audit",
   "memory": "identity report queue",
   "built_from": [
    "trkbt10--indexion-identity"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nanobanana-image-loop",
   "name": "Nano Banana image loop",
   "outcome": "Fresh images from every prompt.",
   "summary": "When a new image prompt lands, your agent checks the request with --dry-run, then runs scripts/nanobanana.py generate or batch. A hard check confirms every image file exists, and a log keeps prompts, models and options.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/gargantuax/nanobanana",
   "md": "https://gethabit.dev/skills/gargantuax/nanobanana.md",
   "trigger": "new image prompt added",
   "verification": "dry run + files exist",
   "memory": "prompt and model log",
   "built_from": [
    "gargantuax--nanobanana"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "native-screen-polish-loop",
   "name": "Native screen polish loop",
   "outcome": "Every mobile screen meets native quality.",
   "summary": "For each new or changed mobile screen, your agent studies reference screens, builds with Expo, runs the slop pre-flight counts, then verifies in the simulator with screenshots and a full-motion recording. It repeats until no defect is found and logs the definition-of-done checklist.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/appllama/appllama-app-design-skill",
   "md": "https://gethabit.dev/skills/appllama/appllama-app-design-skill.md",
   "trigger": "screen added or changed",
   "verification": "slop counts + simulator",
   "memory": "screen checklist log",
   "built_from": [
    "appllama--appllama-app-design-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nature-figure-qa-loop",
   "name": "Nature figure QA loop",
   "outcome": "Every figure passes QA before delivery.",
   "summary": "Whenever a manuscript figure script changes, your agent re-renders it in the chosen backend, then runs the panel alignment, source validation, PDF text and collision audits. A failed gate blocks delivery, and a log keeps the audit results.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/yuan1z0825/nature-figure",
   "md": "https://gethabit.dev/skills/yuan1z0825/nature-figure.md",
   "trigger": "Figure script changes",
   "verification": "audits pass, you review",
   "memory": "figure audit log",
   "built_from": [
    "yuan1z0825--nature-figure"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "neon-branch-per-pr-loop",
   "name": "Neon branch per PR loop",
   "outcome": "Each PR gets its own database.",
   "summary": "When a pull request opens, your agent picks a normal or schema-only Neon branch, creates it with an expiry using the Neon CLI and validates it. It asks before touching your .env, and logs each branch so the run on close can clean it up.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/neondatabase/neon-postgres-branches",
   "md": "https://gethabit.dev/skills/neondatabase/neon-postgres-branches.md",
   "trigger": "pull request opened",
   "verification": "branch exists + your OK",
   "memory": "branches per PR",
   "built_from": [
    "neondatabase--neon-postgres-branches"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "neon-function-deploy-check-loop",
   "name": "Neon function deploy check loop",
   "outcome": "Functions deploy locked down.",
   "summary": "When neon.ts or function code changes, your agent plans and deploys the Neon Functions on the branch, then checks that the public URL rejects callers without a valid token, that the pg pool is attached, and logs the result.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/neondatabase/neon-functions",
   "md": "https://gethabit.dev/skills/neondatabase/neon-functions.md",
   "trigger": "function code changed",
   "verification": "auth holds after deploy",
   "memory": "deploy check log",
   "built_from": [
    "neondatabase--neon-functions"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "netlify-config-review-loop",
   "name": "Netlify config review loop",
   "outcome": "Netlify config changes ship without surprises.",
   "summary": "When netlify.toml, _redirects or _headers change, your agent checks them against the skill's rules: rule order, splat placement, scoped env vars, secrets and headers, and fixes problems. A run log keeps findings per change.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/netlify/netlify-config",
   "md": "https://gethabit.dev/skills/netlify/netlify-config.md",
   "trigger": "netlify config changes",
   "verification": "config rules hold",
   "memory": "config findings log",
   "built_from": [
    "netlify--netlify-config"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "netlify-edge-function-check-loop",
   "name": "Netlify edge function check loop",
   "outcome": "No silent edge functions ship.",
   "summary": "When a pull request changes netlify/edge-functions, your agent checks every function for a route, both caching parts, env access through Netlify.env.get and no duplicate .ts and .js names. A notes file keeps the footguns found before.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/netlify/netlify-edge-functions",
   "md": "https://gethabit.dev/skills/netlify/netlify-edge-functions.md",
   "trigger": "edge function file changed",
   "verification": "every function has route",
   "memory": "edge footgun notes",
   "built_from": [
    "netlify--netlify-edge-functions"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "netlify-forms-check-loop",
   "name": "Netlify forms check loop",
   "outcome": "Every form still gets submissions.",
   "summary": "When a pull request changes a form, your agent checks unique form names, the public/__forms.html skeleton with matching fields, URL-encoded AJAX bodies and extensionless action paths. A notes file keeps the forms and fields already registered.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/netlify/netlify-forms",
   "md": "https://gethabit.dev/skills/netlify/netlify-forms.md",
   "trigger": "form markup changed",
   "verification": "skeleton matches every form",
   "memory": "registered forms list",
   "built_from": [
    "netlify--netlify-forms"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "next-instant-route-loop",
   "name": "Next instant route loop",
   "outcome": "One more route paints instantly.",
   "summary": "Per run your agent picks one Next.js route and entry point, writes a failing instant() test on a production build, applies the matching static shell fix until it passes, proves it with a revert differential and ships the test as a guard.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/vercel/next-cache-components-optimizer",
   "md": "https://gethabit.dev/skills/vercel/next-cache-components-optimizer.md",
   "trigger": "route picked for optimizing",
   "verification": "RED then GREEN, differential",
   "memory": "instant-nav rig file",
   "built_from": [
    "vercel--next-cache-components-optimizer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nextjs-cache-audit-loop",
   "name": "Next.js cache audit loop",
   "outcome": "Cache tags and invalidation stay correct.",
   "summary": "On every pull request that touches data or actions, your agent runs scripts/audit.mjs, walks the common cache mistakes and checks that tags live in lib/cache/tags.ts and updateTag only in lib/cache/revalidate.ts. next build runs last, and a log keeps open issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mohamed-hossam1/nextjs-cache-architecture",
   "md": "https://gethabit.dev/skills/mohamed-hossam1/nextjs-cache-architecture.md",
   "trigger": "data or action change",
   "verification": "audit script + build",
   "memory": "cache issue log",
   "built_from": [
    "mohamed-hossam1--nextjs-cache-architecture"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nextjs-seo-audit-loop",
   "name": "Next.js SEO audit loop",
   "outcome": "Next.js pages stay indexable.",
   "summary": "Each week your agent audits public Next.js routes: status codes, canonicals, metadata with the production metadataBase, sitemap and robots, structured data that matches visible content, and field Core Web Vitals. A run log keeps the evidence per route.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/laguagu/nextjs-seo",
   "md": "https://gethabit.dev/skills/laguagu/nextjs-seo.md",
   "trigger": "weekly SEO audit",
   "verification": "production HTML checks pass",
   "memory": "route evidence log",
   "built_from": [
    "laguagu--nextjs-seo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "no-mistakes-gate-loop",
   "name": "no-mistakes gate loop",
   "outcome": "Ship branches only through the gate.",
   "summary": "For every finished task, your agent commits on a feature branch, runs no-mistakes axi run with full intent, answers each gate (fixing auto-fix findings, escalating ask-user ones to you) until an outcome, then summarizes what was validated and fixed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/kunchenguid/no-mistakes",
   "md": "https://gethabit.dev/skills/kunchenguid/no-mistakes.md",
   "trigger": "task committed on branch",
   "verification": "pipeline outcome, your calls",
   "memory": "pipeline outcome log",
   "built_from": [
    "kunchenguid--no-mistakes"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nodejs-core-commit-loop",
   "name": "Node.js core commit loop",
   "outcome": "Commits that pass CI first.",
   "summary": "Before each commit in a nodejs/node checkout, your agent rebuilds, runs make lint, formats C++ from the merge base, signs off and validates the message with core-validate-commit. It keeps your build setup for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mcollina/nodejs-core",
   "md": "https://gethabit.dev/skills/mcollina/nodejs-core.md",
   "trigger": "before each commit",
   "verification": "lint and commit validation",
   "memory": "build setup notes",
   "built_from": [
    "mcollina--nodejs-core"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "notebooklm-briefing-loop",
   "name": "NotebookLM briefing loop",
   "outcome": "Weekly sources become one briefing.",
   "summary": "Once a week, your agent adds new sources to a Gemini Notebook through the notebooklm CLI, waits until each is ready, then asks a grounded question or generates an artifact after your OK. Hard checks gate on auth, ready sources and a completed artifact; a board keeps every ID.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/teng-lin/notebooklm",
   "md": "https://gethabit.dev/skills/teng-lin/notebooklm.md",
   "trigger": "weekly source briefing",
   "verification": "ready gates and your OK",
   "memory": "notebook IDs and sources",
   "built_from": [
    "teng-lin--notebooklm"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nx-generate-verify-loop",
   "name": "Nx generate verify loop",
   "outcome": "Scaffolded code that passes checks.",
   "summary": "When you need a new library or app, your agent finds the right Nx generator, reads its source, dry-runs it, generates, formats, then runs build, lint, test and typecheck. A run log keeps which generators and options were used.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/nrwl/nx-generate",
   "md": "https://gethabit.dev/skills/nrwl/nx-generate.md",
   "trigger": "you ask to scaffold",
   "verification": "format and target checks",
   "memory": "generator usage log",
   "built_from": [
    "nrwl--nx-generate"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "nx-workspace-map-loop",
   "name": "Nx workspace map loop",
   "outcome": "A current map of your monorepo.",
   "summary": "Every week your agent reads the Nx workspace with nx show projects --json, nx show project --json and nx graph --print, then writes a map of projects, targets and dependencies. It compares the map with last week's and notes what changed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/nrwl/nx-workspace",
   "md": "https://gethabit.dev/skills/nrwl/nx-workspace.md",
   "trigger": "every Monday",
   "verification": "counts match the graph",
   "memory": "last workspace map",
   "built_from": [
    "nrwl--nx-workspace"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "object-storage-setup-loop",
   "name": "Object storage setup loop",
   "outcome": "File uploads keep working.",
   "summary": "When the backend or frontend of a Caffeine app changes, your agent checks the four required object storage setup steps, looks for hand-written storage methods and Text file fields, and keeps a log of past findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/caffeinelabs/extension-object-storage",
   "md": "https://gethabit.dev/skills/caffeinelabs/extension-object-storage.md",
   "trigger": "backend or frontend changed",
   "verification": "four setup steps present",
   "memory": "storage check log",
   "built_from": [
    "caffeinelabs--extension-object-storage"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "obsidian-note-tidy-loop",
   "name": "Obsidian note tidy loop",
   "outcome": "New notes use clean Obsidian syntax.",
   "summary": "Each evening your agent checks the notes you changed today: frontmatter properties, wikilinks for vault notes, embeds, callouts and tags. A hard check needs every wikilink to point to a note that exists. A run log keeps notes that still need a fix.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/kepano/obsidian-markdown",
   "md": "https://gethabit.dev/skills/kepano/obsidian-markdown.md",
   "trigger": "evening note check",
   "verification": "links resolve, frontmatter present",
   "memory": "notes needing fixes",
   "built_from": [
    "kepano--obsidian-markdown"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "obsidian-vault-cli-loop",
   "name": "Obsidian vault CLI loop",
   "outcome": "Notes managed without opening Obsidian.",
   "summary": "On demand, your agent manages an Obsidian vault through the Local REST API: it checks the server, lists, reads, creates, updates or searches notes, all with JSON output. A run log keeps which notes were touched.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/hkuds/cli-anything-obsidian",
   "md": "https://gethabit.dev/skills/hkuds/cli-anything-obsidian.md",
   "trigger": "You ask for note task",
   "verification": "server up and note written",
   "memory": "touched notes log",
   "built_from": [
    "hkuds--cli-anything-obsidian"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ocr-delegated-review-loop",
   "name": "OCR delegated review loop",
   "outcome": "Review every changed file, report coverage.",
   "summary": "On each pull request, your agent runs ocr delegate preview to pick reviewable files, ocr delegate rule for their rules, reads each diff with git, reviews every file against its rule group and reports findings by severity with full coverage numbers.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/alibaba/open-code-review-delegate",
   "md": "https://gethabit.dev/skills/alibaba/open-code-review-delegate.md",
   "trigger": "pull request opened",
   "verification": "full coverage check",
   "memory": "review coverage log",
   "built_from": [
    "alibaba--open-code-review-delegate"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "okf-bundle-upkeep-loop",
   "name": "OKF bundle upkeep loop",
   "outcome": "Knowledge bundle stays conformant.",
   "summary": "Every week your agent reads your Open Knowledge Format bundle from the root index.md, fixes frontmatter and provenance against the OKF v0.2 rules, clears okf plugin warnings and adds a dated log.md entry for each durable change.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/inkeep/okf-knowledge-base",
   "md": "https://gethabit.dev/skills/inkeep/okf-knowledge-base.md",
   "trigger": "weekly bundle check",
   "verification": "okf lint is clean",
   "memory": "bundle log.md",
   "built_from": [
    "inkeep--okf-knowledge-base"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "okx-bot-watch-loop",
   "name": "OKX bot watch loop",
   "outcome": "Your OKX bots, checked daily.",
   "summary": "Each morning your agent lists your running Grid, DCA and Smart Portfolio bots on OKX with the okx CLI, reads details and P&L, and logs them. Any change you want, like a stop or amend, waits for your OK and is verified after.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/okx/okx-cex-bot",
   "md": "https://gethabit.dev/skills/okx/okx-cex-bot.md",
   "trigger": "every morning",
   "verification": "list after every write",
   "memory": "bot P&L log",
   "built_from": [
    "okx--okx-cex-bot"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "okx-market-snapshot-loop",
   "name": "OKX market snapshot loop",
   "outcome": "Log a daily market snapshot.",
   "summary": "Every morning your agent runs read-only okx market commands: a screener with okx market filter, an open interest scan with okx market oi-change and indicators for your watchlist. It logs raw values only, with no advice, and the next run compares against the log.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/okx/okx-cex-market",
   "md": "https://gethabit.dev/skills/okx/okx-cex-market.md",
   "trigger": "every morning",
   "verification": "data returned, range confirmed",
   "memory": "daily snapshot log",
   "built_from": [
    "okx--okx-cex-market"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "okx-portfolio-snapshot-loop",
   "name": "OKX portfolio snapshot loop",
   "outcome": "Know your exchange balances daily.",
   "summary": "Each morning your agent checks OKX credentials, asks live or demo if unclear, then takes a read-only snapshot with okx account balance-all, open positions and closed PnL. It flags partial failures and keeps a dated log for comparison.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/okx/okx-cex-portfolio",
   "md": "https://gethabit.dev/skills/okx/okx-cex-portfolio.md",
   "trigger": "every morning at seven",
   "verification": "snapshot complete, mode tagged",
   "memory": "dated snapshot log",
   "built_from": [
    "okx--okx-cex-portfolio"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "okx-skill-verify-loop",
   "name": "OKX skill verify loop",
   "outcome": "Installed skills stay verified.",
   "summary": "Runs weekly. Your agent lists installed marketplace skills with okx skill list, re-verifies each signature with okx skill verify, checks for updates with okx skill check, and notes failures in the run log.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/okx/okx-cex-skill-mp",
   "md": "https://gethabit.dev/skills/okx/okx-cex-skill-mp.md",
   "trigger": "weekly skill check",
   "verification": "signatures verified",
   "memory": "skill registry",
   "built_from": [
    "okx--okx-cex-skill-mp"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "onboarding-guide-refresh-loop",
   "name": "Onboarding guide refresh loop",
   "outcome": "Onboarding guide matches the code.",
   "summary": "After the knowledge graph is refreshed, your agent rebuilds the onboarding guide from its project data, layers, tour and file nodes, flags complexity hotspots and offers to save it to docs/UA_ONBOARDING.md. You approve the save and commit.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/egonex-ai/understand-onboard",
   "md": "https://gethabit.dev/skills/egonex-ai/understand-onboard.md",
   "trigger": "graph refreshed",
   "verification": "sections check, you approve",
   "memory": "guide history in git",
   "built_from": [
    "egonex-ai--understand-onboard"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "openai-agents-test-loop",
   "name": "OpenAI Agents SDK test loop",
   "outcome": "Agent changes verified offline first.",
   "summary": "On every pull request that touches agents code, your agent reads the installed openai-agents version, checks tools, history and approval paths, and runs offline orchestration tests with ScriptedModel and tracing disabled. A log keeps the SDK version and results.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/laguagu/openai-agents-sdk",
   "md": "https://gethabit.dev/skills/laguagu/openai-agents-sdk.md",
   "trigger": "agents code changes",
   "verification": "offline tests pass",
   "memory": "sdk test log",
   "built_from": [
    "laguagu--openai-agents-sdk"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "opencli-adapter-repair-loop",
   "name": "OpenCLI adapter repair loop",
   "outcome": "Broken site adapters get fixed fast.",
   "summary": "Every night your agent runs opencli adapter test on your read adapters. When one fails, it gathers browser and network evidence, repairs the adapter, and re-runs check, test, typecheck and build. It logs failures and fixes per adapter.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/jackwener/opencli-adapter-author",
   "md": "https://gethabit.dev/skills/jackwener/opencli-adapter-author.md",
   "trigger": "nightly adapter test",
   "verification": "check, test, build pass",
   "memory": "adapter failures and fixes",
   "built_from": [
    "jackwener--opencli-adapter-author"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "opencli-autofix-loop",
   "name": "OpenCLI autofix loop",
   "outcome": "Broken adapters fixed and retried.",
   "summary": "When an opencli command fails, your agent collects a failure trace, rules out a soft block, patches only the adapter source, retries, and files an upstream issue after a verified fix. It stops on auth or captcha errors and after three repair rounds.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/jackwener/opencli-autofix",
   "md": "https://gethabit.dev/skills/jackwener/opencli-autofix.md",
   "trigger": "opencli command fails",
   "verification": "retry passes",
   "memory": "repair notes",
   "built_from": [
    "jackwener--opencli-autofix"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "opencli-topic-watch-loop",
   "name": "OpenCLI topic watch loop",
   "outcome": "A fresh topic digest, sources logged.",
   "summary": "Every morning your agent checks a saved topic with opencli: it confirms live sites, asks one AI source, adds one or two specialist sources if needed, and ends with a search summary. A call ledger keeps every site under its call limit.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/jackwener/smart-search",
   "md": "https://gethabit.dev/skills/jackwener/smart-search.md",
   "trigger": "every morning",
   "verification": "ledger within limits",
   "memory": "call ledger and digests",
   "built_from": [
    "jackwener--smart-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "openspec-bulk-archive-loop",
   "name": "OpenSpec bulk archive loop",
   "outcome": "Clear finished changes in batches.",
   "summary": "At the end of each sprint your agent lists active OpenSpec changes, lets you pick which to archive, checks status and spec conflicts against the codebase, asks one confirmation, then syncs, verifies and archives each change.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/fission-ai/openspec-bulk-archive-change",
   "md": "https://gethabit.dev/skills/fission-ai/openspec-bulk-archive-change.md",
   "trigger": "end of sprint",
   "verification": "you confirm the batch",
   "memory": "archive folder",
   "built_from": [
    "fission-ai--openspec-bulk-archive-change"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "otel-pipeline-check-loop",
   "name": "OpenTelemetry pipeline check loop",
   "outcome": "Know telemetry still reaches Grafana.",
   "summary": "Each day your agent smoke-tests the Grafana Cloud OTLP endpoint with an empty POST expecting 400, checks Alloy forwarded spans on its metrics page, and confirms traces and metrics for each service in Explore. A log keeps results and auth errors.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/grafana/opentelemetry",
   "md": "https://gethabit.dev/skills/grafana/opentelemetry.md",
   "trigger": "daily telemetry check",
   "verification": "OTLP and span checks",
   "memory": "telemetry check log",
   "built_from": [
    "grafana--opentelemetry"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "owasp-pr-audit-loop",
   "name": "OWASP PR audit loop",
   "outcome": "Security flaws caught before deploy.",
   "summary": "On each pull request, your agent audits the changed code against 20 OWASP-based rules by priority, from access control and injection to headers and rate limits, and reports each finding with severity, file, impact and a code fix. It tracks open criticals.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/sergiodxa/owasp-security-check",
   "md": "https://gethabit.dev/skills/sergiodxa/owasp-security-check.md",
   "trigger": "pull request opened",
   "verification": "findings in full format",
   "memory": "security findings log",
   "built_from": [
    "sergiodxa--owasp-security-check"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "page-change-archive-loop",
   "name": "Page change archive loop",
   "outcome": "Watched page changes preserved as evidence.",
   "summary": "Each week your agent queries the Wayback CDX API with collapse=digest for each watched URL, fetches new versions raw with id_, diffs them as text, submits the live page to Save Page Now and archive.today and keeps a hashed WARC copy.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/useosint/read-deleted-pages",
   "md": "https://gethabit.dev/skills/useosint/read-deleted-pages.md",
   "trigger": "weekly archive check",
   "verification": "captures hashed and logged",
   "memory": "watched URLs and digests",
   "built_from": [
    "useosint--read-deleted-pages"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "copywriting-loop",
   "name": "Page copy loop",
   "outcome": "Clear copy without AI tells.",
   "summary": "When a page needs copy, your agent reads your product marketing file and its learnings log, then drafts unit by unit. Every line passes the three-question gate and the AI-tell check. After your OK, the chosen angle and declined claims go into the log.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/coreyhaines31/copywriting",
   "md": "https://gethabit.dev/skills/coreyhaines31/copywriting.md",
   "trigger": "copy brief opened",
   "verification": "AI-tell scan + your OK",
   "memory": "copy learnings log",
   "built_from": [
    "coreyhaines31--copywriting"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "page-metadata-audit-loop",
   "name": "Page metadata audit loop",
   "outcome": "Every new page ships correct metadata.",
   "summary": "When a pull request adds or changes pages, your agent audits titles, descriptions, canonical URLs, Open Graph, Twitter cards, icons and JSON-LD by the skill's priority list. It fixes critical issues first with a metadata-only diff and logs what it changed.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/ibelick/fixing-metadata",
   "md": "https://gethabit.dev/skills/ibelick/fixing-metadata.md",
   "trigger": "PR changes pages",
   "verification": "no duplicates, tags agree",
   "memory": "metadata issues per page",
   "built_from": [
    "ibelick--fixing-metadata"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "audit-speed-loop",
   "name": "Page speed audit loop",
   "outcome": "Core Web Vitals checked every week.",
   "summary": "Each week your agent audits key pages for LCP, CLS, INP, FCP and TTFB, walks the root-cause trees for failing metrics, breaks down page weight and writes priority fixes. A run log keeps last week's values so regressions show up.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/calm-north/audit-speed",
   "md": "https://gethabit.dev/skills/calm-north/audit-speed.md",
   "trigger": "weekly speed audit",
   "verification": "metrics rated, fixes listed",
   "memory": "weekly vitals log",
   "built_from": [
    "calm-north--audit-speed"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "page-watch-extract-loop",
   "name": "Page watch extract loop",
   "outcome": "Know when watched pages change.",
   "summary": "Every week your agent extracts a fixed list of URLs with parallel-cli extract, saves the JSON, compares it with last week's copy and reports what changed. Failed URLs are named with their reason, and the log keeps each snapshot path.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/parallel-web/parallel-web-extract",
   "md": "https://gethabit.dev/skills/parallel-web/parallel-web-extract.md",
   "trigger": "every Monday morning",
   "verification": "JSON saved, errors named",
   "memory": "snapshots and changes",
   "built_from": [
    "parallel-web--parallel-web-extract"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "paper-citation-check-loop",
   "name": "Paper citation check loop",
   "outcome": "No unverified citation reaches submission.",
   "summary": "On every push to a paper repo, your agent compiles the draft with latexmk, checks each citation against Semantic Scholar and a second source, fetches BibTeX by DOI and marks anything unverified as a placeholder. A log keeps verified and open citations.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/orchestra-research/ml-paper-writing",
   "md": "https://gethabit.dev/skills/orchestra-research/ml-paper-writing.md",
   "trigger": "push to paper repo",
   "verification": "compiles, citations all verified",
   "memory": "citation status log",
   "built_from": [
    "orchestra-research--ml-paper-writing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "paper-figure-refresh-loop",
   "name": "Paper figure refresh loop",
   "outcome": "Paper figures rebuilt from latest results.",
   "summary": "When experiment results change, your agent picks the chart type from the data, rebuilds each data figure with matplotlib or seaborn using a saved script and exports PDF and PNG. Diagrams go through Gemini with three attempts.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/orchestra-research/academic-plotting",
   "md": "https://gethabit.dev/skills/orchestra-research/academic-plotting.md",
   "trigger": "results file changes",
   "verification": "figures and scripts exist",
   "memory": "figure scripts folder",
   "built_from": [
    "orchestra-research--academic-plotting"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "paper-section-revision-loop",
   "name": "Paper section revision loop",
   "outcome": "One paper section clearer each pass.",
   "summary": "Each writing session your agent takes the next section, loads only its guide, outlines it, rewrites paragraph by paragraph with one message each, runs reverse outlining and builds a claim-evidence map. A board tracks sections and open claims.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/master-cai/research-paper-writing",
   "md": "https://gethabit.dev/skills/master-cai/research-paper-writing.md",
   "trigger": "next section to revise",
   "verification": "claims mapped, review done",
   "memory": "section revision board",
   "built_from": [
    "master-cai--research-paper-writing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "paperclip-design-guide-sync-loop",
   "name": "Paperclip design guide sync loop",
   "outcome": "Keep components and design guide synced.",
   "summary": "When UI components change, your agent checks the Paperclip rules: semantic tokens, the typography scale, StatusBadge and StatusIcon for status colors, minimal shadows and radii, and that every new or changed component appears on the /design-guide page and in the component index.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/paperclipai/design-guide",
   "md": "https://gethabit.dev/skills/paperclipai/design-guide.md",
   "trigger": "UI components change",
   "verification": "design rules and guide",
   "memory": "design guide page",
   "built_from": [
    "paperclipai--design-guide"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "paperclip-hire-loop",
   "name": "Paperclip hire loop",
   "outcome": "A reviewed hire request, submitted.",
   "summary": "When a hire is requested in Paperclip, your agent checks its hiring permission, studies adapter options and existing configs, drafts the new agent, walks the draft-review checklist and submits it. Then it follows the approval and closes linked issues.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/paperclipai/paperclip-create-agent",
   "md": "https://gethabit.dev/skills/paperclipai/paperclip-create-agent.md",
   "trigger": "hire task assigned",
   "verification": "checklist plus board approval",
   "memory": "hire log",
   "built_from": [
    "paperclipai--paperclip-create-agent"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "paperclip-plugin-loop",
   "name": "Paperclip plugin loop",
   "outcome": "Plugin builds, tests and installs.",
   "summary": "Runs on each change to an external Paperclip plugin. Your agent rebuilds, runs typecheck, tests and build, checks the install status with paperclipai plugin list, and keeps a success checklist for the next run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/paperclipai/paperclip-create-plugin",
   "md": "https://gethabit.dev/skills/paperclipai/paperclip-create-plugin.md",
   "trigger": "plugin code changed",
   "verification": "typecheck, tests, build",
   "memory": "success checklist",
   "built_from": [
    "paperclipai--paperclip-create-plugin"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "para-memory-weekly-loop",
   "name": "PARA memory weekly loop",
   "outcome": "Keep agent memory sorted weekly.",
   "summary": "Each week your agent moves durable facts from daily notes into PARA entity files, rewrites each summary.md from active facts, archives inactive entities and re-indexes with qmd. Superseded facts stay, so nothing is lost.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/paperclipai/para-memory-files",
   "md": "https://gethabit.dev/skills/paperclipai/para-memory-files.md",
   "trigger": "weekly memory synthesis",
   "verification": "files and index check",
   "memory": "PARA knowledge graph",
   "built_from": [
    "paperclipai--para-memory-files"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "parallel-web-search-loop",
   "name": "Parallel web search loop",
   "outcome": "Cited web answers every morning.",
   "summary": "Each weekday morning your agent runs parallel-cli search on a saved question, keeps the full results as JSON, checks the exit status and warnings, and writes an answer where every claim links a source. The run log keeps past questions and file paths.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/parallel-web/parallel-web-search",
   "md": "https://gethabit.dev/skills/parallel-web/parallel-web-search.md",
   "trigger": "every weekday morning",
   "verification": "exit status and citations",
   "memory": "past questions and files",
   "built_from": [
    "parallel-web--parallel-web-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "payload-translations-loop",
   "name": "Payload translations loop",
   "outcome": "Every new key gets translated.",
   "summary": "When an English en.ts file in Payload core or a plugin changes, your agent adds needed client keys and runs the matching generateTranslations script from tools/scripts. A check confirms every new key now exists in all languages.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/payloadcms/generate-translations",
   "md": "https://gethabit.dev/skills/payloadcms/generate-translations.md",
   "trigger": "English keys change",
   "verification": "all languages have keys",
   "memory": "translation run log",
   "built_from": [
    "payloadcms--generate-translations"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pdf-text-extract-loop",
   "name": "PDF text extract loop",
   "outcome": "New PDFs turned into usable text.",
   "summary": "When a new PDF lands in your inbox folder, your agent extracts its text with pdftotext or PyMuPDF, falling back to OCR when extraction is empty, and writes a text file. It checks tools are installed first and processes large files page by page.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/shareai-lab/pdf",
   "md": "https://gethabit.dev/skills/shareai-lab/pdf.md",
   "trigger": "new PDF added",
   "verification": "text output non-empty",
   "memory": "extraction log",
   "built_from": [
    "shareai-lab--pdf"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "personal-assistant-brief-loop",
   "name": "Personal assistant brief loop",
   "outcome": "A daily plan from your profile.",
   "summary": "Each morning your agent loads your profile, tasks, schedule and context, lists today's and overdue tasks, flags clashes and suggests a plan that fits your goals. Once a month it runs cleanup. Your data stays in the skill's own files.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/ailabs-393/personal-assistant",
   "md": "https://gethabit.dev/skills/ailabs-393/personal-assistant.md",
   "trigger": "every weekday morning",
   "verification": "profile loaded, you confirm",
   "memory": "assistant profile and tasks",
   "built_from": [
    "ailabs-393--personal-assistant"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "perspective-refresh-loop",
   "name": "Perspective refresh loop",
   "outcome": "Perspective skills stay current.",
   "summary": "On a schedule, your agent picks a perspective skill made by huashu-nuwa, reads its research date, reruns only the conversation, decision and timeline research and adds new findings. quality_check.py must pass and you confirm the changes before they count.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/alchaincyf/huashu-nuwa",
   "md": "https://gethabit.dev/skills/alchaincyf/huashu-nuwa.md",
   "trigger": "monthly perspective refresh",
   "verification": "quality check + your OK",
   "memory": "research files",
   "built_from": [
    "alchaincyf--huashu-nuwa"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "php-audit-loop",
   "name": "PHP audit loop",
   "outcome": "PHP code checked against modern rules.",
   "summary": "When PHP changes, your agent detects the project's PHP version, then audits the code against the type, modern, PSR, SOLID, error, performance and security rules, and reports findings as file:line notes. A run log keeps prior findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/asyrafhussin/php-best-practices",
   "md": "https://gethabit.dev/skills/asyrafhussin/php-best-practices.md",
   "trigger": "PHP code changes",
   "verification": "version-aware findings",
   "memory": "audit findings log",
   "built_from": [
    "asyrafhussin--php-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pipeline-coverage-weekly-loop",
   "name": "Pipeline coverage weekly loop",
   "outcome": "Coverage gaps caught by week six.",
   "summary": "Every Monday your agent computes raw, weighted and adjusted pipeline coverage per segment, checks timing against each segment's point of no return and runs the gap math per rep. It asks you to approve targets and keeps the model for the next week.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/mbfinotti/sales-pipeline-coverage-modeling",
   "md": "https://gethabit.dev/skills/mbfinotti/sales-pipeline-coverage-modeling.md",
   "trigger": "Mondays at 08:00",
   "verification": "measurement checks, you approve",
   "memory": "coverage model record",
   "built_from": [
    "mbfinotti--sales-pipeline-coverage-modeling"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "plan-crafting-loop",
   "name": "Plan crafting loop",
   "outcome": "Approved specs become executable plans.",
   "summary": "When a spec is approved, your agent maps the files, writes bite-sized tasks with tests and commits, self-reviews for gaps and placeholders, runs cross-review if installed, saves the plan in docs/plans/ and asks you how to execute it.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/sentimony/plan-crafting",
   "md": "https://gethabit.dev/skills/sentimony/plan-crafting.md",
   "trigger": "spec approved",
   "verification": "plan checks, you choose",
   "memory": "plans folder",
   "built_from": [
    "sentimony--plan-crafting"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "plannotator-compound-loop",
   "name": "Plan denial review loop",
   "outcome": "Fewer denied plans each month.",
   "summary": "Once a month your agent reads every denied plan in your Plannotator archive since the last report, finds why you said no, and writes a new versioned HTML report plus corrective prompt instructions. The latest report date sets the cutoff for the next run.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/backnotprop/plannotator-compound",
   "md": "https://gethabit.dev/skills/backnotprop/plannotator-compound.md",
   "trigger": "first day each month",
   "verification": "file counts + your choices",
   "memory": "versioned reports and hook",
   "built_from": [
    "backnotprop--plannotator-compound"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "plan-file-tick-loop",
   "name": "Plan file tick loop",
   "outcome": "Long tasks finish, nothing forgotten.",
   "summary": "While a long task runs, your agent ticks every 10 minutes with planning-with-files: it re-reads task_plan.md and progress.md, runs check-complete.sh and logs progress. Errors go into the plan, and after three failed attempts it asks you.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/othmanadi/planning-with-files",
   "md": "https://gethabit.dev/skills/othmanadi/planning-with-files.md",
   "trigger": "every 10 minutes",
   "verification": "phases complete + escalation",
   "memory": "plan, findings, progress files",
   "built_from": [
    "othmanadi--planning-with-files"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "plan-grill-loop",
   "name": "Plan grill loop",
   "outcome": "Turn every idea into tickets.",
   "summary": "When an issue gets the label idea, your agent grills you about it with grill me, writes the spec with to spec and splits it into tickets with to tickets. A hard check makes sure the spec has acceptance criteria and every ticket links it.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/loops/plan-grill-loop",
   "md": "https://gethabit.dev/loops/plan-grill-loop.md",
   "trigger": "issue labelled idea",
   "verification": "you answer + spec check",
   "memory": "workflow notes",
   "built_from": [
    "mattpocock--grill-me",
    "mattpocock--to-spec",
    "mattpocock--to-tickets"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "planetscale-feature-gap-loop",
   "name": "PlanetScale feature gap loop",
   "outcome": "Find missing database safety features.",
   "summary": "Each quarter, your agent walks the PlanetScale best-practices matrix for your engine, marks each feature as applies yes, no or unknown with its current state, gap and measured value, and ends without changing anything.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/planetscale/planetscale-best-practices-matrix",
   "md": "https://gethabit.dev/skills/planetscale/planetscale-best-practices-matrix.md",
   "trigger": "quarterly database review",
   "verification": "matrix fully marked",
   "memory": "last matrix review",
   "built_from": [
    "planetscale--planetscale-best-practices-matrix"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "planetscale-recommendation-loop",
   "name": "PlanetScale recommendation loop",
   "outcome": "Schema fixes proposed, never auto-deployed.",
   "summary": "Each day your agent reads open schema recommendations and top Insights regressions, correlates them with repository code, and files ranked issues or PRs with a dev branch and deploy request. You review and approve. A run log stops duplicate issues.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/planetscale/planetscale-mcp-agent-operating-model",
   "md": "https://gethabit.dev/skills/planetscale/planetscale-mcp-agent-operating-model.md",
   "trigger": "daily recommendation sweep",
   "verification": "you approve database changes",
   "memory": "filed recommendations log",
   "built_from": [
    "planetscale--planetscale-mcp-agent-operating-model"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "planning-with-files-zht-loop",
   "name": "Planning with files loop",
   "outcome": "Long tasks survive every restart.",
   "summary": "For each multi-step task, your agent keeps task_plan.md, findings.md and progress.md on disk, rereads the plan before decisions, logs every error and updates progress after each phase. A check script confirms all phases are complete.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/othmanadi/planning-with-files-zht",
   "md": "https://gethabit.dev/skills/othmanadi/planning-with-files-zht.md",
   "trigger": "new multi-step task",
   "verification": "all phases complete",
   "memory": "plan, findings, progress",
   "built_from": [
    "othmanadi--planning-with-files-zht"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "playwright-e2e-links-loop",
   "name": "Playwright E2E and links loop",
   "outcome": "No broken flows or dead links.",
   "summary": "On every push to main and weekly, your agent runs the Playwright end-to-end suite and the dead link tests across browsers, then reports failures with traces. The HTML report and a run log keep what failed last time.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/alinaqi/playwright-testing",
   "md": "https://gethabit.dev/skills/alinaqi/playwright-testing.md",
   "trigger": "push to main",
   "verification": "E2E and link tests",
   "memory": "E2E failure log",
   "built_from": [
    "alinaqi--playwright-testing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "playwright-site-check-loop",
   "name": "Playwright site check loop",
   "outcome": "Catch broken pages every night.",
   "summary": "Each night your agent detects the dev server, runs saved Playwright scripts for page loads, login flow and desktop and mobile screenshots, and checks the resulting page each time. A run log keeps failures and screenshot paths.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/lackeyjb/playwright-skill",
   "md": "https://gethabit.dev/skills/lackeyjb/playwright-skill.md",
   "trigger": "nightly browser check",
   "verification": "scripts pass, page checked",
   "memory": "nightly check log",
   "built_from": [
    "lackeyjb--playwright-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "playwright-suite-gate-loop",
   "name": "Playwright suite gate loop",
   "outcome": "E2E tests that stay stable.",
   "summary": "When a pull request adds or changes Playwright tests, your agent checks them with the skill's own gates: tests list and parse, no waitForTimeout or page.pause, types compile and locators stay user-facing. It logs repeat offenders.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/petrkindlmann/playwright-automation",
   "md": "https://gethabit.dev/skills/petrkindlmann/playwright-automation.md",
   "trigger": "PR changes e2e tests",
   "verification": "list, grep and tsc",
   "memory": "QA project context",
   "built_from": [
    "petrkindlmann--playwright-automation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "plugin-docs-sync-loop",
   "name": "Plugin docs sync loop",
   "outcome": "Plugin docs match the marketplace.",
   "summary": "Whenever marketplace.json changes, your agent runs doc_generator.py to rebuild agents.md, agent-skills.md, plugins.md and usage.md from the Jinja templates, checks the result and stages the docs with the plugin change.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/geoffjay/documentation-update",
   "md": "https://gethabit.dev/skills/geoffjay/documentation-update.md",
   "trigger": "marketplace.json changes",
   "verification": "generator runs clean",
   "memory": "docs commit history",
   "built_from": [
    "geoffjay--documentation-update"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "podcast-transcript-loop",
   "name": "Podcast transcript loop",
   "outcome": "New episodes transcribed on their own.",
   "summary": "Every day, your agent runs faster-whisper on your podcast RSS feed with --skip-existing, so only new episodes are transcribed into one file each. Failed downloads retry, and a run log keeps what was done.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/theplasmak/faster-whisper",
   "md": "https://gethabit.dev/skills/theplasmak/faster-whisper.md",
   "trigger": "daily feed check",
   "verification": "one file per episode",
   "memory": "transcripts folder",
   "built_from": [
    "theplasmak--faster-whisper"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ponytail-review-loop",
   "name": "Ponytail PR review loop",
   "outcome": "Every change reviewed before merge.",
   "summary": "When a pull request opens, your agent reads the diff and the code around it, then reports bugs, security risks, load problems, missing tests, slowness and code to delete. Each finding names a case and a fix. It logs the verdict per pull request.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dietrichgebert/ponytail-review",
   "md": "https://gethabit.dev/skills/dietrichgebert/ponytail-review.md",
   "trigger": "pull request opened",
   "verification": "report format check",
   "memory": "review verdict log",
   "built_from": [
    "dietrichgebert--ponytail-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "neon-postgres-loop",
   "name": "Postgres health loop",
   "outcome": "Slow queries found and verified.",
   "summary": "Each week your agent runs the read-only neon inspect db checks on your Lakebase Postgres branch: outliers, calls, seq-scans, unused-indexes, bloat and more. It names one query to fix, re-runs the same check after a change, and keeps the results.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/neondatabase/neon-postgres",
   "md": "https://gethabit.dev/skills/neondatabase/neon-postgres.md",
   "trigger": "weekly health check",
   "verification": "same check rerun",
   "memory": "inspect results log",
   "built_from": [
    "neondatabase--neon-postgres"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "postgres-safety-review-loop",
   "name": "Postgres safety review loop",
   "outcome": "Postgres safety gaps found, nothing changed.",
   "summary": "Each month, your agent reviews a PlanetScale Postgres database: branch workflow, roles, pg_strict, Query Insights, query tags, Traffic Control, backups, connections, extensions and webhooks. It proposes changes for approval and applies none.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/planetscale/planetscale-postgres-safety-review",
   "md": "https://gethabit.dev/skills/planetscale/planetscale-postgres-safety-review.md",
   "trigger": "monthly safety review",
   "verification": "full review, no changes",
   "memory": "last safety posture",
   "built_from": [
    "planetscale--planetscale-postgres-safety-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pr-review-json-loop",
   "name": "PR review JSON loop",
   "outcome": "Every PR gets a validated review.",
   "summary": "On each pull request, your agent reads pr_diff.txt and pr_description.txt, audits every changed comment and test, and writes labelled findings to review.json. The bundled validator must pass before the workflow publishes it. Past verdicts are kept in a run log.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/warpdotdev/review-pr",
   "md": "https://gethabit.dev/skills/warpdotdev/review-pr.md",
   "trigger": "pull request opened",
   "verification": "validator passes",
   "memory": "verdicts per PR",
   "built_from": [
    "warpdotdev--review-pr"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "prd-review-loop",
   "name": "PRD review loop",
   "outcome": "Short PRDs with clear problems.",
   "summary": "When a new spec draft appears, your agent helps write or reviews it: a solution-free problem statement, measurable success metrics, explicit non-goals and a one-page length, flagging common mistakes. A notes file keeps reviewed PRDs and open questions.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/refoundai/writing-prds",
   "md": "https://gethabit.dev/skills/refoundai/writing-prds.md",
   "trigger": "new PRD draft",
   "verification": "core sections present",
   "memory": "PRD review notes",
   "built_from": [
    "refoundai--writing-prds"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "prd-to-tasks-loop",
   "name": "PRD to tasks loop",
   "outcome": "Ideas become PRDs and tasks.",
   "summary": "When you start a new feature or app idea, your agent asks clarifying questions, gets your approval on an executive summary, writes PRD.md and SUMMARY.md, and generates tasks.json with TASK-1 as prerequisite check. A file check confirms all three files exist.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/pageai-pro/prd-creator",
   "md": "https://gethabit.dev/skills/pageai-pro/prd-creator.md",
   "trigger": "you describe an idea",
   "verification": "you approve + file check",
   "memory": "PRD summary",
   "built_from": [
    "pageai-pro--prd-creator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "lint-fix-loop",
   "name": "Pre-commit lint loop",
   "outcome": "Commits that pass lint checks.",
   "summary": "Before each commit, your agent runs yarn prettier to format changed files, then yarn linc to find lint errors left over. It reports any fixes that need a human hand and logs them, so CI does not fail on style.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/react/fix",
   "md": "https://gethabit.dev/skills/react/fix.md",
   "trigger": "before each commit",
   "verification": "yarn linc passes",
   "memory": "manual fixes log",
   "built_from": [
    "react--fix"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pre-mortem-loop",
   "name": "Pre-mortem loop",
   "outcome": "Catch launch risks while fixable.",
   "summary": "When a PRD or launch plan changes, your agent runs a pre-mortem: it sorts risks into Tigers, Paper Tigers and Elephants, ranks Tigers by urgency and writes action plans. A check confirms the report file exists with all sections.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/phuryn/pre-mortem",
   "md": "https://gethabit.dev/skills/phuryn/pre-mortem.md",
   "trigger": "launch plan changed",
   "verification": "report sections all present",
   "memory": "past pre-mortem reports",
   "built_from": [
    "phuryn--pre-mortem"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "printing-press-reprint-loop",
   "name": "Printing Press reprint loop",
   "outcome": "Regenerate CLIs after machine upgrades.",
   "summary": "When the Printing Press gets a big upgrade, your agent reconciles a CLI's local and public copies, gathers prior research and patches, recommends reuse or redo by research age, offers scorecard-based enrichment and hands off to /printing-press.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mvanhorn/printing-press-reprint",
   "md": "https://gethabit.dev/skills/mvanhorn/printing-press-reprint.md",
   "trigger": "Printing Press upgrade lands",
   "verification": "your choices, clean handoff",
   "memory": "prior research and patches",
   "built_from": [
    "mvanhorn--printing-press-reprint"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "prisma-adapter-check-loop",
   "name": "Prisma adapter check loop",
   "outcome": "Driver adapter changes pass the checklist.",
   "summary": "When a pull request changes a Prisma ORM 7 SQL driver adapter, your agent walks the skill's verification checklist: typecheck, result mapping, transactions, savepoints, error mapping and shadow database cleanup. Integration tests must pass. The run log keeps open items.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/prisma/prisma-driver-adapter-implementation",
   "md": "https://gethabit.dev/skills/prisma/prisma-driver-adapter-implementation.md",
   "trigger": "PR touches adapter code",
   "verification": "typecheck + E2E tests",
   "memory": "checklist status log",
   "built_from": [
    "prisma--prisma-driver-adapter-implementation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "prisma-schema-check-loop",
   "name": "Prisma schema check loop",
   "outcome": "Schema valid, migrations in sync.",
   "summary": "When a pull request changes the Prisma 7 schema, your agent runs prisma validate, prisma format, prisma migrate status and prisma generate. Any destructive command waits for your explicit consent. The run log keeps the migration status per run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/prisma/prisma-cli",
   "md": "https://gethabit.dev/skills/prisma/prisma-cli.md",
   "trigger": "schema file changed",
   "verification": "validate + migrate status",
   "memory": "migration status log",
   "built_from": [
    "prisma--prisma-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "producthunt-watch-loop",
   "name": "Product Hunt watch loop",
   "outcome": "Daily digest of new launches.",
   "summary": "Every morning your agent pulls the featured Product Hunt posts and the posts in your topics through the GraphQL API, skips posts it already saw and writes a short digest. A seen-list file keeps post IDs so the next run reports only new ones.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/resciencelab/producthunt",
   "md": "https://gethabit.dev/skills/resciencelab/producthunt.md",
   "trigger": "every morning",
   "verification": "digest has new posts",
   "memory": "seen post IDs",
   "built_from": [
    "resciencelab--producthunt"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "product-spec-loop",
   "name": "Product spec loop",
   "outcome": "Behavior written as testable invariants.",
   "summary": "When a feature needs a spec, your agent gathers the missing context with you, asks about a Figma mock and writes specs/<id>/PRODUCT.md with a numbered Behavior section. It checks the required sections and hands off to write-tech-spec next.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/warpdotdev/write-product-spec",
   "md": "https://gethabit.dev/skills/warpdotdev/write-product-spec.md",
   "trigger": "feature needs a spec",
   "verification": "your answers + section check",
   "memory": "product spec",
   "built_from": [
    "warpdotdev--write-product-spec"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "product-video-record-loop",
   "name": "Product video record loop",
   "outcome": "Narrated product videos kept current.",
   "summary": "Your agent explores the target page, writes a narrated .screenci.ts recording with mock data and kit overlays, debugs it with npx screenci test, then records a live preview and reports the link in plain language. Real-world forms on production stay unsent.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/screenci/screenci",
   "md": "https://gethabit.dev/skills/screenci/screenci.md",
   "trigger": "product UI changes",
   "verification": "test run passes, preview recorded",
   "memory": "recording files",
   "built_from": [
    "screenci--screenci"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "programmatic-seo-quality-loop",
   "name": "Programmatic SEO quality loop",
   "outcome": "Template pages stay unique and indexable.",
   "summary": "When the data behind your template pages changes, your agent rebuilds the page set and runs the pre-launch checklist. It lists pages that fail, and after your OK sets them to noindex and removes them from the XML sitemap. A run log keeps the counts.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/coreyhaines31/programmatic-seo",
   "md": "https://gethabit.dev/skills/coreyhaines31/programmatic-seo.md",
   "trigger": "page data changed",
   "verification": "checklist passes, you approve",
   "memory": "page counts and failures",
   "built_from": [
    "coreyhaines31--programmatic-seo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "prose-clarity-edit-loop",
   "name": "Prose clarity edit loop",
   "outcome": "Human-facing prose reads clear and tight.",
   "summary": "When docs, READMEs or UI copy change, your agent edits the prose with Strunk's rules: active voice, positive form, concrete language and no needless words, and strips AI puffery like seamless and leverage. A log keeps recurring wording issues.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/softaworks/writing-clearly-and-concisely",
   "md": "https://gethabit.dev/skills/softaworks/writing-clearly-and-concisely.md",
   "trigger": "prose files change",
   "verification": "AI puffery count zero",
   "memory": "wording issue log",
   "built_from": [
    "softaworks--writing-clearly-and-concisely"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "public-page-scrape-loop",
   "name": "Public page scrape loop",
   "outcome": "Collect public pages, stop at blocks.",
   "summary": "On a schedule your agent validates each public URL, tries trafilatura, then requests, then Playwright, detects paywalls, CAPTCHAs and rate limits, and stops on 401, 403 or 429. It wraps results as untrusted data and logs each source.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/jamditis/web-scraping",
   "md": "https://gethabit.dev/skills/jamditis/web-scraping.md",
   "trigger": "daily source collection",
   "verification": "access and content checks",
   "memory": "source fetch log",
   "built_from": [
    "jamditis--web-scraping"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pudl-schema-watch-loop",
   "name": "PUDL schema watch loop",
   "outcome": "Know when your PUDL tables change.",
   "summary": "Each week your agent fetches the PUDL nightly descriptor with the cache-aware script, uses the datapackage skill to read the tables you depend on, and reports new columns, removed fields and usage warnings. A log keeps last week's schemas.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/catalyst-cooperative/pudl",
   "md": "https://gethabit.dev/skills/catalyst-cooperative/pudl.md",
   "trigger": "weekly descriptor check",
   "verification": "descriptor read, changes listed",
   "memory": "watched schemas log",
   "built_from": [
    "catalyst-cooperative--pudl"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pydantic-ai-agent-test-loop",
   "name": "Pydantic AI agent test loop",
   "outcome": "Keep Pydantic AI agents tested, traced.",
   "summary": "When agent code changes, your agent checks the common Pydantic AI gotchas, makes sure each Agent has a name, Caching and Logfire setup, considers defer_loading for capabilities, and runs TestModel tests through agent.override. A log keeps failures.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/pydantic/building-pydantic-ai-agents",
   "md": "https://gethabit.dev/skills/pydantic/building-pydantic-ai-agents.md",
   "trigger": "agent code changes",
   "verification": "TestModel tests pass",
   "memory": "agent test log",
   "built_from": [
    "pydantic--building-pydantic-ai-agents"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "pydantic-model-review-loop",
   "name": "Pydantic model review loop",
   "outcome": "Pydantic models use built-in validation.",
   "summary": "On every pull request that touches Pydantic models, your agent checks for custom validators that a built-in constraint could replace, before validators where after would do, subclass fields lost on dump and stringified annotations. A log keeps findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/pydantic/pydantic",
   "md": "https://gethabit.dev/skills/pydantic/pydantic.md",
   "trigger": "model files changed",
   "verification": "tests pass, patterns hold",
   "memory": "model review log",
   "built_from": [
    "pydantic--pydantic"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "qmd-notes-index-loop",
   "name": "QMD notes index loop",
   "outcome": "Keep your markdown notes searchable.",
   "summary": "Each night your agent runs qmd update and qmd embed on your collections, checks qmd status and qmd doctor, and runs a few saved searches to confirm they still return the right docs. A log keeps index health and search results.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/tobi/qmd",
   "md": "https://gethabit.dev/skills/tobi/qmd.md",
   "trigger": "nightly index refresh",
   "verification": "index health and searches",
   "memory": "index health log",
   "built_from": [
    "tobi--qmd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "qodo-rules-loop",
   "name": "Qodo rules loop",
   "outcome": "Team coding rules applied every task.",
   "summary": "At the start of every coding task your agent reuses or retrieves the team's Qodo rules with two structured queries, merges them, explains what each means for the change and applies them. A rules file keeps results per scope for reuse.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/qodo-ai/qodo-get-rules",
   "md": "https://gethabit.dev/skills/qodo-ai/qodo-get-rules.md",
   "trigger": "coding task starts",
   "verification": "rules loaded and applied",
   "memory": "rules per scope",
   "built_from": [
    "qodo-ai--qodo-get-rules"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "qqmusic-weekly-report-loop",
   "name": "QQ Music weekly report loop",
   "outcome": "Weekly listening report, plus version check.",
   "summary": "Every week, your agent fetches your QQ Music listening report and daily picks through the gateway, lists them with play links, and checks whether a new skill version exists for you to decide on. It keeps past reports to compare.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/tencentmusic/qqmusic",
   "md": "https://gethabit.dev/skills/tencentmusic/qqmusic.md",
   "trigger": "weekly on Sunday",
   "verification": "gateway returns no error",
   "memory": "weekly listening reports",
   "built_from": [
    "tencentmusic--qqmusic"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "query-insights-review-loop",
   "name": "Query insights review loop",
   "outcome": "Weekly risky queries and tag gaps.",
   "summary": "Every week, your agent reads PlanetScale Insights for top queries by time, rows, count, errors and anomalies, checks tag coverage and cardinality, and proposes tags, Traffic Control slices and code fixes. It changes nothing without approval.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/planetscale/planetscale-query-insights-and-tags",
   "md": "https://gethabit.dev/skills/planetscale/planetscale-query-insights-and-tags.md",
   "trigger": "weekly insights review",
   "verification": "tables complete, no changes",
   "memory": "weekly risk tables",
   "built_from": [
    "planetscale--planetscale-query-insights-and-tags"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "r8-keep-rules-audit-loop",
   "name": "R8 keep rules audit loop",
   "outcome": "Leaner, non-redundant R8 keep rules.",
   "summary": "On demand, your agent checks the build config, picks the analysis path by AGP and R8 version, and reports redundant, broad or subsuming keep rules in the strict report format. A run log keeps prior scores.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/android/r8-analyzer",
   "md": "https://gethabit.dev/skills/android/r8-analyzer.md",
   "trigger": "you ask for R8 audit",
   "verification": "report in strict format",
   "memory": "keep rules log",
   "built_from": [
    "android--r8-analyzer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "radix-to-base-migration-loop",
   "name": "Radix to Base UI loop",
   "outcome": "One component migrated per run.",
   "summary": "Each day your agent migrates the next shadcn wrapper from Radix UI to Base UI in progressive mode: it writes a -base file, repoints consumers one by one, typechecks each step and commits. The .migration/ reports and the remaining Radix count are the memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/shadcn-ui/migrate-radix-to-base",
   "md": "https://gethabit.dev/skills/shadcn-ui/migrate-radix-to-base.md",
   "trigger": "daily migration step",
   "verification": "typecheck, build, no radix",
   "memory": "migration reports",
   "built_from": [
    "shadcn-ui--migrate-radix-to-base"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ralph-prd-convert-loop",
   "name": "Ralph PRD convert loop",
   "outcome": "Every PRD becomes runnable stories.",
   "summary": "When a new PRD lands, your agent archives the old prd.json if the branch changed, splits the PRD into small ordered user stories and writes prd.json. A checklist makes sure every story is small, ordered and checkable.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/snarktank/ralph",
   "md": "https://gethabit.dev/skills/snarktank/ralph.md",
   "trigger": "new PRD file added",
   "verification": "prd.json checklist passes",
   "memory": "Ralph progress file",
   "built_from": [
    "snarktank--ralph"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-channel-test-loop",
   "name": "React channel test loop",
   "outcome": "React tests run per channel.",
   "summary": "When a change to React core lands in a pull request, your agent runs the matching tests with yarn test on the right release channel, with --silent and --no-watchman. It reports failures and keeps a run log of failing patterns.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/react/test",
   "md": "https://gethabit.dev/skills/react/test.md",
   "trigger": "React core pull request",
   "verification": "tests pass per channel",
   "memory": "failing patterns log",
   "built_from": [
    "react--test"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-component-review-loop",
   "name": "React component review loop",
   "outcome": "React changes reviewed before merge.",
   "summary": "On pull requests that touch React components, your agent reviews component architecture, hook usage, state management, accessibility, performance and TypeScript props, and produces findings by severity with code examples. A log keeps open warnings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/giuseppe-trisciuoglio/react-code-review",
   "md": "https://gethabit.dev/skills/giuseppe-trisciuoglio/react-code-review.md",
   "trigger": "React files change",
   "verification": "review report structure",
   "memory": "component review log",
   "built_from": [
    "giuseppe-trisciuoglio--react-code-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-email-template-loop",
   "name": "React Email template loop",
   "outcome": "Email templates render in every inbox.",
   "summary": "When a pull request changes files in the emails folder, your agent reviews each template with react email, fixes classes that inboxes do not support and exports it to HTML. Hard checks test size and markup, and a log keeps what was fixed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/resend/react-email",
   "md": "https://gethabit.dev/skills/resend/react-email.md",
   "trigger": "emails folder changes",
   "verification": "export and markup checks",
   "memory": "template fix log",
   "built_from": [
    "resend--react-email"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-error-codes-loop",
   "name": "React error codes loop",
   "outcome": "Every new error gets a code.",
   "summary": "On every pull request in the React repository, your agent runs yarn extract-errors, reports any new error messages that still need a code and checks that the error codes are up to date. A run log keeps which messages were flagged.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/react/extract-errors",
   "md": "https://gethabit.dev/skills/react/extract-errors.md",
   "trigger": "pull request opened",
   "verification": "error codes up to date",
   "memory": "error code log",
   "built_from": [
    "react--extract-errors"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-feature-flags-loop",
   "name": "React feature flags loop",
   "outcome": "Flags consistent across every fork.",
   "summary": "When a pull request changes React feature flags, your agent checks that each flag is in ReactFeatureFlags.js and every fork file, that gates use the right syntax, and that both www variants pass. A log keeps flags with open issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/react/feature-flags",
   "md": "https://gethabit.dev/skills/react/feature-flags.md",
   "trigger": "flag files change",
   "verification": "forks match, variants pass",
   "memory": "flag issues log",
   "built_from": [
    "react--feature-flags"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-native-perf-sweep-loop",
   "name": "React Native perf sweep loop",
   "outcome": "The app gets measurably faster.",
   "summary": "Each week your agent runs the four-phase sweep on a React Native app: lint, semantic review, profiling with a target metric, then a regression pass. It keeps the fix only when the metric improves and logs the numbers.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/software-mansion/argent-react-native-optimization",
   "md": "https://gethabit.dev/skills/software-mansion/argent-react-native-optimization.md",
   "trigger": "weekly performance sweep",
   "verification": "metric improves, no regressions",
   "memory": "metrics and fixes log",
   "built_from": [
    "software-mansion--argent-react-native-optimization"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-native-profile-trend-loop",
   "name": "React Native profile trend loop",
   "outcome": "Render regressions show up early.",
   "summary": "Each week your agent replays the same recorded e2e flow under the React and native profilers, compares the report with last week's saved session, and asks you whether to dig deeper, fix or stop.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/software-mansion/argent-react-native-profiler",
   "md": "https://gethabit.dev/skills/software-mansion/argent-react-native-profiler.md",
   "trigger": "weekly profiling run",
   "verification": "data captured + you decide",
   "memory": "session and metric log",
   "built_from": [
    "software-mansion--argent-react-native-profiler"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-native-run-check-loop",
   "name": "React Native run check loop",
   "outcome": "The app builds and runs clean.",
   "summary": "When code changes in a React Native project, your agent reads the saved build workflow, makes sure one Metro is ready, reloads or rebuilds the app, checks the log registry for errors and runs the tests you chose.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/software-mansion/argent-react-native-app-workflow",
   "md": "https://gethabit.dev/skills/software-mansion/argent-react-native-app-workflow.md",
   "trigger": "app code changed",
   "verification": "Metro up, tests pass",
   "memory": "saved build workflow",
   "built_from": [
    "software-mansion--argent-react-native-app-workflow"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-router-bug-fix-loop",
   "name": "React Router bug fix loop",
   "outcome": "Fix reported bugs with tests.",
   "summary": "When you hand over a React Router issue, your agent reads it with gh issue view, validates the reproduction, writes a failing test, makes the minimal fix and runs tests, lint and typecheck. It adds a change file and waits for your review.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/remix-run/fix-bug",
   "md": "https://gethabit.dev/skills/remix-run/fix-bug.md",
   "trigger": "you pass an issue",
   "verification": "test fails, then passes",
   "memory": "fix branch history",
   "built_from": [
    "remix-run--fix-bug"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "react-router-mode-check-loop",
   "name": "React Router mode check loop",
   "outcome": "Route changes match the app's mode.",
   "summary": "On pull requests that touch routing, your agent first identifies the React Router mode, framework, data or declarative, loads the matching reference and the installed version's docs, and reviews the change against that mode. The build must pass and a log keeps the detected mode.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/remix-run/react-router",
   "md": "https://gethabit.dev/skills/remix-run/react-router.md",
   "trigger": "route code changes",
   "verification": "mode + build",
   "memory": "mode and review log",
   "built_from": [
    "remix-run--react-router"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "read-loop",
   "name": "Read loop",
   "outcome": "Fresh summaries of saved links.",
   "summary": "Once a week your agent fetches each URL or PDF on your reading list with the read skill, checks the fetch tier line and that the page is real content, and writes a short grounded summary. The log keeps which links were read and which failed.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/tw93/read",
   "md": "https://gethabit.dev/skills/tw93/read.md",
   "trigger": "every Monday morning",
   "verification": "fetch status and content",
   "memory": "links read and failed",
   "built_from": [
    "tw93--read"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "red-green-loop",
   "name": "Red green loop",
   "outcome": "Features built test-first, slice by slice.",
   "summary": "When a feature or bug is ready, your agent agrees the test seams with you, then works one vertical slice at a time: a failing test, then just enough code to pass. Tests must go red, then green. A board keeps agreed seams and finished slices.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/mattpocock/tdd",
   "md": "https://gethabit.dev/skills/mattpocock/tdd.md",
   "trigger": "you start a feature",
   "verification": "red then green",
   "memory": "seams and slices board",
   "built_from": [
    "mattpocock--tdd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "test-driven-development-loop",
   "name": "Red green refactor loop",
   "outcome": "Every change starts with a test.",
   "summary": "When a feature or bugfix task starts, your agent writes one failing test, watches it fail, writes the least code to pass, and runs the full suite. Code written before its test gets deleted. A log keeps which tests failed first and why.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/obra/test-driven-development",
   "md": "https://gethabit.dev/skills/obra/test-driven-development.md",
   "trigger": "feature or bugfix task",
   "verification": "red then green",
   "memory": "red and green log",
   "built_from": [
    "obra--test-driven-development"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "reddit-leads-loop",
   "name": "Reddit leads loop",
   "outcome": "Fresh scored Reddit leads daily.",
   "summary": "Every morning your agent runs your saved lead queries against the reddapi.dev Leads API, keeps results with a lead_score of 60 or more, and adds only unseen leads to a log. Outreach stays a draft for you to send yourself.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/lignertys/reddit-leads",
   "md": "https://gethabit.dev/skills/lignertys/reddit-leads.md",
   "trigger": "every morning",
   "verification": "API status and score filter",
   "memory": "seen leads log",
   "built_from": [
    "lignertys--reddit-leads"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "reddit-pain-point-loop",
   "name": "Reddit pain point loop",
   "outcome": "Reddit pain points, every week.",
   "summary": "Every Monday your agent searches Reddit by meaning through reddapi.dev for complaints and wishes around your topic, checks trend momentum and finds the subreddits that discuss it. It checks that results came back and keeps research notes per topic.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/lignertys/reddit-research",
   "md": "https://gethabit.dev/skills/lignertys/reddit-research.md",
   "trigger": "weekly Monday research run",
   "verification": "results returned, quotes separated",
   "memory": "research notes per topic",
   "built_from": [
    "lignertys--reddit-research"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "reddit-pulse-loop",
   "name": "Reddit pulse loop",
   "outcome": "Weekly Reddit signals on your topics.",
   "summary": "Every Monday your agent asks reddapi.dev for last week's trends and runs a semantic search per saved topic. A hard check confirms each call returned data and full coverage, and a pulse log keeps the topics and top posts for next week.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/lignertys/reddapi",
   "md": "https://gethabit.dev/skills/lignertys/reddapi.md",
   "trigger": "every Monday morning",
   "verification": "calls return real data",
   "memory": "weekly pulse log",
   "built_from": [
    "lignertys--reddapi"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "reddit-subreddit-watch-loop",
   "name": "Reddit subreddit watch loop",
   "outcome": "A daily pull of subreddit activity.",
   "summary": "On a schedule, your agent pulls new and top posts, searches and subreddit info from Reddit's public JSON API for your tracked subreddits and queries. A run log keeps the last post ids seen.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/resciencelab/reddit",
   "md": "https://gethabit.dev/skills/resciencelab/reddit.md",
   "trigger": "daily subreddit check",
   "verification": "posts returned",
   "memory": "subreddit log",
   "built_from": [
    "resciencelab--reddit"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "redis-client-review-loop",
   "name": "Redis client review loop",
   "outcome": "Redis clients stay pooled and fast.",
   "summary": "When a pull request touches Redis client code, your agent reviews it against the redis connections guidance: pooling or multiplexing, pipelines, SCAN instead of KEYS, timeouts. It logs each finding so the next review starts from known issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/redis/redis-connections",
   "md": "https://gethabit.dev/skills/redis/redis-connections.md",
   "trigger": "PR touches Redis code",
   "verification": "pattern checks plus tests",
   "memory": "Redis review log",
   "built_from": [
    "redis--redis-connections"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "redis-hardening-loop",
   "name": "Redis hardening loop",
   "outcome": "Redis stays locked down.",
   "summary": "Each week and on every redis.conf change, your agent audits authentication, TLS, ACL users, bind and protected-mode, firewall rules and disabled dangerous commands together. A run log keeps the last audit so any regression stands out.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/redis/redis-security",
   "md": "https://gethabit.dev/skills/redis/redis-security.md",
   "trigger": "weekly Redis audit",
   "verification": "hardening checklist passes",
   "memory": "audit results log",
   "built_from": [
    "redis--redis-security"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "redis-health-check-loop",
   "name": "Redis health check loop",
   "outcome": "Catch Redis trouble before users do.",
   "summary": "Every hour your agent reads INFO, computes the hit ratio and compares memory, clients, blocked clients, rejected connections and last save against alert limits. When one trips it runs SLOWLOG GET 10 and MEMORY DOCTOR. A log keeps readings.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/redis/redis-observability",
   "md": "https://gethabit.dev/skills/redis/redis-observability.md",
   "trigger": "hourly health check",
   "verification": "metrics within alert limits",
   "memory": "hourly readings log",
   "built_from": [
    "redis--redis-observability"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "refero-design-loop",
   "name": "Refero design loop",
   "outcome": "Designs grounded in real references.",
   "summary": "When an issue gets the label design, your agent writes a brief, researches styles, screens and flows in Refero, locks one direction and builds it. The quality gate and a ledger check run before handoff. Past locks and ledgers stay in the loop folder.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/referodesign/refero-design",
   "md": "https://gethabit.dev/skills/referodesign/refero-design.md",
   "trigger": "issue labelled design",
   "verification": "quality gate plus approval",
   "memory": "locks and ledgers",
   "built_from": [
    "referodesign--refero-design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "regression-suite-refresh-loop",
   "name": "Regression suite refresh loop",
   "outcome": "Regression suite tracks new features.",
   "summary": "When a feature ships, your agent uses the QA test planner to add manual test cases for it, update the regression suite with execution order and priorities, and keep each case's steps and expected results complete. A suite file keeps the cases and coverage matrix.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/softaworks/qa-test-planner",
   "md": "https://gethabit.dev/skills/softaworks/qa-test-planner.md",
   "trigger": "feature shipped",
   "verification": "case checklist + review",
   "memory": "regression suite file",
   "built_from": [
    "softaworks--qa-test-planner"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "replay-scanner-sizing-loop",
   "name": "Replay scanner sizing loop",
   "outcome": "Scanners sized before they run.",
   "summary": "Whenever a Replay Vision scanner is created or widened, your agent checks whether an inline scan fits better, picks the type and config, narrows the query, runs vision-scanners-estimate and vision-quota-get, and asks you before creating a large one.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/posthog/creating-replay-vision-scanners",
   "md": "https://gethabit.dev/skills/posthog/creating-replay-vision-scanners.md",
   "trigger": "scanner create or widen",
   "verification": "estimate checked, you confirm",
   "memory": "scanner sizing log",
   "built_from": [
    "posthog--creating-replay-vision-scanners"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "replicate-batch-run-loop",
   "name": "Replicate batch run loop",
   "outcome": "Queued generations done and saved.",
   "summary": "On a schedule your agent takes queued jobs from the board, fetches each model's schema, validates inputs, starts predictions in parallel with a lifetime, polls until they finish and downloads outputs before the URLs expire. The board tracks every job.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/replicate/run-models",
   "md": "https://gethabit.dev/skills/replicate/run-models.md",
   "trigger": "hourly job queue",
   "verification": "predictions succeeded, outputs saved",
   "memory": "generation job board",
   "built_from": [
    "replicate--run-models"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "replicate-model-bakeoff-loop",
   "name": "Replicate model bake-off loop",
   "outcome": "Your model choice re-tested each month.",
   "summary": "Each month your agent builds a shortlist for your task, fetches each model's schema, runs the same small prompt set through each one, reads predict_time from the metrics and compares outputs against your criteria. A results file keeps each round's pick and why.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/replicate/compare-models",
   "md": "https://gethabit.dev/skills/replicate/compare-models.md",
   "trigger": "monthly model bake-off",
   "verification": "same prompts, metrics recorded",
   "memory": "bake-off results",
   "built_from": [
    "replicate--compare-models"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "replicate-model-shortlist-loop",
   "name": "Replicate model shortlist loop",
   "outcome": "Your model shortlist stays current.",
   "summary": "Each week your agent searches the Replicate API for each task you care about, checks the official collection, reads each candidate's schema and updates a shortlist that favors official, recent models. A shortlist file keeps choices and reasons.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/replicate/find-models",
   "md": "https://gethabit.dev/skills/replicate/find-models.md",
   "trigger": "weekly model check",
   "verification": "schemas read for shortlist",
   "memory": "model shortlist",
   "built_from": [
    "replicate--find-models"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "research-explore-loop",
   "name": "Research candidate loop",
   "outcome": "One ranked research candidate per run.",
   "summary": "When you authorize exploration on a current_research anchor, your agent freezes task, dataset and evaluation, gates ideas, runs one bounded candidate and ranks it on real evidence. Outputs and the scientific changelog land in explore_outputs/.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/lllllllama/ai-research-explore",
   "md": "https://gethabit.dev/skills/lllllllama/ai-research-explore.md",
   "trigger": "you authorize exploration",
   "verification": "evidence + checkpoint",
   "memory": "scientific changelog",
   "built_from": [
    "lllllllama--ai-research-explore"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "resend-cli-loop",
   "name": "Resend health check loop",
   "outcome": "Catch Resend setup problems early.",
   "summary": "Every morning your agent runs read-only resend CLI commands in quiet JSON mode: doctor, domain status, recent request logs and usage. Exit codes and JSON fields decide pass or fail, and a run log keeps what changed since yesterday.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/resend/resend-cli",
   "md": "https://gethabit.dev/skills/resend/resend-cli.md",
   "trigger": "daily Resend check",
   "verification": "CLI exit codes clean",
   "memory": "daily Resend check log",
   "built_from": [
    "resend--resend-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "resume-tailor-loop",
   "name": "Resume tailor loop",
   "outcome": "A truthful resume per posting.",
   "summary": "Each time you add a job posting, your agent runs the job description analyzer, then tailors your master resume to that role. A checklist check confirms title, top skills and unchanged metrics, and a board tracks which version went to which company.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/paramchoudhary/resume-tailor",
   "md": "https://gethabit.dev/skills/paramchoudhary/resume-tailor.md",
   "trigger": "new job posting added",
   "verification": "tailoring checklist passes",
   "memory": "versions per company",
   "built_from": [
    "paramchoudhary--resume-tailor"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rntl-component-test-loop",
   "name": "RNTL component test loop",
   "outcome": "Keep React Native components covered.",
   "summary": "When a React Native component changes, your agent checks the installed RNTL version, loads the matching v13 or v14 reference, writes tests with screen queries in priority order, userEvent and findBy, applies the rules and anti-patterns, and runs the tests.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/callstack/react-native-testing",
   "md": "https://gethabit.dev/skills/callstack/react-native-testing.md",
   "trigger": "a component changes",
   "verification": "tests pass, rules kept",
   "memory": "test log",
   "built_from": [
    "callstack--react-native-testing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "systematic-debugging-loop",
   "name": "Root cause debugging loop",
   "outcome": "Every bug fixed at its source.",
   "summary": "When a test or build fails, your agent works through four phases: root cause, pattern, hypothesis, fix. It writes a failing test first, makes one change, and checks that the whole suite passes. It logs each hypothesis and fix count per bug.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/obra/systematic-debugging",
   "md": "https://gethabit.dev/skills/obra/systematic-debugging.md",
   "trigger": "test or build fails",
   "verification": "failing test now passes",
   "memory": "bug and hypothesis log",
   "built_from": [
    "obra--systematic-debugging"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "hunt-root-cause-loop",
   "name": "Root cause hunt loop",
   "outcome": "Find the cause before fixing.",
   "summary": "When a test fails on the main branch, your agent runs hunt: it states one testable root cause, proves it with a probe, fixes only within scope, sweeps the repo for the same pattern and adds a regression test that ran red then green. Each run is logged.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/tw93/hunt",
   "md": "https://gethabit.dev/skills/tw93/hunt.md",
   "trigger": "test fails on main",
   "verification": "red-green test + sweep",
   "memory": "root cause log",
   "built_from": [
    "tw93--hunt"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rsbuild-config-review-loop",
   "name": "Rsbuild config review loop",
   "outcome": "Rsbuild builds stay lean and safe.",
   "summary": "When a pull request changes your Rsbuild config or dependencies, your agent reviews it against the Rsbuild best practices, runs rsbuild build and a type check, and logs findings so later reviews know which rules keep slipping.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/rstackjs/rsbuild-best-practices",
   "md": "https://gethabit.dev/skills/rstackjs/rsbuild-best-practices.md",
   "trigger": "PR changes build config",
   "verification": "build and type check",
   "memory": "Rsbuild review log",
   "built_from": [
    "rstackjs--rsbuild-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rtk-cross-triage-loop",
   "name": "RTK cross triage loop",
   "outcome": "Weekly cross-check of issues and PRs.",
   "summary": "Each week your agent gathers open issues and PRs with gh, runs the issue-triage and pr-triage analyses, then cross-checks for double coverage, security gaps, P0 and P1 bugs without PRs and dirty internal PRs, and saves a dated report to claudedocs/.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/rtk-ai/rtk-triage",
   "md": "https://gethabit.dev/skills/rtk-ai/rtk-triage.md",
   "trigger": "weekly triage",
   "verification": "report saved, no auto-posts",
   "memory": "dated triage reports",
   "built_from": [
    "rtk-ai--rtk-triage"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rtk-filter-tdd-loop",
   "name": "RTK filter TDD loop",
   "outcome": "Every new filter proves its savings.",
   "summary": "For each new RTK filter, your agent captures a real fixture, writes failing snapshot, savings and edge case tests, implements the minimum filter, accepts the insta snapshot, wires it into main.rs and runs the fmt, clippy and test gate.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/rtk-ai/tdd-rust",
   "md": "https://gethabit.dev/skills/rtk-ai/tdd-rust.md",
   "trigger": "new filter requested",
   "verification": "savings and gate pass",
   "memory": "real command fixtures",
   "built_from": [
    "rtk-ai--tdd-rust"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "runbook-check-loop",
   "name": "Runbook check loop",
   "outcome": "Runbooks stay runnable and honest.",
   "summary": "When a runbook or setup guide changes, the agent checks it against the runbook rules: a legend up front, numbered one-action steps, a rollback for every state change and a verify-it-worked section. Branches never run stay marked as draft.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/riekelt/writing-runbooks",
   "md": "https://gethabit.dev/skills/riekelt/writing-runbooks.md",
   "trigger": "runbook pull request",
   "verification": "runbook structure check",
   "memory": "untested branches board",
   "built_from": [
    "riekelt--writing-runbooks"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "runpod-inventory-loop",
   "name": "Runpod inventory loop",
   "outcome": "Weekly Runpod inventory, nothing touched.",
   "summary": "Every Monday your agent checks that the Runpod MCP server is connected, reads the live account state with list and get tools, and writes an inventory table with names and ids. It changes nothing it did not create. A run log keeps last week's ids.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/runpod/runpod-mcp",
   "md": "https://gethabit.dev/skills/runpod/runpod-mcp.md",
   "trigger": "every Monday morning",
   "verification": "live read checks",
   "memory": "weekly inventory log",
   "built_from": [
    "runpod--runpod-mcp"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rust-ci-fix-loop",
   "name": "Rust CI fix loop",
   "outcome": "Red builds turned green, narrowly.",
   "summary": "When a CI run fails on the warp Rust codebase, your agent reads the error, fixes one error type at a time with the narrowest command, then runs the matching cargo nextest tests and clippy and formats once. Fixes are logged by error type.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/warpdotdev/fix-errors",
   "md": "https://gethabit.dev/skills/warpdotdev/fix-errors.md",
   "trigger": "CI check fails",
   "verification": "tests and clippy pass",
   "memory": "fixes by error type",
   "built_from": [
    "warpdotdev--fix-errors"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rust-correctness-review-loop",
   "name": "Rust correctness review loop",
   "outcome": "Changes that crash, never corrupt.",
   "summary": "When Rust changes, your agent reviews the diff against the code-quality rules: no silent else branches, asserts on invariants, exhaustive matches, no over-engineering, and index mutation order checked against SQLite. A run log keeps findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/tursodatabase/code-quality",
   "md": "https://gethabit.dev/skills/tursodatabase/code-quality.md",
   "trigger": "Rust code changes",
   "verification": "rules checked on diff",
   "memory": "review findings log",
   "built_from": [
    "tursodatabase--code-quality"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rust-guidelines-review-loop",
   "name": "Rust guidelines review loop",
   "outcome": "Keep Rust code idiomatic and safe.",
   "summary": "On each pull request your agent maps changed Rust code to rule categories, checks CRITICAL ones first such as ownership, errors, memory and unsafe, fixes findings and runs clippy, rustfmt and tests. A board keeps rule ids that keep failing.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/leonardomso/rust-skills",
   "md": "https://gethabit.dev/skills/leonardomso/rust-skills.md",
   "trigger": "Rust pull request opened",
   "verification": "clippy, fmt and tests",
   "memory": "repeat rule findings",
   "built_from": [
    "leonardomso--rust-skills"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "rust-tdd-gate-loop",
   "name": "Rust TDD gate loop",
   "outcome": "Every Rust change starts red.",
   "summary": "For each Rust task your agent writes a failing test in the same file, runs it red, writes the minimum code to go green, refactors and runs the fmt, clippy and test gate. A log keeps each red and green run.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/rtk-ai/rtk-tdd",
   "md": "https://gethabit.dev/skills/rtk-ai/rtk-tdd.md",
   "trigger": "Rust task starts",
   "verification": "red first, gate passes",
   "memory": "red-green run log",
   "built_from": [
    "rtk-ai--rtk-tdd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sales-career-checkin-loop",
   "name": "Sales career check-in loop",
   "outcome": "Your career plan stays on track.",
   "summary": "Each week your agent reloads your sales career roadmap, compares your funnel numbers and milestones with the plan, and re-runs the path choice after 4 to 6 weeks without movement. You confirm every change, and it keeps the roadmap and evidence bank.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/mbfinotti/sales-career",
   "md": "https://gethabit.dev/skills/mbfinotti/sales-career.md",
   "trigger": "Sundays at 18:00",
   "verification": "quality gate 8/8, you pick",
   "memory": "roadmap and evidence bank",
   "built_from": [
    "mbfinotti--sales-career"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sanity-migration-rerun-loop",
   "name": "Sanity migration rerun loop",
   "outcome": "Migration reruns converge, checks pass.",
   "summary": "During a CMS move to Sanity, your agent reruns the deterministic migration scripts each night against a fresh source snapshot, then runs count, sample, reference and redirect checks. It stops to ask you when scope or access is unclear and keeps a validation summary.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/sanity-io/sanity-migration",
   "md": "https://gethabit.dev/skills/sanity-io/sanity-migration.md",
   "trigger": "Nightly during migration",
   "verification": "migration checks, you confirm",
   "memory": "validation summary",
   "built_from": [
    "sanity-io--sanity-migration"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sanity-review-loop",
   "name": "Sanity review loop",
   "outcome": "Sanity changes follow house rules.",
   "summary": "When a pull request touches Sanity schemas, GROQ queries or Studio code, your agent loads the one or two matching topic guides and reviews the diff against them. It checks the global ID and video rules and that the build passes, and logs findings per guide.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/sanity-io/sanity-best-practices",
   "md": "https://gethabit.dev/skills/sanity-io/sanity-best-practices.md",
   "trigger": "PR touches Sanity code",
   "verification": "rules + build check",
   "memory": "findings per guide",
   "built_from": [
    "sanity-io--sanity-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "scaffold-upgrade-loop",
   "name": "Scaffold upgrade loop",
   "outcome": "Agent projects stay on current templates.",
   "summary": "Each month your agent previews agents-cli scaffold upgrade with --dry-run, shows you the changes and applies them on your yes. Then it checks imports, runs the tests and a smoke prompt. A log keeps each upgrade and the files it changed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/google/google-agents-cli-scaffold",
   "md": "https://gethabit.dev/skills/google/google-agents-cli-scaffold.md",
   "trigger": "monthly template upgrade",
   "verification": "your yes + tests",
   "memory": "upgrade log",
   "built_from": [
    "google--google-agents-cli-scaffold"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "schema-review-loop",
   "name": "Schema review loop",
   "outcome": "Schema changes pass the design checklist.",
   "summary": "On every pull request that touches the schema or migrations, your agent reviews the change against the skill's verification checklist: primary keys, foreign key constraints, indexes on foreign keys, correct data types and reversible migrations. A log keeps open issues.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/softaworks/database-schema-designer",
   "md": "https://gethabit.dev/skills/softaworks/database-schema-designer.md",
   "trigger": "schema or migration change",
   "verification": "design checklist",
   "memory": "schema review log",
   "built_from": [
    "softaworks--database-schema-designer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "scope-triage-loop",
   "name": "Scope triage loop",
   "outcome": "Every request gets a route first.",
   "summary": "When a new request or issue arrives, your agent states a hypothesis with confidence, writes an assumption ledger, checks repository facts and picks Route A, B or C. In unattended runs it proceeds only on Route A and otherwise stops and reports. A log keeps routes.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/sentimony/scope-triage",
   "md": "https://gethabit.dev/skills/sentimony/scope-triage.md",
   "trigger": "new request arrives",
   "verification": "route announced with ledger",
   "memory": "route decisions log",
   "built_from": [
    "sentimony--scope-triage"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sendcutsend-preflight-loop",
   "name": "SendCutSend preflight loop",
   "outcome": "Every part file gets preflighted.",
   "summary": "When a DXF or STEP export changes, your agent fetches the current SendCutSend sources, measures the exact upload file and writes a preflight report with pass, fail or need more info per check. You confirm the order context when it is unclear. A log keeps past reports.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/earthtojake/sendcutsend",
   "md": "https://gethabit.dev/skills/earthtojake/sendcutsend.md",
   "trigger": "DXF or STEP changed",
   "verification": "you confirm + cited checks",
   "memory": "past preflight reports",
   "built_from": [
    "earthtojake--sendcutsend"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "seo-aeo-audit-loop",
   "name": "SEO and AEO audit loop",
   "outcome": "Keep pages ready for search.",
   "summary": "Each week your agent checks changed pages against the SEO and AEO references: metadata, Open Graph, sitemap, robots.txt, hreflang and JSON-LD. It fixes gaps, checks the build and keeps a board of open findings.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/sanity-io/seo-aeo-best-practices",
   "md": "https://gethabit.dev/skills/sanity-io/seo-aeo-best-practices.md",
   "trigger": "weekly page check",
   "verification": "metadata and schema checks",
   "memory": "open SEO findings",
   "built_from": [
    "sanity-io--seo-aeo-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "seo-content-audit-loop",
   "name": "SEO content audit loop",
   "outcome": "Weekly content quality scores.",
   "summary": "Each week your agent audits a few key pages with seo-content: the Who, How and Why test, E-E-A-T scores, word count, readability, structure and AI citation readiness. It writes a score report per page and keeps a log to track change.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/agricidaniel/seo-content",
   "md": "https://gethabit.dev/skills/agricidaniel/seo-content.md",
   "trigger": "every Monday morning",
   "verification": "report complete, scored",
   "memory": "page score log",
   "built_from": [
    "agricidaniel--seo-content"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "seo-drift-audit-loop",
   "name": "SEO drift audit loop",
   "outcome": "Catch SEO drops every week.",
   "summary": "Every Monday your agent runs /seo drift compare against the stored baseline of your site, then a /seo technical pass on what changed. Findings land in Critical, High, Medium and Low with a failure check each, and the drift history is the memory.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/agricidaniel/seo",
   "md": "https://gethabit.dev/skills/agricidaniel/seo.md",
   "trigger": "every Monday morning",
   "verification": "doctor, baseline and report",
   "memory": "drift history",
   "built_from": [
    "agricidaniel--seo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "seo-geo-audit-loop",
   "name": "SEO GEO audit loop",
   "outcome": "Site stays findable by AI search.",
   "summary": "Each week your agent audits your site with seo-geo: it runs scripts/seo_audit.py, checks meta tags, robots.txt, sitemap and JSON-LD, and makes sure AI bots may crawl. It writes the SEO/GEO report and keeps last week's status to compare.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/resciencelab/seo-geo",
   "md": "https://gethabit.dev/skills/resciencelab/seo-geo.md",
   "trigger": "weekly site audit",
   "verification": "audit checks pass",
   "memory": "weekly SEO reports",
   "built_from": [
    "resciencelab--seo-geo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "serp-rank-track-loop",
   "name": "SERP rank track loop",
   "outcome": "A daily record of search ranks.",
   "summary": "On a schedule, your agent runs your tracked queries through the google-search API, reads the clean JSON results and records where your pages rank. A run log keeps yesterday's positions per query.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/fetcher-sh/google-search",
   "md": "https://gethabit.dev/skills/fetcher-sh/google-search.md",
   "trigger": "daily rank check",
   "verification": "results returned per query",
   "memory": "rank history log",
   "built_from": [
    "fetcher-sh--google-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "serp-rank-watch-loop",
   "name": "SERP rank watch loop",
   "outcome": "Weekly search ranks for your keywords.",
   "summary": "Every week, your agent sends your keywords to the Bright Data SERP API with brd_json=1, reads the organic ranks for your site and compares them with last week. It picks the most specific Bright Data API for each job.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/brightdata/bright-data-best-practices",
   "md": "https://gethabit.dev/skills/brightdata/bright-data-best-practices.md",
   "trigger": "weekly rank check",
   "verification": "parsed results returned",
   "memory": "weekly rank log",
   "built_from": [
    "brightdata--bright-data-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "serp-snapshot-loop",
   "name": "SERP snapshot loop",
   "outcome": "Weekly search results saved per keyword.",
   "summary": "Each week your agent runs bdata search with --json for your tracked keywords and markets, saves the organic results, compares them to last week's snapshot and scrapes new top pages with bdata scrape to markdown for review.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/brightdata/brightdata-cli",
   "md": "https://gethabit.dev/skills/brightdata/brightdata-cli.md",
   "trigger": "weekly SERP snapshot",
   "verification": "snapshot files written",
   "memory": "weekly SERP snapshots",
   "built_from": [
    "brightdata--brightdata-cli"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "session-handoff-loop",
   "name": "Session handoff loop",
   "outcome": "Every session ends with a handoff.",
   "summary": "At the end of a work session your agent writes a handoff document to the OS temp directory, with a suggested skills section and links to existing specs and commits instead of copies. A check confirms the file exists and holds no secrets.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/mattpocock/handoff",
   "md": "https://gethabit.dev/skills/mattpocock/handoff.md",
   "trigger": "session ends",
   "verification": "file and secrets check",
   "memory": "handoff index",
   "built_from": [
    "mattpocock--handoff"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "softaworks-session-handoff-loop",
   "name": "Session handoff loop",
   "outcome": "Fresh agents resume with full context.",
   "summary": "When a session is ending or context is nearly full, your agent runs create_handoff.py to scaffold a handoff, fills the TODO sections, and validates it with validate_handoff.py. The handoff must have no placeholders, no secrets and a quality score of at least 70.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/softaworks/session-handoff",
   "md": "https://gethabit.dev/skills/softaworks/session-handoff.md",
   "trigger": "session ends or fills",
   "verification": "validator passes",
   "memory": "handoff documents",
   "built_from": [
    "softaworks--session-handoff"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "session-history-loop",
   "name": "Session history loop",
   "outcome": "See past sessions every week.",
   "summary": "Each Monday morning your agent calls memory_sessions for this project and writes a timeline of the last 20 sessions with status, highlights and observation counts. A check makes sure every line came from the tool. The timeline is kept in the loop folder.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/rohitg00/session-history",
   "md": "https://gethabit.dev/skills/rohitg00/session-history.md",
   "trigger": "every Monday morning",
   "verification": "timeline matches tool output",
   "memory": "weekly session timelines",
   "built_from": [
    "rohitg00--session-history"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "shadcn-component-check-loop",
   "name": "shadcn component check loop",
   "outcome": "New UI components ship type-safe.",
   "summary": "When a pull request adds or changes files in components/ui, your agent reviews them with the shadcn-ui skill: cn() for classes, wrappers outside components/ui, ARIA kept. Then tsc --noEmit and your linter must pass. A log keeps the components checked.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/google-labs-code/shadcn-ui",
   "md": "https://gethabit.dev/skills/google-labs-code/shadcn-ui.md",
   "trigger": "PR changes components/ui",
   "verification": "types and lint pass",
   "memory": "component check log",
   "built_from": [
    "google-labs-code--shadcn-ui"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "shadcn-upstream-sync-loop",
   "name": "shadcn upstream sync loop",
   "outcome": "Components current, local changes kept.",
   "summary": "Each week your agent lists installed shadcn components, previews upstream changes with add --dry-run and --diff, merges files with no local changes and asks you before any overwrite. A hard check runs the typecheck and the critical rules. A board keeps pending merges.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/shadcn-ui/shadcn",
   "md": "https://gethabit.dev/skills/shadcn-ui/shadcn.md",
   "trigger": "weekly component sync",
   "verification": "typecheck and rules pass",
   "memory": "pending component merges",
   "built_from": [
    "shadcn-ui--shadcn"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "shadcn-svelte-update-loop",
   "name": "shadcn-svelte update loop",
   "outcome": "Keep Svelte UI components current.",
   "summary": "Each month your agent reads components.json, runs the shadcn-svelte update command on installed components, reviews the git diff against the skill's composition rules and checks the build. A board keeps conflicts and rule fixes.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/huntabyte/shadcn-svelte",
   "md": "https://gethabit.dev/skills/huntabyte/shadcn-svelte.md",
   "trigger": "monthly component update",
   "verification": "build and rule checks",
   "memory": "component update board",
   "built_from": [
    "huntabyte--shadcn-svelte"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "short-story-draft-loop",
   "name": "Short story draft loop",
   "outcome": "Short stories from emotion to draft.",
   "summary": "For each short story, the agent asks for the target emotion, designs 设定.md and 小节大纲.md, writes 正文.md scene by scene and passes the Phase 3 gate with check-ai-patterns.js and check-degeneration.js before polishing. Design files carry state.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/zenstory-ai/story-short-write",
   "md": "https://gethabit.dev/skills/zenstory-ai/story-short-write.md",
   "trigger": "author starts a story",
   "verification": "author + Phase 3 gate",
   "memory": "story design files",
   "built_from": [
    "zenstory-ai--story-short-write"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "shortcut-debt-ledger-loop",
   "name": "Shortcut debt ledger loop",
   "outcome": "No shortcut quietly becomes permanent.",
   "summary": "Every week your agent runs ponytail-debt: it greps the repo for shortcut: comments, writes one ledger row per marker with its ceiling and upgrade trigger, and tags rows with no trigger. The ledger file keeps the count, so growth shows up.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dietrichgebert/ponytail-debt",
   "md": "https://gethabit.dev/skills/dietrichgebert/ponytail-debt.md",
   "trigger": "weekly debt scan",
   "verification": "ledger matches grep",
   "memory": "debt ledger file",
   "built_from": [
    "dietrichgebert--ponytail-debt"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sigma-spaced-review-loop",
   "name": "Sigma spaced review loop",
   "outcome": "Learned concepts stay learned.",
   "summary": "Each day your agent resumes your Sigma session, asks one recall question per mastered concept that is due, doubles or resets its review interval and then continues the roadmap. The session file keeps mastery scores, misconceptions and review dates.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/sanyuan0704/sigma",
   "md": "https://gethabit.dev/skills/sanyuan0704/sigma.md",
   "trigger": "daily review session",
   "verification": "your answers + session update",
   "memory": "session and profile",
   "built_from": [
    "sanyuan0704--sigma"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "simple-english-docs-loop",
   "name": "Simple English docs loop",
   "outcome": "Every doc reads plain English.",
   "summary": "When a pull request changes documentation, your agent checks the changed prose with simple english, rewrites what breaks the rules and runs the self-check. It logs each fixed file so the next run starts with the open hits.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/aminblg/simple-english",
   "md": "https://gethabit.dev/skills/aminblg/simple-english.md",
   "trigger": "docs change in PR",
   "verification": "self-check finds zero hits",
   "memory": "log of fixed files",
   "built_from": [
    "aminblg--simple-english"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "squirrel-site-audit-loop",
   "name": "Site audit fix loop",
   "outcome": "Site score climbs every week.",
   "summary": "Every week, or when a squirrelscan cloud audit finishes, your agent runs squirrel audit with --format llm, maps findings to source files, fixes approved batches and re-audits. It compares against the baseline with squirrel report --diff and keeps the audit ids.",
   "origin": "composed",
   "use_case": "seo",
   "url": "https://gethabit.dev/skills/squirrelscan/audit-website",
   "md": "https://gethabit.dev/skills/squirrelscan/audit-website.md",
   "trigger": "weekly or audit event",
   "verification": "re-audit, build, your OK",
   "memory": "audit ids and scores",
   "built_from": [
    "squirrelscan--audit-website"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "skill-review-loop",
   "name": "Skill review loop",
   "outcome": "Every skill change gets reviewed.",
   "summary": "When a SKILL.md changes, your agent loads the skill, checks structure, description, workflow, token efficiency and anti-patterns, and reports strengths and prioritized fixes. A log keeps past reviews per skill so repeat issues show.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/sanyuan0704/skill-review",
   "md": "https://gethabit.dev/skills/sanyuan0704/skill-review.md",
   "trigger": "SKILL.md changed",
   "verification": "structure checks pass",
   "memory": "skill reviews log",
   "built_from": [
    "sanyuan0704--skill-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "skill-security-audit-loop",
   "name": "Skill security audit loop",
   "outcome": "Vet every new skill first.",
   "summary": "Whenever a new skill lands in your project, your agent runs the bundled scanner, reads the flagged files, compares claims with behavior and writes a verdict. An audit log keeps past verdicts so known skills are not scanned twice.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/superagent-ai/skill-security",
   "md": "https://gethabit.dev/skills/superagent-ai/skill-security.md",
   "trigger": "new skill added",
   "verification": "scan done, you decide",
   "memory": "audit verdict log",
   "built_from": [
    "superagent-ai--skill-security"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "skill-size-loop",
   "name": "Skill size loop",
   "outcome": "Your skills stay short and loadable.",
   "summary": "When a SKILL.md changes, your agent counts its lines against the 200-line rule, checks the frontmatter for name and description and confirms that linked scripts, references and assets exist. Line counts go into a run log.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/siviter-xyz/create-skill",
   "md": "https://gethabit.dev/skills/siviter-xyz/create-skill.md",
   "trigger": "a SKILL.md changes",
   "verification": "under 200 lines, valid",
   "memory": "skill size log",
   "built_from": [
    "siviter-xyz--create-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "validate-skills-loop",
   "name": "Skill validation loop",
   "outcome": "Every skill passes the spec.",
   "summary": "On each pull request that touches skills/, your agent checks every skill folder against the agentskills.io spec and Claude Code best practices: name, description, body length and link rules. It reports PASS or FAIL per check and keeps the last results.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/callstackincubator/validate-skills",
   "md": "https://gethabit.dev/skills/callstackincubator/validate-skills.md",
   "trigger": "PR touches skills folder",
   "verification": "all checks PASS",
   "memory": "last validation results",
   "built_from": [
    "callstackincubator--validate-skills"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "skill-vetting-loop",
   "name": "Skill vetting loop",
   "outcome": "Every skill vetted before install.",
   "summary": "Whenever a new or updated skill is about to be installed, your agent vets its SKILL.md: metadata, permission scope, red-flag content and typosquatting. It writes a report with a verdict and keeps every report so version changes get vetted again.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/useai-pro/skill-vetter",
   "md": "https://gethabit.dev/skills/useai-pro/skill-vetter.md",
   "trigger": "Skill install or update",
   "verification": "report with verdict",
   "memory": "vetting reports",
   "built_from": [
    "useai-pro--skill-vetter"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "slack-api-call-audit-loop",
   "name": "Slack API call audit loop",
   "outcome": "Slack API calls stay correct.",
   "summary": "When code that calls the Slack Web API changes, your agent checks each method against its live doc page: name, scopes, token type, pagination and deprecation. It keeps a log of verified methods so later runs only check what is new.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/slackapi/slack-api",
   "md": "https://gethabit.dev/skills/slackapi/slack-api.md",
   "trigger": "PR changes Slack calls",
   "verification": "methods match live docs",
   "memory": "verified method log",
   "built_from": [
    "slackapi--slack-api"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "slack-changelog-watch-loop",
   "name": "Slack changelog watch loop",
   "outcome": "Slack platform changes never surprise you.",
   "summary": "Every week, your agent searches the docs.slack.dev changelog category, fetches new pages as markdown and summarises what affects your Slack app, citing each Source URL. Pages already read are kept in a log so only new changes are reported.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/slackapi/slack-docs",
   "md": "https://gethabit.dev/skills/slackapi/slack-docs.md",
   "trigger": "every Monday",
   "verification": "every claim cites source",
   "memory": "read changelog pages",
   "built_from": [
    "slackapi--slack-docs"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "slack-decision-digest-loop",
   "name": "Slack decision digest loop",
   "outcome": "Weekly decisions found and summarised.",
   "summary": "Every Friday, your agent searches public Slack channels for the week's decisions and open questions with in:, after: and keyword searches, reads each thread for context and writes a digest. Threads already covered stay in a log.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/slackapi/slack-search",
   "md": "https://gethabit.dev/skills/slackapi/slack-search.md",
   "trigger": "every Friday",
   "verification": "every item has thread",
   "memory": "covered threads log",
   "built_from": [
    "slackapi--slack-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "social-photo-set-loop",
   "name": "Social photo set loop",
   "outcome": "On-brand social images for each campaign.",
   "summary": "When you start a campaign, your agent runs the design skill's social photos flow: it proposes concepts for you to pick, builds HTML per idea and size with the brand and design-system skills, exports PNGs, checks them and writes a report to plans/reports/.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/nextlevelbuilder/design",
   "md": "https://gethabit.dev/skills/nextlevelbuilder/design.md",
   "trigger": "new campaign brief",
   "verification": "your pick + size check",
   "memory": "design reports folder",
   "built_from": [
    "nextlevelbuilder--design"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "solana-program-check-loop",
   "name": "Solana program check loop",
   "outcome": "Solana changes built, tested, risk-noted.",
   "summary": "When a pull request changes a Solana program or client, your agent classifies the layer, builds and tests with Anchor and Surfpool on localnet, checks v1 transaction rules and writes risk notes. Any signing waits for your approval. A board keeps open risks.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/solana-foundation/solana-dev",
   "md": "https://gethabit.dev/skills/solana-foundation/solana-dev.md",
   "trigger": "PR changes Solana code",
   "verification": "tests pass, you sign",
   "memory": "open risk notes",
   "built_from": [
    "solana-foundation--solana-dev"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sound-effects-loop",
   "name": "Sound effects loop",
   "outcome": "Every listed sound gets generated.",
   "summary": "When new sound requests land in the loop's list, your agent turns each one into an ElevenLabs sound effect with set duration, loop and prompt influence. A hard check confirms each audio file exists and the call returned no error, and the list keeps what is done.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/elevenlabs/sound-effects",
   "md": "https://gethabit.dev/skills/elevenlabs/sound-effects.md",
   "trigger": "new sound request listed",
   "verification": "audio file exists, no error",
   "memory": "sound request board",
   "built_from": [
    "elevenlabs--sound-effects"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "spec-design-loop",
   "name": "Spec design loop",
   "outcome": "Each feature gets an approved spec.",
   "summary": "Before a large feature is coded, your agent runs the spec-driven method: it reads the project memory and recent specs, asks clarifying questions in blocks until scope, data and verification are clear, writes the spec section by section from the template and saves it to specs/ as a numbered draft.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/klerith/spec",
   "md": "https://gethabit.dev/skills/klerith/spec.md",
   "trigger": "you start a feature",
   "verification": "spec saved as draft",
   "memory": "specs folder",
   "built_from": [
    "klerith--spec"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "spec-drift-gate-loop",
   "name": "Spec drift gate loop",
   "outcome": "Implementation stays aligned with the spec.",
   "summary": "On every pull request your agent runs indexion spec align status with --fail-on any and --threshold 0.3 against the requirements, plus spec verify and spec align diff for the report. A failing gate blocks the merge and the report lists DRIFTED, SPEC_ONLY and SHALLOW items.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/trkbt10/indexion-sdd",
   "md": "https://gethabit.dev/skills/trkbt10/indexion-sdd.md",
   "trigger": "pull request opened",
   "verification": "spec align gate",
   "memory": "SDD reports folder",
   "built_from": [
    "trkbt10--indexion-sdd"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "spec-first-loop",
   "name": "Spec first loop",
   "outcome": "No code before an approved spec.",
   "summary": "When a new feature starts, your agent lists its assumptions, asks you questions and writes a spec with six core areas, then stops for your approval. After each approval it moves one phase on: plan, tasks, implement. The spec file stays the memory.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/addyosmani/spec-driven-development",
   "md": "https://gethabit.dev/skills/addyosmani/spec-driven-development.md",
   "trigger": "new feature request",
   "verification": "spec check + your approval",
   "memory": "spec and task files",
   "built_from": [
    "addyosmani--spec-driven-development"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "spec-gated-build-loop",
   "name": "Spec gated build loop",
   "outcome": "Features built only from settled specs.",
   "summary": "When a scope item is ready to build, your agent runs the develop skill: it applies the input coverage test, stops and routes to architect if a value has no named source, then reads the spec and AGENTS.md, builds the UI or logic, and advances the scope.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/jsmastery-pro/develop",
   "md": "https://gethabit.dev/skills/jsmastery-pro/develop.md",
   "trigger": "you start a build",
   "verification": "spec gate + build",
   "memory": "feature scope file",
   "built_from": [
    "jsmastery-pro--develop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "spec-implement-loop",
   "name": "Spec implement loop",
   "outcome": "Approved specs implemented on their branch.",
   "summary": "When you implement an approved spec, your agent confirms the state means Approved, switches to a branch named after the spec, shows the objective, scope, plan and criteria, then implements the plan one step at a time, pausing after each step for a diff review.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/klerith/spec-impl",
   "md": "https://gethabit.dev/skills/klerith/spec-impl.md",
   "trigger": "you implement a spec",
   "verification": "approved-state gate and step pauses",
   "memory": "spec and branch",
   "built_from": [
    "klerith--spec-impl"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "spending-insights-loop",
   "name": "Spending insights loop",
   "outcome": "A weekly answer about your spending.",
   "summary": "Each week the agent reads Link transactions, balances and precomputed insights, pages through the full week and writes a short spending summary with its limits. A run log keeps the period, the sources and any stale data notes.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/stripe/financial-insights",
   "md": "https://gethabit.dev/skills/stripe/financial-insights.md",
   "trigger": "every Monday morning",
   "verification": "pagination and status check",
   "memory": "weekly spending log",
   "built_from": [
    "stripe--financial-insights"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "sqltest-conversion-loop",
   "name": "Sqltest conversion loop",
   "outcome": "Legacy TCL tests move to sqltest.",
   "summary": "Each night your agent converts a few legacy TCL .test files to .sqltest with the test runner's convert command, fixes what the converter missed, adjusts expected results to the generated database and runs them. A board tracks which files are done.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/tursodatabase/testing",
   "md": "https://gethabit.dev/skills/tursodatabase/testing.md",
   "trigger": "nightly test conversion",
   "verification": "converted tests pass",
   "memory": "conversion board",
   "built_from": [
    "tursodatabase--testing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ste-plain-text-loop",
   "name": "STE plain text loop",
   "outcome": "Keep agent-facing text unambiguous.",
   "summary": "When error messages, tool descriptions or prompts change, your agent runs ste-lint.py on them, rewrites flagged sentences in Simplified Technical English while keeping every hedge and fact, and re-runs the linter. A log keeps the baseline count.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/danyuchn/asd-ste100",
   "md": "https://gethabit.dev/skills/danyuchn/asd-ste100.md",
   "trigger": "agent-facing text changes",
   "verification": "ste-lint passes",
   "memory": "lint baseline log",
   "built_from": [
    "danyuchn--asd-ste100"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "stop-slop-draft-loop",
   "name": "Stop slop draft loop",
   "outcome": "Drafts ship without AI tells.",
   "summary": "When a new draft lands, your agent runs the stop slop quick checks, scores the text on five dimensions and revises until it reaches 35 of 50. It logs the score and the patterns it cut, so the next run knows your usual tells.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/hardikpandya/stop-slop",
   "md": "https://gethabit.dev/skills/hardikpandya/stop-slop.md",
   "trigger": "new draft committed",
   "verification": "score 35 of 50",
   "memory": "scores and cut patterns",
   "built_from": [
    "hardikpandya--stop-slop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "store-screenshots-refresh-loop",
   "name": "Store screenshots refresh loop",
   "outcome": "Store screenshots that sell features.",
   "summary": "When new app captures land in public/screenshots, your agent runs app store screenshots: it updates the Next.js editor deck, coaches the copy, you design and export, and a QA gate checks build, layouts and file names. The deck lives in app-store-screenshots.json.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/parthjadhav/app-store-screenshots",
   "md": "https://gethabit.dev/skills/parthjadhav/app-store-screenshots.md",
   "trigger": "new app captures added",
   "verification": "you export + QA gate",
   "memory": "deck project file",
   "built_from": [
    "parthjadhav--app-store-screenshots"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "strategy-red-team-loop",
   "name": "Strategy red-team loop",
   "outcome": "Every plan gets attacked first.",
   "summary": "When a PRD, roadmap or strategy doc changes, your agent red-teams it: it finds the load-bearing claims, attacks their strongest form, ranks failure modes and gives a cheapest test and kill criterion for each. The log tracks which assumptions were tested.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/phuryn/strategy-red-team",
   "md": "https://gethabit.dev/skills/phuryn/strategy-red-team.md",
   "trigger": "plan document changed",
   "verification": "format check + critic",
   "memory": "assumption test board",
   "built_from": [
    "phuryn--strategy-red-team"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "strix-fix-verify-loop",
   "name": "Strix fix and verify loop",
   "outcome": "Findings fixed and proven closed.",
   "summary": "When a Strix scan reports findings, your agent fixes them by severity at the root cause, then re-runs Strix and the PoC to prove each one is closed. It runs the test suite and keeps a per-finding report for the next scan.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/usestrix/fix-security-vulnerabilities-with-strix",
   "md": "https://gethabit.dev/skills/usestrix/fix-security-vulnerabilities-with-strix.md",
   "trigger": "Strix scan reports findings",
   "verification": "re-scan clean, tests pass",
   "memory": "per-finding fix report",
   "built_from": [
    "usestrix--fix-security-vulnerabilities-with-strix"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "studio-test-coverage-loop",
   "name": "Studio test coverage loop",
   "outcome": "Every Studio change gets right tests.",
   "summary": "On each pull request in apps/studio, your agent walks the test decision tree, extracts pure logic into .utils.ts files, writes exhaustive unit tests, adds component tests only for complex UI and E2E tests for shared features, then runs the tests.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/supabase/studio-testing",
   "md": "https://gethabit.dev/skills/supabase/studio-testing.md",
   "trigger": "Studio code changes",
   "verification": "tests pass, logic extracted",
   "memory": "coverage gap board",
   "built_from": [
    "supabase--studio-testing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "study-quiz-loop",
   "name": "Study quiz loop",
   "outcome": "Find and fix your blind spots.",
   "summary": "Each day your agent reads the StudyVault dashboard, asks you which session to run, builds four hint-free questions, grades your answers and updates the concept files and dashboard. Weak concepts come back in new wording next time.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/bevibing/tutor",
   "md": "https://gethabit.dev/skills/bevibing/tutor.md",
   "trigger": "daily study session",
   "verification": "you answer, files update",
   "memory": "StudyVault dashboard",
   "built_from": [
    "bevibing--tutor"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "studyvault-build-loop",
   "name": "StudyVault build loop",
   "outcome": "Sources turned into a study vault.",
   "summary": "When new study sources or a codebase arrive in the working folder, your agent detects the mode, asks you to confirm it, maps sources, builds or extends the StudyVault with notes, practice questions and links, and runs the quality checklist.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/bevibing/tutor-setup",
   "md": "https://gethabit.dev/skills/bevibing/tutor-setup.md",
   "trigger": "new sources added",
   "verification": "you confirm, checklist passes",
   "memory": "StudyVault dashboard",
   "built_from": [
    "bevibing--tutor-setup"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "supabase-schema-guard-loop",
   "name": "Supabase schema guard loop",
   "outcome": "Safe schema changes, checked migrations.",
   "summary": "When a pull request changes the Supabase schema, your agent checks the changelog for breaking changes, runs supabase db advisors, walks the security checklist, generates the migration and runs a test query. The run log keeps advisor findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/supabase/supabase",
   "md": "https://gethabit.dev/skills/supabase/supabase.md",
   "trigger": "schema change in PR",
   "verification": "advisors + test query",
   "memory": "advisor findings log",
   "built_from": [
    "supabase--supabase"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "supabase-server-auth-review-loop",
   "name": "Supabase server auth review loop",
   "outcome": "Edge Function auth stays correct.",
   "summary": "When a pull request touches files under supabase/functions, the agent checks each one against the @supabase/server rules: a stated auth mode, verify_jwt matched to it, new API keys not legacy ones, and signature checks behind auth none. The build must pass and findings go into a log.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/supabase/supabase-server",
   "md": "https://gethabit.dev/skills/supabase/supabase-server.md",
   "trigger": "edge function changes",
   "verification": "build and auth-mode checks",
   "memory": "auth review log",
   "built_from": [
    "supabase--supabase-server"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "supply-chain-research-loop",
   "name": "Supply chain research loop",
   "outcome": "Dated research priorities, rechecked monthly.",
   "summary": "Each month your agent rescans a technology theme with supply-chain bottleneck analysis, checks current filings for each candidate, and ranks research priority with dated evidence and a condition that would change it. A memo file keeps last month's judgments.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/muxuuu/serenity-skill",
   "md": "https://gethabit.dev/skills/muxuuu/serenity-skill.md",
   "trigger": "monthly theme rescan",
   "verification": "every claim dated",
   "memory": "research memo",
   "built_from": [
    "muxuuu--serenity-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "surface-audit-loop",
   "name": "Surface audit loop",
   "outcome": "Surface matches the model below.",
   "summary": "After a significant change to the conceptual model or interaction structure, your agent audits the surface: vocabulary, object consistency, completeness, feedback and errors, hierarchy and accessibility. Each finding is tagged surface fix or deeper-layer issue.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jamiemill/layers-surface",
   "md": "https://gethabit.dev/skills/jamiemill/layers-surface.md",
   "trigger": "model or flow changes",
   "verification": "findings tagged, designer reviews",
   "memory": "surface audit findings",
   "built_from": [
    "jamiemill--layers-surface"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "svelte-autofixer-loop",
   "name": "Svelte autofixer loop",
   "outcome": "Ship Svelte components the autofixer accepts.",
   "summary": "When a pull request changes .svelte or .svelte.ts files, your agent runs svelte-autofixer on each one with the project's Svelte version, looks up unclear syntax in the docs and fixes the issues. A log keeps the files and the issues found.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/sveltejs/svelte-code-writer",
   "md": "https://gethabit.dev/skills/sveltejs/svelte-code-writer.md",
   "trigger": "Svelte files changed",
   "verification": "autofixer finds no issues",
   "memory": "autofixer issue log",
   "built_from": [
    "sveltejs--svelte-code-writer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "swift6-migration-loop",
   "name": "Swift 6 migration loop",
   "outcome": "One diagnostic category cleared per run.",
   "summary": "Each night the agent reads the project's concurrency settings, builds, fixes one category of concurrency diagnostics with the smallest safe change, rebuilds and runs the tests. A board tracks the confirmed settings and the categories left.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/avdlee/swift-concurrency",
   "md": "https://gethabit.dev/skills/avdlee/swift-concurrency.md",
   "trigger": "every weeknight",
   "verification": "build, tests + settings",
   "memory": "migration board",
   "built_from": [
    "avdlee--swift-concurrency"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "swiftdata-review-loop",
   "name": "SwiftData review loop",
   "outcome": "SwiftData bugs caught before merge.",
   "summary": "When a pull request changes Swift model or query code, your agent reviews it with swiftdata-pro: core rules, predicate safety, and CloudKit, indexing or inheritance checks when they apply. Findings are listed by file with a fix, and a log keeps rules that keep coming back.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/twostraws/swiftdata-pro",
   "md": "https://gethabit.dev/skills/twostraws/swiftdata-pro.md",
   "trigger": "Swift pull request opened",
   "verification": "build plus rule review",
   "memory": "repeated rule log",
   "built_from": [
    "twostraws--swiftdata-pro"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "swiftui-review-loop",
   "name": "SwiftUI review loop",
   "outcome": "SwiftUI changes pass the checklist.",
   "summary": "On each pull request with SwiftUI code, your agent runs swiftui expert skill in review mode: it routes each topic to its reference, flags deprecated APIs from latest-apis.md and checks the correctness checklist. Findings go to a log for the next review.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/avdlee/swiftui-expert-skill",
   "md": "https://gethabit.dev/skills/avdlee/swiftui-expert-skill.md",
   "trigger": "PR changes Swift files",
   "verification": "checklist passes",
   "memory": "review findings log",
   "built_from": [
    "avdlee--swiftui-expert-skill"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tailwind-docs-refresh-loop",
   "name": "Tailwind docs refresh loop",
   "outcome": "Tailwind v4 docs never go stale.",
   "summary": "Once a week the agent reads the snapshot date in references/docs-source.txt. If the snapshot is missing or older than one week, it asks you, runs the sync script and checks that references/docs/ and references/docs-index.tsx exist.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/lombiq/tailwind-4-docs",
   "md": "https://gethabit.dev/skills/lombiq/tailwind-4-docs.md",
   "trigger": "every Monday morning",
   "verification": "you approve + files exist",
   "memory": "snapshot source file",
   "built_from": [
    "lombiq--tailwind-4-docs"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "task-breakdown-loop",
   "name": "Task breakdown loop",
   "outcome": "Turn each spec into small tasks.",
   "summary": "When a spec is approved, your agent reads it in plan mode, maps dependencies, slices the work vertically and writes tasks/plan.md and tasks/todo.md with checkpoints. Hard checks catch tasks without criteria, and you approve the plan.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/addyosmani/planning-and-task-breakdown",
   "md": "https://gethabit.dev/skills/addyosmani/planning-and-task-breakdown.md",
   "trigger": "spec gets approved",
   "verification": "task check + your approval",
   "memory": "plan and todo files",
   "built_from": [
    "addyosmani--planning-and-task-breakdown"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tauri-v2-health-loop",
   "name": "Tauri v2 health loop",
   "outcome": "Tauri commands and permissions stay wired.",
   "summary": "When src-tauri changes, your agent runs the setup checklist: npx tauri info shows v2, capabilities/default.json has core:default, every command is in generate_handler, and logic lives in lib.rs. It logs each problem found and fixed.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/nodnarbnitram/tauri-v2",
   "md": "https://gethabit.dev/skills/nodnarbnitram/tauri-v2.md",
   "trigger": "src-tauri changed",
   "verification": "setup checklist passes",
   "memory": "fix log",
   "built_from": [
    "nodnarbnitram--tauri-v2"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tavily-news-watch-loop",
   "name": "Tavily news watch loop",
   "outcome": "Daily news on your topics.",
   "summary": "Each morning your agent runs tavily search for your saved topics with --topic news and --time-range day, filtered to trusted domains. It keeps only results not seen before and logs them by topic.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/tavily-ai/tavily-search",
   "md": "https://gethabit.dev/skills/tavily-ai/tavily-search.md",
   "trigger": "daily news search",
   "verification": "results saved",
   "memory": "seen results log",
   "built_from": [
    "tavily-ai--tavily-search"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tavily-weekly-research-loop",
   "name": "Tavily weekly research loop",
   "outcome": "A fresh cited report every week.",
   "summary": "Every Monday your agent runs tavily research with the pro model on your standing topics, saves each JSON report with -o, checks it has citations and compares it with last week's report. It keeps a log of topics and report files.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/tavily-ai/tavily-research",
   "md": "https://gethabit.dev/skills/tavily-ai/tavily-research.md",
   "trigger": "Mondays at 07:00",
   "verification": "report saved with sources",
   "memory": "research topics log",
   "built_from": [
    "tavily-ai--tavily-research"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tech-spec-loop",
   "name": "Tech spec loop",
   "outcome": "Plans grounded in the real code.",
   "summary": "When a PRODUCT.md is agreed, your agent reads it, inspects the code, pins references to a commit SHA and writes specs/<id>/TECH.md with context, changes, testing and parallelization. A check confirms the required sections and that tests map to Behavior items.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/warpdotdev/write-tech-spec",
   "md": "https://gethabit.dev/skills/warpdotdev/write-tech-spec.md",
   "trigger": "product spec approved",
   "verification": "required sections present",
   "memory": "tech spec",
   "built_from": [
    "warpdotdev--write-tech-spec"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "technical-doc-review-loop",
   "name": "Technical doc review loop",
   "outcome": "Docs stay sourced, current and plain.",
   "summary": "When a pull request adds or changes a technical document, your agent classifies it, checks the hard rules and grounds each claim in a source. It runs the reviewing-technical-prose pass, follows every reference and logs open issues per document.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/riekelt/technical-writing",
   "md": "https://gethabit.dev/skills/riekelt/technical-writing.md",
   "trigger": "PR changes a document",
   "verification": "hard rules pass",
   "memory": "open issues per document",
   "built_from": [
    "riekelt--technical-writing"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "template-builder-audit-loop",
   "name": "Template builder audit loop",
   "outcome": "Template editors save valid Sent payloads.",
   "summary": "When a pull request changes the template builder, the agent audits it against the Sent v3 definition model, the validation matrix, channel previews and the save and review rules. It runs the waba-template-author linter on serialized drafts and logs every gap.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/sentdm/template-builder-ui",
   "md": "https://gethabit.dev/skills/sentdm/template-builder-ui.md",
   "trigger": "PR changes template builder",
   "verification": "linter + audit checklist",
   "memory": "builder audit log",
   "built_from": [
    "sentdm--template-builder-ui"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "genshijin-commit-loop",
   "name": "Terse commit message loop",
   "outcome": "Short commit messages that explain why.",
   "summary": "When changes are staged, your agent writes a Conventional Commits message with genshijin commit: a short imperative subject, a body only when the reason is not obvious. A check tests subject length, type and banned phrases. Notes keep the repo's language and scopes.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/interfacex-co-jp/genshijin-commit",
   "md": "https://gethabit.dev/skills/interfacex-co-jp/genshijin-commit.md",
   "trigger": "changes are staged",
   "verification": "subject and body rules",
   "memory": "repo commit style",
   "built_from": [
    "interfacex-co-jp--genshijin-commit"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "terse-commit-message-loop",
   "name": "Terse commit message loop",
   "outcome": "Every commit message short and exact.",
   "summary": "Whenever you ask for a commit message, your agent reads the staged diff and writes a Conventional Commits message: imperative subject, type and optional scope, a body only when the why, a breaking change or a migration needs it. You paste it; the agent never commits.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/juliusbrussee/caveman-commit",
   "md": "https://gethabit.dev/skills/juliusbrussee/caveman-commit.md",
   "trigger": "commit message requested",
   "verification": "format rules check",
   "memory": "past commit messages",
   "built_from": [
    "juliusbrussee--caveman-commit"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "genshijin-review-loop",
   "name": "Terse PR review loop",
   "outcome": "Short review comments on every PR.",
   "summary": "When a pull request opens, your agent reviews the diff with genshijin review: one line per finding with location, problem and fix. A hard check rejects comments without a line number or with hedging words. A run log keeps past findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/interfacex-co-jp/genshijin-review",
   "md": "https://gethabit.dev/skills/interfacex-co-jp/genshijin-review.md",
   "trigger": "pull request opened",
   "verification": "comment format check",
   "memory": "review log",
   "built_from": [
    "interfacex-co-jp--genshijin-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "test-anti-pattern-audit-loop",
   "name": "Test anti-pattern audit loop",
   "outcome": "Tests that prove nothing get caught.",
   "summary": "On every pull request that touches tests, your agent audits the changed test files for anti-patterns, from missing assertions and swallowed exceptions to flaky sleeps and order coupling. It accounts for every test, gives exact fixes for critical findings and logs the report.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/dotnet/test-anti-patterns",
   "md": "https://gethabit.dev/skills/dotnet/test-anti-patterns.md",
   "trigger": "test files change",
   "verification": "complete, consistent report",
   "memory": "test audit log",
   "built_from": [
    "dotnet--test-anti-patterns"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "threejs-game-profile-loop",
   "name": "Three.js game profile loop",
   "outcome": "Root causes fixed, bottlenecks measured.",
   "summary": "When a Three.js game breaks or slows, your agent reproduces with your command and URL, fixes the root cause in the owning module, or baselines one scenario, changes one thing and re-measures. A run log keeps baseline and post metrics.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/majidmanzarpour/threejs-debug-profiler",
   "md": "https://gethabit.dev/skills/majidmanzarpour/threejs-debug-profiler.md",
   "trigger": "bug or slowdown reported",
   "verification": "broken path retested",
   "memory": "profile metrics log",
   "built_from": [
    "majidmanzarpour--threejs-debug-profiler"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "threejs-playable-slice-loop",
   "name": "Three.js playable slice loop",
   "outcome": "A game loop you can play.",
   "summary": "When you build or change a Three.js game, your agent writes or updates the design brief, core loop contract and level plan, then builds in playable increments with seeded randomness and runs the game's visual test. The design artifacts are the memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/majidmanzarpour/threejs-gameplay-systems",
   "md": "https://gethabit.dev/skills/majidmanzarpour/threejs-gameplay-systems.md",
   "trigger": "you build a mechanic",
   "verification": "playable and tested",
   "memory": "design brief and plans",
   "built_from": [
    "majidmanzarpour--threejs-gameplay-systems"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tigris-native-sdk-check-loop",
   "name": "Tigris native SDK check loop",
   "outcome": "Code uses native Tigris SDKs.",
   "summary": "When a pull request adds storage dependencies or scripts, the agent checks them against the Tigris SDK decision table: native SDK for TypeScript and Go, tigris-boto3-ext for Python, the tigris CLI instead of aws s3, and region auto. It logs each mismatch.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/tigrisdata/tigris-sdk-guide",
   "md": "https://gethabit.dev/skills/tigrisdata/tigris-sdk-guide.md",
   "trigger": "PR changes storage dependencies",
   "verification": "decision table check",
   "memory": "SDK mismatch log",
   "built_from": [
    "tigrisdata--tigris-sdk-guide"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tigris-security-audit-loop",
   "name": "Tigris security audit loop",
   "outcome": "Storage keys and CORS stay tight.",
   "summary": "Once a month the agent runs the Tigris security checklist: no tid_ or tsec_ strings in the repo, .env in .gitignore, keys scoped to buckets with the right role, no wildcard CORS with write methods. It asks before revoking keys and logs each audit.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/tigrisdata/tigris-security-access-control",
   "md": "https://gethabit.dev/skills/tigrisdata/tigris-security-access-control.md",
   "trigger": "monthly storage security audit",
   "verification": "audit checklist + your OK",
   "memory": "security audit log",
   "built_from": [
    "tigrisdata--tigris-security-access-control"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "tiktok-trend-watch-loop",
   "name": "TikTok trend watch loop",
   "outcome": "Track TikTok trends for your keywords.",
   "summary": "Each day your agent searches TikTok posts for your keywords sorted by most liked for yesterday, pulls watched hashtag feeds through the fetcher.sh API, drops posts already seen and writes a short trend digest. A seen-posts file keeps ids.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/fetcher-sh/tiktok-api",
   "md": "https://gethabit.dev/skills/fetcher-sh/tiktok-api.md",
   "trigger": "daily TikTok trend watch",
   "verification": "status 200, new posts",
   "memory": "seen post ids",
   "built_from": [
    "fetcher-sh--tiktok-api"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "token-diet-loop",
   "name": "Token diet loop",
   "outcome": "Every session short and cheap.",
   "summary": "A hook turns caveman mode on in every new session, so you never type /caveman again. Once a week the loop compares cost per task with the baseline. If tests pass less often, it switches to a lighter mode.",
   "origin": "composed",
   "use_case": "cost",
   "url": "https://gethabit.dev/skills/juliusbrussee/caveman",
   "md": "https://gethabit.dev/skills/juliusbrussee/caveman.md",
   "trigger": "every new session",
   "verification": "cost down, tests same",
   "memory": "cost log",
   "built_from": [
    "juliusbrussee--caveman"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "topic-research-report-loop",
   "name": "Topic research report loop",
   "outcome": "Tracked topics get fresh research reports.",
   "summary": "Every week the agent researches a topic you track with the Actionbook browser: several query angles, arXiv first, then web search, deep reads of the best sources. It writes a json-ui report, renders it to HTML and keeps the last report for comparison.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/actionbook/active-research",
   "md": "https://gethabit.dev/skills/actionbook/active-research.md",
   "trigger": "weekly topic research",
   "verification": "report renders with sources",
   "memory": "last topic report",
   "built_from": [
    "actionbook--active-research"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "turso-compat-triage-loop",
   "name": "Turso compat triage loop",
   "outcome": "Each mismatch traced to its layer.",
   "summary": "When a query behaves differently in tursodb than in SQLite, your agent compares EXPLAIN bytecode from sqlite3 and tursodb to place the bug in code generation or in the VM and storage layer, then reproduces it and logs the finding.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/tursodatabase/debugging",
   "md": "https://gethabit.dev/skills/tursodatabase/debugging.md",
   "trigger": "SQLite mismatch reported",
   "verification": "bytecode compared, bug reproduced",
   "memory": "compat triage log",
   "built_from": [
    "tursodatabase--debugging"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "typefully-queue-fill-loop",
   "name": "Typefully queue fill loop",
   "outcome": "Next week's social queue drafted.",
   "summary": "Each week your agent checks free slots with queue:get, drafts posts as single multi-platform drafts with ./scripts/typefully.js, plans them into free slots without auto-publishing, and asks you before scheduling or publishing anything.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/typefully/typefully",
   "md": "https://gethabit.dev/skills/typefully/typefully.md",
   "trigger": "weekly queue fill",
   "verification": "drafts within limits, approved",
   "memory": "queue fill log",
   "built_from": [
    "typefully--typefully"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "typography-review-loop",
   "name": "Typography review loop",
   "outcome": "Text renders right on every PR.",
   "summary": "On each pull request that touches styles, your agent runs better typography: it checks line-height units, weights, measure, tabular numbers, wrapping, truncation and 16px mobile inputs against the pattern table, then ends with Block or Approve.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jakubkrehel/better-typography",
   "md": "https://gethabit.dev/skills/jakubkrehel/better-typography.md",
   "trigger": "PR touches styles",
   "verification": "no HIGH findings left",
   "memory": "type findings log",
   "built_from": [
    "jakubkrehel--better-typography"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "typst-build-check-loop",
   "name": "Typst build check loop",
   "outcome": "Typst documents always compile cleanly.",
   "summary": "Whenever a .typ file changes, your agent runs typst compile, fixes errors using the common error table, checks text and structure through HTML export and layout through PNG export, and notes fixes for the next change.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/lucifer1004/typst",
   "md": "https://gethabit.dev/skills/lucifer1004/typst.md",
   "trigger": ".typ file changed",
   "verification": "compile passes, output checked",
   "memory": "build fixes log",
   "built_from": [
    "lucifer1004--typst"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui-animation-review-loop",
   "name": "UI animation review loop",
   "outcome": "Smooth motion in every PR.",
   "summary": "When a pull request changes motion code, your agent greps the diff for layout transitions and transition: all, checks the core motion rules, reviews against the ten standards with a Block or Approve verdict and logs repeat issues.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/mblode/ui-animation",
   "md": "https://gethabit.dev/skills/mblode/ui-animation.md",
   "trigger": "PR touches animation code",
   "verification": "diff grep, review verdict",
   "memory": "animation review log",
   "built_from": [
    "mblode--ui-animation"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "improve-ui-audit-loop",
   "name": "UI drift audit loop",
   "outcome": "Proven UI fixes, planned for handoff.",
   "summary": "Runs every two weeks on one product surface. Your agent traces the rendered path, checks it against the surface's own design sources, keeps only findings with contract, runtime and correction proof, and asks you which to plan.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/ibelick/improve-ui",
   "md": "https://gethabit.dev/skills/ibelick/improve-ui.md",
   "trigger": "biweekly surface audit",
   "verification": "proof gate, your pick",
   "memory": "design plans folder",
   "built_from": [
    "ibelick--improve-ui"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui-motion-review-loop",
   "name": "UI motion review loop",
   "outcome": "Animations reviewed on every UI change.",
   "summary": "When a pull request changes UI styles or components, your agent reviews them with emil-design-eng: easing, duration, transform origin, press states and reduced motion. A check scans the diff for known mistakes. The run log keeps open issues.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/emilkowalski/emil-design-eng",
   "md": "https://gethabit.dev/skills/emilkowalski/emil-design-eng.md",
   "trigger": "PR touches UI code",
   "verification": "diff scan + table",
   "memory": "motion issues log",
   "built_from": [
    "emilkowalski--emil-design-eng"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui-polish-review-loop",
   "name": "UI polish review loop",
   "outcome": "UI details stay exact and consistent.",
   "summary": "On each pull request that touches UI code, your agent runs better ui: it checks radius, shadows, image outlines, press scale, motion and icons against the detection table and reports findings by severity. It ends with Block or Approve.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/jakubkrehel/better-ui",
   "md": "https://gethabit.dev/skills/jakubkrehel/better-ui.md",
   "trigger": "PR touches UI code",
   "verification": "no HIGH findings left",
   "memory": "polish findings log",
   "built_from": [
    "jakubkrehel--better-ui"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui-taste-loop",
   "name": "UI taste loop",
   "outcome": "Keep every UI change on taste.",
   "summary": "Every pull request that touches UI files gets built with frontend design and taste, screenshotted at three widths, and graded by a separate impeccable audit. Rejected patterns go on a board so the next run avoids them.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/loops/ui-taste-loop",
   "md": "https://gethabit.dev/loops/ui-taste-loop.md",
   "trigger": "PR changes UI files",
   "verification": "screenshots + design critic",
   "memory": "design board",
   "built_from": [
    "anthropics--frontend-design",
    "leonxlnx--taste-skill",
    "pbakaus--impeccable"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui4-test-fix-loop",
   "name": "UI test fix loop",
   "outcome": "E2E tests follow UI changes.",
   "summary": "When UI changes are done, your agent diffs UI files against main, sorts changes into selector, structure and text, finds affected e2e tests and helpers, confirms they fail, fixes helpers first, and re-runs the tests on an isolated port.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/payloadcms/ui4-convert-tests",
   "md": "https://gethabit.dev/skills/payloadcms/ui4-convert-tests.md",
   "trigger": "UI change ready",
   "verification": "affected e2e tests pass",
   "memory": "selector changes log",
   "built_from": [
    "payloadcms--ui4-convert-tests"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui4-reskin-loop",
   "name": "UI4 reskin loop",
   "outcome": "One component reskinned to match Figma.",
   "summary": "For each Payload UI component on the board, your agent scans icons, migrates SCSS to CSS, maps every Figma variant, restyles with tokens, verifies each state with Playwright screenshots, gets your confirmation, writes variant e2e tests and runs ui4-review.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/payloadcms/ui4",
   "md": "https://gethabit.dev/skills/payloadcms/ui4.md",
   "trigger": "next component on board",
   "verification": "you confirm, tests pass",
   "memory": "components to reskin",
   "built_from": [
    "payloadcms--ui4"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ui4-token-review-loop",
   "name": "UI4 token review loop",
   "outcome": "CSS uses tokens, not hardcoded values.",
   "summary": "When CSS files change, your agent runs six greps for SCSS nesting, hardcoded spacing and colors, legacy variables, old token names and raw palette use, auto-fixes in priority order, flags unclear cases and reports a per-file summary.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/payloadcms/ui4-review",
   "md": "https://gethabit.dev/skills/payloadcms/ui4-review.md",
   "trigger": "CSS files changed",
   "verification": "violation greps come back clean",
   "memory": "flagged values log",
   "built_from": [
    "payloadcms--ui4-review"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "uniwind-style-rules-loop",
   "name": "Uniwind style rules loop",
   "outcome": "React Native styles follow Uniwind rules.",
   "summary": "On every pull request that touches React Native components, your agent checks the Uniwind critical rules: no dynamic classNames, no cssInterop or remapProps, no tailwind.config.js, no withUniwind on core components and accent- classes for non-style color props. A log keeps open issues.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/uni-stack/uniwind",
   "md": "https://gethabit.dev/skills/uni-stack/uniwind.md",
   "trigger": "component files change",
   "verification": "rule scan count zero",
   "memory": "Uniwind issue log",
   "built_from": [
    "uni-stack--uniwind"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "unslop-docs-loop",
   "name": "Unslop docs loop",
   "outcome": "Strip AI tells from new docs.",
   "summary": "When docs or README text changes, your agent scans the new text for the numbered unslop patterns, from AI vocabulary and em dashes to passive voice and over-compression, rewrites while keeping meaning and tone, and logs which rule ids fired.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/backnotprop/unslop",
   "md": "https://gethabit.dev/skills/backnotprop/unslop.md",
   "trigger": "docs text changes",
   "verification": "pattern scan is clean",
   "memory": "rule hit log",
   "built_from": [
    "backnotprop--unslop"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "user-feedback-synthesis-loop",
   "name": "User feedback synthesis loop",
   "outcome": "Turn feedback into clear decisions.",
   "summary": "Every week your agent groups new user feedback into themes, checks whether each theme is broad or just loud, and asks you a few sharp questions. A themes file keeps the history so trends and closed loops are easy to track.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/refoundai/analyzing-user-feedback",
   "md": "https://gethabit.dev/skills/refoundai/analyzing-user-feedback.md",
   "trigger": "weekly feedback review",
   "verification": "themes checked, you decide",
   "memory": "feedback themes file",
   "built_from": [
    "refoundai--analyzing-user-feedback"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "vhs-demo-evidence-loop",
   "name": "VHS demo evidence loop",
   "outcome": "Before and after GIFs reviewers trust.",
   "summary": "When a pull request changes CLI output, your agent runs the VHS preflight, builds baseline and changed binaries, records an isolated tape for each, inspects every frame with the helper and returns paths, versions and hashes as evidence.",
   "origin": "composed",
   "use_case": "docs",
   "url": "https://gethabit.dev/skills/cli/vhs-demo",
   "md": "https://gethabit.dev/skills/cli/vhs-demo.md",
   "trigger": "CLI output changes",
   "verification": "preflight and inspection pass",
   "memory": "demo evidence log",
   "built_from": [
    "cli--vhs-demo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "vibe-security-audit-loop",
   "name": "Vibe security audit loop",
   "outcome": "Common AI-coded security holes caught.",
   "summary": "When code changes, your agent audits it for the holes AI code tends to introduce: exposed secrets, weak database access rules, missing auth, client-trust and payment flaws, and reports findings by severity with before-and-after fixes. A run log keeps prior findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/raroque/vibe-security",
   "md": "https://gethabit.dev/skills/raroque/vibe-security.md",
   "trigger": "code changes",
   "verification": "findings by severity",
   "memory": "security findings log",
   "built_from": [
    "raroque--vibe-security"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "video-prompt-loop",
   "name": "Video prompt loop",
   "outcome": "Video prompts that direct the shot.",
   "summary": "When you need a video clip, your agent picks a current model with the find-models skill, writes a scene prompt with subject, camera, audio and time codes, and checks it against the common pitfalls. A character sheet keeps descriptions identical across clips.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/replicate/prompt-videos",
   "md": "https://gethabit.dev/skills/replicate/prompt-videos.md",
   "trigger": "new clip brief",
   "verification": "prompt covers all layers",
   "memory": "character sheet",
   "built_from": [
    "replicate--prompt-videos"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "video-watch-digest-loop",
   "name": "Video watch digest loop",
   "outcome": "Saved videos turned into timestamped notes.",
   "summary": "When you add a video URL to your watch list, your agent runs the watch skill with your question, reads every listed frame or the Gemini answer, and writes timestamped notes. It logs which videos are done and what evidence was missing.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/bradautomates/watch",
   "md": "https://gethabit.dev/skills/bradautomates/watch.md",
   "trigger": "video added to list",
   "verification": "setup ok, evidence read",
   "memory": "video queue and notes",
   "built_from": [
    "bradautomates--watch"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "vite-bundle-loop",
   "name": "Vite bundle loop",
   "outcome": "Your Vite bundle stays lean.",
   "summary": "On every pull request your agent builds the React app, checks chunk sizes against the limit, reads the bundle report and reviews splitting and env vars against the skill's 23 rules. Bundle sizes go into a run log.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/asyrafhussin/react-vite-best-practices",
   "md": "https://gethabit.dev/skills/asyrafhussin/react-vite-best-practices.md",
   "trigger": "PR opened or updated",
   "verification": "build passes, chunks small",
   "memory": "bundle size log",
   "built_from": [
    "asyrafhussin--react-vite-best-practices"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "vue-warning-triage-loop",
   "name": "Vue warning triage loop",
   "outcome": "Vue warnings get fixed, not ignored.",
   "summary": "When CI or a dev run logs a Vue runtime error, warning or hydration mismatch, your agent matches it to the right vue-debug-guides reference, applies the fix, runs the tests and logs which guide solved which symptom.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/vuejs-ai/vue-debug-guides",
   "md": "https://gethabit.dev/skills/vuejs-ai/vue-debug-guides.md",
   "trigger": "Vue warning in logs",
   "verification": "warning gone, tests pass",
   "memory": "symptom to guide log",
   "built_from": [
    "vuejs-ai--vue-debug-guides"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wandb-project-digest-loop",
   "name": "W&B project digest loop",
   "outcome": "Daily digest of runs and traces.",
   "summary": "Every morning, your agent summarizes a W&B project: run counts by state, recent runs, Weave root traces and error calls, using the skill's fast count recipes. It compares with yesterday and flags crashed runs and new errors.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/wandb/wandb-primary",
   "md": "https://gethabit.dev/skills/wandb/wandb-primary.md",
   "trigger": "every morning",
   "verification": "counts printed by script",
   "memory": "daily project digests",
   "built_from": [
    "wandb--wandb-primary"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "just-scrape-loop",
   "name": "Web extract loop",
   "outcome": "Fresh structured data from web pages.",
   "summary": "On a schedule, your agent validates the just-scrape setup, checks the credit balance, then runs search, scrape, extract or crawl with a JSON schema. Results go to .just-scrape/ as JSON, and the next run checks that folder before it fetches again.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/scrapegraphai/just-scrape",
   "md": "https://gethabit.dev/skills/scrapegraphai/just-scrape.md",
   "trigger": "daily extract run",
   "verification": "validate + JSON saved",
   "memory": "saved results folder",
   "built_from": [
    "scrapegraphai--just-scrape"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "web-extract-loop",
   "name": "Web extract loop",
   "outcome": "Fresh structured data from websites.",
   "summary": "On a schedule your agent re-runs the saved Playwright extract script, validates exit code, record count and field coverage, and spot-checks against the page. If selectors broke, it re-discovers them with actionbook and regenerates the script.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/actionbook/extract",
   "md": "https://gethabit.dev/skills/actionbook/extract.md",
   "trigger": "daily extract run",
   "verification": "validation table passes",
   "memory": "extract run log",
   "built_from": [
    "actionbook--extract"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "web-typography-check-loop",
   "name": "Web typography check loop",
   "outcome": "Type stays readable on every release.",
   "summary": "When CSS or font files change, your agent scores the typography with the web-typography Quick Diagnostic: body size, measure, line height, hierarchy, font payload, fallbacks and zoom. It logs the score and failing rows for the next run.",
   "origin": "composed",
   "use_case": "design",
   "url": "https://gethabit.dev/skills/wondelai/web-typography",
   "md": "https://gethabit.dev/skills/wondelai/web-typography.md",
   "trigger": "CSS or fonts change",
   "verification": "diagnostic score check",
   "memory": "typography score log",
   "built_from": [
    "wondelai--web-typography"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wechat-draft-loop",
   "name": "WeChat draft loop",
   "outcome": "Finished posts land as drafts.",
   "summary": "When a Markdown article is marked ready, your agent loads EXTEND.md, checks title, summary, author and cover, and saves it as a WeChat Official Account draft with wechat-api.ts. You publish from the draft box. A log keeps media IDs.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/jimliu/baoyu-post-to-wechat",
   "md": "https://gethabit.dev/skills/jimliu/baoyu-post-to-wechat.md",
   "trigger": "article marked ready",
   "verification": "draft saved + you",
   "memory": "draft log",
   "built_from": [
    "jimliu--baoyu-post-to-wechat"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wecom-meeting-notes-loop",
   "name": "WeCom meeting notes loop",
   "outcome": "Every meeting gets its notes.",
   "summary": "Each workday evening your agent lists the day's WeCom online meetings with wecom-cli, pulls the ready notes and to-dos with meeting get, falls back to the transcript when none exist, and logs which meetings are done.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/wecomteam/wecomcli-meeting",
   "md": "https://gethabit.dev/skills/wecomteam/wecomcli-meeting.md",
   "trigger": "Workdays at 18:00",
   "verification": "notes or transcript found",
   "memory": "summarised meetings log",
   "built_from": [
    "wecomteam--wecomcli-meeting"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wecom-todo-digest-loop",
   "name": "WeCom todo digest loop",
   "outcome": "Open todos reviewed every morning.",
   "summary": "Every workday morning your agent lists your unfinished WeCom todos with wecom-cli, sorts them by deadline, shows what is due soon and keeps a log so the next run can spot todos that keep slipping.",
   "origin": "composed",
   "use_case": "planning",
   "url": "https://gethabit.dev/skills/wecomteam/wecomcli-todo",
   "md": "https://gethabit.dev/skills/wecomteam/wecomcli-todo.md",
   "trigger": "workday morning digest",
   "verification": "list call succeeds",
   "memory": "open todo log",
   "built_from": [
    "wecomteam--wecomcli-todo"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "whatsapp-template-lint-loop",
   "name": "WhatsApp template lint loop",
   "outcome": "WhatsApp templates pass review first time.",
   "summary": "When a new WhatsApp message is needed or a template comes back rejected, the agent picks the category, builds the Sent v3 request, defines variables and buttons, and runs the template linter. It asks you before submitting for review and logs each template's status.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/sentdm/waba-template-author",
   "md": "https://gethabit.dev/skills/sentdm/waba-template-author.md",
   "trigger": "template needed or rejected",
   "verification": "linter + your OK",
   "memory": "template status log",
   "built_from": [
    "sentdm--waba-template-author"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wiki-health-audit-loop",
   "name": "Wiki health audit loop",
   "outcome": "Your wiki stays linked and current.",
   "summary": "On a schedule, your agent audits the Obsidian wiki for broken links, orphans, stale pages, bad frontmatter and lifecycle issues, and writes a health report. In consolidate mode it fixes safe issues after your yes. It logs each run to log.md.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/ar9av/wiki-lint",
   "md": "https://gethabit.dev/skills/ar9av/wiki-lint.md",
   "trigger": "weekly health check",
   "verification": "report and safe fixes",
   "memory": "lint log",
   "built_from": [
    "ar9av--wiki-lint"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wiki-ingest-distill-loop",
   "name": "Wiki ingest distill loop",
   "outcome": "New sources distilled into wiki pages.",
   "summary": "When new documents, text, folders or URLs arrive, your agent distills them into the Obsidian wiki: it checks the manifest to skip unchanged sources, extracts concepts and entities, writes or merges linked pages with provenance markers, then updates the manifest and index.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/ar9av/wiki-ingest",
   "md": "https://gethabit.dev/skills/ar9av/wiki-ingest.md",
   "trigger": "new source to ingest",
   "verification": "pages linked and attributed",
   "memory": "the wiki vault",
   "built_from": [
    "ar9av--wiki-ingest"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wiki-query-answer-loop",
   "name": "Wiki query answer loop",
   "outcome": "Cited answers from your own wiki.",
   "summary": "On a question, your agent searches the compiled Obsidian wiki cheapest-first: graph pre-pass, index, optional semantic search, then full reads, and answers with cited pages. It logs each query to the vault's log.md and writes nothing else.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/ar9av/wiki-query",
   "md": "https://gethabit.dev/skills/ar9av/wiki-query.md",
   "trigger": "you ask a question",
   "verification": "answer cites pages",
   "memory": "wiki query log",
   "built_from": [
    "ar9av--wiki-query"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wiki-status-delta-loop",
   "name": "Wiki status delta loop",
   "outcome": "Always know what the wiki needs.",
   "summary": "On a schedule, your agent reads the manifest, scans sources, computes the new, modified and deleted delta, and writes a ranked What to Do Next list with a token footprint. It appends a status line to the vault log.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/ar9av/wiki-status",
   "md": "https://gethabit.dev/skills/ar9av/wiki-status.md",
   "trigger": "weekly status check",
   "verification": "delta and next steps",
   "memory": "ingest manifest",
   "built_from": [
    "ar9av--wiki-status"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "workflow-security-review-loop",
   "name": "Workflow security review loop",
   "outcome": "Catch risky CI workflow changes.",
   "summary": "When a pull request touches .github/workflows/, your agent reads each changed YAML file, walks the nine rule passes and reports findings by severity with a fix. A log keeps open findings for the next review.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/superagent-ai/ci-cd-security",
   "md": "https://gethabit.dev/skills/superagent-ai/ci-cd-security.md",
   "trigger": "workflow file changed",
   "verification": "all passes walked",
   "memory": "open findings list",
   "built_from": [
    "superagent-ai--ci-cd-security"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "wrangler-config-check-loop",
   "name": "Wrangler config check loop",
   "outcome": "Config changes checked before deploy.",
   "summary": "When a pull request changes the Wrangler config, your agent checks the target environment and bindings against current docs, regenerates types with wrangler types, runs the typecheck and a wrangler deploy --dry-run. It reports what changed and any gaps. A run log keeps results.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/cloudflare/wrangler",
   "md": "https://gethabit.dev/skills/cloudflare/wrangler.md",
   "trigger": "Wrangler config changed",
   "verification": "types, typecheck, dry run",
   "memory": "checks and gaps per PR",
   "built_from": [
    "cloudflare--wrangler"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "x-search-watch-loop",
   "name": "X search watch loop",
   "outcome": "New posts on your topics, daily.",
   "summary": "Every day your agent runs a fixed set of tweet searches with X operators through twitter.fetcher.sh, for example from: or since:, and logs new matches. It checks each response status and keeps the last run's results to show only what is new.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/fetcher-sh/twitter-api",
   "md": "https://gethabit.dev/skills/fetcher-sh/twitter-api.md",
   "trigger": "daily topic search",
   "verification": "response status check",
   "memory": "seen tweets log",
   "built_from": [
    "fetcher-sh--twitter-api"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "twitter-topic-watch-loop",
   "name": "X topic watch loop",
   "outcome": "Daily digest of your X topics.",
   "summary": "Each day your agent runs search_tweets.py for each watched topic with --type Latest and a limit, filters out retweets, and writes a short digest of new posts. A log keeps tweet IDs already seen.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/resciencelab/twitter",
   "md": "https://gethabit.dev/skills/resciencelab/twitter.md",
   "trigger": "daily topic search",
   "verification": "searches return results",
   "memory": "seen tweets log",
   "built_from": [
    "resciencelab--twitter"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "xcode-build-audit-loop",
   "name": "Xcode build audit loop",
   "outcome": "A ranked, approved build speed-up plan.",
   "summary": "On demand, your agent benchmarks the Xcode build, runs the specialist analyzers, ranks findings by likely wall-clock saving, and writes a plan for your approval, then hands approved items to the fixer. The plan in .build-benchmark/ is the memory.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/avdlee/xcode-build-orchestrator",
   "md": "https://gethabit.dev/skills/avdlee/xcode-build-orchestrator.md",
   "trigger": "You request a build audit",
   "verification": "baseline and plan written",
   "memory": "optimization plan",
   "built_from": [
    "avdlee--xcode-build-orchestrator"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "xcode-fix-benchmark-loop",
   "name": "Xcode fix benchmark loop",
   "outcome": "Approved build fixes proven by benchmark.",
   "summary": "When you approve a build optimization plan, your agent applies one fix at a time, confirms it compiles, re-benchmarks against the baseline and reports the wall-clock delta. The optimization plan is the memory it reads first.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/avdlee/xcode-build-fixer",
   "md": "https://gethabit.dev/skills/avdlee/xcode-build-fixer.md",
   "trigger": "plan approved",
   "verification": "compiles and re-benchmarked",
   "memory": "optimization plan",
   "built_from": [
    "avdlee--xcode-build-fixer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "xcode-project-audit-loop",
   "name": "Xcode project audit loop",
   "outcome": "Project-level build waste found and ranked.",
   "summary": "On demand, your agent audits the Xcode project: scheme order, target dependencies, build settings, script phases and module settings, each finding backed by evidence with an approval requirement. A run log keeps prior findings.",
   "origin": "composed",
   "use_case": "code",
   "url": "https://gethabit.dev/skills/avdlee/xcode-project-analyzer",
   "md": "https://gethabit.dev/skills/avdlee/xcode-project-analyzer.md",
   "trigger": "you ask for project audit",
   "verification": "findings backed by evidence",
   "memory": "project audit log",
   "built_from": [
    "avdlee--xcode-project-analyzer"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "xhs-content-plan-loop",
   "name": "Xiaohongshu content plan loop",
   "outcome": "Notes planned and posted with approval.",
   "summary": "On a schedule, your agent checks the xiaohongshu-mcp tools and login, searches notes and creator profiles for your topics, drafts a content plan, and posts or comments only after you confirm each item. A plan file keeps topics and drafts.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/autoclaw-cc/xiaohongshu",
   "md": "https://gethabit.dev/skills/autoclaw-cc/xiaohongshu.md",
   "trigger": "weekly content planning",
   "verification": "tools ready, you approve",
   "memory": "content plan file",
   "built_from": [
    "autoclaw-cc--xiaohongshu"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "youtube-channel-watch-loop",
   "name": "YouTube channel watch loop",
   "outcome": "A daily record of channel uploads.",
   "summary": "On a schedule, your agent pulls each watched channel's newest videos and a topic search through the youtube-api, reads the clean JSON and records what is new. A run log keeps the last video id per channel.",
   "origin": "composed",
   "use_case": "content",
   "url": "https://gethabit.dev/skills/fetcher-sh/youtube-api",
   "md": "https://gethabit.dev/skills/fetcher-sh/youtube-api.md",
   "trigger": "daily channel check",
   "verification": "video data returned",
   "memory": "channel video log",
   "built_from": [
    "fetcher-sh--youtube-api"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "zeropointrepo-youtube-channel-watch-loop",
   "name": "YouTube channel watch loop",
   "outcome": "New videos from your channels, summarized.",
   "summary": "Each day your agent calls channel/latest for each watched channel, picks uploads it has not seen, fetches their transcripts with timestamps and metadata, and writes short notes. A log keeps video IDs already covered.",
   "origin": "composed",
   "use_case": "notes",
   "url": "https://gethabit.dev/skills/zeropointrepo/youtube-full",
   "md": "https://gethabit.dev/skills/zeropointrepo/youtube-full.md",
   "trigger": "daily channel check",
   "verification": "requests succeed, notes written",
   "memory": "seen videos log",
   "built_from": [
    "zeropointrepo--youtube-full"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ziniao-access-rule-review-loop",
   "name": "Ziniao access rule review loop",
   "outcome": "Access rules reviewed every week.",
   "summary": "Each week your agent lists Ziniao access rules, web pages, page groups and the policies bound to key accounts through ziniao-cli api. It reports disabled rules and changes since last week, and any edit waits for your approval.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/ziniao-open/ziniao-access-policy",
   "md": "https://gethabit.dev/skills/ziniao-open/ziniao-access-policy.md",
   "trigger": "weekly access rule review",
   "verification": "API calls + your approval",
   "memory": "rule snapshot log",
   "built_from": [
    "ziniao-open--ziniao-access-policy"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  },
  {
   "slug": "ziniao-store-auth-audit-loop",
   "name": "Ziniao store access audit loop",
   "outcome": "Store access and tags stay clean.",
   "summary": "Each week your agent lists Ziniao store accounts, their authorized staff and their tags with ziniao-cli account commands. It reports stores without tags and access changes since last week, and runs any fix only after you approve it.",
   "origin": "composed",
   "use_case": "ops",
   "url": "https://gethabit.dev/skills/ziniao-open/ziniao-account",
   "md": "https://gethabit.dev/skills/ziniao-open/ziniao-account.md",
   "trigger": "weekly store access audit",
   "verification": "listing check + approval",
   "memory": "store access snapshot",
   "built_from": [
    "ziniao-open--ziniao-account"
   ],
   "updated": "2026-10-22T00:00:00.000Z"
  }
 ]
}