[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CCJ3P9WHEBCQRTZ04XD390":3,"skill-same:01M6CCJ3P9WHEBCQRTZ04XD390":75},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":43,"ownerHtmlUrl":44,"ownerBlogUrl":43,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6CCJ3P9WHEBCQRTZ04XD390","boltz-small-molecule-design",null,"Design new small-molecule binders with Boltz. Use when generating novel ligands or hits for a target without a fixed compound library. Not for screening existing molecules or one-off docking.","stigmer\u002Fstigmer","stigmer","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255479904?v=4","01M6CCFBFXXRZC4ZVNS3JSDV4W","Stigmer","01M6CCFBKY7M8QGR4GH9TT35MY",9,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Fplugins\u002Fboltz-api-cli\u002Fskills\u002Fboltz-small-molecule-design\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[29,30,31,32],"design","boltz small molecule design","library","use","2026-11-10 10:12:30",false,"---\nname: boltz-small-molecule-design\ndescription: Design new small-molecule binders with Boltz. Use when generating novel ligands or hits for a target without a fixed compound library. Not for screening existing molecules or one-off docking.\n---\n\n## Workflow\n\nIf `boltz-api` is missing from `PATH`, use `boltz-cli-setup` for install\u002Fupdate guidance before retrying.\nIf a command reports missing or expired authentication, use `boltz-cli-setup` to start `boltz-api auth login --device-code` before retrying; do not ask permission first.\nIf the agent host sandbox blocks `boltz-api` install\u002Fauth\u002FAPI calls, use `boltz-cli-setup` to request the host sandbox bypass\u002Fescalation needed for user-wide CLI install, browser login, credential storage, temp files, or API access before retrying.\n\nUse this skill when the user wants de novo small-molecule binders (no existing library).\n\n1. Normalize the target: one or more protein sequences into `target.entities`, plus optional `pocket_residues` (0-based) and\u002For `reference_ligands` (known binders to help locate the pocket).\n2. Pick `num_molecules` — valid range **10 to 1,000,000** (server rejects outside it). If the user says fewer than 10, explain the floor and propose 10.\n3. Only add `chemical_space` (e.g. `\"enamine_real\"`) if the user explicitly wants generation restricted to synthesizable molecules within that library.\n4. Supported optional features include `chemical_space` and `molecule_filters`; only add them on explicit request. Read [references\u002Fapi.md](references\u002Fapi.md) for exact shapes and filter options.\n5. Author the payload YAML or JSON, run `estimate-cost`, show the USD cost, wait for explicit confirmation. Cost is a flat $0.025 per molecule (size-independent); still quote `estimated_cost_usd` from the response as the authoritative total.\n6. `start` to submit (synchronous). Capture the ID.\n7. Launch `download-results` with the agent runtime's background\u002Fnon-blocking command facility; it polls, paginates, downloads per-hit structures, and exits when terminal. In Claude Code, use Bash with `run_in_background: true`. In Codex, run `download-results` as a foreground shell command with `yield_time_ms: 1000`; if Codex returns a `session_id`, keep it for optional same-thread polling, but treat `download-status` plus the run directory as the durable source of truth. In Codex app\u002Fdesktop runtimes that expose same-thread heartbeat automations, create a heartbeat that checks `download-status` periodically and posts a concise completion or failure update when the download reaches a terminal state. After launching the downloader, always report the job ID, run name, and output directory. Include the next check cadence if the heartbeat was created; otherwise include the `download-status` command.\n8. Rank hits from `\u003Coutput-root>\u002F\u003Crun-name>\u002Fresults\u002Findex.jsonl` by `binding_confidence` for hit discovery or `optimization_score` for lead optimization. Each generated molecule also carries a free `adme` block (`solubility`, `permeability`, `lipophilicity`) — surface it for developability triage when the user cares about ADME, or when a top hit looks risky. Read [references\u002Fresults.md](references\u002Fresults.md) for output layout and metric details.\n\n## Command Pattern\n\n```bash\n# Replace placeholders with concrete absolute paths before running.\n# Use a short descriptive run name, for example: sm-design-\u003Ctarget>-\u003Cbatch>-v1\n\nboltz-api small-molecule:design estimate-cost \\\n  --input @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.yaml\n\nboltz-api small-molecule:design start \\\n       --idempotency-key \"\u003Crun-name>\" \\\n       --input @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.yaml \\\n       --raw-output --transform id\n\n# Copy the printed job ID into this command, then launch it in the agent\n# runtime's background\u002Fnon-blocking mode.\n# Claude Code: Bash with run_in_background=true.\n# Codex: foreground shell command with yield_time_ms=1000; keep the returned session_id if one is provided.\n# Do not append \"&\" or use nohup in Codex.\nboltz-api download-results \\\n  --id \"\u003Cjob-id-from-start>\" --name \"\u003Crun-name>\" \\\n  --root-dir \"\u002Fabsolute\u002Fpath\u002Fboltz-experiments\" \\\n  --poll-interval-seconds 60\n# -> \u002Fabsolute\u002Fpath\u002Fboltz-experiments\u002F\u003Crun-name>\u002Fresults\u002F\u003Cpres_*>\u002F...\n```\n\nPayload keys are `num_molecules`, `target`, `chemical_space`, `molecule_filters` — the API body field names.\n\n## Always Do This\n\n- Enforce `10 \u003C= num_molecules \u003C= 1,000,000` before calling `estimate-cost`. The server rejects values outside that range.\n- Cost is a flat $0.025 per molecule (size-independent). `estimate-cost` returns the authoritative total.\n- Treat pocket residue indices as 0-based.\n- Keep payload field names exactly as the API body names shown in `references\u002Fapi.md`.\n- Use absolute paths for the output root, payload files, and embedded target files. Do not `cd` into the run directory for follow-up commands; pass the same `--root-dir` and use absolute paths so later relative paths do not drift.\n- Prefer one merged top-level payload via `--input @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.yaml` or `@json:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.json` for `estimate-cost` and `start`. Keep `--idempotency-key` and `--workspace-id` top-level; if they also appear inside `--input`, the top-level flags win.\n- Direct object flags still work as overrides: for example `--target @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Ftarget.yaml` or `--molecule-filters @json:\u002F\u002F\u002Fabsolute\u002Fpath\u002Ffilters.json`. Piped YAML \u002F JSON on stdin also works, but it must use API body field names. Never use `@file:\u002F\u002F`.\n- Use the same slug as both `--idempotency-key` at submit and `--name` on `download-results`.\n- In permission-gated agents such as Claude Code, keep each Boltz call as a top-level command that starts with `boltz-api`. Prefer concrete arguments over `sh -c`, inline environment assignments, aliases, wrapper scripts, loops, or pipelines around the `boltz-api` invocation unless the user already allowed that exact command form. Use `--raw-output --transform id`, read the printed ID, then paste that literal ID into the next `download-results` command.\n- Prefer the agent runtime's background\u002Fnon-blocking command mode for `download-results`. In Codex specifically, keep `download-results` in the foreground and set the shell tool yield to 1000 ms; Codex will return a `session_id` if the command is still running. Do not append `&` or use `nohup` in Codex because the tool runner may clean up shell-backgrounded descendants before `.boltz-run.json` is fully written.\n- After the background\u002Fsession starts, do not manually wait on it or run ad hoc polling loops. Wall-clock time scales roughly with `num_molecules`: under 100 often finishes in a few minutes, 100-1,000 may take several minutes to tens of minutes, and larger runs can take longer or hours depending on inputs and system load. Don't quote a fixed duration. `--poll-interval-seconds 60` is a sensible default for the downloader. `download-results` emits JSONL progress on stderr by default; add `--progress-format text --verbose` only when you explicitly want human-readable logs.\n- In Codex app\u002Fdesktop runtimes with same-thread heartbeat automation support, schedule a heartbeat after launching `download-results`. The heartbeat should run `boltz-api --format json download-status --name \"\u003Crun-name>\" --root-dir \"\u002Fabsolute\u002Fpath\u002Fboltz-experiments\"` and stop once terminal. Choose cadence by `num_molecules`: under 100 -> every 1-2 minutes; 100-1,000 -> every 5 minutes; over 1,000 -> every 15 minutes. Post only material status changes or terminal completion\u002Ffailure. Poll the saved `session_id` with an empty `write_stdin` only for interactive, user-requested progress checks. Never run a manual poll loop in the current turn.\n- If the current host has no heartbeat automation support, do not claim an automatic next check. Report the job ID, run name, output directory, and the command needed to check `download-status`.\n- If detached download needs to be restarted, re-run `boltz-api download-results` with the same `--name \"\u003Crun-name>\"` and the same `--root-dir`.\n- Do not invent filters; only add `molecule_filters` on user request.\n\n## Escape Hatch\n\n- Payload reference: \u003Chttps:\u002F\u002Fapi.boltz.bio\u002Fdocs\u002Fapi\u002Fpython\u002Fresources\u002Fsmall_molecule\u002Fsubresources\u002Fdesign\u002Fmethods\u002Fstart>\n- CLI flag names: `boltz-api small-molecule:design start --help`\n\nRead [references\u002Fapi.md](references\u002Fapi.md) for the `target`, `chemical_space`, and `molecule_filters` shapes (filter catalog matches the screen endpoint). Read [references\u002Fresults.md](references\u002Fresults.md) after download when ranking generated molecules or explaining outputs.\n\n## Outputs\n\nRank from `results\u002Findex.jsonl` after `download-results`; use [references\u002Fresults.md](references\u002Fresults.md) for local file layout and metric meanings.\n","## Workflow\n\nIf `boltz-api` is missing from `PATH`, use `boltz-cli-setup` for install\u002Fupdate guidance before retrying.\nIf a command reports missing or expired authentication, use `boltz-cli-setup` to start `boltz-api auth login --device-code` before retrying; do not ask permission first.\nIf the agent host sandbox blocks `boltz-api` install\u002Fauth\u002FAPI calls, use `boltz-cli-setup` to request the host sandbox bypass\u002Fescalation needed for user-wide CLI install, browser login, credential storage, temp files, or API access before retrying.\n\nUse this skill when the user wants de novo small-molecule binders (no existing library).\n\n1. Normalize the target: one or more protein sequences into `target.entities`, plus optional `pocket_residues` (0-based) and\u002For `reference_ligands` (known binders to help locate the pocket).\n2. Pick `num_molecules` — valid range **10 to 1,000,000** (server rejects outside it). If the user says fewer than 10, explain the floor and propose 10.\n3. Only add `chemical_space` (e.g. `\"enamine_real\"`) if the user explicitly wants generation restricted to synthesizable molecules within that library.\n4. Supported optional features include `chemical_space` and `molecule_filters`; only add them on explicit request. Read [references\u002Fapi.md](references\u002Fapi.md) for exact shapes and filter options.\n5. Author the payload YAML or JSON, run `estimate-cost`, show the USD cost, wait for explicit confirmation. Cost is a flat $0.025 per molecule (size-independent); still quote `estimated_cost_usd` from the response as the authoritative total.\n6. `start` to submit (synchronous). Capture the ID.\n7. Launch `download-results` with the agent runtime's background\u002Fnon-blocking command facility; it polls, paginates, downloads per-hit structures, and exits when terminal. In Claude Code, use Bash with `run_in_background: true`. In Codex, run `download-results` as a foreground shell command with `yield_time_ms: 1000`; if Codex returns a `session_id`, keep it for optional same-thread polling, but treat `download-status` plus the run directory as the durable source of truth. In Codex app\u002Fdesktop runtimes that expose same-thread heartbeat automations, create a heartbeat that checks `download-status` periodically and posts a concise completion or failure update when the download reaches a terminal state. After launching the downloader, always report the job ID, run name, and output directory. Include the next check cadence if the heartbeat was created; otherwise include the `download-status` command.\n8. Rank hits from `\u003Coutput-root>\u002F\u003Crun-name>\u002Fresults\u002Findex.jsonl` by `binding_confidence` for hit discovery or `optimization_score` for lead optimization. Each generated molecule also carries a free `adme` block (`solubility`, `permeability`, `lipophilicity`) — surface it for developability triage when the user cares about ADME, or when a top hit looks risky. Read [references\u002Fresults.md](references\u002Fresults.md) for output layout and metric details.\n\n## Command Pattern\n\n```bash\n# Replace placeholders with concrete absolute paths before running.\n# Use a short descriptive run name, for example: sm-design-\u003Ctarget>-\u003Cbatch>-v1\n\nboltz-api small-molecule:design estimate-cost \\\n  --input @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.yaml\n\nboltz-api small-molecule:design start \\\n       --idempotency-key \"\u003Crun-name>\" \\\n       --input @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.yaml \\\n       --raw-output --transform id\n\n# Copy the printed job ID into this command, then launch it in the agent\n# runtime's background\u002Fnon-blocking mode.\n# Claude Code: Bash with run_in_background=true.\n# Codex: foreground shell command with yield_time_ms=1000; keep the returned session_id if one is provided.\n# Do not append \"&\" or use nohup in Codex.\nboltz-api download-results \\\n  --id \"\u003Cjob-id-from-start>\" --name \"\u003Crun-name>\" \\\n  --root-dir \"\u002Fabsolute\u002Fpath\u002Fboltz-experiments\" \\\n  --poll-interval-seconds 60\n# -> \u002Fabsolute\u002Fpath\u002Fboltz-experiments\u002F\u003Crun-name>\u002Fresults\u002F\u003Cpres_*>\u002F...\n```\n\nPayload keys are `num_molecules`, `target`, `chemical_space`, `molecule_filters` — the API body field names.\n\n## Always Do This\n\n- Enforce `10 \u003C= num_molecules \u003C= 1,000,000` before calling `estimate-cost`. The server rejects values outside that range.\n- Cost is a flat $0.025 per molecule (size-independent). `estimate-cost` returns the authoritative total.\n- Treat pocket residue indices as 0-based.\n- Keep payload field names exactly as the API body names shown in `references\u002Fapi.md`.\n- Use absolute paths for the output root, payload files, and embedded target files. Do not `cd` into the run directory for follow-up commands; pass the same `--root-dir` and use absolute paths so later relative paths do not drift.\n- Prefer one merged top-level payload via `--input @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.yaml` or `@json:\u002F\u002F\u002Fabsolute\u002Fpath\u002Fpayload.json` for `estimate-cost` and `start`. Keep `--idempotency-key` and `--workspace-id` top-level; if they also appear inside `--input`, the top-level flags win.\n- Direct object flags still work as overrides: for example `--target @yaml:\u002F\u002F\u002Fabsolute\u002Fpath\u002Ftarget.yaml` or `--molecule-filters @json:\u002F\u002F\u002Fabsolute\u002Fpath\u002Ffilters.json`. Piped YAML \u002F JSON on stdin also works, but it must use API body field names. Never use `@file:\u002F\u002F`.\n- Use the same slug as both `--idempotency-key` at submit and `--name` on `download-results`.\n- In permission-gated agents such as Claude Code, keep each Boltz call as a top-level command that starts with `boltz-api`. Prefer concrete arguments over `sh -c`, inline environment assignments, aliases, wrapper scripts, loops, or pipelines around the `boltz-api` invocation unless the user already allowed that exact command form. Use `--raw-output --transform id`, read the printed ID, then paste that literal ID into the next `download-results` command.\n- Prefer the agent runtime's background\u002Fnon-blocking command mode for `download-results`. In Codex specifically, keep `download-results` in the foreground and set the shell tool yield to 1000 ms; Codex will return a `session_id` if the command is still running. Do not append `&` or use `nohup` in Codex because the tool runner may clean up shell-backgrounded descendants before `.boltz-run.json` is fully written.\n- After the background\u002Fsession starts, do not manually wait on it or run ad hoc polling loops. Wall-clock time scales roughly with `num_molecules`: under 100 often finishes in a few minutes, 100-1,000 may take several minutes to tens of minutes, and larger runs can take longer or hours depending on inputs and system load. Don't quote a fixed duration. `--poll-interval-seconds 60` is a sensible default for the downloader. `download-results` emits JSONL progress on stderr by default; add `--progress-format text --verbose` only when you explicitly want human-readable logs.\n- In Codex app\u002Fdesktop runtimes with same-thread heartbeat automation support, schedule a heartbeat after launching `download-results`. The heartbeat should run `boltz-api --format json download-status --name \"\u003Crun-name>\" --root-dir \"\u002Fabsolute\u002Fpath\u002Fboltz-experiments\"` and stop once terminal. Choose cadence by `num_molecules`: under 100 -> every 1-2 minutes; 100-1,000 -> every 5 minutes; over 1,000 -> every 15 minutes. Post only material status changes or terminal completion\u002Ffailure. Poll the saved `session_id` with an empty `write_stdin` only for interactive, user-requested progress checks. Never run a manual poll loop in the current turn.\n- If the current host has no heartbeat automation support, do not claim an automatic next check. Report the job ID, run name, output directory, and the command needed to check `download-status`.\n- If detached download needs to be restarted, re-run `boltz-api download-results` with the same `--name \"\u003Crun-name>\"` and the same `--root-dir`.\n- Do not invent filters; only add `molecule_filters` on user request.\n\n## Escape Hatch\n\n- Payload reference: \u003Chttps:\u002F\u002Fapi.boltz.bio\u002Fdocs\u002Fapi\u002Fpython\u002Fresources\u002Fsmall_molecule\u002Fsubresources\u002Fdesign\u002Fmethods\u002Fstart>\n- CLI flag names: `boltz-api small-molecule:design start --help`\n\nRead [references\u002Fapi.md](references\u002Fapi.md) for the `target`, `chemical_space`, and `molecule_filters` shapes (filter catalog matches the screen endpoint). Read [references\u002Fresults.md](references\u002Fresults.md) after download when ranking generated molecules or explaining outputs.\n\n## Outputs\n\nRank from `results\u002Findex.jsonl` after `download-results`; use [references\u002Fresults.md](references\u002Fresults.md) for local file layout and metric meanings.\n",{"name":5,"description":7},"main","49002d2ddc1f123a8d1148f6c6d73d7b385bb0b1","plugins\u002Fboltz-api-cli\u002Fskills\u002Fboltz-small-molecule-design",6,"https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer","https:\u002F\u002Fstigmer.ai","https:\u002F\u002Fgithub.com\u002Fstigmer","The open-source backend for the agents in your product.","2026-11-11 20:28:47",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add stigmer\u002Fstigmer --skill boltz-small-molecule-design",{"tool":53,"command":54},"bunx","bunx skills add stigmer\u002Fstigmer --skill boltz-small-molecule-design",{"tool":56,"command":57},"pnpm","pnpm dlx skills add stigmer\u002Fstigmer --skill boltz-small-molecule-design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Fplugins\u002Fboltz-api-cli\u002Fskills\u002Fboltz-small-molecule-design\u002FSKILL.md",true,[61,67,71],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"agents\u002Fopenai.yaml","REFERENCE","参考文档",244,"https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Fplugins\u002Fboltz-api-cli\u002Fskills\u002Fboltz-small-molecule-design\u002Fagents\u002Fopenai.yaml",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fapi.md",8038,"https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Fplugins\u002Fboltz-api-cli\u002Fskills\u002Fboltz-small-molecule-design\u002Freferences\u002Fapi.md",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fresults.md",1526,"https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Fplugins\u002Fboltz-api-cli\u002Fskills\u002Fboltz-small-molecule-design\u002Freferences\u002Fresults.md",[76,102,122,140,154,170],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":91,"publishedAt":33},"01M6CCSERKR4YRSZJ2TB6B0X60","writing-hookify-rules","This skill should be used when the user asks to \"create a hookify rule\", \"write a hook rule\", \"configure hookify\", \"add a hookify rule\", or needs guidance on hookify rule syntax and patterns.","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Ftest\u002Fsupport\u002Ffixtures\u002Fclaude-plugins\u002Fhookify\u002Fskills\u002Fwriting-rules\u002FSKILL.md",[82,85,88],{"categoryNo":83,"categoryName":84,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":86,"categoryName":87,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":89,"categoryName":90,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[92,93,94,95,96,97,98,99,100,101],"writing","Writing Hookify Rules","Rules","hookify rules","create","guidance","user","write","configure","syntax",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":114,"publishedAt":33},"01M6CCSC63RKCGC2S1EZDEMXZE","sql-migrations","Write safe database schema migrations - reversible steps, online index builds, and backfills in batches.","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Ftest\u002Fconformance\u002Ffixtures\u002Fworking-agent\u002Fskills\u002Fsql-migrations\u002FSKILL.md",[108,111],{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":112,"categoryName":113,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师",[115,116,117,118,99,119,120,121],"sql","sql migrations","migrations","schema","index","database","safe",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":33},"01M6CCS9Q8E0R3TYHPZHCPN0JZ","repo-conventions","How to change Go code in this repository - error wrapping, table-driven tests, doc comments, no new dependencies, and running go test before finishing.","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Ftest\u002Fconformance\u002Ffixtures\u002Fworking-agent\u002Fskills\u002Frepo-conventions\u002FSKILL.md",[],[129,130,131,132,133,134,135,136,137,138,139],"repo","repo conventions","table","go","test","change","doc comments","code","repository","doc","how",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":33},"01M6CCS7F2D1YZ9H3N63XTEV09","incident-postmortem","Write a blameless incident postmortem - timeline, impact, root cause, contributing factors and follow-up actions with owners.","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Ftest\u002Fconformance\u002Ffixtures\u002Fworking-agent\u002Fskills\u002Fincident-postmortem\u002FSKILL.md",[],[147,148,99,149,150,151,152,153],"incident postmortem","postmortem","contributing","actions","timeline","owners","up",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":164,"publishedAt":33},"01M6CCS4W1D2K257KHC40HS8JG","data-analysis","Summarise a data export or table - lead with the key finding and give every number its baseline or comparison.","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Ftest\u002Fconformance\u002Ffixtures\u002Fworking-agent\u002Fskills\u002Fdata-analysis\u002FSKILL.md",[160,163],{"categoryNo":161,"categoryName":162,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":112,"categoryName":113,"taxonomyType":26,"taxonomyTypeDesc":27},[165,166,167,168,131,169],"analysis","data analysis","data","baseline","export",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":33},"01M6CCS2MNQYK9S24AYHJAVPWF","customer-support","Answer customer questions about orders, returns and refunds from the written policies and the order system, ending with a clear next step.","https:\u002F\u002Fgithub.com\u002Fstigmer\u002Fstigmer\u002Fblob\u002Fmain\u002Ftest\u002Fconformance\u002Ffixtures\u002Fworking-agent\u002Fskills\u002Fcustomer-support\u002FSKILL.md",[],[177,178,179,180,181,182],"support","customer","customer support","system","refunds","returns"]