Phidown
ESA-PhiLab/phidown
Search, filter, download, and analyze Copernicus Data Space products with the phidown project.
Manage OCI Object Storage — buckets, uploads, PARs, and lifecycle policies.
$ npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Kilo-Org/kilo-marketplace oraclecloud-data-handling --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Kilo-Org/kilo-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/oraclecloud-data-handling .claude/skills/oraclecloud-data-handling && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "oraclecloud-data-handling" agent skill from https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handling into .claude/skills/oraclecloud-data-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oraclecloud-data-handling", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handlingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Kilo-Org/kilo-marketplace oraclecloud-data-handling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Kilo-Org/kilo-marketplace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/oraclecloud-data-handling .agents/skills/oraclecloud-data-handling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "oraclecloud-data-handling" agent skill from https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handling into .agents/skills/oraclecloud-data-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oraclecloud-data-handling", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Kilo-Org/kilo-marketplace oraclecloud-data-handling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Kilo-Org/kilo-marketplace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/oraclecloud-data-handling .cursor/skills/oraclecloud-data-handling && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "oraclecloud-data-handling" agent skill from https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handling into .cursor/skills/oraclecloud-data-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oraclecloud-data-handling", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Kilo-Org/kilo-marketplace.git --path skills/oraclecloud-data-handling--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Kilo-Org/kilo-marketplace oraclecloud-data-handling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Kilo-Org/kilo-marketplace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/oraclecloud-data-handling .gemini/skills/oraclecloud-data-handling && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "oraclecloud-data-handling" agent skill from https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handling into .gemini/skills/oraclecloud-data-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oraclecloud-data-handling", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Kilo-Org/kilo-marketplace oraclecloud-data-handlingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Kilo-Org/kilo-marketplace.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/oraclecloud-data-handling .github/skills/oraclecloud-data-handling && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "oraclecloud-data-handling" agent skill from https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handling into .github/skills/oraclecloud-data-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oraclecloud-data-handling", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Kilo-Org/kilo-marketplace oraclecloud-data-handling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Kilo-Org/kilo-marketplace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/oraclecloud-data-handling .opencode/skills/oraclecloud-data-handling && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "oraclecloud-data-handling" agent skill from https://github.com/Kilo-Org/kilo-marketplace/tree/main/skills/oraclecloud-data-handling into .opencode/skills/oraclecloud-data-handling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "oraclecloud-data-handling", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
oraclecloud-data-handlingManage OCI Object Storage — buckets, uploads, PARs, and lifecycle policies.
Oraclecloud Data Handling is an agent skill from Kilo-Org/kilo-marketplace. Manage OCI Object Storage — buckets, uploads, PARs, and lifecycle policies. Use when uploading objects, creating pre-authenticated requests, or configuring lifecycle rules. Trigger with "oci object storage", "oci bucket", "par url", "multipart upload", "oci lifecycle".
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/one-pager.md`). Compatibility notes: Agent clients with shell and file-editing tools
It sits in Backend & APIs, covering File uploads and storage. It works with Python. The repository describes itself as: Kilo Marketplace - A curated collection of Skills, MCP Servers, and Modes for enhancing AI agent capabilities across the Kilo ecosystem—including Kilo Code (VS Code extension)… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ff51758. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBash(pip:*)GrepFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.oracle.comoracle.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent clients with shell and file-editing tools
From compatibility in the SKILL.md frontmatter.
Oraclecloud Data Handling loads about 2.4k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 452 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Kilo-Org/kilo-marketplace at commit ff51758, republished under its MIT licence (© Kilo-Org). 452 words, ~2,354 tokens.
.claude/skills/oraclecloud-data-handling/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Manage OCI Object Storage using the Python SDK. Object Storage is OCI's S3 equivalent, but PAR (Pre-Authenticated Request) URLs expire silently with no error — the URL just returns 404. Multipart uploads over 50GB require manual part management. Lifecycle policies can delete data unexpectedly if misconfigured. This skill covers the safe patterns for all of these operations.
Purpose: Upload, download, and share objects safely with proper PAR expiry management and lifecycle policy configuration.
pip install oci~/.oci/config with fields: user, fingerprint, tenancy, region, key_fileAllow group Developers to manage objects in compartment <name>Every OCI tenancy has a unique Object Storage namespace. You must discover it before any operation.
import oci
from datetime import datetime, timedelta
config = oci.config.from_file("~/.oci/config")
storage = oci.object_storage.ObjectStorageClient(config)
# Namespace is tenancy-specific — discover it, never hardcode
namespace = storage.get_namespace().data
print(f"Namespace: {namespace}")
# Create bucket
bucket = storage.create_bucket(
namespace_name=namespace,
create_bucket_details=oci.object_storage.models.CreateBucketDetails(
compartment_id=config["tenancy"],
name="app-data-bucket",
storage_tier="Standard",
public_access_type="NoPublicAccess",
versioning="Enabled", # Protect against accidental deletes
),
).data
print(f"Bucket created: {bucket.name}")Use simple upload for files under 50MB. For larger files, use the UploadManager which handles multipart automatically.
# Simple upload (< 50MB)
with open("report.csv", "rb") as f:
storage.put_object(
namespace_name=namespace,
bucket_name="app-data-bucket",
object_name="reports/2026/report.csv",
put_object_body=f,
content_type="text/csv",
)
print("Simple upload complete")
# Multipart upload for large files (UploadManager handles chunking)
from oci.object_storage import UploadManager
upload_manager = UploadManager(storage)
response = upload_manager.upload_file(
namespace_name=namespace,
bucket_name="app-data-bucket",
object_name="backups/large-dump.tar.gz",
file_path="/tmp/large-dump.tar.gz",
part_size=64 * 1024 * 1024, # 64MB parts
allow_multipart_uploads=True,
)
print(f"Multipart upload complete: {response.status}")# List objects with prefix
objects = storage.list_objects(
namespace_name=namespace,
bucket_name="app-data-bucket",
prefix="reports/",
).data
for obj in objects.objects:
print(f"{obj.name} | {obj.size} bytes | {obj.time_modified}")
# Download an object
response = storage.get_object(
namespace_name=namespace,
bucket_name="app-data-bucket",
object_name="reports/2026/report.csv",
)
with open("downloaded-report.csv", "wb") as f:
for chunk in response.data.raw.stream(1024 * 1024):
f.write(chunk)
print("Download complete")PARs are OCI's signed URLs. Critical gotcha: expired PARs return 404 NotFound, not 401 or 403. Callers assume the object was deleted when it is actually just the PAR that expired.
# Create a PAR with explicit expiry
par = storage.create_preauthenticated_request(
namespace_name=namespace,
bucket_name="app-data-bucket",
create_preauthenticated_request_details=oci.object_storage.models.CreatePreauthenticatedRequestDetails(
name="partner-download-2026q1",
access_type="ObjectRead",
object_name="reports/2026/report.csv",
time_expires=datetime.utcnow() + timedelta(hours=24),
),
).data
par_url = f"https://objectstorage.{config['region']}.oraclecloud.com{par.access_uri}"
print(f"PAR URL (expires in 24h): {par_url}")
print(f"PAR ID (save for revocation): {par.id}")
# List active PARs to audit expiry
pars = storage.list_preauthenticated_requests(
namespace_name=namespace,
bucket_name="app-data-bucket",
).data
for p in pars:
remaining = p.time_expires - datetime.utcnow()
print(f"{p.name} | expires: {p.time_expires} | remaining: {remaining}")
# Revoke a PAR before expiry
storage.delete_preauthenticated_request(
namespace_name=namespace,
bucket_name="app-data-bucket",
par_id=par.id,
)
print("PAR revoked")Lifecycle rules can auto-archive or delete objects. Warning: A rule with time_amount=30 and action=DELETE will permanently delete objects after 30 days with no recovery unless versioning is enabled.
storage.put_object_lifecycle_policy(
namespace_name=namespace,
bucket_name="app-data-bucket",
put_object_lifecycle_policy_details=oci.object_storage.models.PutObjectLifecyclePolicyDetails(
items=[
oci.object_storage.models.ObjectLifecycleRule(
name="archive-old-reports",
action="ARCHIVE",
time_amount=90,
time_unit="DAYS",
is_enabled=True,
object_name_filter=oci.object_storage.models.ObjectNameFilter(
inclusion_prefixes=["reports/"],
),
),
oci.object_storage.models.ObjectLifecycleRule(
name="delete-temp-files",
action="DELETE",
time_amount=7,
time_unit="DAYS",
is_enabled=True,
object_name_filter=oci.object_storage.models.ObjectNameFilter(
inclusion_prefixes=["tmp/"],
),
),
]
),
)
print("Lifecycle policies applied")Successful completion produces:
| Error | Code | Cause | Solution |
|---|---|---|---|
| Bucket not found | 404 NotAuthorizedOrNotFound | Wrong namespace, bucket name, or IAM | Verify namespace with get_namespace(), check IAM policy |
| PAR returns 404 | 404 | PAR expired (not the object) | List PARs to check expiry; create a new PAR |
| Object too large | 400 InvalidParameter | Simple upload > 50MB | Use UploadManager with allow_multipart_uploads=True |
| Not authenticated | 401 NotAuthenticated | Bad API key or config | Verify ~/.oci/config key_file and fingerprint |
| Rate limited | 429 TooManyRequests | Too many API calls | Add backoff; OCI does not return Retry-After header |
| SSL error | N/A CERTIFICATE_VERIFY_FAILED | Corporate proxy or cert issue | Set SSL_CERT_FILE env var or configure SDK cert bundle |
Quick bucket list via CLI:
oci os bucket list \
--compartment-id <OCID> \
--query "data[*].{Name:name,Versioning:versioning}" \
--output tableCheck all active PARs across buckets:
buckets = storage.list_buckets(
namespace_name=namespace,
compartment_id=config["tenancy"],
).data
for b in buckets:
pars = storage.list_preauthenticated_requests(
namespace_name=namespace,
bucket_name=b.name,
).data
if pars:
print(f"\n{b.name}:")
for p in pars:
print(f" {p.name} | expires: {p.time_expires}")oci os commandsAfter setting up Object Storage, see oraclecloud-query-transform to monitor storage metrics via MQL, or oraclecloud-schema-migration if you need to export database data into Object Storage buckets.
© Kilo-Org, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/oraclecloud-data-handling of Kilo-Org/kilo-marketplace.
Open the folder on GitHubat commit ff51758
Oraclecloud Data Handling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Oraclecloud Data Handling this skillKilo-Org/kilo-marketplace | 189 | — | ~2.4k | Automated safety check: Pass | MIT | |
| PhidownESA-PhiLab/phidown | 105 | — | ~1k | Automated safety check: Pass | Apache-2.0 | |
| Fullstack DevHHU3637kr/skills | 145 | 3 repos | ~8.6k | Automated safety check: Notes | MIT | |
| Canvas Lms APIaspi6246/Claude-Code-Skills-for-Academics | 157 | — | ~3.7k | Automated safety check: Pass | None | |
| Google Cloud Storage Bucket Architectgoogle/skills | 21k | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Azure Storage Blob Pymicrosoft/skills | 3.1k | — | ~2.3k | Automated safety check: Pass | MIT |
ESA-PhiLab/phidown
Search, filter, download, and analyze Copernicus Data Space products with the phidown project.
HHU3637kr/skills
Full-stack backend architecture and frontend-backend integration guide.
aspi6246/Claude-Code-Skills-for-Academics
A skill your agent uses whenever working with the Canvas LMS REST API — including creating or updating modules, pages, and files for a course, building sync scripts, managing course structure…
google/skills
Creates Cloud Storage on Google Cloud (also known colloquially as GCS) buckets.
microsoft/skills
Azure Blob Storage SDK for Python. An agent skill from microsoft/skills.
aiskillstore/marketplace
Python SDK for inference.sh - run AI apps, build agents, and integrate with 150+ models.
Kilo-Org/kilo-marketplace
Sets up and maintains AzureML-ready Python projects as uv workspaces with devcontainers, a Makefile and job YAML, so local runs match cloud jobs and experiments stay reproducible.
Kilo-Org/kilo-marketplace
Creates, inspects, edits and runs Jupyter notebooks, scaffolding experiment or tutorial notebooks from templates and preferring a Jupyter MCP server over raw JSON edits.
Kilo-Org/kilo-marketplace
Takes a plain-language dashboard request through brand setup, data exploration, planning, an interactive HTML mock and a Tableau implementation spec.
Kilo-Org/kilo-marketplace
Ingest and transform data files (CSV/JSON/Parquet/Arrow IPC) into Elasticsearch with stream processing and custom transforms.
Kilo-Org/kilo-marketplace
A skill your agent uses when arranging Apache NiFi processors, process groups, ports, comments, numbering, crossing connections, dense fan-in/fan-out, or reusable readable canvas layouts.
Kilo-Org/kilo-marketplace
Render Cisco Data Fabric ingest-time routing workflows and Splunk Cloud Platform Ingest Processor setup plans with SPL2 pipelines, source types, destinations, lifecycle handoffs, queue and…
Works with
Categories
Manage OCI Object Storage — buckets, uploads, PARs, and lifecycle policies. Oraclecloud Data Handling is an agent skill from Kilo-Org/kilo-marketplace. Manage OCI Object Storage — buckets, uploads, PARs, and lifecycle policies.
Oraclecloud Data Handling fits situations like: uploading objects; creating pre-authenticated requests; configuring lifecycle rules; with oci object storage.
Run `npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a claude-code`. Or copy the skill folder (skills/oraclecloud-data-handling in Kilo-Org/kilo-marketplace) into .claude/skills/oraclecloud-data-handling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a codex`. Or copy the skill folder (skills/oraclecloud-data-handling in Kilo-Org/kilo-marketplace) into .agents/skills/oraclecloud-data-handling in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Kilo-Org/kilo-marketplace --skill oraclecloud-data-handling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oraclecloud-data-handling, .gemini/skills/oraclecloud-data-handling, .github/skills/oraclecloud-data-handling and .opencode/skills/oraclecloud-data-handling in your project.
Going by SKILL.md and its folder, Oraclecloud Data Handling needs the command-line tools its instructions call (pip). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash(pip:*), Grep. Compatibility (from SKILL.md): Agent clients with shell and file-editing tools.
SKILL.md names 2 domains. As links in the text: docs.oracle.com and oracle.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Oraclecloud Data Handling is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 372 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Oraclecloud Data Handling: Phidown (ESA-PhiLab/phidown, 105 stars), Fullstack Dev (HHU3637kr/skills, 145 stars), Canvas Lms API (aspi6246/Claude-Code-Skills-for-Academics, 157 stars) and Google Cloud Storage Bucket Architect (google/skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Kilo-Org (a GitHub organization) maintains it in Kilo-Org/kilo-marketplace, which has 189 GitHub stars. The repository holds 87 skills in this directory. The repository was last updated on September 28, 2026.
Source: Kilo-Org/kilo-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.