{"id":50394080,"url":"https://github.com/apache/doris-skills","last_synced_at":"2026-06-04T00:00:41.182Z","repository":{"id":361441304,"uuid":"1252796495","full_name":"apache/doris-skills","owner":"apache","description":"Agent skills for Apache Doris","archived":false,"fork":false,"pushed_at":"2026-06-01T09:13:34.000Z","size":203,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T23:23:30.924Z","etag":null,"topics":["agent","cli","database","doris","mcp","skills"],"latest_commit_sha":null,"homepage":"https://doris.apache.org","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-05-28T22:04:04.000Z","updated_at":"2026-06-02T03:01:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/apache/doris-skills","commit_stats":null,"previous_names":["apache/doris-skills"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apache/doris-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdoris-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdoris-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdoris-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdoris-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/doris-skills/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdoris-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33884734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"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":["agent","cli","database","doris","mcp","skills"],"created_at":"2026-05-30T20:00:40.375Z","updated_at":"2026-06-04T00:00:41.108Z","avatar_url":"https://github.com/apache.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Skills for Apache Doris\n\nApache Doris agent skills in the open Agent Skills (`SKILL.md`) format — usable by\nClaude Code, Cursor, Codex, Cline, Amp, and other agent tools. This repository contains the\n**kernel knowledge** for any Apache Doris deployment: table design, sizing, query\ninvestigation, and architecture decisions.\n\nThe skills pair with **`doriscli`**, the Apache Doris CLI (companion [`doris-cli`](https://github.com/apache/doris-cli)\nrepository). doriscli is the \"hands\" — it runs SQL, fetches and parses query profiles,\nand analyzes tablet distribution, all as structured JSON; these skills are the \"brain\" —\nthe decision logic that reads that JSON and recommends table designs, sizing, and fixes.\ndoriscli is optional: when it is not installed the skills fall back to plain\nMySQL-protocol SQL plus the FE HTTP API, so they work with or without it (see\n`skills/doris-best-practices/references/cli-investigation.md`).\n\nThe exact doriscli commands and JSON fields the skills depend on are listed in\n[CLI-CONTRACT.md](CLI-CONTRACT.md) — keep that file and doriscli in sync.\n\nCluster-lifecycle, billing, and networking operations are managed-service specific and\nintentionally out of scope here; use your platform's cluster-management console for those.\n\n## Skills\n\n| Skill | Description |\n|---|---|\n| `doris-best-practices` | Apache Doris table design, sizing, and runtime query investigation (37 rules, 7 use-case templates, 4 sizing guides) |\n| `doris-architecture-advisor` | Workload-aware architecture design (8 decision rules, 10 worked industry examples) |\n\n## How to use\n\nInstall with the open [`skills`](https://github.com/vercel-labs/skills) CLI — it works\nacross agent tools (Claude Code, Cursor, Codex, Cline, Amp, …), auto-discovers both\nskills in this repo, and bundles their `references/`:\n\n```bash\nnpx skills add apache/doris-skills\n```\n\nOr copy them in manually:\n\n```bash\ncp -r skills/* ~/.claude/skills/\n```\n\nFor the structured-diagnosis path (query profiles, tablet health), also install\ndoriscli. The recommended way is from **npm**, which ships prebuilt binaries (no\nRust toolchain, no compile step):\n\n```bash\nnpm install -g @apache-doris/doriscli\ndoriscli --version\n```\n\nFor other platforms, or to build from source, see the companion [`doris-cli`](https://github.com/apache/doris-cli)\nrepository. Without doriscli, the skills use the SQL + HTTP fallback automatically.\n\n## Verification\n\nThe factual claims in these skills are regression-tested — against a real Apache Doris\ncluster, against `doriscli`, and against the skills' own runtime behavior — so they don't\ndrift from reality. See [`verify/`](verify/README.md); it runs in three layers:\n\n- **L1 — knowledge**: every DDL template and gotcha in `doris-best-practices` is accepted\n  or rejected by a live cluster exactly as the skill claims (`mysql` client).\n- **L2 — CLI contract**: every command and JSON field in [CLI-CONTRACT.md](CLI-CONTRACT.md)\n  really resolves against `doriscli` on a live cluster (`doriscli --format json` + `jq`).\n- **L3 — behavior**: the skills *behave* as written — evidence-first and safety guardrails,\n  an end-to-end advisor→DDL→live-cluster loopback, and skill-router triggering — exercised\n  through a nested `claude -p`.\n\n## Authoring rules\n\n- Write `doriscli` and `Apache Doris` directly. **Never** introduce a downstream\n  distribution's brand strings — CLI names, console URLs, env-var prefixes, hostnames.\n- Cloud-mode behavior (storage-compute separation, `replication_num=1`, file cache) is\n  **Doris kernel architecture** — describe it neutrally as \"cloud mode\" / \"storage-compute\".\n  Managed-service behavior (suspend/resume, automatic node-count management, billing) is\n  out of scope; point at the user's cluster-management console rather than naming a product.\n- If you rely on a new doriscli command or output field, add it to\n  [CLI-CONTRACT.md](CLI-CONTRACT.md) so the two repositories stay in sync.\n\n## Layout\n\n```\ndoris-skills/\n├── README.md\n├── CLI-CONTRACT.md            # doriscli commands + JSON fields the skills depend on\n├── skills/\n│   ├── doris-best-practices/\n│   └── doris-architecture-advisor/\n└── verify/                    # regression suite for the skills' claims — L1 DDL, L2 CLI, L3 behavior\n```\n\n## License\n\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fdoris-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fdoris-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fdoris-skills/lists"}