Commit d5d1fe0
Separate developer and user agent skills (#927)
* refactor: separate developer and user agent skills
Move user-facing skills (designing-experiments, loading-datasets,
performing-causal-analysis, running-placebo-analysis) out of
.github/skills/ into causalpy/skills/ so they ship with the pip wheel
and are version-locked to the library API.
Developer skills remain in .github/skills/ and are auto-discovered
via existing symlinks. User skills require explicit installation
via the new `causalpy skills install` CLI.
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: add skills CLI, platform adapters, and llms.txt generator
Add `causalpy skills install` CLI that copies user skills from the
installed package into platform-specific locations (Cursor, Claude Code,
GitHub Copilot, Windsurf, or generic llms.txt). Includes version
stamping, uninstall support, and version-check command.
Update AGENTS.md, README, Makefile, pyproject.toml, Sphinx conf, and
Cursor commands to reflect the new skills architecture.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix: address PR review comments
- Insert version stamp after YAML frontmatter instead of before it so
tools that expect frontmatter at byte 0 are not broken
- Make _rmtree_if_exists() symlink-safe: unlink symlinks without
following, refuse to remove paths outside the project directory
- Make html Makefile target depend on llms-txt so docs builds include
the generated llms.txt automatically
- Add pytest suite for install/uninstall/check_version/platform
detection and symlink safety
Co-authored-by: Cursor <cursoragent@cursor.com>
* test: fix copilot detection test to match narrower detection logic
The remote updated copilot detection to require copilot-instructions.md
rather than just a .github/ directory. Update and expand the test.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix: address GPT 5.5 review — RTD llms.txt, per-platform check, skill audit
- Generate llms.txt in conf.py when missing so RTD builds include it
without requiring `make llms-txt`
- check_version() now returns per-platform dict instead of first match,
so stale installs on individual platforms are visible
- CLI `check` command displays per-platform version status
- Add regression_discontinuity.md reference to performing-causal-analysis
- Complete the loading-datasets skill with all 21 datasets (synthetic + CSV)
- Update test assertions for new file count and check_version signature
Co-authored-by: Cursor <cursoragent@cursor.com>
* remove loading-datasets skill — too trivial for a dedicated skill
The load_data() docstring already documents all available datasets.
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: add README to causalpy/skills/ explaining the directory layout
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: add CLI usage instructions to skills README
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: move Layout section to end of skills README
Co-authored-by: Cursor <cursoragent@cursor.com>
* remove CLI skill installer — distribution moves to Decision AI Hub
Delete the entire CLI installer stack (_cli.py, _installer.py,
_platforms/, _generate_llms_txt.py, tests) and revert the pyproject.toml
console-script entry, Makefile llms-txt target, and Sphinx conf.py hook.
User-facing skills remain in causalpy/skills/ as the source of truth;
distribution to end users will happen via https://hub.decision.ai.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>1 parent e40af27 commit d5d1fe0
19 files changed
Lines changed: 107 additions & 41 deletions
File tree
- .cursor/commands
- .github/skills/loading-datasets
- causalpy/skills
- designing-experiments
- performing-causal-analysis
- reference
- running-placebo-analysis
- reference
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
0 commit comments