Skip to content

docs(install): per-agent install matrix + first-run welcome#62

Merged
rohitg00 merged 4 commits into
mainfrom
feat/per-agent-onboarding
May 27, 2026
Merged

docs(install): per-agent install matrix + first-run welcome#62
rohitg00 merged 4 commits into
mainfrom
feat/per-agent-onboarding

Conversation

@rohitg00

@rohitg00 rohitg00 commented May 27, 2026

Copy link
Copy Markdown
Owner

Why

Two onboarding gaps reported by users:

  1. Per-agent install unclear — README only documented Claude Code well; Cursor / Codex / Copilot / Droid / Gemini / OpenCode paths were either missing or buried in a collapsed details block.
  2. Commands not discoverable — 34 skills + 22 commands ship, but new users had no signal which 5 to type first.

Inspired by the install matrix pattern from obra/superpowers.

What changed

README.md

  • Replaces the single Claude Code snippet + collapsible details block with a flat list of native install commands for 8 agents (Claude Code, Cursor, Codex CLI, Codex App, GitHub Copilot CLI, Factory Droid, Gemini CLI, OpenCode).
  • Lists the 24 remaining SkillKit-supported agents under a single npx skillkit install pro-workflow --agent <name> line.
  • Adds a What to type first table covering the 5 daily-use commands (/learn-rule, /wrap-up, /wiki init, /develop, /smart-commit) with one-line descriptions of what each does.
  • Adds a first-run smoke test (/doctor + /wrap-up) and notes the manual SQLite build step for marketplaces that skip post-install hooks.

scripts/session-start.js

  • On the very first session post-install, prints a 5-line welcome listing those same 5 commands plus a pointer to /doctor and /list.
  • Subsequent sessions get the existing one-line Ready prompt.
  • Gated by ~/.pro-workflow/.welcomed (touched once, never shown again).

Test plan

  • node scripts/session-start.js with .welcomed absent → welcome block prints, flag file created
  • node scripts/session-start.js with .welcomed present → original Ready line prints, no duplicate welcome
  • README renders correctly on GitHub (per-agent sections, table, manual install collapsible)
  • Reviewer: confirm install commands for non-Claude-Code agents are current (Codex CLI plugin syntax, Droid marketplace URL, Gemini extensions install)

Summary by CodeRabbit

  • Documentation

    • Expanded installation flow into a "Pick your agent" path, added native and cross-agent install steps, manual-install instructions, a "What to type first" quick-commands table, first-run smoke test, and troubleshooting/build notes for plugin marketplace components.
    • Clarified auto-setup permission guidance to require user reviews/approvals.
    • Reworked permission-tuner docs with explicit allow/deny lists and refined risk categories.
    • Made multi-phase development steps explicit (four phases, approval required between phases).
    • Broadened Safe Mode flagged-patterns description for shell-piped downloads.
  • New Features

    • One-time welcome banner and setup detection on first startup; subsequent runs show the normal ready message.

Review Change Stack

Adds explicit install commands for 8 native agents (Claude Code, Cursor, Codex CLI/App, Copilot CLI, Droid, Gemini CLI, OpenCode) plus SkillKit fallback for the remaining 24. Adds a 'what to type first' section so users discover the 5 daily-use commands without scanning all 22.

SessionStart hook now prints a first-run welcome listing those 5 commands on the very first session, gated by ~/.pro-workflow/.welcomed.
@coderabbitai

coderabbitai Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 916bc50c-7ae8-4b8b-9ab0-c5ed8374d05a

📥 Commits

Reviewing files that changed from the base of the PR and between e8aac47 and 089f579.

📒 Files selected for processing (1)
  • README.md
✅ Files skipped from review due to trivial changes (1)
  • README.md

📝 Walkthrough

Walkthrough

README reorganizes install docs with multi-agent and manual install instructions, adds first-run smoke-test steps and a quick-start command table. scripts/session-start.js implements one-time first-run detection and prints an onboarding banner on initial launch; skills docs clarify permission and risk guidance.

Changes

First-run Onboarding Experience

Layer / File(s) Summary
Agent installation guidance
README.md
Pick your agent section adds per-agent install steps and a SkillKit-based flow; manual install block details cloning, copying templates/skills/commands/hooks, and a skillkit sync step.
First-run docs & quick-start
README.md
Adds a "First-run smoke test" describing /doctor and /wrap-up with an npm build troubleshooting note; adds "What to type first" table of five common slash commands with links.
First-run detection and onboarding banner
scripts/session-start.js
Implements first-run detection using ~/.pro-workflow/.welcomed; on first run creates state dir, writes the welcome flag, and logs a multi-line onboarding help banner; subsequent runs log "Ready…".
Skills documentation and permission rules
skills/*/SKILL.md
Updates auto-setup permission guidance to require user review, restructures permission-tuner risk taxonomy (allow/ask/deny, marks git/npm ops as medium-risk), enumerates /develop phases requiring approval, and generalizes safe-mode flagged pattern wording.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 A tiny rabbit hops in with a cheer,
Pick an agent, install — the path is clear.
First run will greet you with tips to explore,
/doctor, /wrap-up — then launch once more.
Happy hacking, may your sessions soar!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly matches the main changes: expanded installation instructions with per-agent guidance and a first-run welcome message in session-start.js.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/per-agent-onboarding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 117-124: The header "Any other agent (28 more via SkillKit)" is
inconsistent with the explicit supported list of agents; update the count to
match the actual number in the list (change "28 more" to "24 more") or add the
missing agent names so the list contains 28 entries; locate the "Any other agent
(28 more via SkillKit)" heading and the supported agent list (e.g., the code
block containing `npx skillkit install pro-workflow --agent <name>` and the
backtick-enclosed agent names) and make the count and the list consistent.

In `@scripts/session-start.js`:
- Around line 126-137: The try/catch around fs.mkdirSync(stateDir, { recursive:
true }) and fs.writeFileSync(firstRunFlag, ...) currently swallow errors; update
both catch blocks to log a warning including the error and the path (stateDir or
firstRunFlag) so failures are visible. In each catch, call the existing log
function (or console.warn) with a clear message like "[ProWorkflow] Warning:
failed to create stateDir <path>: <error>" and "[ProWorkflow] Warning: failed to
write firstRunFlag <path>: <error>" so operators can diagnose setup problems.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1d5c2ea5-90fe-4a53-bbbf-9314dca2c973

📥 Commits

Reviewing files that changed from the base of the PR and between 9fc35f5 and 7e2342a.

📒 Files selected for processing (2)
  • README.md
  • scripts/session-start.js

Comment thread README.md Outdated
Comment thread scripts/session-start.js
Comment on lines +126 to +137
try { fs.mkdirSync(stateDir, { recursive: true }); } catch (e) {}
log('');
log('[ProWorkflow] First run detected. Five commands to know:');
log(' /learn-rule capture a correction so it never repeats');
log(' /wrap-up end-of-session ritual (audit + persist + handoff)');
log(' /wiki init start a persistent FTS5 research wiki');
log(' /develop research -> plan -> implement with gates');
log(' /smart-commit quality-gated conventional commit');
log('[ProWorkflow] Run /doctor to verify install. Full list: /list');
log('');
try { fs.writeFileSync(firstRunFlag, new Date().toISOString()); } catch (e) {}
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Don’t silently swallow first-run marker write failures.

If directory creation or marker write fails, users will repeatedly see “first run” with no clue why. Log a warning in these catch blocks so setup issues are diagnosable.

Suggested patch
-    try { fs.mkdirSync(stateDir, { recursive: true }); } catch (e) {}
+    try { fs.mkdirSync(stateDir, { recursive: true }); } catch (e) {
+      log(`[ProWorkflow] Warning: could not create state dir at ${stateDir}: ${e.message}`);
+    }
@@
-    try { fs.writeFileSync(firstRunFlag, new Date().toISOString()); } catch (e) {}
+    try { fs.writeFileSync(firstRunFlag, new Date().toISOString()); } catch (e) {
+      log(`[ProWorkflow] Warning: could not persist welcome flag at ${firstRunFlag}: ${e.message}`);
+    }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
try { fs.mkdirSync(stateDir, { recursive: true }); } catch (e) {}
log('');
log('[ProWorkflow] First run detected. Five commands to know:');
log(' /learn-rule capture a correction so it never repeats');
log(' /wrap-up end-of-session ritual (audit + persist + handoff)');
log(' /wiki init start a persistent FTS5 research wiki');
log(' /develop research -> plan -> implement with gates');
log(' /smart-commit quality-gated conventional commit');
log('[ProWorkflow] Run /doctor to verify install. Full list: /list');
log('');
try { fs.writeFileSync(firstRunFlag, new Date().toISOString()); } catch (e) {}
} else {
try { fs.mkdirSync(stateDir, { recursive: true }); } catch (e) {
log(`[ProWorkflow] Warning: could not create state dir at ${stateDir}: ${e.message}`);
}
log('');
log('[ProWorkflow] First run detected. Five commands to know:');
log(' /learn-rule capture a correction so it never repeats');
log(' /wrap-up end-of-session ritual (audit + persist + handoff)');
log(' /wiki init start a persistent FTS5 research wiki');
log(' /develop research -> plan -> implement with gates');
log(' /smart-commit quality-gated conventional commit');
log('[ProWorkflow] Run /doctor to verify install. Full list: /list');
log('');
try { fs.writeFileSync(firstRunFlag, new Date().toISOString()); } catch (e) {
log(`[ProWorkflow] Warning: could not persist welcome flag at ${firstRunFlag}: ${e.message}`);
}
} else {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/session-start.js` around lines 126 - 137, The try/catch around
fs.mkdirSync(stateDir, { recursive: true }) and fs.writeFileSync(firstRunFlag,
...) currently swallow errors; update both catch blocks to log a warning
including the error and the path (stateDir or firstRunFlag) so failures are
visible. In each catch, call the existing log function (or console.warn) with a
clear message like "[ProWorkflow] Warning: failed to create stateDir <path>:
<error>" and "[ProWorkflow] Warning: failed to write firstRunFlag <path>:
<error>" so operators can diagnose setup problems.

rohitg00 added 2 commits May 27, 2026 11:57
Previous commit invented install commands for Cursor / Codex / Copilot CLI / Droid / Gemini CLI / OpenCode that don't actually work — pro-workflow is not published in those marketplaces, only in Claude Code's marketplace and SkillKit.

Collapses those 6 sections into a single 'via SkillKit' block (the real cross-agent path) and keeps the manual clone fallback. Each agent's plugin format differs (Cursor MDC, Codex own, Gemini TOML, etc.) so SkillKit's translator is the only honest portable path today.
Tested 'npx skillkit install pro-workflow' — fails two ways: (1) bare name doesn't resolve, requires 'rohitg00/pro-workflow'; (2) SkillKit security scanner false-positives on standard Node patterns block four skills (auto-setup, permission-tuner, pro-workflow, safe-mode) on TA002 'autonomy abuse' and CI007 'shell chaining' rules.

Rephrases triggering text in the four skills (no semantic change — 'auto-approve' to 'allow-list', 'curl | sh' to 'curl piped to a shell', etc). Updates README with the working command form including --force, and notes the upstream scanner issue. survey-generator still trips CI003/CI005 on legit child_process and template-literal usage; --force is unavoidable until SkillKit's scanner is tuned.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@skills/permission-tuner/SKILL.md`:
- Around line 47-53: The SKILL.md “Ask candidates” policy lists medium-risk
actions (Edit, Write, Bash git/npm) that must prompt every time, but the report
example later still auto-approves them; update the example section (the report
example starting around the “report example” block) so that any medium-risk
action listed under the “Ask candidates” header triggers a prompt/confirmation
flow rather than auto-approval—specifically change the example outputs for Edit,
Write, Bash(git add*/git commit*/npm install*) to show a prompt or “awaiting
user confirmation” state and reflect the decision only after explicit approval,
ensuring the example behavior matches the policy text.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 883b8811-4f7b-4ccf-8be3-27c748a378a2

