[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M735ABCWNZ3WJKPC1ABJ7W8B":3,"skill-same:01M735ABCWNZ3WJKPC1ABJ7W8B":51},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":35,"ownerHtmlUrl":36,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":37,"install":38,"resources":50},"01M735ABCWNZ3WJKPC1ABJ7W8B","st",null,"Start task issue-first.","Morrison-Lab\u002Fai-config","Morrison-Lab","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F104235520?v=4","01M734G0451S2G35MN4HFQK7XP","Morrison Lab","01M734G059BYFDFQA8YTPDGPMH",4,"MIT","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fst\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: st\ndescription: \"Start task issue-first.\"\nuser-invocable: true\nallowed-tools:\n  - Bash\n  - Read\n  - Edit\n  - Write\n---\n\n# st — Start Task (issue-first)\n\nKick off a new piece of work **issue-first**: never jump straight into a PR.\nEvery new task gets a tracking issue before any branch or edit. This is the\ncomplement to `gi` — `gi` grabs an issue that already exists; `st` is for work\nyou have in mind that isn't tracked yet, so you write the issue first and then\nflow into the same implement → PR → ARDI tail.\n\n## When this fires\n\n- \"st\", \"start a task\", \"start a new task\", \"new task\", \"let's work on X\"\n  where X has no open issue yet.\n- Any time you're about to start coding something that isn't already covered\n  by an open tracking issue.\n\n## Core rule: issue before PR\n\nBefore branching or editing, ensure an issue exists:\n\n1. **Search** the tracker for an existing issue covering the task.\n2. **Exists** → use it — this is just `gi` on that number.\n3. **None** → **file one first**, then proceed.\n\nWhy issue-first: the issue is the durable record of intent, scope, and \"done\"\ncriteria. It gives reviewers context, lets the PR auto-close it via\n`Closes #N`, prevents duplicate\u002Fundiscoverable work, and means there's a\ntracked home for the task even if the PR stalls.\n\n## Procedure\n\n### 1. Restate the task and \"done\" criteria\n\nOne or two sentences: what's the change, why, and what \"done\" looks like. If\nyou can't state \"done\", the issue isn't ready to write yet — clarify scope\nfirst.\n\n### 2. Search for an existing issue\n\n```bash\n# GitHub — open first, then all states (it may already be filed or closed)\ngh issue list --state open --search \"\u003Ckeywords>\" --json number,title,url | cat   # SEARCH_ISSUES\ngh issue list --state all  --search \"\u003Ckeywords>\" --limit 10 \\\n  --json number,title,state,url | cat   # SEARCH_ISSUES\n\n# GitLab\nglab issue list --search \"\u003Ckeywords>\" --per-page=20 2>&1 | cat\n```\n\n- **Open match** → an issue already exists, so this is just `gi` on that\n  number: invoke the `gi` skill from its claim step onward (claim → check\n  history → cut a worktree and branch → open draft PR → implement →\n  mark ready → ARDI).\n  Skip the rest of `st` --- you don't need to file anything.\n- **Closed match** → surface it (\"looks like #N already covered this and was\n  closed\") and confirm with the user before re-doing the work.\n\n### 3. File the issue (if none exists)\n\n```bash\n# GitHub\ngh issue create --title \"\u003Cconcise title>\" --body \"\u003Cwhat & why>\n\n**Done when:** \u003Cacceptance criteria>\n\u003Cscope notes \u002F out-of-scope>\" \\\n  --label ai-authored --label \"model:\u003Cmodel-id>\" --label P2   # CREATE_ISSUE\n\n# GitLab\nglab issue create --title \"\u003Cconcise title>\" --description \"\u003Cwhat & why>\n\n**Done when:** \u003Cacceptance criteria>\" \\\n  --label \"ai-authored,model:\u003Cmodel-id>,P2\"\n```\n\n- Keep scope tight — **one concern per issue** (see `split-concerns`). If the\n  task is really several concerns, file several issues.\n- Capture acceptance criteria so \"done\" is unambiguous later.\n- The labels above are not optional: every issue an agent files into a\n  repo we administrate carries `ai-authored`, `model:\u003Cmodel-id>` and one of\n  `P1`, `P2` or `P3` (`P2` is the default), per\n  [`issue-first`](..\u002F..\u002Fshared\u002Fworkflow\u002Fissue-first.md).\n  Normalize the model id and create the labels where they are missing, per\n  [`label-agent-filed-issues`](..\u002F..\u002Fshared\u002Fworkflow\u002Flabel-agent-filed-issues.md).\n- Add any further labels the repo's own taxonomy calls for.\n- Then **claim it** (`claim-pr` pattern) so a parallel session \u002F the `@claude`\n  bot doesn't collide:\n  ```bash\n  gh issue comment \u003CN> --body \"Claude Code CLI (local session) is working on this — please hold off until I'm done.\n\n  _Posted by Claude Code (AI agent) --- not written by a human._\"   # COMMENT_ISSUE\n  ```\n\n### 3a. If the task builds on an existing issue or PR\n\nWhen the task naturally builds on an open issue or PR (it needs that work's code, or edits the same passages), link the two before branching, per [`issue-first`](..\u002F..\u002Fshared\u002Fworkflow\u002Fissue-first.md#a-task-that-builds-on-existing-work):\n\n1. File the new issue as usual.\n2. Mark it **blocked by** the existing issue (or the existing PR) in GitHub's issue relationships field: `gh issue edit \u003Cnew> --add-blocked-by \u003Cexisting number or URL>` (the REST fallback for older `gh` is in `issue-first`).\n3. Then either wait for the lower-level issue or PR to finish, or, if feasible, stack a new PR on it with [`stack-prs`](..\u002Fstack-prs\u002FSKILL.md).\n   Run `stack-prs`'s decision gate first;\n   step 5's branch from `main` applies only when the work is independent of every open PR.\n\n### 4. Check history and research DRW\n\n- Invoke `check-history` before implementing --- review merged\u002Fclosed MRs that\n  touched the same area so you don't undo past progress.\n- Perform a research step to check whether the functionality or helper already\n  exists (Don't Reinvent the Wheel \u002F DRW): search our own repos\n  (`Morrison-Lab\u002Fgha`, lab packages, ai-config) and trustworthy upstream\n  ecosystems (standard libraries, r-lib \u002F tidyverse, PyPI, npm) via\n  [`prefer-upstream`](..\u002Fprefer-upstream\u002FSKILL.md) and\n  [`dont-reinvent-wheel`](..\u002F..\u002Fshared\u002Fprinciples\u002Fdont-reinvent-wheel.md)\n  before hand-rolling custom code.\n- Choose explicitly whether to centralize or distribute the content or other\n  work, both within the repo and across repos, and state the choice in the\n  issue or PR, per\n  [`centralize-or-distribute`](..\u002F..\u002Fshared\u002Fworkflow\u002Fcentralize-or-distribute.md).\n  Ezra, 2026-11-09: \"when planning and\u002For performing work, we\n  should choose explicitly whether to centralize vs distribute content or other\n  work, both within and across repos\"\n  ([ai-config#5185](https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fissues\u002F5185)).\n\n### 5. Branch → open draft PR → implement → ready → ARDI\n\nFrom here the tail is identical to `gi`:\n\n```bash\ngit fetch origin main                       # FETCH\ngit checkout -b \u003Ctype>\u002F\u003Cslug> origin\u002Fmain   # CREATE_BRANCH — fix\u002F feat\u002F docs\u002F refactor\u002F\n```\n\n- **Open the draft PR now**, before implementing — an empty commit gives the\n  branch a diff to open against, kept as a draft so the review bot doesn't run\n  on an empty diff (see [`pr-on-claim`](..\u002F..\u002Fshared\u002Fworkflow\u002Fpr-on-claim.md)):\n  ```bash\n  git commit --allow-empty -m \"start: \u003Ctitle> (closes #\u003CN>)\"   # COMMIT\n  ```\n\n  Push as a separate Bash call, per [`check-before-pushing`](..\u002F..\u002Fshared\u002Fworkflow\u002Fcheck-before-pushing.md)'s \"Keep the commit in its own Bash call\":\n\n  ```bash\n  git push -u origin \u003Ctype>\u002F\u003Cslug>   # PUSH\n  ```\n\n  Open the draft PR in a separate Bash call:\n\n  ```bash\n  gh pr create --draft --title \"\u003Ctitle>\" --body \"Closes #\u003CN>\n\n  WIP — opened up front to claim the issue; implementing now.\"   # CREATE_PR\n  ```\n- Implement (code, tests, docs), researching existing libraries\u002Ffunctions before\n  hand-rolling custom code, run the repo's standard checks, and push the\n  implementation onto the PR, committing with a message referencing the issue\n  (`fix: … (closes #N)`).\n- **Mark the PR ready for review** (`gh pr ready \u003CN>` — `MARK_PR_READY`) and\n  request `the repository owner` as reviewer (`request-pr-review`).\n- **ARDI** the PR to a clean verdict (`ardi`). Don't merge unless asked.\n\n### 6. Report\n\nLinked issue + PR, ARDI round count, and any deferred follow-up issues.\n\n## Relationship to other skills\n\n- **`brainstorm`** — when the task's shape isn't settled yet (multiple\n  reasonable interpretations, a real design tradeoff, \"done\" can't yet be\n  stated in one sentence), run `brainstorm` first to resolve that through a\n  Socratic Q&A loop and a plan file, then hand the result to this skill's\n  \"restate the task and 'done' criteria\" step instead of starting from\n  scratch.\n- **`stack-prs`** --- step 3a hands off to it when the task builds on an open PR;\n  it supplies the decision gate and the branch mechanics.\n- **`gi`** — once the issue exists, the implement → PR → ARDI tail is the same;\n  `st` is \"`gi`, but you write the issue first.\"\n- **`prefer-upstream`** --- search existing packages and tools before writing\n  custom code to prevent reinventing the wheel.\n- **`defer-issue`** — same issue-creation mechanics, for sub-tasks that emerge.\n- **`check-history`**, **`claim-pr`**, **`pr-on-claim`**,\n  **`request-pr-review`**, **`ardi`**, **`split-concerns`** — invoked along the\n  way (`pr-on-claim` is the \"open the draft PR before implementing\" step).\n- **`post-merge`** — closes the lifecycle that `st` opens, once the PR lands.\n\n## Anti-patterns\n\n- ❌ Opening a PR with no tracking issue behind it.\n- ❌ Filing a duplicate without searching open **and** closed issues first.\n- ❌ A vague issue with no \"done\" criteria.\n- ❌ Re-doing already-closed work without flagging it to the user.\n- ❌ Hand-rolling custom code without researching existing libraries\u002Fpackages first (violating DRW).\n- ❌ Cramming multiple independent concerns into one issue\u002FPR.\n","# st — Start Task (issue-first)\n\nKick off a new piece of work **issue-first**: never jump straight into a PR.\nEvery new task gets a tracking issue before any branch or edit. This is the\ncomplement to `gi` — `gi` grabs an issue that already exists; `st` is for work\nyou have in mind that isn't tracked yet, so you write the issue first and then\nflow into the same implement → PR → ARDI tail.\n\n## When this fires\n\n- \"st\", \"start a task\", \"start a new task\", \"new task\", \"let's work on X\"\n  where X has no open issue yet.\n- Any time you're about to start coding something that isn't already covered\n  by an open tracking issue.\n\n## Core rule: issue before PR\n\nBefore branching or editing, ensure an issue exists:\n\n1. **Search** the tracker for an existing issue covering the task.\n2. **Exists** → use it — this is just `gi` on that number.\n3. **None** → **file one first**, then proceed.\n\nWhy issue-first: the issue is the durable record of intent, scope, and \"done\"\ncriteria. It gives reviewers context, lets the PR auto-close it via\n`Closes #N`, prevents duplicate\u002Fundiscoverable work, and means there's a\ntracked home for the task even if the PR stalls.\n\n## Procedure\n\n### 1. Restate the task and \"done\" criteria\n\nOne or two sentences: what's the change, why, and what \"done\" looks like. If\nyou can't state \"done\", the issue isn't ready to write yet — clarify scope\nfirst.\n\n### 2. Search for an existing issue\n\n```bash\n# GitHub — open first, then all states (it may already be filed or closed)\ngh issue list --state open --search \"\u003Ckeywords>\" --json number,title,url | cat   # SEARCH_ISSUES\ngh issue list --state all  --search \"\u003Ckeywords>\" --limit 10 \\\n  --json number,title,state,url | cat   # SEARCH_ISSUES\n\n# GitLab\nglab issue list --search \"\u003Ckeywords>\" --per-page=20 2>&1 | cat\n```\n\n- **Open match** → an issue already exists, so this is just `gi` on that\n  number: invoke the `gi` skill from its claim step onward (claim → check\n  history → cut a worktree and branch → open draft PR → implement →\n  mark ready → ARDI).\n  Skip the rest of `st` --- you don't need to file anything.\n- **Closed match** → surface it (\"looks like #N already covered this and was\n  closed\") and confirm with the user before re-doing the work.\n\n### 3. File the issue (if none exists)\n\n```bash\n# GitHub\ngh issue create --title \"\u003Cconcise title>\" --body \"\u003Cwhat & why>\n\n**Done when:** \u003Cacceptance criteria>\n\u003Cscope notes \u002F out-of-scope>\" \\\n  --label ai-authored --label \"model:\u003Cmodel-id>\" --label P2   # CREATE_ISSUE\n\n# GitLab\nglab issue create --title \"\u003Cconcise title>\" --description \"\u003Cwhat & why>\n\n**Done when:** \u003Cacceptance criteria>\" \\\n  --label \"ai-authored,model:\u003Cmodel-id>,P2\"\n```\n\n- Keep scope tight — **one concern per issue** (see `split-concerns`). If the\n  task is really several concerns, file several issues.\n- Capture acceptance criteria so \"done\" is unambiguous later.\n- The labels above are not optional: every issue an agent files into a\n  repo we administrate carries `ai-authored`, `model:\u003Cmodel-id>` and one of\n  `P1`, `P2` or `P3` (`P2` is the default), per\n  [`issue-first`](..\u002F..\u002Fshared\u002Fworkflow\u002Fissue-first.md).\n  Normalize the model id and create the labels where they are missing, per\n  [`label-agent-filed-issues`](..\u002F..\u002Fshared\u002Fworkflow\u002Flabel-agent-filed-issues.md).\n- Add any further labels the repo's own taxonomy calls for.\n- Then **claim it** (`claim-pr` pattern) so a parallel session \u002F the `@claude`\n  bot doesn't collide:\n  ```bash\n  gh issue comment \u003CN> --body \"Claude Code CLI (local session) is working on this — please hold off until I'm done.\n\n  _Posted by Claude Code (AI agent) --- not written by a human._\"   # COMMENT_ISSUE\n  ```\n\n### 3a. If the task builds on an existing issue or PR\n\nWhen the task naturally builds on an open issue or PR (it needs that work's code, or edits the same passages), link the two before branching, per [`issue-first`](..\u002F..\u002Fshared\u002Fworkflow\u002Fissue-first.md#a-task-that-builds-on-existing-work):\n\n1. File the new issue as usual.\n2. Mark it **blocked by** the existing issue (or the existing PR) in GitHub's issue relationships field: `gh issue edit \u003Cnew> --add-blocked-by \u003Cexisting number or URL>` (the REST fallback for older `gh` is in `issue-first`).\n3. Then either wait for the lower-level issue or PR to finish, or, if feasible, stack a new PR on it with [`stack-prs`](..\u002Fstack-prs\u002FSKILL.md).\n   Run `stack-prs`'s decision gate first;\n   step 5's branch from `main` applies only when the work is independent of every open PR.\n\n### 4. Check history and research DRW\n\n- Invoke `check-history` before implementing --- review merged\u002Fclosed MRs that\n  touched the same area so you don't undo past progress.\n- Perform a research step to check whether the functionality or helper already\n  exists (Don't Reinvent the Wheel \u002F DRW): search our own repos\n  (`Morrison-Lab\u002Fgha`, lab packages, ai-config) and trustworthy upstream\n  ecosystems (standard libraries, r-lib \u002F tidyverse, PyPI, npm) via\n  [`prefer-upstream`](..\u002Fprefer-upstream\u002FSKILL.md) and\n  [`dont-reinvent-wheel`](..\u002F..\u002Fshared\u002Fprinciples\u002Fdont-reinvent-wheel.md)\n  before hand-rolling custom code.\n- Choose explicitly whether to centralize or distribute the content or other\n  work, both within the repo and across repos, and state the choice in the\n  issue or PR, per\n  [`centralize-or-distribute`](..\u002F..\u002Fshared\u002Fworkflow\u002Fcentralize-or-distribute.md).\n  Ezra, 2026-11-09: \"when planning and\u002For performing work, we\n  should choose explicitly whether to centralize vs distribute content or other\n  work, both within and across repos\"\n  ([ai-config#5185](https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fissues\u002F5185)).\n\n### 5. Branch → open draft PR → implement → ready → ARDI\n\nFrom here the tail is identical to `gi`:\n\n```bash\ngit fetch origin main                       # FETCH\ngit checkout -b \u003Ctype>\u002F\u003Cslug> origin\u002Fmain   # CREATE_BRANCH — fix\u002F feat\u002F docs\u002F refactor\u002F\n```\n\n- **Open the draft PR now**, before implementing — an empty commit gives the\n  branch a diff to open against, kept as a draft so the review bot doesn't run\n  on an empty diff (see [`pr-on-claim`](..\u002F..\u002Fshared\u002Fworkflow\u002Fpr-on-claim.md)):\n  ```bash\n  git commit --allow-empty -m \"start: \u003Ctitle> (closes #\u003CN>)\"   # COMMIT\n  ```\n\n  Push as a separate Bash call, per [`check-before-pushing`](..\u002F..\u002Fshared\u002Fworkflow\u002Fcheck-before-pushing.md)'s \"Keep the commit in its own Bash call\":\n\n  ```bash\n  git push -u origin \u003Ctype>\u002F\u003Cslug>   # PUSH\n  ```\n\n  Open the draft PR in a separate Bash call:\n\n  ```bash\n  gh pr create --draft --title \"\u003Ctitle>\" --body \"Closes #\u003CN>\n\n  WIP — opened up front to claim the issue; implementing now.\"   # CREATE_PR\n  ```\n- Implement (code, tests, docs), researching existing libraries\u002Ffunctions before\n  hand-rolling custom code, run the repo's standard checks, and push the\n  implementation onto the PR, committing with a message referencing the issue\n  (`fix: … (closes #N)`).\n- **Mark the PR ready for review** (`gh pr ready \u003CN>` — `MARK_PR_READY`) and\n  request `the repository owner` as reviewer (`request-pr-review`).\n- **ARDI** the PR to a clean verdict (`ardi`). Don't merge unless asked.\n\n### 6. Report\n\nLinked issue + PR, ARDI round count, and any deferred follow-up issues.\n\n## Relationship to other skills\n\n- **`brainstorm`** — when the task's shape isn't settled yet (multiple\n  reasonable interpretations, a real design tradeoff, \"done\" can't yet be\n  stated in one sentence), run `brainstorm` first to resolve that through a\n  Socratic Q&A loop and a plan file, then hand the result to this skill's\n  \"restate the task and 'done' criteria\" step instead of starting from\n  scratch.\n- **`stack-prs`** --- step 3a hands off to it when the task builds on an open PR;\n  it supplies the decision gate and the branch mechanics.\n- **`gi`** — once the issue exists, the implement → PR → ARDI tail is the same;\n  `st` is \"`gi`, but you write the issue first.\"\n- **`prefer-upstream`** --- search existing packages and tools before writing\n  custom code to prevent reinventing the wheel.\n- **`defer-issue`** — same issue-creation mechanics, for sub-tasks that emerge.\n- **`check-history`**, **`claim-pr`**, **`pr-on-claim`**,\n  **`request-pr-review`**, **`ardi`**, **`split-concerns`** — invoked along the\n  way (`pr-on-claim` is the \"open the draft PR before implementing\" step).\n- **`post-merge`** — closes the lifecycle that `st` opens, once the PR lands.\n\n## Anti-patterns\n\n- ❌ Opening a PR with no tracking issue behind it.\n- ❌ Filing a duplicate without searching open **and** closed issues first.\n- ❌ A vague issue with no \"done\" criteria.\n- ❌ Re-doing already-closed work without flagging it to the user.\n- ❌ Hand-rolling custom code without researching existing libraries\u002Fpackages first (violating DRW).\n- ❌ Cramming multiple independent concerns into one issue\u002FPR.\n",{"name":5,"description":7,"allowed-tools":24,"user-invocable":29},[25,26,27,28],"Bash","Read","Edit","Write",true,"main","f8f5ea79cc52e903c30773b5e264e384e715c4c7","skills\u002Fst",1,"https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config","https:\u002F\u002Fmorrison-lab.github.io\u002Fai-config\u002F","https:\u002F\u002Fgithub.com\u002FMorrison-Lab","2026-11-12 06:23:19",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":29},[40,43,46],{"tool":41,"command":42},"npx","npx skills add Morrison-Lab\u002Fai-config --skill st",{"tool":44,"command":45},"bunx","bunx skills add Morrison-Lab\u002Fai-config --skill st",{"tool":47,"command":48},"pnpm","pnpm dlx skills add Morrison-Lab\u002Fai-config --skill st","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fst\u002FSKILL.md",[],[52,59,66,73,80,87],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":19},"01M735B6T9KP24YK73HZYS361B","triage","Triage backlog: P1\u002FP2\u002FP3 or close.","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Ftriage\u002FSKILL.md",[],[],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":19},"01M7355RRVTEEFJ16QVM86EK7X","mwc","Session merge grant with confidence gate.","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fmwc\u002FSKILL.md",[],[],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M7355JBSBYP7AQQ2165FJKBW","migrate-discussion","Move items between Issues and Discussions.","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fmigrate-discussion\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M73558FN1TYWMMRZYJQSTAK8","memorize","Persist memory across sessions.","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fmemorize\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M7351KXGW9QTKQHH1HJFS4YF","defer-issue","File issue for deferred work.","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fdefer-issue\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M73512AEG0J04NPM2YP9CEW8","create-release-checklist","Create an R package release-checklist issue.","https:\u002F\u002Fgithub.com\u002FMorrison-Lab\u002Fai-config\u002Fblob\u002Fmain\u002Fskills\u002Fcreate-release-checklist\u002FSKILL.md",[],[]]