[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70S42W5NC39PRKN6987PQ0F":3,"skill-same:01M70S42W5NC39PRKN6987PQ0F":66},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M70S42W5NC39PRKN6987PQ0F","adr-management",null,"Manage Architecture Decision Records (ADRs) with `takt adr` — creating, listing, showing, approving, rejecting, superseding and validating ADRs. Use when a non-feature architectural decision (technology choice, project-wide constraint, cross-feature principle) needs to be recorded, or when asked to look up or change an existing decision. Do not use for feature work; that belongs in a spec.","oscarrenalias\u002Ftakt","oscarrenalias","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F199804?v=4","01M6DS0MTQXECAD11T5GHG2840","Oscar Renalias","01M6DS0MZNDBEE9DVZ852ZV4ZD",0,"MIT","https:\u002F\u002Fgithub.com\u002Foscarrenalias\u002Ftakt\u002Fblob\u002Fmain\u002Fsrc\u002Fagent_takt\u002F_data\u002Fclaude_skills\u002Fskill-adr-management\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"adr management","management","adr","architecture decision","architecture","listing","Bash","when","Existing","use","technology","choice","decision","up","records","manage","project","for","feature","do","2026-11-10 10:12:30",false,"---\nname: adr-management\ndescription: Manage Architecture Decision Records (ADRs) with `takt adr` — creating, listing, showing, approving, rejecting, superseding and validating ADRs. Use when a non-feature architectural decision (technology choice, project-wide constraint, cross-feature principle) needs to be recorded, or when asked to look up or change an existing decision. Do not use for feature work; that belongs in a spec.\ntools: Read, Write, Edit, Glob, Grep, Bash\nlicense: MIT\n---\n\n# adr-management\n\n`takt adr` is the canonical tool for ADR lifecycle operations. Never use `mv` or edit frontmatter by hand; use the CLI so file location and status stay in sync.\n\n## ADR or spec?\n\n- **Spec** — forward-looking: what to build. Use for feature work.\n- **ADR** — backward-looking: what was decided and why. Use for technology choices, architectural principles spanning features, and project-wide constraints that outlive a single feature.\n\nIf a paragraph you are about to add to CLAUDE.md starts \"we decided to…\", it probably belongs in an ADR.\n\n## Lifecycle\n\n| State | Folder | Meaning |\n|---|---|---|\n| `draft` | `adr\u002Fdrafts\u002F` | Being authored; not binding |\n| `approved` | `adr\u002Fapproved\u002F` | Accepted; binding on future work |\n| `superseded` | `adr\u002Fsuperseded\u002F` | Replaced by a newer ADR |\n| `rejected` | `adr\u002Frejected\u002F` | Proposed, not adopted |\n\nAllowed: `draft → approved`, `draft → rejected`, `approved → superseded`. Forbidden: `approved → draft` (supersede instead), anything from `rejected` (file a new ADR), `draft → superseded`, re-superseding.\n\n## Commands\n\n```bash\ntakt adr new \"Title\" [--description \"...\"] [--tag X] [--related-spec ID] [--related-bead ID] [--supersedes ADR-xxx]\ntakt adr list [--status approved] [--tag X] [--plain] [--json]\ntakt adr show ADR-a3f19c2b [--field status] [--field decision]\ntakt adr approve a3f1 [--supersedes ADR-other]\ntakt adr reject a3f1\ntakt adr supersede ADR-old --by ADR-new\ntakt adr validate\ntakt adr search \"\u003Cquery>\" [--status S]... [--tag T]... [--limit N] [--chunks] [--json] [--plain] [--all]\ntakt adr reindex [--check]\n```\n\nIDs are `ADR-\u003C8 hex>`; any unambiguous prefix works. `takt adr new` does not open an editor — it writes the file under `adr\u002Fdrafts\u002F`; open it and fill in the body.\n\n## Searching ADRs\n\nUse `takt adr search` to find existing decisions before proposing a new one; it does hybrid semantic + keyword ranking over ADR sections and returns ID, status, title, section and snippet.\n\n```bash\ntakt adr search \"bead state on feature branches\"\ntakt adr search \"merge=ours\" --status approved --limit 5 --json\n```\n\n- `--status S` — repeatable; OR across values. `--tag T` — repeatable; AND across values.\n- `--all` — include `superseded` and `rejected` ADRs. By default they are excluded unless `--status` is given.\n- `--limit N` — maximum results (default 10). `--chunks` — individual sections instead of best section per ADR.\n- `--json` — array of `{id, type, status, title, path, section, snippet, score}`; `--plain` — tab-separated `id\\tstatus\\tsection\\tscore\\ttitle`.\n\nNo hits prints `No matches.` (exit 0). Search syncs the index with the files first and, from a feature worktree, reads the main checkout.\n\n`takt adr reindex` rebuilds the ADR index from scratch (prints `indexed \u003Cn> adr documents (\u003Cm> chunks)`); `takt adr reindex --check` is a dry run printing `would add \u003Ca>, update \u003Cu>, remove \u003Cr> (\u003Ck> unchanged)`. Rarely needed, since search reconciles automatically.\n\n## Body sections\n\nFill in all mandatory sections before approving (approval fails on missing or placeholder text):\n\n- `## Summary` — one sentence: \"In the context of X, facing Y, we decided Z, to achieve Q, accepting W.\"\n- `## Context` — situation, constraints, prior art.\n- `## Considered Options` — at least one `### Option X — name` subsection with `Good:`\u002F`Bad:` bullets. Keep the \"Bad\" bullets specific so rejected options are not re-proposed.\n- `## Decision` — the chosen option, stated directly; binding constraints stated as such.\n- `## Consequences` — at least one of `### Positive` \u002F `### Negative`.\n- `## Decision Drivers` — optional; one-line bullets of the forces involved.\n\n## Workflow\n\n1. `takt adr new \"Title\" ...`\n2. Edit the draft body.\n3. `takt adr approve \u003Cid>` (add `--supersedes \u003Cold>` to replace an approved ADR atomically).\n4. `takt adr validate` and commit.\n\nApproved ADRs are binding: before proposing a change that conflicts with one, supersede it with a new ADR rather than ignoring it. See `docs\u002Fadr.md` for the full guide.\n","# adr-management\n\n`takt adr` is the canonical tool for ADR lifecycle operations. Never use `mv` or edit frontmatter by hand; use the CLI so file location and status stay in sync.\n\n## ADR or spec?\n\n- **Spec** — forward-looking: what to build. Use for feature work.\n- **ADR** — backward-looking: what was decided and why. Use for technology choices, architectural principles spanning features, and project-wide constraints that outlive a single feature.\n\nIf a paragraph you are about to add to CLAUDE.md starts \"we decided to…\", it probably belongs in an ADR.\n\n## Lifecycle\n\n| State | Folder | Meaning |\n|---|---|---|\n| `draft` | `adr\u002Fdrafts\u002F` | Being authored; not binding |\n| `approved` | `adr\u002Fapproved\u002F` | Accepted; binding on future work |\n| `superseded` | `adr\u002Fsuperseded\u002F` | Replaced by a newer ADR |\n| `rejected` | `adr\u002Frejected\u002F` | Proposed, not adopted |\n\nAllowed: `draft → approved`, `draft → rejected`, `approved → superseded`. Forbidden: `approved → draft` (supersede instead), anything from `rejected` (file a new ADR), `draft → superseded`, re-superseding.\n\n## Commands\n\n```bash\ntakt adr new \"Title\" [--description \"...\"] [--tag X] [--related-spec ID] [--related-bead ID] [--supersedes ADR-xxx]\ntakt adr list [--status approved] [--tag X] [--plain] [--json]\ntakt adr show ADR-a3f19c2b [--field status] [--field decision]\ntakt adr approve a3f1 [--supersedes ADR-other]\ntakt adr reject a3f1\ntakt adr supersede ADR-old --by ADR-new\ntakt adr validate\ntakt adr search \"\u003Cquery>\" [--status S]... [--tag T]... [--limit N] [--chunks] [--json] [--plain] [--all]\ntakt adr reindex [--check]\n```\n\nIDs are `ADR-\u003C8 hex>`; any unambiguous prefix works. `takt adr new` does not open an editor — it writes the file under `adr\u002Fdrafts\u002F`; open it and fill in the body.\n\n## Searching ADRs\n\nUse `takt adr search` to find existing decisions before proposing a new one; it does hybrid semantic + keyword ranking over ADR sections and returns ID, status, title, section and snippet.\n\n```bash\ntakt adr search \"bead state on feature branches\"\ntakt adr search \"merge=ours\" --status approved --limit 5 --json\n```\n\n- `--status S` — repeatable; OR across values. `--tag T` — repeatable; AND across values.\n- `--all` — include `superseded` and `rejected` ADRs. By default they are excluded unless `--status` is given.\n- `--limit N` — maximum results (default 10). `--chunks` — individual sections instead of best section per ADR.\n- `--json` — array of `{id, type, status, title, path, section, snippet, score}`; `--plain` — tab-separated `id\\tstatus\\tsection\\tscore\\ttitle`.\n\nNo hits prints `No matches.` (exit 0). Search syncs the index with the files first and, from a feature worktree, reads the main checkout.\n\n`takt adr reindex` rebuilds the ADR index from scratch (prints `indexed \u003Cn> adr documents (\u003Cm> chunks)`); `takt adr reindex --check` is a dry run printing `would add \u003Ca>, update \u003Cu>, remove \u003Cr> (\u003Ck> unchanged)`. Rarely needed, since search reconciles automatically.\n\n## Body sections\n\nFill in all mandatory sections before approving (approval fails on missing or placeholder text):\n\n- `## Summary` — one sentence: \"In the context of X, facing Y, we decided Z, to achieve Q, accepting W.\"\n- `## Context` — situation, constraints, prior art.\n- `## Considered Options` — at least one `### Option X — name` subsection with `Good:`\u002F`Bad:` bullets. Keep the \"Bad\" bullets specific so rejected options are not re-proposed.\n- `## Decision` — the chosen option, stated directly; binding constraints stated as such.\n- `## Consequences` — at least one of `### Positive` \u002F `### Negative`.\n- `## Decision Drivers` — optional; one-line bullets of the forces involved.\n\n## Workflow\n\n1. `takt adr new \"Title\" ...`\n2. Edit the draft body.\n3. `takt adr approve \u003Cid>` (add `--supersedes \u003Cold>` to replace an approved ADR atomically).\n4. `takt adr validate` and commit.\n\nApproved ADRs are binding: before proposing a change that conflicts with one, supersede it with a new ADR rather than ignoring it. See `docs\u002Fadr.md` for the full guide.\n",{"name":5,"tools":44,"license":15,"description":7},"Read, Write, Edit, Glob, Grep, Bash","main","8c935c89500566d47835b9a4afa2fd0db6bdcd19","src\u002Fagent_takt\u002F_data\u002Fclaude_skills\u002Fskill-adr-management","https:\u002F\u002Fgithub.com\u002Foscarrenalias\u002Ftakt","https:\u002F\u002Fgithub.com\u002Foscarrenalias","http:\u002F\u002Fwww.renalias.net","2026-11-09 18:58:06",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add oscarrenalias\u002Ftakt --skill adr-management",{"tool":58,"command":59},"bunx","bunx skills add oscarrenalias\u002Ftakt --skill adr-management",{"tool":61,"command":62},"pnpm","pnpm dlx skills add oscarrenalias\u002Ftakt --skill adr-management","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Foscarrenalias\u002Ftakt\u002Fblob\u002Fmain\u002Fsrc\u002Fagent_takt\u002F_data\u002Fclaude_skills\u002Fskill-adr-management\u002FSKILL.md",true,[],[67,72,98],{"skillNo":68,"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":69,"categories":70,"keywords":71,"publishedAt":39},"01M70S3JV851RP3A6WVD2HQV5Q","https:\u002F\u002Fgithub.com\u002Foscarrenalias\u002Ftakt\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fskill-adr-management\u002FSKILL.md",[],[20,19,21,22,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":39},"01M6DS2338RQ5CRY3F3B9EAG1S","spec-management","This skill supports managing spec files, as part of spec-driven development. The skill exposes functions for creating, listing, showing, and updating spec files. This skill must always be used to create and manage specs, and to update metadata for spec files (description, dependencies, priority, complexity, status, tags, and scope). Editing of the content of spec files, except for the frontmatter fields that the skill manages for the metadata, is outside the scope of this skill and should be done by agents directly in the file. Agents should not edit any frontmatter fields directly in the file, but should use the provided functions to ensure the filesystem and frontmatter stay in sync.","https:\u002F\u002Fgithub.com\u002Foscarrenalias\u002Ftakt\u002Fblob\u002Fmain\u002Fsrc\u002Fagent_takt\u002F_data\u002Fclaude_skills\u002Fskill-spec-management\u002FSKILL.md",[],[79,80,20,81,82,83,34,84,24,85,86,87,88,89,90,91,92,93,25,94,95,96,97],"spec management","spec","as","development","editing","spec-driven","frontmatter","but","status","sync","edit","complexity","scope","files","done","create","update","read","write",{"skillNo":99,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":39},"01M6DS18M9ZVEBTD7GQWB0YFAG","https:\u002F\u002Fgithub.com\u002Foscarrenalias\u002Ftakt\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fskill-spec-management\u002FSKILL.md",[],[80,79,20,82,90,91,92,93,25,94,95,96,97,89,88,87,86,81,83,34,84,24,85]]