Skip to content

feat: add new agent skills#176

Merged
rfgamaral merged 5 commits into
mainfrom
chore/standardize-skills-and-agents
Mar 25, 2026
Merged

feat: add new agent skills#176
rfgamaral merged 5 commits into
mainfrom
chore/standardize-skills-and-agents

Conversation

@rfgamaral

@rfgamaral rfgamaral commented Mar 25, 2026

Copy link
Copy Markdown
Member

Overview

Added support for pi and universal agents, and standardized the README structure to be consistent across Doist CLIs. The universal agent installs to ~/.agents/ for compatibility with Amp, OpenCode, and similar tools. The installer skips the agent directory existence check for universal since there's no specific agent to verify.

The postinstall script is now guarded against missing dist/ on fresh checkouts, avoiding noisy errors during npm install before the first build.

Reference

Test plan

  • README renders correctly on GitHub

@rfgamaral rfgamaral self-assigned this Mar 25, 2026
@doistbot doistbot requested a review from pauloslund March 25, 2026 02:20
@rfgamaral rfgamaral added the 👀 Show PR PR must be reviewed before or after merging label Mar 25, 2026

@doistbot-app doistbot-app Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR successfully expands compatibility by adding new agent skills and standardizing the README structure. These additions are great for integrating with more tools across the ecosystem. A few adjustments were noted for refinement, including updating test coverage for the new installers, addressing a directory creation issue during the universal agent installation, and clarifying the uninstallation command sequence and directory paths in the documentation.

Share FeedbackReview Logs

Comment thread README.md Outdated
Comment thread src/lib/skills/index.ts
Comment thread src/lib/skills/index.ts
Comment thread README.md Outdated
@rfgamaral rfgamaral force-pushed the chore/standardize-skills-and-agents branch from ce0f518 to 46d4e1c Compare March 25, 2026 02:29
@rfgamaral rfgamaral force-pushed the chore/standardize-skills-and-agents branch from 46d4e1c to 8f83889 Compare March 25, 2026 03:03
@rfgamaral rfgamaral merged commit 69be82c into main Mar 25, 2026
4 checks passed
@rfgamaral rfgamaral deleted the chore/standardize-skills-and-agents branch March 25, 2026 03:05
rfgamaral added a commit to Doist/bob-cli that referenced this pull request Mar 25, 2026
## Overview

The skill infrastructure in this CLI was behind todoist-cli and
twist-cli — missing the `update` method, `update-installed.ts`, and the
`postinstall` hook that auto-updates installed skills on CLI upgrade.
I've added all of that.

I've also added support for gemini, pi, and universal agents, and
rewritten the README to follow the same structure as the other Doist
CLIs. The universal agent installs to `~/.agents/` for compatibility
with Amp, OpenCode, and similar tools. The installer skips the agent
directory existence check for universal since there's no specific agent
to verify.

The `postinstall` script is now guarded against missing `dist/` on fresh
checkouts, avoiding noisy errors during `npm install` before the first
build.

### Reference
- Doist/todoist-cli#176
- Doist/twist-cli#101

## Test plan
- [ ] Code review should suffice (the code matches other CLIs)
Comment thread package.json
"format": "oxfmt",
"format:check": "oxfmt --check",
"postinstall": "node dist/postinstall.js || true",
"postinstall": "test -f dist/postinstall.js && node dist/postinstall.js || true",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rfgamaral I assume this test command works on windows too?

@rfgamaral rfgamaral Mar 25, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does not...

Is this something we should be worried about, @scottlovegrove? I mean, who in their right mind actually uses Windows (not WSL)? 😅

Regardless, I can work on fixing this across all our CLIs, if you think it's important. Let me know.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this something we should be worried about, @scottlovegrove? I mean, who in their right mind actually uses Windows (not WSL)? 😅

Absolutely something we should be concerned with. Doist OS is meant to run on Windows (not just WSL), and it relies on these CLIs, so we definitely need to make sure these are supported and won't fail.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I'll take care of it.

rfgamaral added a commit to Doist/bob-cli that referenced this pull request Mar 25, 2026
## Overview

The `test -f` shell command used in the postinstall script does not work
on Windows. This replaces it with a dedicated Node.js script
(`scripts/postinstall.js`) that uses dynamic `import()` with `.catch()`,
which works across all platforms.

### Reference

Doist/todoist-cli#176 (comment)

## Test plan
- [ ] `npm install` succeeds
rfgamaral added a commit to Doist/outline-cli that referenced this pull request Mar 25, 2026
## Overview

This PR prepares outline-cli for npm publishing as `@doist/outline-cli`
(v1.0.0) and brings it in line with the other Doist CLIs.

The skill infrastructure was missing the `update` method and the
`postinstall` hook that auto-updates installed skills on CLI upgrade —
I've added both. I've also added support for gemini, pi, and universal
agents. The universal agent installs to `~/.agents/` for compatibility
with Amp, OpenCode, and similar tools. The installer skips the agent
directory existence check for universal since there's no specific agent
to verify.

Publishing is set up with semantic-release, following the same pattern
as twist-cli. CI workflows were updated to use `.nvmrc` and the
test/lint workflows now only run on PRs since the release workflow
handles main.

The `postinstall` script uses a cross-platform Node.js wrapper
(`scripts/postinstall.js`) instead of `test -f`, which doesn't work on
Windows. The redundant `prepare` script for lefthook installation was
also removed — lefthook's own postinstall already handles this.

### Reference
- Doist/todoist-cli#176
- Doist/bob-cli#17
- Doist/twist-cli#101

## Test plan
- [ ] Code review
- [ ] CI passes (test, lint, type-check)
- [ ] First release publishes as `@doist/outline-cli@1.0.0` on npm
github-actions Bot pushed a commit to Doist/outline-cli that referenced this pull request Mar 25, 2026
# 1.0.0 (2026-03-25)

### Bug Fixes

* broaden CI detection to handle all truthy values ([7dc2806](7dc2806))
* exclude dist from biome checks ([0dc49a3](0dc49a3))

### Features

* add API Spinner Proxy ([#17](#17)) ([a3bc75a](a3bc75a))
* add fuzzy reference resolution ([#19](#19)) ([6c1c6f9](6c1c6f9))
* add npm publishing, new agent skills, and skill auto-update ([#36](#36)) ([bcb2e75](bcb2e75)), closes [Doist/todoist-cli#176](Doist/todoist-cli#176) [Doist/bob-cli#17](Doist/bob-cli#17) [Doist/twist-cli#101](Doist/twist-cli#101)
* add structured error formatting with codes and hints ([#18](#18)) ([17658d2](17658d2))
* implement OAuth PKCE browser login ([#20](#20)) ([b7f6eec](b7f6eec)), closes [#7](#7) [outline/outline#11254](outline/outline#11254)
* improve oauth login inputs and callback UX ([#31](#31)) ([3011b28](3011b28))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👀 Show PR PR must be reviewed before or after merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants