docs: rewrite README + sync AIDD skill scaffold#66
Conversation
- Correct skill naming: harness skills are unprefixed /<name> commands from skills/<name>/SKILL.md (no invented pagespace-aidd-* rebrand). - Fix install story: pi is vendored via monorepo workspaces, not a global @earendil-works/pi-coding-agent install. Update Quickstart accordingly. - Lead with model auto-discovery across accessible drives; document PAGESPACE_MODEL_PAGE/_PAGES as optional pinning/expansion. - Clarify .env.local/.env runtime loading vs .mcp.json MCP config. - State native function-calling accurately (ps-agent://<pageId>, disable_server_tools:true, tool loop in pi). - Condense architecture to a scannable summary; point to PageSpace Brain/Epics for deep detail instead of a module-by-module dump. - Describe implemented modules by what the code does today; do not overclaim roadmap epic maturity.
- Sync ai/skills/index.md and ai/commands/index.md with the current AIDD
skill set (add aidd-parallel, aidd-pipeline, aidd-pr, aidd-requirements,
aidd-riteway-ai, aidd-rtc, aidd-upskill, aidd-write; remove the superseded
aidd-functional-requirements split).
- Add the new aidd-* skill and command dirs backing those index entries.
- Remove four stray *.test.js files inherited from the upstream AIDD repo:
they import riteway/vitest + fs-extra (not installed here) and reference
../../../lib/index-generator.js (not present). They won't run under this
repo's tsx --test runner and only look broken. Removed:
aidd-timing-safe-compare/timing-safe-compare.test.js
aidd-user-testing/user-testing.test.js
aidd-riteway-ai/riteway-ai.test.js
aidd-upskill/scripts/validate-skill.test.js
ai/ is not in package.json files[] and does not ship to users; it is local
scaffold only.
|
Warning Review limit reached
More reviews will be available in 50 minutes and 20 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (37)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 330c770378
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| import { readFileSync } from "node:fs"; | ||
| import { basename, join } from "node:path"; | ||
| import { fileURLToPath } from "url"; | ||
| import yaml from "js-yaml"; |
There was a problem hiding this comment.
Import a YAML parser that the repo installs
When the new validator is run as documented (node ai/skills/aidd-upskill/scripts/validate-skill.js ai/skills/aidd-upskill or via Bun), it fails before doing any validation because js-yaml is not declared anywhere in this workspace; the lockfile only contains the yaml package. This makes the /validate-skill guidance in the new upskill workflow unusable unless every user happens to have an undeclared dependency available, so either add js-yaml to the repo dependencies or switch the import to the installed parser.
Useful? React with 👍 / 👎.
…red) The /validate-skill workflow added in the scaffold sync imported "js-yaml", which is not a dependency of this repo (not in package.json, not transitive). It only resolved incidentally via node_modules hoisting on machines that happen to have it from an unrelated project (canvas/shelljs/shx); on a fresh clone or any user without that happenstance it threw MODULE_NOT_FOUND before doing any validation. Switch to the "yaml" package (v2.9.0) — a declared dependency of the vendored pi-agent-core and pi-coding-agent workspace packages, hoisted to root and pinned in the lockfile, so it is guaranteed present after `npm install`. `yaml` v2's parse() is a pure parser (no code-executing schema), preserving the DEFAULT_SAFE_SCHEMA safety the original import wanted. Verified: - valid skills validate (aidd-upskill, aidd-tdd) - invalid frontmatter reports an error instead of crashing - "yaml" resolves from a clean CWD (/tmp) with no /Users/jono hoist chain, while "js-yaml" is confirmed MODULE_NOT_FOUND in the same env.
What
Two independent cleanups bundled here since both fell out of a fresh look at the repo:
1. README rewrite (
docs:)The old README was stale and factually wrong in places. Rewritten to read like an accurate, scannable README for a new user, with every claim grounded in the actual code:
/<name>commands fromskills/<name>/SKILL.md. The old README invented apagespace-aidd-*rebrand that doesn't exist.packages/), not a globalnpm i -g @earendil-works/pi-coding-agent. Quickstart updated.PAGESPACE_MODEL_PAGE/_PAGESdocumented as optional pinning/expansion..env.local/.envruntime loading from.mcp.jsonMCP config.ps-agent://<pageId>,disable_server_tools:true, tool loop in pi).Brain/Epicspages for deep detail instead of a module-by-module dump.2. AIDD skill scaffold sync (
chore:)The
ai/working tree had drifted: modifiedSKILL.mds and index files referencing new AIDD skills that had no backing dirs, plus untracked skill/command dirs.ai/skills/index.md+ai/commands/index.mdwith the current AIDD skill set (addsaidd-parallel,aidd-pipeline,aidd-pr,aidd-requirements,aidd-riteway-ai,aidd-rtc,aidd-upskill,aidd-write; removes the supersededaidd-functional-requirementssplit).aidd-*skill and command dirs backing those index entries.*.test.jsfiles inherited from the upstream AIDD repo. They importriteway/vitest+fs-extra(not installed here) and reference../../../lib/index-generator.js(not present). They won't run under this repo'stsx --testrunner and only look broken:aidd-timing-safe-compare/timing-safe-compare.test.jsaidd-user-testing/user-testing.test.jsaidd-riteway-ai/riteway-ai.test.jsaidd-upskill/scripts/validate-skill.test.jsVerification