[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7ADBMBWS4WP4V4MWWFRDTYD":3,"skill-same:01M7ADBMBWS4WP4V4MWWFRDTYD":49},{"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":27,"commitSha":28,"skillDirectory":29,"forksCount":30,"repositoryHtmlUrl":31,"repositoryHomepageUrl":32,"ownerHtmlUrl":33,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M7ADBMBWS4WP4V4MWWFRDTYD","architecture-diagrams",null,"Use when the deliverable is a physical diagram artifact (.svg\u002F.png) — C4 models, dense class diagrams, network topology rendered via PlantUML. Not for diagrams embedded in Markdown (use Mermaid there).","Leostruka\u002Fdevin-bundle","Leostruka","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F81370685?v=4","01M7AD8MAK63VDNAWRDRRRW04N","leandro ostruka","01M7AD8MBS65YDS1KMMV7YPM07",0,"MIT","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Fskills\u002Farchitecture-diagrams\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: architecture-diagrams\ndescription: Use when the deliverable is a physical diagram artifact (.svg\u002F.png) — C4 models, dense class diagrams, network topology rendered via PlantUML. Not for diagrams embedded in Markdown (use Mermaid there).\nargument-hint: What architecture should I diagram?\ntriggers: [user]\n---\n\n# Architecture Diagrams (PlantUML)\n\nGenerates physical diagram artifacts via the public PlantUML server —\nno Java required. Renders C4 models, dense class diagrams, and network\ntopologies that Mermaid cannot express well.\n\n## Tool boundary — Mermaid vs PlantUML\n\n**Mermaid** for diagrams *embedded in Markdown* — sequence, flow, state,\ngitgraph, mindmap, ER — quick logic inside docs, wikis (`obsidian-workflow`),\nand reports. Validated inline by the `validate-mermaid` hook.\n\n**PlantUML** *exclusively* for *physical artifacts* (`.svg`\u002F`.png` files):\n\n- C4 models (Context \u002F Container \u002F Component \u002F Deployment)\n- Dense class diagrams (many entities, relations, generics)\n- Network \u002F deployment topology\n\nIf the user wants a diagram inside a Markdown doc → Mermaid. If they want a\nfile they can open, print, or attach → PlantUML via this skill.\n\n## Where it is\n\n- Renderer: `extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py` (installed at\n  `%APPDATA%\\devin\\extensions\\diagram-tools\\`) — stdlib-only; Deflate +\n  PlantUML modified-Base64 + GET to `plantuml.com\u002Fplantuml\u002F{svg,png}\u002F`.\n\n## Flow\n\n1. Write the PlantUML source to a file (e.g. `.devin\u002Fscratch\u002Fdiagram.puml`\n   or a path the user chooses). Never render from a heredoc — keep the\n   source file as the editable artifact.\n2. **Syntax sanity before the network** (mandatory):\n\n   ```bash\n   python extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py --check diagram.puml\n   ```\n\n   Fix all reported errors before proceeding.\n3. Render:\n\n   ```bash\n   python extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py diagram.puml            # .svg\n   python extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py diagram.puml --format png\n   ```\n\n   Verify `ok: true` in the JSON output, then open the artifact for the user.\n4. If the server returns a syntax-error image (non-SVG body), read the error\n   it reports, fix the source, re-check, re-render.\n\n## C4 model rules\n\nUse the C4-PlantUML stdlib — always remote-include, never vendor:\n\n```plantuml\n@startuml\n!include https:\u002F\u002Fraw.githubusercontent.com\u002Fplantuml-stdlib\u002FC4-PlantUML\u002Fmaster\u002FC4_Container.puml\n\nPerson(user, \"User\", \"End user\")\nSystem_Boundary(sys, \"System\") {\n  Container(app, \"App\", \"Python\", \"Does X\")\n  ContainerDb(db, \"DB\", \"SQLite\", \"Stores Y\")\n}\nRel(user, app, \"Uses\")\nRel(app, db, \"Reads\u002FWrites\")\n@enduml\n```\n\n- Layer `!include` by depth: `C4_Context.puml` ⊂ `C4_Container.puml` ⊂\n  `C4_Component.puml`; `C4_Deployment.puml` for topology.\n- One diagram per abstraction level — do not mix Context and Component.\n- Every element gets `alias`, `label`, `technology`, `description` (4 args).\n- `Rel(a, b, \"verb\")` for every arrow; direction = call order.\n- Keep aliases stable across levels so diagrams stay cross-referenceable.\n\n## Gotchas\n\n- The public server requires network — if offline, say so and keep the\n  `.puml` source; it renders later unchanged.\n- Server-side syntax errors return an image *containing* the error —\n  the script detects this and exits non-zero. Treat it as a fix-and-retry.\n- PlantUML is whitespace\u002Fkeyword-sensitive: `@enduml` (not `@end uml`),\n  arrows are `-->` \u002F `..>` not `->`.\n- Large C4 models hit URL limits (~8KB encoded); split into per-level files.\n","# Architecture Diagrams (PlantUML)\n\nGenerates physical diagram artifacts via the public PlantUML server —\nno Java required. Renders C4 models, dense class diagrams, and network\ntopologies that Mermaid cannot express well.\n\n## Tool boundary — Mermaid vs PlantUML\n\n**Mermaid** for diagrams *embedded in Markdown* — sequence, flow, state,\ngitgraph, mindmap, ER — quick logic inside docs, wikis (`obsidian-workflow`),\nand reports. Validated inline by the `validate-mermaid` hook.\n\n**PlantUML** *exclusively* for *physical artifacts* (`.svg`\u002F`.png` files):\n\n- C4 models (Context \u002F Container \u002F Component \u002F Deployment)\n- Dense class diagrams (many entities, relations, generics)\n- Network \u002F deployment topology\n\nIf the user wants a diagram inside a Markdown doc → Mermaid. If they want a\nfile they can open, print, or attach → PlantUML via this skill.\n\n## Where it is\n\n- Renderer: `extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py` (installed at\n  `%APPDATA%\\devin\\extensions\\diagram-tools\\`) — stdlib-only; Deflate +\n  PlantUML modified-Base64 + GET to `plantuml.com\u002Fplantuml\u002F{svg,png}\u002F`.\n\n## Flow\n\n1. Write the PlantUML source to a file (e.g. `.devin\u002Fscratch\u002Fdiagram.puml`\n   or a path the user chooses). Never render from a heredoc — keep the\n   source file as the editable artifact.\n2. **Syntax sanity before the network** (mandatory):\n\n   ```bash\n   python extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py --check diagram.puml\n   ```\n\n   Fix all reported errors before proceeding.\n3. Render:\n\n   ```bash\n   python extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py diagram.puml            # .svg\n   python extensions\u002Fdiagram-tools\u002Fplantuml_renderer.py diagram.puml --format png\n   ```\n\n   Verify `ok: true` in the JSON output, then open the artifact for the user.\n4. If the server returns a syntax-error image (non-SVG body), read the error\n   it reports, fix the source, re-check, re-render.\n\n## C4 model rules\n\nUse the C4-PlantUML stdlib — always remote-include, never vendor:\n\n```plantuml\n@startuml\n!include https:\u002F\u002Fraw.githubusercontent.com\u002Fplantuml-stdlib\u002FC4-PlantUML\u002Fmaster\u002FC4_Container.puml\n\nPerson(user, \"User\", \"End user\")\nSystem_Boundary(sys, \"System\") {\n  Container(app, \"App\", \"Python\", \"Does X\")\n  ContainerDb(db, \"DB\", \"SQLite\", \"Stores Y\")\n}\nRel(user, app, \"Uses\")\nRel(app, db, \"Reads\u002FWrites\")\n@enduml\n```\n\n- Layer `!include` by depth: `C4_Context.puml` ⊂ `C4_Container.puml` ⊂\n  `C4_Component.puml`; `C4_Deployment.puml` for topology.\n- One diagram per abstraction level — do not mix Context and Component.\n- Every element gets `alias`, `label`, `technology`, `description` (4 args).\n- `Rel(a, b, \"verb\")` for every arrow; direction = call order.\n- Keep aliases stable across levels so diagrams stay cross-referenceable.\n\n## Gotchas\n\n- The public server requires network — if offline, say so and keep the\n  `.puml` source; it renders later unchanged.\n- Server-side syntax errors return an image *containing* the error —\n  the script detects this and exits non-zero. Treat it as a fix-and-retry.\n- PlantUML is whitespace\u002Fkeyword-sensitive: `@enduml` (not `@end uml`),\n  arrows are `-->` \u002F `..>` not `->`.\n- Large C4 models hit URL limits (~8KB encoded); split into per-level files.\n",{"name":5,"triggers":24,"description":7,"argument-hint":26},[25],"user","What architecture should I diagram?","main","02b95ddb62959a00b3c31442c2046aca0d19563c","skills\u002Farchitecture-diagrams",1,"https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle","https:\u002F\u002Fleostruka.github.io\u002Fdevin-bundle\u002F","https:\u002F\u002Fgithub.com\u002FLeostruka","2026-11-15 05:19:58",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add Leostruka\u002Fdevin-bundle --skill architecture-diagrams",{"tool":41,"command":42},"bunx","bunx skills add Leostruka\u002Fdevin-bundle --skill architecture-diagrams",{"tool":44,"command":45},"pnpm","pnpm dlx skills add Leostruka\u002Fdevin-bundle --skill architecture-diagrams","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Fskills\u002Farchitecture-diagrams\u002FSKILL.md",true,[],[50,57,64,71,78,85],{"skillNo":51,"name":52,"nameZh":6,"description":53,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":54,"categories":55,"keywords":56,"publishedAt":19},"01M7E0K3MG2XC4FSRV0MK6SFR1","montador-de-ideias","Use when assembling, expanding, or elevating a raw project idea or initial prompt into an ultra-detailed, first-principles dossier and compiled master prompt with journalistic OSINT market research, Tech Lead and Staff Architect justifications, atomic and modular hardening\u002Foptimization, and high-impact contact surfaces.","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Fskills\u002Fmontador-de-ideias\u002FSKILL.md",[],[],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":19},"01M7E0J7JJWZ8QMK01RZ3B3C9Z","git-github-adaptive-engineering","Use when any task touches git history, GitHub issues\u002FPRs\u002Freleases\u002FCI, repo governance, or branch and merge decisions. Runs the Fase Zero situational-awareness battery, picks one of five delivery flows via the adaptive decision engine, and enforces commit\u002FPR information-density standards. Orchestrates the gh, git-workflows, github-actions, pr, and debug\u002Ffinish skills.","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Fskills\u002Fgit-github-adaptive-engineering\u002FSKILL.md",[],[],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":19},"01M7E0GJFRPFEVQQMXEM58EWDM","adaptive-agenda-calendar-routine-engine","Use when planning or executing work across hours, days, weeks, or sprints. Turns the calendar into a strict time-blocked agenda (HH:MM-HH:MM blocks carrying a routine profile, expected inputs, and a handoff output artifact), runs the 5-stage cognitive flow (Radar and Hunt -> Triage plus Steve Jobs conception -> workbench manifest -> >=32-cycle loop -> Close plus Open-Minded Scrum), and unfolds macro calendar milestones into micro agenda blocks through extensions\u002Fgcal\u002Fwrapper.py.","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Fskills\u002Fadaptive-agenda-calendar-routine-engine\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M7AE2K9FTY0BVS48N0A9JFKF","demo","Use when demonstrating a skill in a fixture project.","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fdevin-config\u002Fproject\u002F.devin\u002Fskills\u002Fdemo\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M7AE2G3DP38PTV3B1N7MW5TS","duplicate-skill","Use when testing duplicate skill name detection.","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fdevin-config\u002Fproject\u002F.devin\u002Fskills\u002Fbeta\u002FSKILL.md",[],[],{"skillNo":86,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M7AE2DBR8ZHT6T875MJ392GK","https:\u002F\u002Fgithub.com\u002FLeostruka\u002Fdevin-bundle\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fdevin-config\u002Fproject\u002F.devin\u002Fskills\u002Falpha\u002FSKILL.md",[],[]]