{"id":16861,"plugin_id":"plugins_6a6a29948a7c8191ace6787d5ae074bb","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:13:50.466Z","digest":"e97011fab3df4e532a58111cb5feea4e65e024d3063c3ff254639b0e016a6d4c","against":null,"payload":{"name":"jinko-sdk-setup","description":"Authenticate and configure access to a Jinkō project via the jinko-sdk. Use this skill whenever the user wants to connect to Jinkō, install the SDK, set up credentials or a .env file, verify API access, fail-fast check that a JINKO_API_KEY and JINKO_PROJECT_ID work, or debug ConfigurationError, AuthenticationError, or AuthorizationError from the SDK. Do not use this skill for creating models, vpops, protocols, output sets, or trials.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":266},{"relative_path":"assets/.env.example","size_in_bytes":211},{"relative_path":"evals/evals.json","size_in_bytes":1656},{"relative_path":"scripts/check_jinko_connection.py","size_in_bytes":11557}],"skill_md_contents":"---\nname: jinko-sdk-setup\ndescription: Authenticate and configure access to a Jinkō project via the jinko-sdk. Use this skill whenever the user wants to connect to Jinkō, install the SDK, set up credentials or a .env file, verify API access, fail-fast check that a JINKO_API_KEY and JINKO_PROJECT_ID work, or debug ConfigurationError, AuthenticationError, or AuthorizationError from the SDK. Do not use this skill for creating models, vpops, protocols, output sets, or trials.\ncompatibility: Requires Python 3.11+ and network access. The validation script diagnoses missing or outdated SDK installations, credentials, and optional python-dotenv support.\nmetadata:\n  author: Nova In Silico\n  requires_sdk: \">=1.8,<2.0\"\nlicense: MIT\n---\n\n# Jinkō SDK Setup\n\nUse this skill for SDK setup and credential checks only. Keep the user focused on proving that Python can authenticate against Jinkō and read one project item list before moving to model, vpop, protocol, output-set, or trial workflows.\n\nBE CAREFUL: the right package is `jinko-sdk` that export a `jinko` module. `jinko` is a different package unrelated to the Jinko SDK.\n\n## Workflow\n\n> **SDK VERSION PREREQUISITE:** Run the bundled script below. It verifies the\n> installed SDK against every neighboring SDK-dependent skill before API access.\n\nRun the bundled deterministic check and follow its success or error message:\n\n```bash\npython skills/jinko-sdk-setup/scripts/check_jinko_connection.py\n```\n\nThe script:\n\n- Loads `.env` when `python-dotenv` is installed.\n- Redacts sensitive values when showing configuration.\n- Requires both `JINKO_API_KEY` and `JINKO_PROJECT_ID`.\n- Constructs `JinkoClient()` from environment variables.\n- Calls `client.auth_check()` to prove authentication.\n- Calls `client.search(limit=1, show_table=False, show_table_hint=False)` to prove minimal read-only project-item access.\n- Prints minimal output on success.\n\nUse `--show-config` only when debugging local setup; it prints presence and redacted values, never the full API key.\n\n## After Validation\n\nOnce the connection check passes, prefer `client.search(...)` for project exploration because it gives the user an immediate view across project items.\n\nUse a minimal example like:\n\n```python\nfrom jinko import JinkoClient\n\nclient = JinkoClient()\nclient.search(limit=20, columns=\"compact\")\n```\n\nUse `search()` when the user wants to:\n\n- browse what exists in the configured project\n- find an item by name or free text\n- orient themselves before choosing a model, protocol, vpop, or trial workflow\n\nThe setup script uses a one-item, non-rendered `search()` only as its project-read check after authentication. Use a larger interactive `search()` only for exploration after validation succeeds.\n\n## Troubleshooting\n\nRun the workflow script and act on its deterministic diagnostic. Do not replace it with ad hoc checks or ask the user to share secrets.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}