📥 Commits

Reviewing files that changed from the base of the PR and between f9a328c and e8aac47.

📒 Files selected for processing (5)
  • README.md
  • skills/auto-setup/SKILL.md
  • skills/permission-tuner/SKILL.md
  • skills/pro-workflow/SKILL.md
  • skills/safe-mode/SKILL.md
✅ Files skipped from review due to trivial changes (1)
  • skills/safe-mode/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md

Comment on lines +47 to 53
**Ask candidates** (medium risk — prompt user every time):
- `Edit` — file modifications
- `Write` — new file creation
- `Bash(git add*)` — staging changes
- `Bash(git commit*)` — creating commits
- `Bash(npm install*)` — dependency changes

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Resolve medium-risk policy conflict with the report example.

Line 47 says medium-risk actions should prompt every time, but the report example still auto-approves medium-risk operations (Line 98 onward). Please align the output example to “keep asking” for medium-risk items so the guidance is consistent and safer.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/permission-tuner/SKILL.md` around lines 47 - 53, The SKILL.md “Ask
candidates” policy lists medium-risk actions (Edit, Write, Bash git/npm) that
must prompt every time, but the report example later still auto-approves them;
update the example section (the report example starting around the “report
example” block) so that any medium-risk action listed under the “Ask candidates”
header triggers a prompt/confirmation flow rather than
auto-approval—specifically change the example outputs for Edit, Write, Bash(git
add*/git commit*/npm install*) to show a prompt or “awaiting user confirmation”
state and reflect the decision only after explicit approval, ensuring the
example behavior matches the policy text.

@rohitg00 rohitg00 merged commit a2c6df1 into main May 27, 2026
5 checks passed
@rohitg00 rohitg00 deleted the feat/per-agent-onboarding branch May 27, 2026 12:03
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