[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BXEEPNNASQCCHW4JVA02MA":3,"skill-same:01M6BXEEPNNASQCCHW4JVA02MA":97},{"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":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M6BXEEPNNASQCCHW4JVA02MA","bug-cataloger",null,"Find bugs that were encountered and solved in prior Claude Code or Codex sessions for the current project, then generate a self-contained searchable light-theme HTML bug report. Use when the user asks for a bug catalog, solved-problem history, prior-session bug report, recurring failure inventory, or a BUG to Solution report for the current repository.","diegopacheco\u002Fai-playground","diegopacheco","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F121278?v=4","01M6BXCP8P7GGSJ8M1W2MFDTGT","Diego Pacheco","01M6BXCPD3WM51H465XW9YM4BV",21,"Unlicense","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fagent-skill-bug-cataloger\u002Fbug-cataloger\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"bug cataloger","codex","sessions","bug report","generate","code","report","repository","inventory","find bugs","2026-11-10 10:12:30",false,"---\nname: bug-cataloger\ndescription: Find bugs that were encountered and solved in prior Claude Code or Codex sessions for the current project, then generate a self-contained searchable light-theme HTML bug report. Use when the user asks for a bug catalog, solved-problem history, prior-session bug report, recurring failure inventory, or a BUG to Solution report for the current repository.\n---\n\n# Bug Cataloger\n\nBuild a report from recorded evidence in prior sessions for the current project.\n\n## Workflow\n\n1. Detect the active agent before reading sessions:\n   - Use `claude` when running in Claude Code.\n   - Use `codex` when running in Codex.\n   - Run `python3 scripts\u002Fcollect_sessions.py --project \"$PWD\" --output \u002Ftmp\u002Fbug-cataloger-sessions.jsonl` from this skill directory. Add `--agent claude` or `--agent codex` only if automatic detection fails.\n2. Treat the current folder as the project boundary. Record its containing Git repository for context without including sessions from sibling projects.\n3. Review the collection summary. Stop with a clear message when no matching prior sessions exist.\n4. Read the entire normalized transcript in chunks. Search for failure terms, tool failures, corrections, changed files, successful tests, and user confirmations. Inspect surrounding entries for every candidate.\n5. Include a bug only when the sessions contain both the failure and credible evidence that the user resolved it, including changes applied through the agent. Do not infer a solution from an unverified suggestion.\n6. Merge repeated occurrences of the same root cause. Exclude unfinished work, feature requests, environment setup without a defect, and failures unrelated to the current project.\n7. Write `\u002Ftmp\u002Fbug-cataloger-findings.json` with this shape:\n\n```json\n{\n  \"agent\": \"Codex\",\n  \"project\": \"project-name\",\n  \"bugs\": [\n    {\n      \"bug\": [\"Failure symptom\", \"Affected behavior\", \"Root cause\"],\n      \"solution\": [\"Change applied\", \"Why it fixed the issue\", \"Verification observed\"]\n    }\n  ]\n}\n```\n\n8. Keep every `bug` and `solution` array between 3 and 7 short lines. Remove secrets, credentials, personal data, raw prompts, hidden reasoning, and unrelated file paths.\n9. Run `python3 scripts\u002Frender_report.py --input \u002Ftmp\u002Fbug-cataloger-findings.json --output-dir \"$PWD\"` from this skill directory.\n10. Return the absolute report path and the number of cataloged bugs.\n\n## Evidence Rules\n\n- Prefer explicit error output, a concrete code or configuration change, and passing verification.\n- Accept user confirmation as verification when no automated check exists.\n- Preserve technical specificity without copying long transcript passages.\n- Produce an empty report when no solved bugs meet the evidence threshold.\n- Never modify the project while cataloging its history.\n","# Bug Cataloger\n\nBuild a report from recorded evidence in prior sessions for the current project.\n\n## Workflow\n\n1. Detect the active agent before reading sessions:\n   - Use `claude` when running in Claude Code.\n   - Use `codex` when running in Codex.\n   - Run `python3 scripts\u002Fcollect_sessions.py --project \"$PWD\" --output \u002Ftmp\u002Fbug-cataloger-sessions.jsonl` from this skill directory. Add `--agent claude` or `--agent codex` only if automatic detection fails.\n2. Treat the current folder as the project boundary. Record its containing Git repository for context without including sessions from sibling projects.\n3. Review the collection summary. Stop with a clear message when no matching prior sessions exist.\n4. Read the entire normalized transcript in chunks. Search for failure terms, tool failures, corrections, changed files, successful tests, and user confirmations. Inspect surrounding entries for every candidate.\n5. Include a bug only when the sessions contain both the failure and credible evidence that the user resolved it, including changes applied through the agent. Do not infer a solution from an unverified suggestion.\n6. Merge repeated occurrences of the same root cause. Exclude unfinished work, feature requests, environment setup without a defect, and failures unrelated to the current project.\n7. Write `\u002Ftmp\u002Fbug-cataloger-findings.json` with this shape:\n\n```json\n{\n  \"agent\": \"Codex\",\n  \"project\": \"project-name\",\n  \"bugs\": [\n    {\n      \"bug\": [\"Failure symptom\", \"Affected behavior\", \"Root cause\"],\n      \"solution\": [\"Change applied\", \"Why it fixed the issue\", \"Verification observed\"]\n    }\n  ]\n}\n```\n\n8. Keep every `bug` and `solution` array between 3 and 7 short lines. Remove secrets, credentials, personal data, raw prompts, hidden reasoning, and unrelated file paths.\n9. Run `python3 scripts\u002Frender_report.py --input \u002Ftmp\u002Fbug-cataloger-findings.json --output-dir \"$PWD\"` from this skill directory.\n10. Return the absolute report path and the number of cataloged bugs.\n\n## Evidence Rules\n\n- Prefer explicit error output, a concrete code or configuration change, and passing verification.\n- Accept user confirmation as verification when no automated check exists.\n- Preserve technical specificity without copying long transcript passages.\n- Produce an empty report when no solved bugs meet the evidence threshold.\n- Never modify the project while cataloging its history.\n",{"name":5,"description":7},"main","90d379e95fcc23dd9759654c345424e1752b0f3a","pocs\u002Fagent-skill-bug-cataloger\u002Fbug-cataloger",9,"https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground","https:\u002F\u002Fgithub.com\u002Fdiegopacheco","http:\u002F\u002Fdiego-pacheco.blogspot.com","Brazilian Hands-on Software Architect | 20+ years in Tech | Author | Father. Opinions are my own!","2026-11-07 09:01:46",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add diegopacheco\u002Fai-playground --skill bug-cataloger",{"tool":49,"command":50},"bunx","bunx skills add diegopacheco\u002Fai-playground --skill bug-cataloger",{"tool":52,"command":53},"pnpm","pnpm dlx skills add diegopacheco\u002Fai-playground --skill bug-cataloger","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fagent-skill-bug-cataloger\u002Fbug-cataloger\u002FSKILL.md",true,[57,63,67,71,75,79,85,89,93],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"agents\u002Fopenai.yaml","REFERENCE","参考文档",198,"https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fagent-skill-bug-cataloger\u002Fbug-cataloger\u002Fagents\u002Fopenai.yaml",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Ferrors.md",320,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fai-ml\u002Fjeremy-adk-orchestrator\u002Fskills\u002Fadk-deployment-specialist\u002Freferences\u002Ferrors.md",{"path":68,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Fexamples.md",216,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fai-ml\u002Fjeremy-adk-orchestrator\u002Fskills\u002Fadk-deployment-specialist\u002Freferences\u002Fexamples.md",{"path":72,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":73,"sourceHtmlUrl":74},"references\u002Fhow-it-works.md",4346,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fai-ml\u002Fjeremy-adk-orchestrator\u002Fskills\u002Fadk-deployment-specialist\u002Freferences\u002Fhow-it-works.md",{"path":76,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":77,"sourceHtmlUrl":78},"references\u002Fworkflow-examples.md",2548,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fai-ml\u002Fjeremy-adk-orchestrator\u002Fskills\u002Fadk-deployment-specialist\u002Freferences\u002Fworkflow-examples.md",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"scripts\u002Fcollect_sessions.py","SCRIPT","脚本",5178,"https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fagent-skill-bug-cataloger\u002Fbug-cataloger\u002Fscripts\u002Fcollect_sessions.py",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fdeploy-agent.sh",4695,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fai-ml\u002Fjeremy-adk-orchestrator\u002Fskills\u002Fadk-deployment-specialist\u002Fscripts\u002Fdeploy-agent.sh",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Frender_report.py",5590,"https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fagent-skill-bug-cataloger\u002Fbug-cataloger\u002Fscripts\u002Frender_report.py",{"path":94,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":95,"sourceHtmlUrl":96},"scripts\u002Ftest-a2a-protocol.py",7676,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fai-ml\u002Fjeremy-adk-orchestrator\u002Fskills\u002Fadk-deployment-specialist\u002Fscripts\u002Ftest-a2a-protocol.py",[98,116,126,139,155,174],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":109,"publishedAt":29},"01M6WJ537DN520XY8MSW9ZV0RP","word-count","Counts the words, lines and characters of a text or a file.","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fskills-gateway-router\u002Fupstream-skills\u002Ftext-skills\u002Fword-count\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":107,"taxonomyTypeDesc":108},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",[110,111,112,113,114,115],"count","word count","Word","characters","text","file",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":29},"01M6WJ4Y2GT5SECWAKKYHGES4F","slugify","Turns a title or a sentence into a URL slug, lowercase words joined by hyphens with accents removed.","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fskills-gateway-router\u002Fupstream-skills\u002Ftext-skills\u002Fslugify\u002FSKILL.md",[],[118,123,124,125],"title","with","URL",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":29},"01M6WJ4V9CWHT9NVCD441VK5MH","json-format","Validates a JSON file and pretty prints it with two space indentation, or reports where the JSON is invalid.","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fskills-gateway-router\u002Fupstream-skills\u002Fdev-skills\u002Fjson-format\u002FSKILL.md",[],[133,134,135,115,136,137,138,124],"json","format","json format","reports","invalid","it",{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":145,"publishedAt":29},"01M6WJ4QMRKW8EFP71F4KS2DHE","commit-message","Writes a conventional commit message for the staged git changes.","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fskills-gateway-router\u002Fupstream-skills\u002Fdev-skills\u002Fcommit-message\u002FSKILL.md",[],[146,147,148,149,150,151,152,153,154],"commit","commit message","message","git","conventional commit","for","changes","staged","conventional commit message",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":29},"01M6WJ4MAM2CJH0GWYXFBB9GQC","skills-gateway","Gateway and router to a catalog of skills that are not registered directly. Use it before any task a specialized skill could handle, such as text, JSON or git chores. It finds the right skill and loads its instructions.","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fskills-gateway-router\u002F.claude\u002Fskills\u002Fskills-gateway\u002FSKILL.md",[],[162,163,138,164,165,149,166,133,114,167,168,169,170,171,172,173],"skills gateway","gateway","task","loads","Bash","node","specialized","instructions","catalog","use","router","as",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":29},"01M6M2PYJJQKMWGX7XT7ZJK0H3","decision-log","Record, list, show and supersede architecture decisions that persist across sessions in the shared agent infra state store. Use when the user says \"record this decision\", \"log an ADR\", \"what did we decide about\", \"list decisions\", or \"supersede decision\".","https:\u002F\u002Fgithub.com\u002Fdiegopacheco\u002Fai-playground\u002Fblob\u002Fmain\u002Fpocs\u002Fagent-skills-infra-poc\u002Fskills\u002Fdecision-log\u002FSKILL.md",[],[181,182,183,184,185,186,187,188,189,190,171,191,192,193,194,195,196,197,198,21],"decision log","log","decision","persist","architecture","state","adr","decide","decisions","list","show","infra","record","across","shared","store","about","supersede"]