[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M781MGCATBHWNQF9XAPP304W":3,"skill-same:01M781MGCATBHWNQF9XAPP304W":47},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":29,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M781MGCATBHWNQF9XAPP304W","pm-illumina-basespace",null,"Illumina BaseSpace connector knowledge and safe action guide.","polymetrics-ai\u002Fcli","polymetrics-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F177650388?v=4","01M77Z920R1RTP5NXCP1V1HNMS","Polymetrics","01M77Z921DPWZC4DQSSZNWF82B",7,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fpm-illumina-basespace\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: pm-illumina-basespace\ndescription: Illumina BaseSpace connector knowledge and safe action guide.\n---\n\n# pm-illumina-basespace\n\n## Purpose\n\nReads and writes documented Illumina BaseSpace v1pre3 REST API resources through the declarative connector engine.\n\n## Icon\n\n- id: pm-sample\n- asset: icons\u002Fpm-sample.svg\n- source: polymetrics\n- review_status: polymetrics\n- review_url: https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\n\n## Capabilities\n\n- check=true catalog=true read=true write=true query=false\n- Integration type: api\n\n## Authentication\n\n- Use pm credentials add with --from-env or --value-stdin for secret fields.\n\n## Configuration\n\n- application_id\n- appsession_id\n- base_url (required)\n- biosample_id\n- dataset_id\n- datasettype_id\n- labrequeue_id\n- lane_id\n- librarypool_id\n- name\n- page_size\n- project_id\n- run_id\n- trash_id\n- user\n- user_id\n- workgroup_id\n- access_token (secret) (required)\n\n## ETL Streams\n\n- projects:\n  - primary key: id\n  - cursor: date_created\n  - fields: date_created(string), date_modified(string), href(string), id(string), name(string), total_size(integer), user_owned_by(object)\n- runs:\n  - primary key: id\n  - cursor: date_created\n  - fields: date_created(string), date_modified(string), experiment_name(string), href(string), id(string), instrument_name(string), name(string), status(string), total_size(integer)\n- samples:\n  - primary key: id\n  - cursor: date_created\n  - fields: date_created(string), href(string), id(string), name(string), num_reads_pf(integer), num_reads_raw(integer), sample_id(string), status(string), total_size(integer)\n- appsessions:\n  - primary key: id\n  - cursor: date_created\n  - fields: application(object), date_completed(string), date_created(string), href(string), id(string), name(string), status(string), status_summary(string), total_size(integer)\n- datasets:\n  - primary key: id\n  - cursor: date_created\n  - fields: dataset_type(object), date_created(string), href(string), id(string), name(string), project(object), total_size(integer)\n- applications:\n  - fields: Id(string), id(string)\n- application:\n  - fields: Id(string), id(string)\n- application_qcthresholds:\n  - fields: Id(string), id(string)\n- application_settings:\n  - fields: Id(string), id(string)\n- application_workflowdependencies:\n  - fields: Id(string), id(string)\n- appsessions_all:\n  - fields: Id(string), id(string)\n- appsession:\n  - fields: Id(string), id(string)\n- appsession_comments:\n  - fields: Id(string), id(string)\n- appsessions_logfiles:\n  - fields: Id(string), id(string)\n- appsession_properties:\n  - fields: Id(string), id(string)\n- appsession_property:\n  - fields: Id(string), id(string)\n- appsession_property_items:\n  - fields: Id(string), id(string)\n- biosamples:\n  - fields: Id(string), id(string)\n- biosample_labrequeues:\n  - fields: Id(string), id(string)\n- biosample:\n  - fields: Id(string), id(string)\n- biosample_libraries:\n  - fields: Id(string), id(string)\n- biosample_runlane_summaries:\n  - fields: Id(string), id(string)\n- datasets_all:\n  - fields: Id(string), id(string)\n- dataset:\n  - fields: Id(string), id(string)\n- dataset_comments:\n  - fields: Id(string), id(string)\n- dataset_files:\n  - fields: Id(string), id(string)\n- datasettype:\n  - fields: Id(string), id(string)\n- instrumentstatistics:\n  - fields: Id(string), id(string)\n- labrequeues:\n  - fields: Id(string), id(string)\n- labrequeue:\n  - fields: Id(string), id(string)\n- laneqcthresholds:\n  - fields: Id(string), id(string)\n- lane:\n  - fields: Id(string), id(string)\n- lane_comments:\n  - fields: Id(string), id(string)\n- libraries:\n  - fields: Id(string), id(string)\n- librarypool_libraries:\n  - fields: Id(string), id(string)\n- project:\n  - fields: Id(string), id(string)\n- project_datasets:\n  - fields: Id(string), id(string)\n- run_files:\n  - fields: Id(string), id(string)\n- trash:\n  - fields: Id(string), id(string)\n- trash_2:\n  - fields: Id(string), id(string)\n- current_user:\n  - fields: Id(string), id(string)\n- current_user_subscription:\n  - fields: Id(string), id(string)\n- current_user_usage:\n  - fields: Id(string), id(string)\n- current_user_workgroups:\n  - fields: Id(string), id(string)\n- user:\n  - fields: Id(string), id(string)\n- user_settings:\n  - fields: Id(string), id(string)\n- workgroup:\n  - fields: Id(string), id(string)\n- configured_user:\n  - fields: Id(string), id(string)\n\n## Sync Modes\n\n- ETL sync modes: full_refresh_append, full_refresh_overwrite, full_refresh_overwrite_deduped\n\n## Reverse ETL Actions\n\n- update_applications_id_qcthresholds:\n  - endpoint: PUT \u002Fv1pre3\u002Fapplications\u002F{{ record.application_id }}\u002Fqcthresholds\n  - required fields: application_id\n  - risk: BaseSpace mutation: PUT \u002Fv1pre3\u002Fapplications\u002F{application_id}\u002Fqcthresholds.\n- update_applications_id_workflowdependencies:\n  - endpoint: PUT \u002Fv1pre3\u002Fapplications\u002F{{ record.application_id }}\u002Fworkflowdependencies\n  - required fields: application_id\n  - risk: BaseSpace mutation: PUT \u002Fv1pre3\u002Fapplications\u002F{application_id}\u002Fworkflowdependencies.\n- applications_id_workflows:\n  - endpoint: POST \u002Fv1pre3\u002Fapplications\u002F{{ record.application_id }}\u002Fworkflows\n  - required fields: application_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fapplications\u002F{application_id}\u002Fworkflows.\n- delete_appsessions_id:\n  - endpoint: DELETE \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\n  - required fields: appsession_id\n  - risk: Destructive BaseSpace mutation: DELETE \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}.\n- appsessions_id:\n  - endpoint: POST \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\n  - required fields: appsession_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}.\n- appsessions_id_properties:\n  - endpoint: POST \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\u002Fproperties\n  - required fields: appsession_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}\u002Fproperties.\n- delete_appsessions_id_properties_name:\n  - endpoint: DELETE \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\u002Fproperties\u002F{{ record.name }}\n  - required fields: appsession_id, name\n  - risk: Destructive BaseSpace mutation: DELETE \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}\u002Fproperties\u002F{name}.\n- appsessions_id_stop:\n  - endpoint: POST \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\u002Fstop\n  - required fields: appsession_id\n  - risk: Destructive BaseSpace mutation: POST \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}\u002Fstop.\n- biosamples_bulkupdate:\n  - endpoint: POST \u002Fv1pre3\u002Fbiosamples\u002Fbulkupdate\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fbiosamples\u002Fbulkupdate.\n- biosamples_id:\n  - endpoint: POST \u002Fv1pre3\u002Fbiosamples\u002F{{ record.biosample_id }}\n  - required fields: biosample_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fbiosamples\u002F{biosample_id}.\n- datasets_id:\n  - endpoint: POST \u002Fv1pre3\u002Fdatasets\u002F{{ record.dataset_id }}\n  - required fields: dataset_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fdatasets\u002F{dataset_id}.\n- update_laneqcthresholds:\n  - endpoint: PUT \u002Fv1pre3\u002Flaneqcthresholds\n  - risk: BaseSpace mutation: PUT \u002Fv1pre3\u002Flaneqcthresholds.\n- lanes_id:\n  - endpoint: POST \u002Fv1pre3\u002Flanes\u002F{{ record.lane_id }}\n  - required fields: lane_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flanes\u002F{lane_id}.\n- libraries_libraryid_labrequeues:\n  - endpoint: POST \u002Fv1pre3\u002Flibraries\u002F{{ record.library_id }}\u002Flabrequeues\n  - required fields: library_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flibraries\u002F{library_id}\u002Flabrequeues.\n- librarypools_id:\n  - endpoint: POST \u002Fv1pre3\u002Flibrarypools\u002F{{ record.librarypool_id }}\n  - required fields: librarypool_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flibrarypools\u002F{librarypool_id}.\n- librarypools_poolid_labrequeues:\n  - endpoint: POST \u002Fv1pre3\u002Flibrarypools\u002F{{ record.pool_id }}\u002Flabrequeues\n  - required fields: pool_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flibrarypools\u002F{pool_id}\u002Flabrequeues.\n- preprequests_preprequestid_labrequeues:\n  - endpoint: POST \u002Fv1pre3\u002Fpreprequests\u002F{{ record.preprequest_id }}\u002Flabrequeues\n  - required fields: preprequest_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fpreprequests\u002F{preprequest_id}\u002Flabrequeues.\n- delete_trash:\n  - endpoint: DELETE \u002Fv1pre3\u002Ftrash\n  - risk: Destructive BaseSpace mutation: DELETE \u002Fv1pre3\u002Ftrash.\n- trash_id_restorefromtrash:\n  - endpoint: POST \u002Fv1pre3\u002Ftrash\u002F{{ record.trash_id }}\u002Frestorefromtrash\n  - required fields: trash_id\n  - risk: Destructive BaseSpace mutation: POST \u002Fv1pre3\u002Ftrash\u002F{trash_id}\u002Frestorefromtrash.\n- users_id_settings:\n  - endpoint: POST \u002Fv1pre3\u002Fusers\u002F{{ record.user_id }}\u002Fsettings\n  - required fields: user_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fusers\u002F{user_id}\u002Fsettings.\n\n## Security\n\n- read risk: external Illumina BaseSpace API read of documented v1pre3 resources\n- write risk: external Illumina BaseSpace API mutations including settings, workflow, threshold, trash, lab requeue, and app session actions\n- approval: required for every write action; destructive actions are marked confirm: destructive\n- Never pass secret values in chat, shell arguments, logs, docs, or JSON output.\n\n## Commands\n\n### Inspect as a manual\n\n```bash\npm connectors inspect illumina-basespace\n```\n\n### Inspect as structured JSON\n\n```bash\npm connectors inspect illumina-basespace --json\n```\n\n## Agent Rules\n\n- Run pm connectors inspect illumina-basespace before creating credentials or plans.\n- Use --json only when the caller needs structured output; use the manual for human-readable guidance.\n- Never ask the user to paste secret values into chat.\n- For reverse ETL writes, create a plan, show the preview, wait for explicit approval, then run with the approval token.\n","# pm-illumina-basespace\n\n## Purpose\n\nReads and writes documented Illumina BaseSpace v1pre3 REST API resources through the declarative connector engine.\n\n## Icon\n\n- id: pm-sample\n- asset: icons\u002Fpm-sample.svg\n- source: polymetrics\n- review_status: polymetrics\n- review_url: https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\n\n## Capabilities\n\n- check=true catalog=true read=true write=true query=false\n- Integration type: api\n\n## Authentication\n\n- Use pm credentials add with --from-env or --value-stdin for secret fields.\n\n## Configuration\n\n- application_id\n- appsession_id\n- base_url (required)\n- biosample_id\n- dataset_id\n- datasettype_id\n- labrequeue_id\n- lane_id\n- librarypool_id\n- name\n- page_size\n- project_id\n- run_id\n- trash_id\n- user\n- user_id\n- workgroup_id\n- access_token (secret) (required)\n\n## ETL Streams\n\n- projects:\n  - primary key: id\n  - cursor: date_created\n  - fields: date_created(string), date_modified(string), href(string), id(string), name(string), total_size(integer), user_owned_by(object)\n- runs:\n  - primary key: id\n  - cursor: date_created\n  - fields: date_created(string), date_modified(string), experiment_name(string), href(string), id(string), instrument_name(string), name(string), status(string), total_size(integer)\n- samples:\n  - primary key: id\n  - cursor: date_created\n  - fields: date_created(string), href(string), id(string), name(string), num_reads_pf(integer), num_reads_raw(integer), sample_id(string), status(string), total_size(integer)\n- appsessions:\n  - primary key: id\n  - cursor: date_created\n  - fields: application(object), date_completed(string), date_created(string), href(string), id(string), name(string), status(string), status_summary(string), total_size(integer)\n- datasets:\n  - primary key: id\n  - cursor: date_created\n  - fields: dataset_type(object), date_created(string), href(string), id(string), name(string), project(object), total_size(integer)\n- applications:\n  - fields: Id(string), id(string)\n- application:\n  - fields: Id(string), id(string)\n- application_qcthresholds:\n  - fields: Id(string), id(string)\n- application_settings:\n  - fields: Id(string), id(string)\n- application_workflowdependencies:\n  - fields: Id(string), id(string)\n- appsessions_all:\n  - fields: Id(string), id(string)\n- appsession:\n  - fields: Id(string), id(string)\n- appsession_comments:\n  - fields: Id(string), id(string)\n- appsessions_logfiles:\n  - fields: Id(string), id(string)\n- appsession_properties:\n  - fields: Id(string), id(string)\n- appsession_property:\n  - fields: Id(string), id(string)\n- appsession_property_items:\n  - fields: Id(string), id(string)\n- biosamples:\n  - fields: Id(string), id(string)\n- biosample_labrequeues:\n  - fields: Id(string), id(string)\n- biosample:\n  - fields: Id(string), id(string)\n- biosample_libraries:\n  - fields: Id(string), id(string)\n- biosample_runlane_summaries:\n  - fields: Id(string), id(string)\n- datasets_all:\n  - fields: Id(string), id(string)\n- dataset:\n  - fields: Id(string), id(string)\n- dataset_comments:\n  - fields: Id(string), id(string)\n- dataset_files:\n  - fields: Id(string), id(string)\n- datasettype:\n  - fields: Id(string), id(string)\n- instrumentstatistics:\n  - fields: Id(string), id(string)\n- labrequeues:\n  - fields: Id(string), id(string)\n- labrequeue:\n  - fields: Id(string), id(string)\n- laneqcthresholds:\n  - fields: Id(string), id(string)\n- lane:\n  - fields: Id(string), id(string)\n- lane_comments:\n  - fields: Id(string), id(string)\n- libraries:\n  - fields: Id(string), id(string)\n- librarypool_libraries:\n  - fields: Id(string), id(string)\n- project:\n  - fields: Id(string), id(string)\n- project_datasets:\n  - fields: Id(string), id(string)\n- run_files:\n  - fields: Id(string), id(string)\n- trash:\n  - fields: Id(string), id(string)\n- trash_2:\n  - fields: Id(string), id(string)\n- current_user:\n  - fields: Id(string), id(string)\n- current_user_subscription:\n  - fields: Id(string), id(string)\n- current_user_usage:\n  - fields: Id(string), id(string)\n- current_user_workgroups:\n  - fields: Id(string), id(string)\n- user:\n  - fields: Id(string), id(string)\n- user_settings:\n  - fields: Id(string), id(string)\n- workgroup:\n  - fields: Id(string), id(string)\n- configured_user:\n  - fields: Id(string), id(string)\n\n## Sync Modes\n\n- ETL sync modes: full_refresh_append, full_refresh_overwrite, full_refresh_overwrite_deduped\n\n## Reverse ETL Actions\n\n- update_applications_id_qcthresholds:\n  - endpoint: PUT \u002Fv1pre3\u002Fapplications\u002F{{ record.application_id }}\u002Fqcthresholds\n  - required fields: application_id\n  - risk: BaseSpace mutation: PUT \u002Fv1pre3\u002Fapplications\u002F{application_id}\u002Fqcthresholds.\n- update_applications_id_workflowdependencies:\n  - endpoint: PUT \u002Fv1pre3\u002Fapplications\u002F{{ record.application_id }}\u002Fworkflowdependencies\n  - required fields: application_id\n  - risk: BaseSpace mutation: PUT \u002Fv1pre3\u002Fapplications\u002F{application_id}\u002Fworkflowdependencies.\n- applications_id_workflows:\n  - endpoint: POST \u002Fv1pre3\u002Fapplications\u002F{{ record.application_id }}\u002Fworkflows\n  - required fields: application_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fapplications\u002F{application_id}\u002Fworkflows.\n- delete_appsessions_id:\n  - endpoint: DELETE \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\n  - required fields: appsession_id\n  - risk: Destructive BaseSpace mutation: DELETE \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}.\n- appsessions_id:\n  - endpoint: POST \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\n  - required fields: appsession_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}.\n- appsessions_id_properties:\n  - endpoint: POST \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\u002Fproperties\n  - required fields: appsession_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}\u002Fproperties.\n- delete_appsessions_id_properties_name:\n  - endpoint: DELETE \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\u002Fproperties\u002F{{ record.name }}\n  - required fields: appsession_id, name\n  - risk: Destructive BaseSpace mutation: DELETE \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}\u002Fproperties\u002F{name}.\n- appsessions_id_stop:\n  - endpoint: POST \u002Fv1pre3\u002Fappsessions\u002F{{ record.appsession_id }}\u002Fstop\n  - required fields: appsession_id\n  - risk: Destructive BaseSpace mutation: POST \u002Fv1pre3\u002Fappsessions\u002F{appsession_id}\u002Fstop.\n- biosamples_bulkupdate:\n  - endpoint: POST \u002Fv1pre3\u002Fbiosamples\u002Fbulkupdate\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fbiosamples\u002Fbulkupdate.\n- biosamples_id:\n  - endpoint: POST \u002Fv1pre3\u002Fbiosamples\u002F{{ record.biosample_id }}\n  - required fields: biosample_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fbiosamples\u002F{biosample_id}.\n- datasets_id:\n  - endpoint: POST \u002Fv1pre3\u002Fdatasets\u002F{{ record.dataset_id }}\n  - required fields: dataset_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fdatasets\u002F{dataset_id}.\n- update_laneqcthresholds:\n  - endpoint: PUT \u002Fv1pre3\u002Flaneqcthresholds\n  - risk: BaseSpace mutation: PUT \u002Fv1pre3\u002Flaneqcthresholds.\n- lanes_id:\n  - endpoint: POST \u002Fv1pre3\u002Flanes\u002F{{ record.lane_id }}\n  - required fields: lane_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flanes\u002F{lane_id}.\n- libraries_libraryid_labrequeues:\n  - endpoint: POST \u002Fv1pre3\u002Flibraries\u002F{{ record.library_id }}\u002Flabrequeues\n  - required fields: library_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flibraries\u002F{library_id}\u002Flabrequeues.\n- librarypools_id:\n  - endpoint: POST \u002Fv1pre3\u002Flibrarypools\u002F{{ record.librarypool_id }}\n  - required fields: librarypool_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flibrarypools\u002F{librarypool_id}.\n- librarypools_poolid_labrequeues:\n  - endpoint: POST \u002Fv1pre3\u002Flibrarypools\u002F{{ record.pool_id }}\u002Flabrequeues\n  - required fields: pool_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Flibrarypools\u002F{pool_id}\u002Flabrequeues.\n- preprequests_preprequestid_labrequeues:\n  - endpoint: POST \u002Fv1pre3\u002Fpreprequests\u002F{{ record.preprequest_id }}\u002Flabrequeues\n  - required fields: preprequest_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fpreprequests\u002F{preprequest_id}\u002Flabrequeues.\n- delete_trash:\n  - endpoint: DELETE \u002Fv1pre3\u002Ftrash\n  - risk: Destructive BaseSpace mutation: DELETE \u002Fv1pre3\u002Ftrash.\n- trash_id_restorefromtrash:\n  - endpoint: POST \u002Fv1pre3\u002Ftrash\u002F{{ record.trash_id }}\u002Frestorefromtrash\n  - required fields: trash_id\n  - risk: Destructive BaseSpace mutation: POST \u002Fv1pre3\u002Ftrash\u002F{trash_id}\u002Frestorefromtrash.\n- users_id_settings:\n  - endpoint: POST \u002Fv1pre3\u002Fusers\u002F{{ record.user_id }}\u002Fsettings\n  - required fields: user_id\n  - risk: BaseSpace mutation: POST \u002Fv1pre3\u002Fusers\u002F{user_id}\u002Fsettings.\n\n## Security\n\n- read risk: external Illumina BaseSpace API read of documented v1pre3 resources\n- write risk: external Illumina BaseSpace API mutations including settings, workflow, threshold, trash, lab requeue, and app session actions\n- approval: required for every write action; destructive actions are marked confirm: destructive\n- Never pass secret values in chat, shell arguments, logs, docs, or JSON output.\n\n## Commands\n\n### Inspect as a manual\n\n```bash\npm connectors inspect illumina-basespace\n```\n\n### Inspect as structured JSON\n\n```bash\npm connectors inspect illumina-basespace --json\n```\n\n## Agent Rules\n\n- Run pm connectors inspect illumina-basespace before creating credentials or plans.\n- Use --json only when the caller needs structured output; use the manual for human-readable guidance.\n- Never ask the user to paste secret values into chat.\n- For reverse ETL writes, create a plan, show the preview, wait for explicit approval, then run with the approval token.\n",{"name":5,"description":7},"main","813f457a925f7ee3fe3bea101a43e445992c8552","docs\u002Fskills\u002Fpm-illumina-basespace",0,"https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli","https:\u002F\u002Fcli.polymetrics.ai","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai","Local-first data infrastructure for agents and developers.","2026-09-21 12:42:03",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add polymetrics-ai\u002Fcli --skill pm-illumina-basespace",{"tool":39,"command":40},"bunx","bunx skills add polymetrics-ai\u002Fcli --skill pm-illumina-basespace",{"tool":42,"command":43},"pnpm","pnpm dlx skills add polymetrics-ai\u002Fcli --skill pm-illumina-basespace","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fpm-illumina-basespace\u002FSKILL.md",true,[],[48,55,62,69,76,83],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":19},"01M782EH9BFHYZVECKJ31F427S","recipe-preview-approve-reverse-etl","Preview and approve a reverse ETL plan safely.","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Frecipe-preview-approve-reverse-etl\u002FSKILL.md",[],[],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":19},"01M782EFGH5NRZ2CXDK0V9YWFW","recipe-github-prs-to-warehouse","Sync GitHub pull requests into the local warehouse.","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Frecipe-github-prs-to-warehouse\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M782ECJZRQAK8E86CE7R2YM2","pm-zoom","Zoom connector knowledge and safe action guide.","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fpm-zoom\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M782EASYDANMV35W2ZHG2QD0","pm-zonka-feedback","Zonka Feedback connector knowledge and safe action guide.","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fpm-zonka-feedback\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M782E8WA94A906385AET1ZWH","pm-zoho-invoice","Zoho Invoice connector knowledge and safe action guide.","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fpm-zoho-invoice\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M782E73M7F23B6VBGM72QMMQ","pm-zoho-inventory","Zoho Inventory connector knowledge and safe action guide.","https:\u002F\u002Fgithub.com\u002Fpolymetrics-ai\u002Fcli\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fpm-zoho-inventory\u002FSKILL.md",[],[]]