Skip to content

feat: three-tier agent skills — users, contributors, maintainers (PTC-80) - #196

Open
db-tycoon-stephen wants to merge 2 commits into
v0.1.12from
feature/ptc-80-agent-skills
Open

feat: three-tier agent skills — users, contributors, maintainers (PTC-80)#196
db-tycoon-stephen wants to merge 2 commits into
v0.1.12from
feature/ptc-80-agent-skills

Conversation

@db-tycoon-stephen

@db-tycoon-stephen db-tycoon-stephen commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Jira: PTC-80

First stab at the agent-skills subdirectory discussed in the 7/28 sync — skills so coding agents (Claude Code, Codex, Cursor, …) can drive the tycoon CLI correctly, for three audiences.

What's here

skills/
  users/         adding-data-sources · diagnosing-projects · reading-project-state
                 building-models-and-dashboards · operating-pipelines
  contributors/  contributing-changes · testing-cli-changes
  maintainers/   cutting-a-release
  README.md      convention + command→skill coverage index
.claude-plugin/marketplace.json   (plugins: tycoon / tycoon-contrib / tycoon-maintainers)

Design decisions (details in skills/README.md)

  • Plugins, not .claude/skills/. Claude Code doesn't discover nested folders under .claude/skills/ (upstream issues #28266/#18192), and user-tier consumers never clone this repo — so the tiers ship as three installable plugins from a top-level skills/ tree, the same pattern dbt-labs/duckdb/astral use. /plugin marketplace add Database-Tycoon/tycoon-cli.
  • Skills align 1:1 with command families, not commands. --help already covers single-command mechanics; the skills carry what sits between commands (the add→run→analyze→transform arc, doctor vs profiles doctor exit codes, run-all's hardcoded profile resolution). The README index maps every command to its owning skill — or explicitly to none — so coverage stays auditable.
  • Spec-only frontmatter (agentskills.io fields) in all tiers, so the skills work beyond Claude Code.

How it was verified

Every command/flag claim checked against live --help on this branch. Each user-tier skill was scenario-tested: a fresh agent answered realistic asks without the skill (baseline) and with it. Baselines produced real failures the skills now cover — trusting tycoon doctor's exit code as a CI gate (it always exits 0), placing raw data in per-source DB files, inventing a catalog install subcommand from a stale hint. Full suite green (706 passed); the new files are outside every test-harness scan path.

Open questions for review

  1. Should tycoon init additionally scaffold the users/ tier into new projects? Two traps noted in skills/README.md if so: scaffold_from_template() substitutes {{ }} in .md files, and tycoon-test:-marked bash blocks get executed by the recipe doctest harness.
  2. Does the maintainers tier belong in the public repo long-term, or should it stay local to maintainers?
  3. Naming/wording of the seed skills is v1 — edit freely.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

db-tycoon-stephen and others added 2 commits August 4, 2026 06:48
…-80)

Seed skills/ so coding agents can drive the tycoon CLI correctly:
four user-tier skills (adding sources, diagnosing projects, reading
state, building models/dashboards), two contributor-tier (branch
model, test layers), one maintainer-tier (release cycle).

Distributed as three plugins via .claude-plugin/marketplace.json
rather than .claude/skills/ because Claude Code does not discover
nested skill folders, and user-tier consumers never clone the repo.
Every command claim was verified against --help output, and each
user-tier skill was tested baseline-vs-with-skill on scripted
scenarios (the baselines wrongly trusted tycoon doctor's exit code
and misplaced the raw database — both now covered).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Skills align 1:1 with command families rather than individual
commands: --help already covers single-command mechanics, and the
valuable knowledge sits between the commands of a family. The README
index makes coverage auditable — every command maps to an owning
skill or explicitly to none, and unmapped commands are treated as
undocumented.

operating-pipelines covers the unattended-operations family
(run-all, schedule, notify, sync, clean). Baseline testing showed
this family's help text already answers most questions; the skill's
value is consolidation (one read vs eight help calls) plus the
cross-family traps (run-all profile resolution, severity filtering).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant