[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JK2DY9DJYPPS8C0QB291NV":3,"skill-same:01M6JK2DY9DJYPPS8C0QB291NV":93},{"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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M6JK2DY9DJYPPS8C0QB291NV","sdlc",null,"The default software development lifecycle every agent follows — intake, plan, isolate, implement, verify, review, land, deploy, observe, release. Use at the start of any coding task, and whenever deciding whether work is ready to deploy or ready to merge.","jeffersonjhunt\u002Fcode-monkeys","jeffersonjhunt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2308584?v=4","01M6JK0Z7Y76REMWVB4JM2CQN9","Jefferson J Hunt","01M6JK0ZD5DFCQW66H6P76JGMG",1,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"at","review","software","software development","task","development lifecycle","default","observe","ready","use","work","plan","verify","lifecycle","intake","release","development","merge","implement","2026-11-10 10:12:30",false,"---\nname: sdlc\ndescription: The default software development lifecycle every agent follows — intake, plan, isolate, implement, verify, review, land, deploy, observe, release. Use at the start of any coding task, and whenever deciding whether work is ready to deploy or ready to merge.\nlicense: Apache-2.0\nmetadata:\n  author: ooe\n  version: \"1.2.1\"\ndependencies:\n  - review-adversarial\n---\n\n# sdlc\n\nThe lifecycle every instance follows unless a project overrides it. Ten phases; the merge is the\nLAST act, not an early one. You do the work; the scripts hold\nstate and refuse invalid transitions, so a skipped phase is a visible decision rather than a silent\nomission.\n\nProjects override it in their own `CLAUDE.md` — see [`references\u002Foverrides.md`](references\u002Foverrides.md).\n\n## Start here\n\n```bash\npython scripts\u002Fpreflight.py                          # is this a safe place to work at all?\npython scripts\u002Flifecycle.py init --tier standard --task \"add X\" --why \"one service, reversible\"\npython scripts\u002Flifecycle.py status\n```\n\n`--why` is required. A tier is a claim about the risk of the work, and an unjustified claim is the\nthing this skill exists to prevent.\n\n## Tiers\n\nPick with two questions, not one \"how big is it\" judgement:\n\n```\ndoes it change behaviour? ── no ──> trivial\n         │ yes\ndoes it ship to a runtime? ── no ──> undeployed\n         │ yes\none unit, reversible? ── yes ──> standard\n         │ no\n                        campaign\n```\n\n| tier | when | phases |\n|---|---|---|\n| `trivial` | docs, comments, formatting — **no behaviour change** | isolate, implement, land, release |\n| `undeployed` | real change that **ships nothing**: tests, dev tooling, specs, CI | all except deploy, observe |\n| `standard` | a feature or bug fix in one place, reversible, deployed | all ten |\n| `campaign` | multi-host, multi-artifact, or hard to reverse | all ten **+ survey**, per-unit verification, declared stop\u002Fresume point |\n\n`undeployed` is not a discount tier — it keeps `verify` and `review`, which is the whole point.\nWithout it, work that ships nothing had to either claim `standard` and walk through `deploy` and\n`observe` that do not apply, or claim `trivial` and skip the verification it genuinely needs. Every\ntier still ends in `release`: everything gets merged eventually, the question is only what has to be\ntrue first.\n\nIf unsure between two, take the one with more phases. Choosing `trivial` for something that changes\nbehaviour is the failure mode, not choosing `standard` for a typo.\n\n## The phases\n\n**1 Intake** — restate the ask in your own words. Declare the tier and why. Name the **unit of work**\n(the smallest thing that can be built, verified and reverted on its own). State what \"done\" means.\n\n**2 Plan** — every tier except `trivial`: write the plan, get it approved, *then* write code. If the\nask is ambiguous in a way that changes the work, ask before planning, not after building.\n\n**3 Isolate** — a branch, in a worktree. **Never `main`.** Never a deployment artifact (a clone that\nexists to run code, not host it). A shared checkout has one HEAD: if someone else switches it, your\ncommits land on their branch and nothing errors.\n\n**4 Implement** — small commits. The message says *why*; the diff already says what.\n\n**5 Verify** — the phase that fails silently, so it has its own rules below.\n\n**6 Review** — read your own diff as an adversary before anyone else does. For anything non-trivial,\nchain to the `review-adversarial` skill.\n\n**7 Land** — push the **branch**, and stop there. This is *not* the merge. Report what is ready and\nwhat you did not do. Pushing a branch commit onward to main after every commit is developing on main\nwith extra steps.\n\n**8 Deploy** — deploy **the branch's sha**, not main. Deploy tooling takes any ref; the point of\npinned artifacts and a proven rollback is that a candidate can go on real hardware and come off again\ncheaply. The artifact is pinned (a digest, a sha — never a mutable tag), there is a health gate, and\nthe rollback path has been *run*, not just written. A rollback that has never executed is not a\nrollback path.\n\n**9 Observe** — verify in situ, not just that the deploy command exited 0. Record state. Re-check the\nspecific failure the change was supposed to prevent.\n\n**10 Release** — *now* merge, on the evidence from 8 and 9. **The host merges.** If observation went\nbadly the alternative is redeploying the previous digest and fixing the branch — no merge to unwind.\n\n> Merging before deploying inverts this: it makes main a promise rather than a record, and throws\n> away the cheap way out. While a candidate is under test the repo *will* show declared-vs-running\n> drift on that host — that is the expected state, not a reason to merge early.\n\n## Verify: the rules that keep being learned the hard way\n\nEvery one of these comes from a check that passed while being wrong.\n\n- **Zero examined is a failure, not a pass.** `all([])` is `True`. If a check enumerated nothing, it\n  must say so and fail — never report success on an empty set.\n- **Prove the check can fail.** Run the negative case: break the thing deliberately and confirm the\n  check catches it. A gate never seen to fail is an assumption.\n- **A precondition must test what the work needs.** Probing for the wrong thing silently disables the\n  check everywhere — e.g. testing for a binary that is only ever run containerized.\n- **Cover both sides of an environment fork.** If one host, platform or path differs, testing the\n  convenient one covers half the code and looks like full coverage.\n- **Distinguish \"failed\" from \"found nothing\".** They are different answers; collapsing them into one\n  empty string turns an error into a clean result.\n- **A worktree is a different environment.** It omits every gitignored file, so tests gated on local\n  config *silently skip* there — a green run in a worktree can be hiding failures that only appear in\n  the main checkout. Check the skipped count, not just the passed count, and confirm it in both.\n- **Prefer a fixture to ambient config.** A test that reads the maintainer's local file runs on one\n  machine and skips everywhere else, which is how five stale assertions survived unnoticed in\n  `spark-build`. Give the script a seam and feed it a fixture; then every test runs everywhere.\n- **On any test failure: stop.** Write down what failed and the proposed fix, and check with the host\n  before changing code or tests. Never chase green.\n\n## Scripts\n\n### `preflight.py` — is this a safe place to work?\n\n```bash\npython scripts\u002Fpreflight.py                  # JSON verdict, exit 1 if unsafe\npython scripts\u002Fpreflight.py --format plain\n```\n\nChecks: on a branch and not `main`\u002F`master`; working tree clean; inside a git repo; not inside a\ndirectory that looks like a deployment artifact. Exit non-zero names what to do instead.\n\n### `lifecycle.py` — state and transitions\n\n```bash\npython scripts\u002Flifecycle.py init --tier campaign --task \"stamp all config images\" --why \"24 artifacts, 5 hosts\"\npython scripts\u002Flifecycle.py advance implement --evidence \"3 commits on branch\"\npython scripts\u002Flifecycle.py advance verify --evidence \"negative test: gate fails on main, passes on branch\"\npython scripts\u002Flifecycle.py advance land --evidence \"pushed branch feat\u002Fx, not merged\"\npython scripts\u002Flifecycle.py advance release --evidence \"observed healthy on minerva; merged\"\npython scripts\u002Flifecycle.py status\npython scripts\u002Flifecycle.py summary\n```\n\n`advance` refuses a phase whose prerequisites are unmet — `land` before `verify` has evidence, and\n`release` before `deploy` and `observe` have theirs. `--evidence` is a free-text claim about what was actually done; it is recorded, not\nvalidated — the point is that the claim exists and is attributable.\n\nState lives in `.sdlc-state.json` **at the repo root**, so it is found from any subdirectory;\n`status` prints its resolved path. Override with `--state`, which is taken exactly as given.\nAdd it to `.gitignore`.\n\n## Overrides\n\nA project changes any of this from its own `CLAUDE.md`. See\n[`references\u002Foverrides.md`](references\u002Foverrides.md).\n","# sdlc\n\nThe lifecycle every instance follows unless a project overrides it. Ten phases; the merge is the\nLAST act, not an early one. You do the work; the scripts hold\nstate and refuse invalid transitions, so a skipped phase is a visible decision rather than a silent\nomission.\n\nProjects override it in their own `CLAUDE.md` — see [`references\u002Foverrides.md`](references\u002Foverrides.md).\n\n## Start here\n\n```bash\npython scripts\u002Fpreflight.py                          # is this a safe place to work at all?\npython scripts\u002Flifecycle.py init --tier standard --task \"add X\" --why \"one service, reversible\"\npython scripts\u002Flifecycle.py status\n```\n\n`--why` is required. A tier is a claim about the risk of the work, and an unjustified claim is the\nthing this skill exists to prevent.\n\n## Tiers\n\nPick with two questions, not one \"how big is it\" judgement:\n\n```\ndoes it change behaviour? ── no ──> trivial\n         │ yes\ndoes it ship to a runtime? ── no ──> undeployed\n         │ yes\none unit, reversible? ── yes ──> standard\n         │ no\n                        campaign\n```\n\n| tier | when | phases |\n|---|---|---|\n| `trivial` | docs, comments, formatting — **no behaviour change** | isolate, implement, land, release |\n| `undeployed` | real change that **ships nothing**: tests, dev tooling, specs, CI | all except deploy, observe |\n| `standard` | a feature or bug fix in one place, reversible, deployed | all ten |\n| `campaign` | multi-host, multi-artifact, or hard to reverse | all ten **+ survey**, per-unit verification, declared stop\u002Fresume point |\n\n`undeployed` is not a discount tier — it keeps `verify` and `review`, which is the whole point.\nWithout it, work that ships nothing had to either claim `standard` and walk through `deploy` and\n`observe` that do not apply, or claim `trivial` and skip the verification it genuinely needs. Every\ntier still ends in `release`: everything gets merged eventually, the question is only what has to be\ntrue first.\n\nIf unsure between two, take the one with more phases. Choosing `trivial` for something that changes\nbehaviour is the failure mode, not choosing `standard` for a typo.\n\n## The phases\n\n**1 Intake** — restate the ask in your own words. Declare the tier and why. Name the **unit of work**\n(the smallest thing that can be built, verified and reverted on its own). State what \"done\" means.\n\n**2 Plan** — every tier except `trivial`: write the plan, get it approved, *then* write code. If the\nask is ambiguous in a way that changes the work, ask before planning, not after building.\n\n**3 Isolate** — a branch, in a worktree. **Never `main`.** Never a deployment artifact (a clone that\nexists to run code, not host it). A shared checkout has one HEAD: if someone else switches it, your\ncommits land on their branch and nothing errors.\n\n**4 Implement** — small commits. The message says *why*; the diff already says what.\n\n**5 Verify** — the phase that fails silently, so it has its own rules below.\n\n**6 Review** — read your own diff as an adversary before anyone else does. For anything non-trivial,\nchain to the `review-adversarial` skill.\n\n**7 Land** — push the **branch**, and stop there. This is *not* the merge. Report what is ready and\nwhat you did not do. Pushing a branch commit onward to main after every commit is developing on main\nwith extra steps.\n\n**8 Deploy** — deploy **the branch's sha**, not main. Deploy tooling takes any ref; the point of\npinned artifacts and a proven rollback is that a candidate can go on real hardware and come off again\ncheaply. The artifact is pinned (a digest, a sha — never a mutable tag), there is a health gate, and\nthe rollback path has been *run*, not just written. A rollback that has never executed is not a\nrollback path.\n\n**9 Observe** — verify in situ, not just that the deploy command exited 0. Record state. Re-check the\nspecific failure the change was supposed to prevent.\n\n**10 Release** — *now* merge, on the evidence from 8 and 9. **The host merges.** If observation went\nbadly the alternative is redeploying the previous digest and fixing the branch — no merge to unwind.\n\n> Merging before deploying inverts this: it makes main a promise rather than a record, and throws\n> away the cheap way out. While a candidate is under test the repo *will* show declared-vs-running\n> drift on that host — that is the expected state, not a reason to merge early.\n\n## Verify: the rules that keep being learned the hard way\n\nEvery one of these comes from a check that passed while being wrong.\n\n- **Zero examined is a failure, not a pass.** `all([])` is `True`. If a check enumerated nothing, it\n  must say so and fail — never report success on an empty set.\n- **Prove the check can fail.** Run the negative case: break the thing deliberately and confirm the\n  check catches it. A gate never seen to fail is an assumption.\n- **A precondition must test what the work needs.** Probing for the wrong thing silently disables the\n  check everywhere — e.g. testing for a binary that is only ever run containerized.\n- **Cover both sides of an environment fork.** If one host, platform or path differs, testing the\n  convenient one covers half the code and looks like full coverage.\n- **Distinguish \"failed\" from \"found nothing\".** They are different answers; collapsing them into one\n  empty string turns an error into a clean result.\n- **A worktree is a different environment.** It omits every gitignored file, so tests gated on local\n  config *silently skip* there — a green run in a worktree can be hiding failures that only appear in\n  the main checkout. Check the skipped count, not just the passed count, and confirm it in both.\n- **Prefer a fixture to ambient config.** A test that reads the maintainer's local file runs on one\n  machine and skips everywhere else, which is how five stale assertions survived unnoticed in\n  `spark-build`. Give the script a seam and feed it a fixture; then every test runs everywhere.\n- **On any test failure: stop.** Write down what failed and the proposed fix, and check with the host\n  before changing code or tests. Never chase green.\n\n## Scripts\n\n### `preflight.py` — is this a safe place to work?\n\n```bash\npython scripts\u002Fpreflight.py                  # JSON verdict, exit 1 if unsafe\npython scripts\u002Fpreflight.py --format plain\n```\n\nChecks: on a branch and not `main`\u002F`master`; working tree clean; inside a git repo; not inside a\ndirectory that looks like a deployment artifact. Exit non-zero names what to do instead.\n\n### `lifecycle.py` — state and transitions\n\n```bash\npython scripts\u002Flifecycle.py init --tier campaign --task \"stamp all config images\" --why \"24 artifacts, 5 hosts\"\npython scripts\u002Flifecycle.py advance implement --evidence \"3 commits on branch\"\npython scripts\u002Flifecycle.py advance verify --evidence \"negative test: gate fails on main, passes on branch\"\npython scripts\u002Flifecycle.py advance land --evidence \"pushed branch feat\u002Fx, not merged\"\npython scripts\u002Flifecycle.py advance release --evidence \"observed healthy on minerva; merged\"\npython scripts\u002Flifecycle.py status\npython scripts\u002Flifecycle.py summary\n```\n\n`advance` refuses a phase whose prerequisites are unmet — `land` before `verify` has evidence, and\n`release` before `deploy` and `observe` have theirs. `--evidence` is a free-text claim about what was actually done; it is recorded, not\nvalidated — the point is that the claim exists and is attributable.\n\nState lives in `.sdlc-state.json` **at the repo root**, so it is found from any subdirectory;\n`status` prints its resolved path. Override with `--state`, which is taken exactly as given.\nAdd it to `.gitignore`.\n\n## Overrides\n\nA project changes any of this from its own `CLAUDE.md`. See\n[`references\u002Foverrides.md`](references\u002Foverrides.md).\n",{"name":5,"license":15,"metadata":43,"description":7,"dependencies":46},{"author":44,"version":45},"ooe","1.2.1",[47],"review-adversarial","master","dbe7ba1a341696481a7f736baf501fe0a6b0d449","007\u002Fskills\u002Fsdlc",0,"https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt","2026-10-22 00:14:11",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add jeffersonjhunt\u002Fcode-monkeys --skill sdlc",{"tool":61,"command":62},"bunx","bunx skills add jeffersonjhunt\u002Fcode-monkeys --skill sdlc",{"tool":64,"command":65},"pnpm","pnpm dlx skills add jeffersonjhunt\u002Fcode-monkeys --skill sdlc","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002FSKILL.md",true,[69,75,79,85,89],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"CHANGELOG.md","REFERENCE","参考文档",1179,"https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002FCHANGELOG.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Foverrides.md",2356,"https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002Freferences\u002Foverrides.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Flifecycle.py","SCRIPT","脚本",8450,"https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002Fscripts\u002Flifecycle.py",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fpreflight.py",4154,"https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002Fscripts\u002Fpreflight.py",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Fsdlc_config.py",7454,"https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsdlc\u002Fscripts\u002Fsdlc_config.py",[94,121,146,169,193,210],{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":38},"01M6JK30ZK7FPRR7T7G0H98CBF","spark-build","Build the cuda-* primate images (cuda-llama-cpp, cuda-comfy, cuda-vllm — the shared base for g.deceiver's six vLLM services) on a Blackwell GB10, freeing that box's unified memory first by stopping whatever it runs, then restarting it. NOTE the standalone coding cluster (qwen3-coder-next) was RETIRED 2026-09-05, so a \"drain\" is no longer a coding outage — it's a g.deceiver-service outage (hutch = memory stack; starsky = the live 27B brain, never build there mid-stream). Checks memory BEFORE stopping anything; --allow-outage \u002F --skip-drain control the trade.","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fspark-build\u002FSKILL.md",[],[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120],"spark","build","spark build","memory","cpp","services","vLLM","first","stack","never","images","next","qwen3","trade","shared","control","cluster","drain","standalone","for",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":38},"01M6JK2W2WVS2SX4VFCGRGG1FT","spark-bench","Run LLM evaluation harnesses (AIME 25, GPQA, LiveCodeBench v6, tau2-bench, SWE-Bench Verified via SWE-agent) against the spark-cluster from a dedicated x86 bench host (intel-nuc.tworivers). The harness runs in the spark-bench primate; only the OpenAI-compatible endpoint URL needs to change between baseline (cluster LB) and test (ad-hoc model server) runs.","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fspark-bench\u002FSKILL.md",[],[101,128,129,130,131,132,133,134,135,136,137,138,139,117,140,141,142,143,144,145],"spark bench","test","change","run","harness","server","baseline","model","only","container","host","via","ad","URL","openai-compatible","harnesses","lb","SWE",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":38},"01M6JK2NCXEKJXPFQ5XMXY3TG7","secret-ops","Decrypt\u002Fencrypt this project's SOPS+age secrets and manage the private hemlighet repo. Use whenever a task reads or changes a secret — sops, age, vault, hemlighet, a *.sops file, personal\u002F* dotfiles. Crypto runs on the configured secret host over ssh, NOT inside a primate. Host\u002Fidentity come from env or ~\u002F.config\u002Fsecret-ops.conf (never hardcoded here).","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fsecret-ops\u002FSKILL.md",[],[153,154,155,156,157,158,159,160,161,28,110,162,23,163,164,165,166,138,167,168],"ops","secret ops","config","encrypt","file","vault","secrets","dotfiles","repo","manage","crypto","project","age","env","sops","changes",{"skillNo":170,"name":47,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":179,"publishedAt":38},"01M6JK277C0HA9JGZSSR6Z5QF2","Adversarial code review with structured findings and a review loop. Use when asked to critically review code, diffs, or design docs with an adversarial mindset.","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Freview-adversarial\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":177,"taxonomyTypeDesc":178},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[20,180,181,182,183,184,185,186,187,188,28,189,190,191,192],"review adversarial","code review","design","docs","diffs","code","loop","review code","review loop","mindset","structured","design docs","with",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":199,"publishedAt":38},"01M6JK23MZG8D9WNSWHCJDX9YE","math-fibonacci","Create a fibonacci sequence, as a list, as ascii art to display the divine proportions, etc...","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fmath-fibonacci\u002FSKILL.md",[],[200,201,202,203,204,205,206,207,208,209],"math","math fibonacci","create","list","ascii art","Art","as","ascii","display","sequence",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":216,"publishedAt":38},"01M6JK1YKTX26HATGPE7B8FWJZ","img-sixel","Display images as SIXEL graphics in the terminal or convert SIXEL files to PNG. Use when asked to show an image inline, render graphics in a terminal, or convert between SIXEL and PNG formats.","https:\u002F\u002Fgithub.com\u002Fjeffersonjhunt\u002Fcode-monkeys\u002Fblob\u002Fmaster\u002F007\u002Fskills\u002Fimg-sixel\u002FSKILL.md",[],[217,218,219,220,221,222,223,28,111,224,225,206,226,227,208,228],"img","img sixel","image","terminal","graphics","convert","png","files","show","render","formats","inline"]