[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6X6WNSTVTV0RTPKYFQEWBD1":3,"skill-same:01M6X6WNSTVTV0RTPKYFQEWBD1":83},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":59,"ownerHtmlUrl":60,"ownerBlogUrl":59,"ownerDescription":61,"updatedAt":62,"install":63,"resources":76},"01M6X6WNSTVTV0RTPKYFQEWBD1","jira-integration",null,"Use when the user says \"check Jira\", \"create ticket\", \"update issue\", or needs JQL queries, ticket transitions, or branch-to-ticket linking.","event4u-app\u002Fagent-config","event4u-app","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F199339632?v=4","01M6X5TWBNCQCE1VDKT4E9KF7N","event4u.app","01M6X5TWF4HRM266RG2Q5VVH1X",19,"MIT","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fjira-integration\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"jira","integration","jira integration","when","config","linking","ticket","jql","update issue","transitions","create ticket","queries","issue","use","process","check","branch","Meta","update","create","2026-11-10 10:12:30",false,"---\nmodel_tier: medium\nname: jira-integration\ndescription: \"Use when the user says \\\"check Jira\\\", \\\"create ticket\\\", \\\"update issue\\\", or needs JQL queries, ticket transitions, or branch-to-ticket linking.\"\ndomain: process\nworkspaces:\n  - agent-config-maintainer\npacks:\n  - meta\n---\n\n# Jira Skill\n\n## When to use\n\nUse this skill when:\n- Reading a Jira ticket for context (bug reports, feature requests)\n- Creating new Jira issues from discovered bugs or planned work\n- Transitioning ticket status (e.g., \"In Progress\" → \"In Review\")\n- Writing JQL queries to find related issues\n- Linking branches or PRs to Jira tickets\n\n\nDo NOT use when:\n- GitHub Issues (use `github-api` tool directly)\n- Linear or other issue trackers\n\n## Procedure: Work with Jira\n\n1. **Identify action** — Search, read, create, update, or transition a ticket?\n2. **Use the correct endpoint** — See API table below.\n3. **Execute** — Make the API call with required fields.\n4. **Verify** — Confirm the response contains expected data or the ticket was updated.\n\n| Tool | Purpose |\n|---|---|\n| `jira-integration` (GET `\u002Fsearch\u002Fjql`) | Search issues with JQL |\n| `jira-integration` (GET `\u002Fissue\u002F{key}`) | Read a specific ticket |\n| `jira-integration` (POST `\u002Fissue`) | Create a new ticket |\n| `jira-integration` (PUT `\u002Fissue\u002F{key}`) | Update a ticket |\n| `jira-integration` (GET `\u002Fissue\u002F{key}\u002Ftransitions`) | Get available status transitions |\n| `jira-integration` (POST `\u002Fissue\u002F{key}\u002Ftransitions`) | Transition ticket status |\n| `jira-integration` (POST `\u002Fissue\u002F{key}\u002Fcomment`) | Add a comment |\n| `jira-integration` (GET `\u002Fproject`) | List projects |\n| `jira-integration` (GET `\u002Ffield`) | List available fields (check before writing JQL) |\n\n## Branch-to-ticket detection\n\nExtract ticket IDs from branch names automatically:\n\n```\nfeat\u002FDEV-1234\u002Fuser-notifications  →  DEV-1234\nfix\u002FDEV-5678\u002Fnull-pointer         →  DEV-5678\nhotfix\u002FDEV-999\u002Fcritical-fix       →  DEV-999\n```\n\nRead it with `agent-config git:convention ticket` — [`commit-subject`](..\u002Fgit-workflow\u002Freferences\u002Fcommit-subject.md) § Reading the ticket.\n\nUse `git branch --show-current` to detect, then fetch the ticket:\n\n```\njira GET \u002Fissue\u002FDEV-1234\n```\n\n## JQL patterns\n\n### Common queries\n\n```jql\n# My open tickets\nassignee = currentUser() AND status != Done ORDER BY priority DESC\n\n# Tickets in current sprint\nproject = DEV AND sprint in openSprints() AND assignee = currentUser()\n\n# Recently updated bugs\nproject = DEV AND type = Bug AND updated >= -7d ORDER BY updated DESC\n\n# Tickets by component\nproject = DEV AND component = \"Import\" AND status != Done\n```\n\n### Tips\n\n- Always check available fields first: `GET \u002Ffield`\n- Use `currentUser()` for the authenticated user\n- Use `sprint in openSprints()` for current sprint\n- JQL is case-insensitive for field names but case-sensitive for values\n\n## Creating tickets\n\n### Required fields\n\nAlways check issue types first: `GET \u002Fissue\u002Fcreatemeta\u002F{project}\u002Fissuetypes`\n\nMinimum fields for creation:\n- `project` — project key (e.g., `DEV`)\n- `issuetype` — issue type (Bug, Task, Story, etc.)\n- `summary` — short title\n\n### Description format (ADF)\n\nJira uses Atlassian Document Format for descriptions:\n\n```json\n{\n  \"version\": 1,\n  \"type\": \"doc\",\n  \"content\": [\n    {\n      \"type\": \"paragraph\",\n      \"content\": [\n        { \"type\": \"text\", \"text\": \"Description text here.\" }\n      ]\n    }\n  ]\n}\n```\n\n### Attribution\n\nAlways add attribution when creating issues or comments:\n\n```\nCo-authored by Augment Code\n```\n\nWith link to `https:\u002F\u002Fwww.augmentcode.com\u002F?utm_source=atlassian&utm_medium=jira_issue&utm_campaign=jira`\n\n## Status transitions\n\nBefore transitioning, always get available transitions first:\n\n```\nGET \u002Fissue\u002FDEV-1234\u002Ftransitions\n```\n\nThen transition with the correct ID:\n\n```json\nPOST \u002Fissue\u002FDEV-1234\u002Ftransitions\n{ \"transition\": { \"id\": \"31\" } }\n```\n\n**Important:** Never transition without explicit user permission (see `rules\u002Fno-commit.md` — same principle applies to ticket status changes).\n\n## Linking to PRs\n\nWhen creating PRs, include the Jira ticket in:\n- **Branch name and PR title:** rendered by `agent-config git:convention branch` and\n  built per [`commit-subject`](..\u002Fgit-workflow\u002Freferences\u002Fcommit-subject.md)\n- **PR description:** Link to the ticket\n\n## Related\n\n- **Skill:** `bug-analyzer` — uses Jira as input source for bug investigation\n- **Skill:** `feature-planning` — uses Jira for feature context\n- **Command:** `\u002Fbug-investigate` — auto-detects Jira tickets from branch\n- **Command:** `\u002Ffeature-plan` — auto-detects Jira tickets from branch\n- **Rule:** `no-commit.md` — never change ticket status without permission\n\n\n## Output format\n\n1. Jira ticket data presented in structured format\n2. Ticket key, summary, status, and relevant fields\n\n## Gotcha\n\n- Jira field names are case-sensitive in JQL — `status` works, `Status` doesn't.\n- Don't create duplicate tickets — always search first with JQL before creating.\n- The model tends to forget that Jira description uses ADF (Atlassian Document Format), not Markdown.\n- `accountId` is required for assignee — display name alone doesn't work in the API.\n\n## Do NOT\n\n- Do NOT change ticket status without explicit user permission.\n- Do NOT create tickets without checking for duplicates.\n\n## Auto-trigger keywords\n\n- Jira\n- ticket\n- issue\n- JQL\n- workflow transition\n- sprint\n","# Jira Skill\n\n## When to use\n\nUse this skill when:\n- Reading a Jira ticket for context (bug reports, feature requests)\n- Creating new Jira issues from discovered bugs or planned work\n- Transitioning ticket status (e.g., \"In Progress\" → \"In Review\")\n- Writing JQL queries to find related issues\n- Linking branches or PRs to Jira tickets\n\n\nDo NOT use when:\n- GitHub Issues (use `github-api` tool directly)\n- Linear or other issue trackers\n\n## Procedure: Work with Jira\n\n1. **Identify action** — Search, read, create, update, or transition a ticket?\n2. **Use the correct endpoint** — See API table below.\n3. **Execute** — Make the API call with required fields.\n4. **Verify** — Confirm the response contains expected data or the ticket was updated.\n\n| Tool | Purpose |\n|---|---|\n| `jira-integration` (GET `\u002Fsearch\u002Fjql`) | Search issues with JQL |\n| `jira-integration` (GET `\u002Fissue\u002F{key}`) | Read a specific ticket |\n| `jira-integration` (POST `\u002Fissue`) | Create a new ticket |\n| `jira-integration` (PUT `\u002Fissue\u002F{key}`) | Update a ticket |\n| `jira-integration` (GET `\u002Fissue\u002F{key}\u002Ftransitions`) | Get available status transitions |\n| `jira-integration` (POST `\u002Fissue\u002F{key}\u002Ftransitions`) | Transition ticket status |\n| `jira-integration` (POST `\u002Fissue\u002F{key}\u002Fcomment`) | Add a comment |\n| `jira-integration` (GET `\u002Fproject`) | List projects |\n| `jira-integration` (GET `\u002Ffield`) | List available fields (check before writing JQL) |\n\n## Branch-to-ticket detection\n\nExtract ticket IDs from branch names automatically:\n\n```\nfeat\u002FDEV-1234\u002Fuser-notifications  →  DEV-1234\nfix\u002FDEV-5678\u002Fnull-pointer         →  DEV-5678\nhotfix\u002FDEV-999\u002Fcritical-fix       →  DEV-999\n```\n\nRead it with `agent-config git:convention ticket` — [`commit-subject`](..\u002Fgit-workflow\u002Freferences\u002Fcommit-subject.md) § Reading the ticket.\n\nUse `git branch --show-current` to detect, then fetch the ticket:\n\n```\njira GET \u002Fissue\u002FDEV-1234\n```\n\n## JQL patterns\n\n### Common queries\n\n```jql\n# My open tickets\nassignee = currentUser() AND status != Done ORDER BY priority DESC\n\n# Tickets in current sprint\nproject = DEV AND sprint in openSprints() AND assignee = currentUser()\n\n# Recently updated bugs\nproject = DEV AND type = Bug AND updated >= -7d ORDER BY updated DESC\n\n# Tickets by component\nproject = DEV AND component = \"Import\" AND status != Done\n```\n\n### Tips\n\n- Always check available fields first: `GET \u002Ffield`\n- Use `currentUser()` for the authenticated user\n- Use `sprint in openSprints()` for current sprint\n- JQL is case-insensitive for field names but case-sensitive for values\n\n## Creating tickets\n\n### Required fields\n\nAlways check issue types first: `GET \u002Fissue\u002Fcreatemeta\u002F{project}\u002Fissuetypes`\n\nMinimum fields for creation:\n- `project` — project key (e.g., `DEV`)\n- `issuetype` — issue type (Bug, Task, Story, etc.)\n- `summary` — short title\n\n### Description format (ADF)\n\nJira uses Atlassian Document Format for descriptions:\n\n```json\n{\n  \"version\": 1,\n  \"type\": \"doc\",\n  \"content\": [\n    {\n      \"type\": \"paragraph\",\n      \"content\": [\n        { \"type\": \"text\", \"text\": \"Description text here.\" }\n      ]\n    }\n  ]\n}\n```\n\n### Attribution\n\nAlways add attribution when creating issues or comments:\n\n```\nCo-authored by Augment Code\n```\n\nWith link to `https:\u002F\u002Fwww.augmentcode.com\u002F?utm_source=atlassian&utm_medium=jira_issue&utm_campaign=jira`\n\n## Status transitions\n\nBefore transitioning, always get available transitions first:\n\n```\nGET \u002Fissue\u002FDEV-1234\u002Ftransitions\n```\n\nThen transition with the correct ID:\n\n```json\nPOST \u002Fissue\u002FDEV-1234\u002Ftransitions\n{ \"transition\": { \"id\": \"31\" } }\n```\n\n**Important:** Never transition without explicit user permission (see `rules\u002Fno-commit.md` — same principle applies to ticket status changes).\n\n## Linking to PRs\n\nWhen creating PRs, include the Jira ticket in:\n- **Branch name and PR title:** rendered by `agent-config git:convention branch` and\n  built per [`commit-subject`](..\u002Fgit-workflow\u002Freferences\u002Fcommit-subject.md)\n- **PR description:** Link to the ticket\n\n## Related\n\n- **Skill:** `bug-analyzer` — uses Jira as input source for bug investigation\n- **Skill:** `feature-planning` — uses Jira for feature context\n- **Command:** `\u002Fbug-investigate` — auto-detects Jira tickets from branch\n- **Command:** `\u002Ffeature-plan` — auto-detects Jira tickets from branch\n- **Rule:** `no-commit.md` — never change ticket status without permission\n\n\n## Output format\n\n1. Jira ticket data presented in structured format\n2. Ticket key, summary, status, and relevant fields\n\n## Gotcha\n\n- Jira field names are case-sensitive in JQL — `status` works, `Status` doesn't.\n- Don't create duplicate tickets — always search first with JQL before creating.\n- The model tends to forget that Jira description uses ADF (Atlassian Document Format), not Markdown.\n- `accountId` is required for assignee — display name alone doesn't work in the API.\n\n## Do NOT\n\n- Do NOT change ticket status without explicit user permission.\n- Do NOT create tickets without checking for duplicates.\n\n## Auto-trigger keywords\n\n- Jira\n- ticket\n- issue\n- JQL\n- workflow transition\n- sprint\n",{"name":5,"packs":49,"domain":38,"model_tier":51,"workspaces":52,"description":7},[50],"meta","medium",[53],"agent-config-maintainer","main","12bd765ce1d800501d45dfb8232102793af01290","src\u002Fskills\u002Fjira-integration",1,"https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config","https:\u002F\u002Fevent4u.app","https:\u002F\u002Fgithub.com\u002Fevent4u-app","Your events in your hand","2026-11-14 02:29:41",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add event4u-app\u002Fagent-config --skill jira-integration",{"tool":69,"command":70},"bunx","bunx skills add event4u-app\u002Fagent-config --skill jira-integration",{"tool":72,"command":73},"pnpm","pnpm dlx skills add event4u-app\u002Fagent-config --skill jira-integration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fjira-integration\u002FSKILL.md",true,[77],{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"evals\u002Ftriggers.json","REFERENCE","参考文档",1417,"https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fjira-integration\u002Fevals\u002Ftriggers.json",[84,98,111,123,135,145],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":44},"01M6X84PK96XBPENXH66JCTSD1","unknown-key-fixture","Declares a key the schema does not know.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Fscripts\u002Ffixtures\u002Fbody-portable\u002Funknown-key\u002FSKILL.md",[90],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[92,93,94,95,96,97],"unknown key fixture","Unknown key","fixture","unknown","schema","package",{"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":105,"publishedAt":44},"01M6X84HW7NAHZ7GZMQ9RXK1XJ","portable-fixture","Declares only semantics the MCP-lite carrier transports whole.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Fscripts\u002Ffixtures\u002Fbody-portable\u002Fportable\u002FSKILL.md",[104],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[94,106,107,108,109,97,110],"portable","portable fixture","engineer","only","MCP",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":118,"publishedAt":44},"01M6X84F29FE0RGGZ1ZTFGZTX2","non-portable-fixture","Declares a runtime semantic the carrier drops.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Fscripts\u002Ffixtures\u002Fbody-portable\u002Fnon-portable\u002FSKILL.md",[117],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[107,119,106,94,120,121,122,97],"non portable fixture","semantic","high","runtime",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":130,"publishedAt":44},"01M6X848F706PT9MDCX75JKJ6B","candidate-zero-width","A candidate whose prose carries an invisible joiner.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-scout-candidates\u002Fzero-width-injection\u002FSKILL.md",[129],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[131,132,133,134],"candidate zero width","candidate","ZeRO","prose",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":142,"publishedAt":44},"01M6X841SSC2T31VDF41SA6DG1","candidate-disclosure-suppression","A candidate whose prose tells the agent to withhold from the user.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-scout-candidates\u002Fdisclosure-suppression\u002FSKILL.md",[141],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[143,132,134,144],"candidate disclosure suppression","user",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":152,"publishedAt":44},"01M6X83TFS5AGPBPVTQNWP0BB3","candidate-dangerous-frontmatter","A candidate claiming an unscoped tool grant and a permission bypass.","https:\u002F\u002Fgithub.com\u002Fevent4u-app\u002Fagent-config\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-scout-candidates\u002Fdangerous-frontmatter\u002FSKILL.md",[151],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[153,132,154,155,156,157],"candidate dangerous frontmatter","frontmatter","shell","permission","tool"]