{"id":49532617,"url":"https://github.com/nianyi778/work-ai-tools","last_synced_at":"2026-05-02T08:35:19.258Z","repository":{"id":349492839,"uuid":"1202567250","full_name":"nianyi778/work-ai-tools","owner":"nianyi778","description":"Work-related Claude Code skills \u0026 MCP servers — Jira defect analysis, Jira MCP","archived":false,"fork":false,"pushed_at":"2026-04-06T08:47:47.000Z","size":305,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-06T08:48:27.583Z","etag":null,"topics":["ai-tools","claude-code","jira","mcp"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nianyi778.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-06T06:47:01.000Z","updated_at":"2026-04-06T08:47:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nianyi778/work-ai-tools","commit_stats":null,"previous_names":["nianyi778/work-ai-tools"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nianyi778/work-ai-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Fwork-ai-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Fwork-ai-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Fwork-ai-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Fwork-ai-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nianyi778","download_url":"https://codeload.github.com/nianyi778/work-ai-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nianyi778%2Fwork-ai-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","claude-code","jira","mcp"],"created_at":"2026-05-02T08:35:18.288Z","updated_at":"2026-05-02T08:35:19.251Z","avatar_url":"https://github.com/nianyi778.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# work-ai-tools\n\nWork-related Claude Code skills and MCP servers. Monorepo at `github.com/nianyi778/work-ai-tools`.\n\n## Structure\n\n```\nwork-ai-tools/\n├── skills/\n│   └── {skill-name}/\n│       ├── package.json           # npm: @nianyi778/skill-{skill-name}, keyword: agent-skill\n│       └── skills/\n│           └── {skill-name}/\n│               ├── SKILL.md       # frontmatter: name, description\n│               └── reference/\n└── mcps/\n    └── {mcp-name}/\n        ├── package.json           # npm: {mcp-name}\n        └── src/\n```\n\n## Skills\n\n| Skill | npm | Description |\n|-------|-----|-------------|\n| [jira-defect-analysis](./skills/jira-defect-analysis/) | `@nianyi778/skill-jira-defect-analysis` | Analyze Jira defects against source code, classify root causes, backfill Google Sheet |\n\n## MCPs\n\n| MCP | npm | Description |\n|-----|-----|-------------|\n| [jira-dev-mcp](./mcps/jira-dev-mcp/) | `jira-dev-mcp` | Jira Cloud MCP — search, read tasks, attachments, OAuth 2.0 |\n\n---\n\n## Adding a New Skill\n\n```bash\n# 1. scaffold\nmkdir -p skills/{name}/skills/{name}/reference\n\n# 2. create SKILL.md\ncat \u003e skills/{name}/skills/{name}/SKILL.md \u003c\u003c 'EOF'\n---\nname: {name}\ndescription: One line — what it does and when to trigger.\n---\n# content\nEOF\n\n# 3. create package.json\ncat \u003e skills/{name}/package.json \u003c\u003c 'EOF'\n{\n  \"name\": \"@nianyi778/skill-{name}\",\n  \"version\": \"1.0.0\",\n  \"keywords\": [\"agent-skill\", \"claude-skill\"],\n  \"files\": [\"skills/\"],\n  \"license\": \"MIT\"\n}\nEOF\n\n# 4. publish\ngit tag skill-{name}-v1.0.0\ngit push origin skill-{name}-v1.0.0\n```\n\n## Adding a New MCP\n\nScaffold under `mcps/{name}/` with standard `package.json` + `src/`. Then:\n\n```bash\ngit tag {name}-v1.0.0\ngit push origin {name}-v1.0.0\n```\n\nThe publish workflow (`mcps/{name}/.github/workflows/publish.yml`) uses `defaults.run.working-directory: mcps/{name}` so all steps run in the right directory.\n\n---\n\n## CI/CD\n\n### Tag conventions\n\n| What | Tag format | Workflow |\n|------|-----------|----------|\n| Skill | `skill-{name}-v{semver}` | `.github/workflows/publish-skill.yml` |\n| MCP | `{mcp-name}-v{semver}` | `.github/workflows/publish-{mcp-name}.yml` |\n\n\u003e **不需要手动改 package.json 版本**——两个 workflow 都从 tag 自动提取版本号并 bump。\n\n### Skill 发布流程\n\n1. 从 tag 解析 skill 名称和版本号\n2. `npm version {ver} --no-git-tag-version` 更新 `package.json`\n3. `npm publish` 发布到 `@nianyi778/skill-{name}`\n4. skills.sh 自动扫描 npm（关键词 `agent-skill`），提取 `skills/**/SKILL.md` 入库\n\n### MCP 发布流程\n\n1. 从 tag 解析版本号\n2. `npm version {ver} --no-git-tag-version` 更新 `package.json`\n3. `npm ci` → 生成内置凭证 → `npm test` → `npm run build` → `npm publish`\n\n### Required GitHub Secrets\n\n| Secret | Used by |\n|--------|---------|\n| `NPM_TOKEN` | 所有 publish workflows |\n| `JIRA_CLIENT_ID` | jira-dev-mcp only |\n| `JIRA_CLIENT_SECRET` | jira-dev-mcp only |\n\n---\n\n## 安装\n\n### 给人类看的\n\n复制以下提示词，粘贴到你的 LLM Agent（Claude Code、Cursor 等）：\n\n```\n请按照这里的说明安装 work-ai-tools 环境：\nhttps://raw.githubusercontent.com/nianyi778/work-ai-tools/main/SETUP.md\n```\n\n或者你也可以直接阅读 [安装指南](./SETUP.md)，但说真的，让 Agent 去干吧。人类配环境总是容易敲错字母。\n\n### 给 LLM Agent 看的\n\n获取安装指南并照做：\n\n```bash\ncurl -s https://raw.githubusercontent.com/nianyi778/work-ai-tools/main/SETUP.md\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnianyi778%2Fwork-ai-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnianyi778%2Fwork-ai-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnianyi778%2Fwork-ai-tools/lists"}