docs: workflow-first Step 2 + install-path accuracy pass + plugin manifest hardening#1825
Conversation
Insert a new "Step 2: Understand the Workflow" section between installation and verification. Surfaces the Grill Me -> PRD -> Plan -> Build -> Test -> Review -> Ship pipeline with per-phase table, Day Shift / Night Shift split, mermaid sequence diagram, and cross-references to deep-dive docs. Renumbers Verify, Use an Agent, and Understand the Output to steps 3-5 and updates the Fastest Start anchor. Fixes #1823 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Refs #1823 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR Validation ReportNote ✅ Status: PASS Description Validation
PR Standards
QA Validation
⚡ Warnings
Powered by PR Validation workflow |
Session Protocol Compliance ReportCaution ❌ Overall Verdict: CRITICAL_FAIL All session protocol requirements satisfied. What is Session Protocol?Session logs document agent work sessions and must comply with RFC 2119 requirements:
See Compliance Summary
Detailed Validation ResultsClick each session to see the complete validation report with specific requirement failures. 📄 sessions-2026-04-29-session-1823-getting-started-workflow=== Session Validation === [FAIL] Validation errors:
✨ Zero-Token ValidationThis validation uses deterministic script analysis instead of AI:
Powered by 📊 Run Details
Powered by Session Protocol Validator workflow |
AI Quality Gate ReviewTip ✅ Final Verdict: PASS WalkthroughThis PR was reviewed by six AI agents in parallel, analyzing different aspects of the changes:
Review Summary
💡 Quick Access: Click on individual agent jobs (e.g., "🔒 security Review", "🧪 qa Review") in the workflow run to see detailed findings and step summaries. Security Review DetailsI have reviewed all the changed files. Let me complete the security analysis. Security Review: PR #1825PR Type Classification
Classification: DOCS + CONFIG (3 documentation files, 3 configuration files) Analysis1. Secret DetectionSession log file: Contains no credentials, tokens, or API keys. File holds protocol compliance metadata and session workflow state only. Plugin manifests: Both
Documentation files: Commands shown are example plugin install commands using public repository paths ( 2. Plugin Manifest SecurityThe manifest changes are structural improvements:
3. Documentation SecurityThe documentation changes:
No sensitive internal endpoints, credentials, or architectural weaknesses exposed. Findings
RecommendationsNone. The PR contains documentation accuracy fixes and plugin manifest hygiene improvements with no security implications. Verdict{
"verdict": "PASS",
"message": "Documentation and plugin manifest updates with no security-relevant code changes",
"agent": "security",
"timestamp": "2026-04-30T14:17:46.974Z",
"findings": []
}QA Review DetailsLet me verify the plugin manifest paths and validate the counts claimed in the PR against actual filesystem state. Let me count the hooks more precisely and verify the marketplace.json: Now I have enough information. Let me verify the counts against the documentation claims: Counts from filesystem:
The PR claims:
These appear consistent with the filesystem. Now let me provide the QA verdict: QA Review: PR #1825PR Type ClassificationTest Coverage Assessment
Rationale: This PR changes documentation and JSON configuration files. No executable code was added or modified. Test coverage requirements do not apply per PR Type Detection rules. Validation Performed
Quality Concerns
Note: The hook count discrepancy (29 vs 25 entries in hooks.json) may reflect a different counting methodology (e.g., counting individual .py files in hooks directories rather than entries in hooks.json). This is cosmetic and does not affect functionality. Regression Risk Assessment
Pre-executed Test ResultsAll tests pass. No failures related to the changed files. VERDICT: PASS {
"verdict": "PASS",
"message": "Documentation accuracy pass with validated plugin manifests; no executable code changes.",
"agent": "qa",
"timestamp": "2026-04-30T14:19:20.350Z",
"findings": [
{
"severity": "low",
"category": "documentation",
"description": "Hook count in docs (29) differs from hooks.json entries (25); may reflect counting .py files vs hook entries",
"location": "README.md:48",
"recommendation": "Verify counting methodology is consistent; cosmetic issue only"
}
]
}Analyst Review DetailsNow I have sufficient context. Let me compile my analysis. Analysis: PR #1825Code Quality Score
Overall: 4.5/5 Impact Assessment
Findings
Recommendations
Evidence Verification
VerdictThe PR fixes 6 distinct rot patterns: dead skill-installer references, wrong Copilot plugin name, drifted counts, invalid {
"verdict": "PASS",
"message": "Documentation accuracy pass and plugin manifest hardening are well-executed with all CI gates passing",
"agent": "analyst",
"timestamp": "2026-04-30T14:17:35.859Z",
"findings": [
{
"severity": "low",
"category": "consistency",
"description": "README install matrix row for 'Claude agents only' states 24 agents while other sections use 23. This is explained by different plugin sources (src/claude/ vs .claude/agents/). No change needed if count is verified.",
"location": "README.md:161-164",
"recommendation": "Verify the 24 count matches src/claude/ agent file count"
},
{
"severity": "low",
"category": "documentation",
"description": "CodeRabbit flagged PASS/WARN/CRITICAL_FAIL terminology. Author correctly explains this matches /test gate output format, distinct from QA-agent verdicts.",
"location": "docs/getting-started.md:77",
"recommendation": "No action required; author's rationale is sound"
},
{
"severity": "low",
"category": "documentation",
"description": "CodeRabbit requested WORKFLOW-VALIDATION.md link in Go deeper section. Author rejected as off-topic (YAML workflow validation vs dev pipeline).",
"location": "docs/getting-started.md:116-121",
"recommendation": "No action required; rejection is reasonable"
}
]
}Architect Review DetailsBased on my review of the changed files, I can now provide the architectural assessment. Design Quality Assessment
Overall Design Score: 5/5 Architectural Concerns
No architectural concerns identified. The changes are documentation and configuration corrections. Breaking Change Assessment
The plugin manifest changes ( Technical Debt Analysis
Rationale:
ADR Assessment
The changes are accuracy corrections, not architectural decisions. The plugin manifest hardening (explicit paths vs auto-discovery) is a configuration preference, not a pattern change. Recommendations
Verdict{
"verdict": "PASS",
"message": "Documentation accuracy pass with plugin manifest hardening. No architectural changes. Reduces tech debt by fixing dead references, count drift, and session log schema compliance.",
"agent": "architect",
"timestamp": "2026-04-30T14:17:39.526Z",
"findings": []
}DevOps Review DetailsThe PR scope is clear. Let me verify the plugin manifest schema and check for any DevOps-relevant patterns in the changes. Based on my analysis, this PR changes no workflow files. Let me confirm the exact files in this PR and provide my DevOps review. DevOps Review: PR #1825PR Scope Detection
Classification: DOCS + CONFIG PR. No workflows, actions, or CI scripts modified. Pipeline Impact Assessment
CI/CD Quality Checks
Findings
Template Assessment
Plugin Manifest ReviewBoth plugin manifests validate per the PR description (
Session Log Schema FixThe session log now includes the four required
This fixes the failing Automation Opportunities
The PR already leverages existing validators ( Recommendations
Verdict{
"verdict": "PASS",
"message": "DOCS + CONFIG PR with no CI/CD changes. Plugin manifests validate. Session log schema fix restores CI gate compliance.",
"agent": "devops",
"timestamp": "2026-04-30T14:17:39.148Z",
"findings": [
{
"severity": "low",
"category": "templates",
"description": "Plugin manifest now declares explicit paths for agents, skills, commands, and hooks",
"location": ".claude/.claude-plugin/plugin.json",
"recommendation": "No action needed. This is an improvement that documents bundling intent."
},
{
"severity": "low",
"category": "templates",
"description": "Removed invalid commands path from Copilot CLI plugin manifest",
"location": "src/copilot-cli/.claude-plugin/plugin.json",
"recommendation": "No action needed. Copilot CLI has no slash command concept."
}
]
}Roadmap Review DetailsI now have sufficient context to provide the strategic alignment assessment for this PR. Strategic Alignment Assessment
Feature Completeness
Impact Analysis
Concerns
Recommendations
Verdict{
"verdict": "PASS",
"message": "Documentation accuracy pass removes adoption blockers and reconciles all published counts.",
"agent": "roadmap",
"timestamp": "2026-04-30T14:17:37.038Z",
"findings": [
{
"severity": "low",
"category": "scope",
"description": "PR scope expanded from original issue 1823 after audit revealed dead refs and wrong counts",
"location": "docs/getting-started.md:1",
"recommendation": "Acceptable. Audit findings documented in PR body. Better to fix now than ship broken docs."
},
{
"severity": "low",
"category": "documentation",
"description": "23 vs 24 agent count gap between Claude and Copilot bundles could confuse users",
"location": "README.md:376",
"recommendation": "Addressed via Bundle column in catalog table and explanatory text at L166."
}
]
}Run Details
Powered by AI Quality Gate workflow |
There was a problem hiding this comment.
Code Review
This pull request updates the docs/getting-started.md file by introducing a new section, 'Step 2: Understand the Workflow,' which provides a detailed overview of the 7-phase agent pipeline and its operational modes. As a result, the subsequent steps in the guide have been renumbered, and internal links have been updated for consistency. I have no feedback to provide as there were no review comments.
📝 WalkthroughWalkthroughAdds a workflow-first Step 2 to docs/getting-started.md describing a 7‑phase pipeline (phases, outputs, when to run them), Day Shift vs Night Shift model, and a mermaid pipeline diagram; renumbers subsequent steps and updates verification/examples. Also updates README and Claude/Copilot plugin manifests to declare asset paths and adjust install/verification commands and counts. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 4/5 reviews remaining, refill in 12 minutes. Comment |
There was a problem hiding this comment.
Warning
CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.
Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.
Actionable comments posted: 2
🧹 Nitpick comments (2)
docs/getting-started.md (2)
108-114: ⚡ Quick win[P1] Add missing cross-reference to WORKFLOW-VALIDATION.md.
“Go deeper” includes autonomous-issue-development.md and other items, but it omits WORKFLOW-VALIDATION.md, which is explicitly listed in the PR objectives. Add it to keep the workflow-first path complete.
Suggested addition
### Go deeper - [Autonomous issue development](autonomous-issue-development.md) for running the full pipeline AFK +- [Workflow validation](WORKFLOW-VALIDATION.md) for checking workflow/CI correctness before ship - [Ideation workflow](ideation-workflow.md) for turning vague ideas into specs before `/spec`🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/getting-started.md` around lines 108 - 114, The "Go deeper" list is missing a cross-reference to WORKFLOW-VALIDATION.md; add an entry to that list referencing WORKFLOW-VALIDATION.md (use a consistent link label like "Workflow validation" and the same list style as the other items) so the docs/getting-started.md "Go deeper" section includes the workflow validation doc alongside autonomous-issue-development.md and the other links.
63-72: ⚖️ Poor tradeoff[P2] Optional: tighten “2–3 sentence description per phase” to match the objective.
The table columns include “What it does / Artifact produced / When to use,” but most “What it does” cells are effectively 1 sentence. If the objective is strict, add an additional sentence to each “What it does” cell (still concise) or add a brief per-phase paragraph under the table.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/getting-started.md` around lines 63 - 72, The "What it does" column entries in the phase table are too brief; for each phase row (e.g., "Grill Me" `/spec` (requirements-interview), "PRD to Spec" `/spec` (completion), "Kanban" `/plan`, "Implement" `/build`, "QA" `/test`, "Review" `/review`, "Ship" `/ship`) add a second concise sentence that clarifies the objective or expected outcome (or alternatively add a short 1–2 sentence paragraph under the table for each phase) so each phase has a clear 2–3 sentence description matching the stated objective.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/getting-started.md`:
- Around line 69-71: Update the QA verdict wording in the Step 2 Phase 5 table
row (the "QA" / `/test` entry) so the artifact column uses the repo-standard
statuses "PASS/FAIL/NEEDS WORK" instead of "PASS/WARN/CRITICAL_FAIL"; edit the
text in the table cell where the gate verdicts are described to exactly read
"Gate verdicts table with PASS/FAIL/NEEDS WORK per gate" so it matches other
documentation and repo conventions.
- Around line 75-79: Update the Day/Night Shift bullets to explicitly state that
"QA" is a human-in-loop sign-off on Day Shift and that Night Shift runs the
automated /test gate: modify the "Day Shift" bullet to read something like "Day
Shift (human decision required): Grill Me interview responses, PRD review, QA
sign-off, ship decision" and modify the "Night Shift" bullet to emphasize
autonomous execution like "Night Shift (AFK or autonomous): /build loops,
automated /test gate runs, /review passes" so QA's human sign-off is clearly
scoped to Day Shift and /test is clearly autonomous.
---
Nitpick comments:
In `@docs/getting-started.md`:
- Around line 108-114: The "Go deeper" list is missing a cross-reference to
WORKFLOW-VALIDATION.md; add an entry to that list referencing
WORKFLOW-VALIDATION.md (use a consistent link label like "Workflow validation"
and the same list style as the other items) so the docs/getting-started.md "Go
deeper" section includes the workflow validation doc alongside
autonomous-issue-development.md and the other links.
- Around line 63-72: The "What it does" column entries in the phase table are
too brief; for each phase row (e.g., "Grill Me" `/spec`
(requirements-interview), "PRD to Spec" `/spec` (completion), "Kanban" `/plan`,
"Implement" `/build`, "QA" `/test`, "Review" `/review`, "Ship" `/ship`) add a
second concise sentence that clarifies the objective or expected outcome (or
alternatively add a short 1–2 sentence paragraph under the table for each phase)
so each phase has a clear 2–3 sentence description matching the stated
objective.
🪄 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: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: 732863e7-01e0-443f-98a9-c49818396f17
⛔ Files ignored due to path filters (1)
.agents/sessions/2026-04-29-session-1823-getting-started-workflow.jsonis excluded by!.agents/sessions/**
📒 Files selected for processing (1)
docs/getting-started.md
Review Triage RequiredNote Priority: NORMAL - Human approval required before bot responds Review Summary
Next Steps
Powered by PR Maintenance workflow - Add triage:approved label |
There was a problem hiding this comment.
Warning
CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.
Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/getting-started.md`:
- Around line 116-122: Add the missing workflow validation deep link to the "Go
deeper" Step 2 list: insert a bullet linking to WORKFLOW-VALIDATION.md alongside
the existing items (Autonomous issue development, Ideation workflow,
.claude/commands/spec.md, .claude/skills/requirements-interview/SKILL.md) under
the "Go deeper" header so the list matches the PR objective and completes the
workflow-first map.
🪄 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: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: b6b70daa-5958-46ac-8072-cf3b47d30f92
📒 Files selected for processing (1)
docs/getting-started.md
Add the four sessionEnd fields that the JSON schema requires
(serenaMemoryUpdated, validationPassed, markdownLintRun,
changesCommitted). The original log used legacy keys (lintRun,
commitAtomic) and omitted the other two; the required CI gate
"Validate .agents/sessions/2026-04-29-session-1823-getting-started-workflow.json"
was failing as a result, which in turn failed the required
"Aggregate Results" check.
Validated locally:
uv run python scripts/validate_session_json.py \
.agents/sessions/2026-04-29-session-1823-getting-started-workflow.json
-> [PASS] Session log is valid
Refs #1823
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CodeRabbit PR #1825 review comment (line 79) flagged that the Day/Night Shift split listed ship decisions and PRD review on Day Shift, but did not explicitly call out that QA gate verdicts require a human sign-off. /test runs autonomously on Night Shift, but the verdict on whether to proceed is a Day-Shift decision. Refs #1825 (CodeRabbit comment 3165802663) Refs #1823 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Single coherent doc-accuracy pass against ground truth from the filesystem and live tests against Claude Code and Copilot CLI: - Plugin name: Copilot CLI users were being told to install `project-toolkit@ai-agents`, which targets `./.claude` (Claude content) and lands 69 skills only. The correct Copilot bundle is `copilot-cli-toolkit@ai-agents`, which targets `./src/copilot-cli` and lands 24 agents + 28 hooks + 81 skills. - Counts: replace "21 agents / 62 skills / 57 ADRs / 49 skills / 17+ commands / 50+ skills" with the actual marketplace.json numbers split per platform (Claude: 23 agents, 23 commands, 29 hooks, 69 skills; Copilot: 24 agents, 28 hooks, 81 skills). ADR count removed from end-user copy because ADRs do not ship with the plugins; they are an internal governance artifact. - Dead refs: skill-installer is a deprecated upstream tool. Removed the install path, prerequisites, troubleshooting block, and the Core Capabilities bullet that pointed at it. - Verification step: `copilot --list-agents` is not a real flag. Replaced with `copilot plugin list` (verified locally) plus an end-to-end check via `copilot -p "analyst: respond with 'available'"`. - Catalog: deduplicated `backlog-generator`, added the three agents the catalog was missing (issue-feature-review, merge-resolver, negotiation), and added a Bundle column to surface the per-platform asymmetry (`spec-generator` is Claude only; `backlog-generator` is Copilot only). - README L311: `/test` row was missing the `non-functional` gate name despite saying "6 quality gates"; restored the sixth name to match `.claude/commands/test.md`. Local validation: copilot plugin marketplace add rjmurillo/ai-agents -> ok copilot plugin install copilot-cli-toolkit@ai-agents -> 81 skills copilot plugin install claude-toolkit@ai-agents -> 69 skills copilot plugin install claude-agents@ai-agents -> ok (agents) copilot plugin install copilot-cli-agents@ai-agents -> 81 skills copilot plugin list -> ok grep skill-installer README.md docs/getting-started.md -> empty grep -- --list-agents README.md docs/getting-started.md -> empty Refs #1825 Refs #1823 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
User asked why plugin install differs between bundles. Investigation found two manifest-level bugs in src/copilot-cli/.claude-plugin/plugin.json plus one missing-explicitness gap in .claude/.claude-plugin/plugin.json. src/copilot-cli/.claude-plugin/plugin.json - Drop `"commands": "./skills"`. Copilot CLI has no concept of slash commands, and pointing the `commands` index at the skills directory is nonsense even on Claude semantics. The validator accepted it because it starts with `./`, but no install path consumes it. - Bump skill count in description from 79 to 81 to match the actual count under src/copilot-cli/skills/. .claude/.claude-plugin/plugin.json - Add explicit `agents`, `skills`, `commands`, and `hooks: ./hooks/hooks.json` declarations. The plugin worked before via auto-discovery (Anthropic schema, see PR #1795 / .serena/memories /claude/claude-code-plugin-manifest-schema.md), but explicit paths document bundling intent. Without them, a future reorg could quietly drop content from the install. Did NOT add `hooks` to src/copilot-cli/.claude-plugin/plugin.json because the validator (build/scripts/validate_plugin_manifests.py) checks the referenced hooks.json against the Claude PascalCase event list (PreToolUse, PostToolUse, ...). src/copilot-cli/hooks/hooks.json uses Copilot CLI's camelCase events (preToolUse, postToolUse, userPromptSubmitted, ...), so declaring the field would fail validation. Auto-discovery picks the file up at install time, which is the same path it took before; explicit declaration would need a validator update first. Verification (all locally): uv run python build/scripts/validate_plugin_manifests.py -> All 3 manifest(s) valid uv run pytest tests/test_marketplace_two_plugin.py -v -> 14 passed uv run pytest tests/test_bootstrap.py -v -> 7 passed uv run pytest tests/integration/test_e2e_install.py -v -> 13 passed uv run pytest -k "marketplace or plugin or bootstrap or e2e" -v -> 111 passed, 7703 deselected Per-plugin install content (live, against rjmurillo/ai-agents marketplace): claude-agents : 24 agents at root (no skills/hooks) copilot-cli-agents : 24 agents + 81 skills + hooks dir project-toolkit : 25 agents + 69 skills + hooks dir + commands dir claude-toolkit : 25 agents + 69 skills + hooks dir + commands dir copilot-cli-toolkit : 24 agents + 81 skills + hooks dir Refs #1795 (schema authority + validator) Refs #1825 Refs #1823 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Spec-to-Implementation ValidationTip ✅ Final Verdict: PASS What is Spec Validation?This validation ensures your implementation matches the specifications:
Validation Summary
Spec References
Requirements Traceability DetailsNow let me view the README.md and plugin manifest changes to complete the analysis: Now I have sufficient information to complete the requirements traceability analysis. Let me compile the findings: Requirements Coverage Matrix
Summary
Expanded Scope Items (Beyond Issue #1823)The PR description documents expanded scope approved by the user. These are not requirements from Issue #1823 but are implementation choices that passed validation:
GapsNone identified. All 13 requirements from Issue #1823 are covered by the implementation.
Implementation Completeness DetailsNow I have all the information I need to validate the implementation against the specification in Issue #1823. Let me analyze the acceptance criteria and check implementation completeness. Acceptance Criteria Checklist
Additional Work (Expanded Scope Per PR Description)
Missing FunctionalityNone. All acceptance criteria from Issue #1823 are satisfied. Edge Cases Not Covered
Implementation Quality
Run Details
Powered by AI Spec Validator workflow |
There was a problem hiding this comment.
Warning
CodeRabbit couldn't request changes on this pull request because it doesn't have sufficient GitHub permissions.
Please grant CodeRabbit Pull requests: Read and write permission and re-run the review.
Actionable comments posted: 1
♻️ Duplicate comments (2)
docs/getting-started.md (2)
77-77:⚠️ Potential issue | 🟠 Major | ⚡ Quick win[P1] Use repo-standard QA verdict terms in the phase table.
The QA artifact uses
PASS/WARN/CRITICAL_FAIL, but repo docs standardize this asPASS/FAIL/NEEDS WORK.Proposed fix
-| 5 | QA | `/test` | Six quality gates: functional, non-functional, security, DevOps, DX, observability | Gate verdicts table with PASS/WARN/CRITICAL_FAIL per gate | After `/build` completes a slice | +| 5 | QA | `/test` | Six quality gates: functional, non-functional, security, DevOps, DX, observability | Gate verdicts table with PASS/FAIL/NEEDS WORK per gate | After `/build` completes a slice |As per coding guidelines: "Maintain consistent terminology for QA assessment statuses: use PASS/FAIL/NEEDS WORK."
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/getting-started.md` at line 77, The QA phase table currently uses the non-standard verdict terms "PASS/WARN/CRITICAL_FAIL"; update the table entry in docs/getting-started.md (the QA artifact string) to use the repo-standard terms "PASS/FAIL/NEEDS WORK" instead so the phase row for QA matches other docs and guidelines.
116-121:⚠️ Potential issue | 🟡 Minor | ⚡ Quick win[P1] Add the missing workflow validation cross-reference in “Go deeper”.
Step 2 still omits
WORKFLOW-VALIDATION.md, which leaves the linked issue objective incomplete.Proposed fix
### Go deeper - [Autonomous issue development](autonomous-issue-development.md) for running the full pipeline AFK - [Ideation workflow](ideation-workflow.md) for turning vague ideas into specs before `/spec` +- [Workflow validation](WORKFLOW-VALIDATION.md) for gate expectations and evidence checks - [`.claude/commands/spec.md`](../.claude/commands/spec.md) for the full `/spec` process reference - [`.claude/skills/requirements-interview/SKILL.md`](../.claude/skills/requirements-interview/SKILL.md) for Grill Me skill internals🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/getting-started.md` around lines 116 - 121, The "Go deeper" list in getting-started.md is missing a cross-reference to WORKFLOW-VALIDATION.md; update the list (the block under the "Go deeper" heading in docs/getting-started.md) to include a new bullet linking to WORKFLOW-VALIDATION.md (e.g., "Workflow validation (WORKFLOW-VALIDATION.md)") so the workflow validation step is referenced alongside the existing items like "Autonomous issue development" and the `.claude` links.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@README.md`:
- Around line 161-164: Summary: The install matrix row for "Claude agents only"
incorrectly lists 24 agents instead of 23; update the table entry to match the
rest of the README. Fix: edit the table row containing the string "Claude agents
only" and the install token "claude-agents@ai-agents" to change "24 specialized
agent definitions for Claude Code" to "23 specialized agent definitions for
Claude Code", and verify the count now matches the "Claude full toolkit" and
other Claude references.
---
Duplicate comments:
In `@docs/getting-started.md`:
- Line 77: The QA phase table currently uses the non-standard verdict terms
"PASS/WARN/CRITICAL_FAIL"; update the table entry in docs/getting-started.md
(the QA artifact string) to use the repo-standard terms "PASS/FAIL/NEEDS WORK"
instead so the phase row for QA matches other docs and guidelines.
- Around line 116-121: The "Go deeper" list in getting-started.md is missing a
cross-reference to WORKFLOW-VALIDATION.md; update the list (the block under the
"Go deeper" heading in docs/getting-started.md) to include a new bullet linking
to WORKFLOW-VALIDATION.md (e.g., "Workflow validation (WORKFLOW-VALIDATION.md)")
so the workflow validation step is referenced alongside the existing items like
"Autonomous issue development" and the `.claude` links.
🪄 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: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: bcfb3b13-4856-438f-a462-e57e1bb21dc3
⛔ Files ignored due to path filters (1)
.agents/sessions/2026-04-29-session-1823-getting-started-workflow.jsonis excluded by!.agents/sessions/**
📒 Files selected for processing (4)
.claude/.claude-plugin/plugin.jsonREADME.mddocs/getting-started.mdsrc/copilot-cli/.claude-plugin/plugin.json
CodeRabbit flagged that the install matrix says "24 agents" for the agents-only Claude plugin while the headline and the toolkit row say "23 agents". Both numbers are accurate but reflect different source directories: - claude-agents plugin -> src/claude/ -> 24 agent definitions - claude-toolkit plugin -> .claude/agents/ -> 23 agent definitions The two source dirs are kept in sync where they overlap but each set includes agents the other does not. The headline number (23) reflects the Fastest Start path (full toolkit), which is what most users get. Update the install-matrix descriptions to cite the source directory inline so the asymmetry is visible at the point of confusion. Add a paragraph below the table explaining the gap so future readers do not re-flag it. Refs #1825 (CodeRabbit comment on README.md:164) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
README.md (1)
410-423:⚠️ Potential issue | 🟡 Minor | ⚡ Quick win[P1] Add
.claude/to the repo tree to match install/source docsThe tree omits
.claude/, but Lines 163 and 166 describe.claude/as the Claude full-toolkit source. Keep this section aligned to avoid conflicting guidance.Proposed fix
ai-agents/ ├── src/ │ ├── vs-code-agents/ # VS Code / GitHub Copilot agents │ ├── copilot-cli/ # GitHub Copilot CLI agents │ └── claude/ # Claude Code CLI agents +├── .claude/ # Claude full-toolkit agents, commands, hooks, skills ├── templates/ # Agent template system ├── scripts/ # Validation and utility scripts ├── docs/ # Documentation ├── .agents/ # Agent artifacts (ADRs, plans, etc.) ├── .claude-plugin/ # Plugin marketplace manifest (marketplace.json)As per coding guidelines: “Ensure cross-references between documentation files are accurate and up-to-date.”
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 410 - 423, The repository tree in README.md is missing the .claude/ directory listed elsewhere; update the tree block to include a line for ".claude/ # Claude full-toolkit source" so it aligns with the references on Lines 163 and 166 (and other docs). Locate the tree snippet containing "ai-agents/ ├── src/" and add the ".claude/" entry in the top-level list (consistent with ".claude-plugin/" and ".agents/") and ensure the short description matches the phrasing used in CLAUDE.md and other references.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@README.md`:
- Around line 410-423: The repository tree in README.md is missing the .claude/
directory listed elsewhere; update the tree block to include a line for
".claude/ # Claude full-toolkit source" so it aligns with the references on
Lines 163 and 166 (and other docs). Locate the tree snippet containing
"ai-agents/ ├── src/" and add the ".claude/" entry in the top-level list
(consistent with ".claude-plugin/" and ".agents/") and ensure the short
description matches the phrasing used in CLAUDE.md and other references.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Pro
Run ID: e7cc61fb-45ed-40d0-a895-1eb656b96f08
📒 Files selected for processing (1)
README.md
This regression (agents/skills/commands/hooks rejected by Claude Code at install time) has shipped THREE TIMES in five days: - PR #1773 (Apr 26) — original break - PR #1825 (Apr 30) — re-broke as 'plugin manifest hardening' - PR #1835 v1/v2 (Apr 30, this branch) — wrong fixes before landing on the right one (delete the keys) Each iteration cost the same set of investigations and customer outage because the prior fix's reasoning was nowhere a future contributor would find it. ADR-058 fixes that by encoding the rule + the history + the gate references into one canonical document. Wires: - build/scripts/validate_plugin_manifests.py Adds _check_adr_058_forbidden_keys() called from validate_manifest() BEFORE any field-level validation. Error message cites ADR-058 and the PR history so a future contributor lands on the postmortem. - tests/build_scripts/test_validate_plugin_manifests.py Inverts pre-ADR-058 'this key is valid' assertions into 'ADR-058 rejects this key' assertions. Adds 8 new test cases covering each forbidden key + the 'multiple keys produce one consolidated message' contract + the 'minimal manifest still passes' negative case. - scripts/validation/test_plugin_install.sh Header now references ADR-058 as the canonical source of the rule. All 262 tests in tests/build_scripts/ pass. Live install smoke test still passes for the 3 Claude-targeted plugins; Copilot-targeted plugins' separate hook-format issue intentionally out of scope (see PR description).
Summary
Originally scoped to add a workflow-first Step 2 to
docs/getting-started.mdfor issue #1823. Audit during /review found a deeper rot pattern across the install path that I expanded scope to fix once the user confirmed: dead skill-installer references, an unpublished npm package as the headline command, wrong Copilot plugin name, every published count number drifted from reality, an invalidcommandspath in the Copilot plugin manifest, and the failing session-log schema check that was blocking merge.Changes
Original (issue #1823)
docs/getting-started.md: insert Step 2 "Understand the Workflow" with the 7-phase pipeline (Grill Me, PRD->Spec, Kanban, Implement, QA, Review, Ship), per-phase table, Day Shift / Night Shift split, Mermaid sequence diagram, "Go deeper" cross-references. Renumbered subsequent steps; updated Fastest Start anchor.CI gate fix
.agents/sessions/2026-04-29-session-1823-getting-started-workflow.json: added the foursessionEndMUST fields the schema requires (serenaMemoryUpdated,validationPassed,markdownLintRun,changesCommitted). The legacy keys (lintRun,commitAtomic) were causing the requiredAggregate Resultscheck to fail. Validated locally withuv run python scripts/validate_session_json.py ...->[PASS] Session log is valid.Doc accuracy + dead refs (expanded scope)
README.mdanddocs/getting-started.md:project-toolkit@ai-agents, which targets./.claude(Claude content). The correct Copilot bundle iscopilot-cli-toolkit@ai-agents, which targets./src/copilot-cliand lands 24 agents + 28 hooks + 81 skills.copilot --list-agents(no such flag exists in real GitHub Copilot CLI) with the verifiedcopilot plugin list, plus an end-to-end check viacopilot -p "analyst: respond with 'available'"./testruns autonomously on Night Shift, but the verdict on whether to proceed is a Day-Shift decision.non-functionalgate name.backlog-generator(was listed twice with different descriptions). Add three agents the catalog was missing:issue-feature-review,merge-resolver,negotiation. Add aBundlecolumn to the catalog so the per-platform asymmetry is visible (spec-generatoris Claude-only;backlog-generatoris Copilot-only).Plugin manifest hardening (per user request)
src/copilot-cli/.claude-plugin/plugin.json: drop"commands": "./skills". Copilot CLI has no concept of slash commands, and pointing thecommandsindex at the skills directory was nonsense even on Claude semantics. Bump the description's skill count from 79 to 81 to match disk..claude/.claude-plugin/plugin.json: declare explicitagents,skills,commands, andhooks: ./hooks/hooks.jsonpaths. The plugin worked before via auto-discovery (per the schema captured during PR fix(plugins): repair plugin.json schema (P0 - customer install broken) #1795 incident response), but explicit paths document bundling intent and survive future reorgs without silent content drops.Notes
CodeRabbit flagged
PASS/WARN/CRITICAL_FAILon docs/getting-started.md L71 and asked me to switch toPASS/FAIL/NEEDS WORK. Rejected: those are two different verdict surfaces. The .claude/commands/test.md command file literally emitsVERDICT: PASS|WARN|CRITICAL_FAILfor each gate.PASS/FAIL/NEEDS WORKis the QA-agent verdict format used in orchestrator validation and HANDOFF-TERMS. The doc accurately describes what/testoutputs.CodeRabbit also flagged a missing link to docs/WORKFLOW-VALIDATION.md in the new "Go deeper" section. Rejected: that file documents how to validate GitHub Actions YAML workflows, which is unrelated to the development workflow pipeline (Grill Me -> Ship) that Step 2 introduces. Adding it would be off-topic for end-user onboarding.
Tests
Test plan
Aggregate ResultsCI check passes (was failing on the session log schema)copilot plugin installcopilot plugin listis a real command andcopilot --list-agentsis not/install-plugin rjmurillo/ai-agentsdocumented as Claude Code only; Copilot users get the explicit two-step flowRefs #1795 (plugin manifest schema authority + validator)
Closes #1823
🤖 Generated with Claude Code