[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FJSDPED94ARD6G317RG60F":3,"skill-same:01M6FJSDPED94ARD6G317RG60F":68},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":44,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M6FJSDPED94ARD6G317RG60F","ln-823-pip-upgrader",null,"Upgrades Python pip\u002Fpoetry\u002Fpipenv dependencies with breaking change handling. Use when updating Python dependencies.","boisenoise\u002Fskills-collections","boisenoise","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F193180?v=4","01M6CDBDQK6BDN55ZMA6B6PKBM","01M6CDBDVSJ3JPTBYN26FZ7TZK",12,"MIT","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-823-pip-upgrader\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35],"ln 823 pip upgrader","ln","pip","python","change","breaking change","upgrades","use","Poetry","dependencies","with","pipenv","when","2026-11-10 10:12:30",false,"---\nname: ln-823-pip-upgrader\ndescription: \"Upgrades Python pip\u002Fpoetry\u002Fpipenv dependencies with breaking change handling. Use when updating Python dependencies.\"\nlicense: MIT\n---\n\n> **Paths:** File paths (`shared\u002F`, `references\u002F`, `..\u002Fln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. If `shared\u002F` is missing, fetch files via WebFetch from `https:\u002F\u002Fraw.githubusercontent.com\u002Flevnikolaevich\u002Fclaude-code-skills\u002Fmaster\u002Fskills\u002F{path}`.\n\n# ln-823-pip-upgrader\n\n**Type:** L3 Worker\n**Category:** 8XX Optimization\n\nUpgrades Python dependencies with automatic breaking change detection.\n\n---\n\n## Overview\n\n| Aspect | Details |\n|--------|---------|\n| **Input** | Project path plus package manager type |\n| **Output** | Updated dependency manifests and a machine-readable dependency upgrade summary |\n| **Supports** | pip, poetry, pipenv |\n\n---\n\n## Workflow\n\n**Phases:** Pre-flight -> Detect Manager -> Security Audit -> Check Outdated -> Apply Upgrades -> Verify Installation -> Report\n\n---\n\n## Phase 0: Pre-flight Checks\n\n| Check | Required | Action if Missing |\n|-------|----------|-------------------|\n| `requirements.txt`, `pyproject.toml`, or `Pipfile` | Yes | Block upgrade |\n| Python package manager available | Yes | Block upgrade |\n| Virtual environment active | No | Warn user if managed environment is unclear |\n| Workspace baseline safe | Yes | In managed runs coordinator already prepared it; in standalone runs protect rollback locally |\n\n### Runtime Coordination\n\nManaged runs receive deterministic `runId` and exact `summaryArtifactPath` from `ln-820`.\nStandalone runs remain supported; if runtime arguments are omitted, generate a standalone run-scoped artifact before returning.\n\n---\n\n## Phase 1: Detect Manager\n\n| Manager | Indicator Files |\n|---------|-----------------|\n| pip | `requirements.txt` |\n| poetry | `pyproject.toml` + `poetry.lock` |\n| pipenv | `Pipfile` + `Pipfile.lock` |\n\n---\n\n## Phase 2: Security Audit\n\n| Manager | Command |\n|---------|---------|\n| pip | `pip-audit --json` |\n| poetry | `poetry audit` |\n| pipenv | `pipenv check` |\n\nActions:\n\n| Severity | Action |\n|----------|--------|\n| Critical | Block and report |\n| High | Warn and continue |\n| Moderate\u002FLow | Log only |\n\n---\n\n## Phase 3: Check Outdated\n\n| Manager | Command |\n|---------|---------|\n| pip | `pip list --outdated --format=json` |\n| poetry | `poetry show --outdated` |\n| pipenv | `pipenv update --outdated` |\n\n---\n\n## Phase 4: Apply Upgrades\n\n| Manager | Command |\n|---------|---------|\n| pip | `pip install --upgrade \u003Cpackage>` |\n| pip (freeze) | `pip freeze > requirements.txt` |\n| poetry | `poetry update` |\n| pipenv | `pipenv update` |\n\n---\n\n## MCP Tools for Migration Search\n\n| Priority | Tool | When to Use |\n|----------|------|-------------|\n| 1 | `mcp__context7__query-docs` | First choice for library docs |\n| 2 | `mcp__Ref__ref_search_documentation` | Official docs and PyPI |\n| 3 | WebSearch | Latest info and community fixes |\n\nUse MCP tools whenever a package upgrade crosses a major version or introduces import errors.\n\n---\n\n## Phase 5: Verify Installation\n\n| Check | Command |\n|-------|---------|\n| Import smoke test | `python -c \"import \u003Cpackage>\"` |\n| Tests | `pytest` or `python -m pytest` |\n\nCommon breaking examples:\n\n**MANDATORY READ:** Load [breaking_changes_patterns.md](..\u002Fln-820-dependency-optimization-coordinator\u002Freferences\u002Fbreaking_changes_patterns.md) for shared patterns.\n\n| Package | Breaking Version | Key Changes |\n|---------|------------------|-------------|\n| pydantic | 1 -> 2 | Compatibility layer required |\n| sqlalchemy | 1 -> 2 | Query API changes |\n| fastapi | 0.99 -> 0.100+ | Pydantic v2 alignment |\n\n---\n\n## Phase 6: Report Results\n\n| Field | Description |\n|-------|-------------|\n| `project` | Project path |\n| `packageManager` | pip, poetry, or pipenv |\n| `duration` | Total time |\n| `upgrades[]` | Applied upgrades |\n| `verification` | Import\u002Ftest verdict |\n| `warnings[]` | Non-blocking issues |\n| `artifact_path` | Durable worker report path, if written |\n\n---\n\n## Configuration\n\n```yaml\nOptions:\n  upgradeType: major          # major | minor | patch\n  auditLevel: high\n  minimumReleaseAge: 14\n  pythonVersion: \"3.12\"\n  useVirtualenv: true\n  runTests: true\n```\n\n---\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| ImportError | Breaking API change | Search current migration docs |\n| Dependency conflict | Version mismatch | Regenerate lock file or rollback offending package |\n\n---\n\n## References\n\n- [breaking_changes_patterns.md](..\u002Fln-820-dependency-optimization-coordinator\u002Freferences\u002Fbreaking_changes_patterns.md)\n- [python_venv_handling.md](references\u002Fpython_venv_handling.md)\n\n---\n\n## Runtime Summary Artifact\n\n**MANDATORY READ:** Load `shared\u002Freferences\u002Fcoordinator_summary_contract.md`\n\nEmit a `dependency-worker` summary envelope.\n\nManaged mode:\n- `ln-820` passes deterministic `runId` and exact `summaryArtifactPath`\n- write the summary to the provided `summaryArtifactPath`\n\nStandalone mode:\n- omit `runId` and `summaryArtifactPath`\n- write `.hex-skills\u002Fruntime-artifacts\u002Fruns\u002F{run_id}\u002Fdependency-worker\u002Fln-823--{identifier}.json`\n\n**Monitor (2.1.98+):** For install\u002Faudit\u002Ftest commands expected >30s, use `Monitor`. Fallback: `Bash(run_in_background=true)`.\n\n## Definition of Done\n\n- [ ] Package manager detected from project indicators\n- [ ] Security audit completed for the selected Python manager\n- [ ] Outdated packages identified\n- [ ] Breaking changes checked via patterns plus current docs\n- [ ] Upgrades applied with manifest and lock updates persisted\n- [ ] Import smoke test and required tests succeed\n- [ ] `dependency-worker` summary artifact written to the managed or standalone path\n\n---\n\n**Version:** 1.1.0\n**Last Updated:** 2026-01-10\n","> **Paths:** File paths (`shared\u002F`, `references\u002F`, `..\u002Fln-*`) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root. If `shared\u002F` is missing, fetch files via WebFetch from `https:\u002F\u002Fraw.githubusercontent.com\u002Flevnikolaevich\u002Fclaude-code-skills\u002Fmaster\u002Fskills\u002F{path}`.\n\n# ln-823-pip-upgrader\n\n**Type:** L3 Worker\n**Category:** 8XX Optimization\n\nUpgrades Python dependencies with automatic breaking change detection.\n\n---\n\n## Overview\n\n| Aspect | Details |\n|--------|---------|\n| **Input** | Project path plus package manager type |\n| **Output** | Updated dependency manifests and a machine-readable dependency upgrade summary |\n| **Supports** | pip, poetry, pipenv |\n\n---\n\n## Workflow\n\n**Phases:** Pre-flight -> Detect Manager -> Security Audit -> Check Outdated -> Apply Upgrades -> Verify Installation -> Report\n\n---\n\n## Phase 0: Pre-flight Checks\n\n| Check | Required | Action if Missing |\n|-------|----------|-------------------|\n| `requirements.txt`, `pyproject.toml`, or `Pipfile` | Yes | Block upgrade |\n| Python package manager available | Yes | Block upgrade |\n| Virtual environment active | No | Warn user if managed environment is unclear |\n| Workspace baseline safe | Yes | In managed runs coordinator already prepared it; in standalone runs protect rollback locally |\n\n### Runtime Coordination\n\nManaged runs receive deterministic `runId` and exact `summaryArtifactPath` from `ln-820`.\nStandalone runs remain supported; if runtime arguments are omitted, generate a standalone run-scoped artifact before returning.\n\n---\n\n## Phase 1: Detect Manager\n\n| Manager | Indicator Files |\n|---------|-----------------|\n| pip | `requirements.txt` |\n| poetry | `pyproject.toml` + `poetry.lock` |\n| pipenv | `Pipfile` + `Pipfile.lock` |\n\n---\n\n## Phase 2: Security Audit\n\n| Manager | Command |\n|---------|---------|\n| pip | `pip-audit --json` |\n| poetry | `poetry audit` |\n| pipenv | `pipenv check` |\n\nActions:\n\n| Severity | Action |\n|----------|--------|\n| Critical | Block and report |\n| High | Warn and continue |\n| Moderate\u002FLow | Log only |\n\n---\n\n## Phase 3: Check Outdated\n\n| Manager | Command |\n|---------|---------|\n| pip | `pip list --outdated --format=json` |\n| poetry | `poetry show --outdated` |\n| pipenv | `pipenv update --outdated` |\n\n---\n\n## Phase 4: Apply Upgrades\n\n| Manager | Command |\n|---------|---------|\n| pip | `pip install --upgrade \u003Cpackage>` |\n| pip (freeze) | `pip freeze > requirements.txt` |\n| poetry | `poetry update` |\n| pipenv | `pipenv update` |\n\n---\n\n## MCP Tools for Migration Search\n\n| Priority | Tool | When to Use |\n|----------|------|-------------|\n| 1 | `mcp__context7__query-docs` | First choice for library docs |\n| 2 | `mcp__Ref__ref_search_documentation` | Official docs and PyPI |\n| 3 | WebSearch | Latest info and community fixes |\n\nUse MCP tools whenever a package upgrade crosses a major version or introduces import errors.\n\n---\n\n## Phase 5: Verify Installation\n\n| Check | Command |\n|-------|---------|\n| Import smoke test | `python -c \"import \u003Cpackage>\"` |\n| Tests | `pytest` or `python -m pytest` |\n\nCommon breaking examples:\n\n**MANDATORY READ:** Load [breaking_changes_patterns.md](..\u002Fln-820-dependency-optimization-coordinator\u002Freferences\u002Fbreaking_changes_patterns.md) for shared patterns.\n\n| Package | Breaking Version | Key Changes |\n|---------|------------------|-------------|\n| pydantic | 1 -> 2 | Compatibility layer required |\n| sqlalchemy | 1 -> 2 | Query API changes |\n| fastapi | 0.99 -> 0.100+ | Pydantic v2 alignment |\n\n---\n\n## Phase 6: Report Results\n\n| Field | Description |\n|-------|-------------|\n| `project` | Project path |\n| `packageManager` | pip, poetry, or pipenv |\n| `duration` | Total time |\n| `upgrades[]` | Applied upgrades |\n| `verification` | Import\u002Ftest verdict |\n| `warnings[]` | Non-blocking issues |\n| `artifact_path` | Durable worker report path, if written |\n\n---\n\n## Configuration\n\n```yaml\nOptions:\n  upgradeType: major          # major | minor | patch\n  auditLevel: high\n  minimumReleaseAge: 14\n  pythonVersion: \"3.12\"\n  useVirtualenv: true\n  runTests: true\n```\n\n---\n\n## Error Handling\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| ImportError | Breaking API change | Search current migration docs |\n| Dependency conflict | Version mismatch | Regenerate lock file or rollback offending package |\n\n---\n\n## References\n\n- [breaking_changes_patterns.md](..\u002Fln-820-dependency-optimization-coordinator\u002Freferences\u002Fbreaking_changes_patterns.md)\n- [python_venv_handling.md](references\u002Fpython_venv_handling.md)\n\n---\n\n## Runtime Summary Artifact\n\n**MANDATORY READ:** Load `shared\u002Freferences\u002Fcoordinator_summary_contract.md`\n\nEmit a `dependency-worker` summary envelope.\n\nManaged mode:\n- `ln-820` passes deterministic `runId` and exact `summaryArtifactPath`\n- write the summary to the provided `summaryArtifactPath`\n\nStandalone mode:\n- omit `runId` and `summaryArtifactPath`\n- write `.hex-skills\u002Fruntime-artifacts\u002Fruns\u002F{run_id}\u002Fdependency-worker\u002Fln-823--{identifier}.json`\n\n**Monitor (2.1.98+):** For install\u002Faudit\u002Ftest commands expected >30s, use `Monitor`. Fallback: `Bash(run_in_background=true)`.\n\n## Definition of Done\n\n- [ ] Package manager detected from project indicators\n- [ ] Security audit completed for the selected Python manager\n- [ ] Outdated packages identified\n- [ ] Breaking changes checked via patterns plus current docs\n- [ ] Upgrades applied with manifest and lock updates persisted\n- [ ] Import smoke test and required tests succeed\n- [ ] `dependency-worker` summary artifact written to the managed or standalone path\n\n---\n\n**Version:** 1.1.0\n**Last Updated:** 2026-01-10\n",{"name":5,"license":14,"description":7},"main","7bf2279c8a65758319526a721d5c4b75683aec9c","skills\u002Flevn-ln-823-pip-upgrader",3,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections","https:\u002F\u002Fgithub.com\u002Fboisenoise","2026-11-10 14:20:15",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add boisenoise\u002Fskills-collections --skill ln-823-pip-upgrader",{"tool":54,"command":55},"bunx","bunx skills add boisenoise\u002Fskills-collections --skill ln-823-pip-upgrader",{"tool":57,"command":58},"pnpm","pnpm dlx skills add boisenoise\u002Fskills-collections --skill ln-823-pip-upgrader","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-823-pip-upgrader\u002FSKILL.md",true,[62],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"references\u002Fpython_venv_handling.md","REFERENCE","参考文档",2289,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Flevn-ln-823-pip-upgrader\u002Freferences\u002Fpython_venv_handling.md",[69,98,120,146,165,188],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":73,"licenseFileUrl":74,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":36},"01M6WNH92BHVFXHGPDZCPJ0AG0","web-access","Use Treg for public web or platform data only when existing search, browser and connected tools cannot cover the task, with explicit cost and data boundaries.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-web-access\u002FSKILL.md",[],[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,35,97],"web","access","web access","official","development","browser","search","data","Tools","read","fetch","only","youtube","free tools","platform","critical","free","cover","normal","2026",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":73,"licenseFileUrl":102,"sourceHtmlUrl":103,"categories":104,"keywords":106,"publishedAt":36},"01M6WNF9XAYAB2CZDDJBAKNM93","treg","Use the Treg CLI or MCP catalog to discover, price and call authorized external tools with team-scoped credentials and a user-approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-treg\u002FSKILL.md",[105],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[100,107,108,109,81,82,110,86,111,112,113,114,30,115,116,93,117,33,118,119,97],"MCP","cli","github","license","Budget","credentials","team","catalog","call","discover","external tools","scoped","blob",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":73,"licenseFileUrl":124,"sourceHtmlUrl":125,"categories":126,"keywords":132,"publishedAt":36},"01M6WN93MEAZ4E41DYAHJRPHQT","recruit","Turn a job description into an evidence-linked candidate shortlist through Treg, with job-related ranking and optional authorized business contact enrichment.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-recruit\u002FSKILL.md",[127],{"categoryNo":128,"categoryName":129,"taxonomyType":130,"taxonomyTypeDesc":131},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[122,109,81,110,133,134,135,136,137,138,93,139,140,141,33,142,143,144,145,119,100,97],"https","email","enrichment","business","evidence","phone","ranking","post","job description","for","person","candidate","reason",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":73,"licenseFileUrl":150,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":36},"01M6WN8R5RXSMHM9B4D9FAFX42","rea-growth","Analyze a company’s public growth and content through Treg, distinguish observations from hypotheses, and produce an evidence-linked playbook within an approved budget.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-rea-growth\u002FSKILL.md",[],[154,155,156,109,81,110,157,158,133,159,111,160,161,162,137,93,163,164,119,100,97],"growth","rea","rea growth","produce","content","playbook","marketing","analyze","public","observations","company",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":73,"licenseFileUrl":169,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":36},"01M6WN2EVE3RQRGWAKBT4S7YT2","make-ugc","Create original AI UGC-style product videos through Treg: research hooks, approve a licensed presenter and voice, generate clips, add captions and report costs.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-make-ugc\u002FSKILL.md",[],[173,174,109,175,81,176,110,177,178,179,180,181,93,182,183,184,185,186,187,119],"make","make ugc","research","create","Video","Captions","ads","short","hooks","head","style","niche","trending","talking-head","approve",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":73,"licenseFileUrl":192,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":36},"01M6WN10ARAA63Y8K1YNGXJ2RM","lead-signals","Find and qualify public buying signals through Treg, rank fitting business accounts and optionally enrich authorized business contact information.","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Fantigravity-lead-signals\u002FSKILL.md",[],[196,197,198,109,81,110,199,200,136,201,202,93,203,204,205,206,207,208,209,119],"signals","lead","lead signals","how","find","ready","as","how to","qualify","people","information","enrich","changes","funding"]