Fix repo structure to match what's expected for marketplace - #2
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR restructures the repository into a Claude Code marketplace package layout for the dev-team plugin, including plugin manifests, command/agent content, and the dev-team pipeline orchestrator.
Changes:
- Added marketplace packaging metadata (
.claude-plugin/marketplace.json) and enabled the plugin via.claude/settings.json. - Added the
dev-teamplugin contents underplugins/dev-team/(agents, commands, scripts, and workflow plans). - Added validation wrapper scripts (
validate*) and the Python orchestrator (scripts/dev_team.py) to drive the multi-agent pipeline.
Reviewed changes
Copilot reviewed 3 out of 31 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/dev-team/scripts/validate.sh | Unix wrapper to run build + test validation scripts. |
| plugins/dev-team/scripts/validate.cmd | Windows wrapper to run build + test validation scripts. |
| plugins/dev-team/scripts/validate-tests.sh | Stub tests validation script (shell). |
| plugins/dev-team/scripts/validate-tests.cmd | Stub tests validation script (cmd). |
| plugins/dev-team/scripts/validate-build.sh | Stub build validation script (shell). |
| plugins/dev-team/scripts/validate-build.cmd | Stub build validation script (cmd). |
| plugins/dev-team/scripts/implement-task-plan.md | Mermaid workflow for “implement task” pipeline. |
| plugins/dev-team/scripts/fix-issue-plan.md | Mermaid workflow for “fix issue” pipeline. |
| plugins/dev-team/scripts/dev_team.py | New pipeline orchestrator (workflow parsing, state machine, agent invocation, validation, review/signoff loop). |
| plugins/dev-team/commands/spec.md | New command skill for drafting _spec_*.md specs iteratively. |
| plugins/dev-team/commands/reviewer-sign-off.md | New reviewer sign-off skill instructions. |
| plugins/dev-team/commands/reviewer-review.md | New first-pass review skill instructions. |
| plugins/dev-team/commands/reviewer-pr-review.md | New skill to respond to human reviewer comments and propose CONTRIBUTING updates. |
| plugins/dev-team/commands/researcher-validate.md | New researcher validation skill (exit-criteria validation). |
| plugins/dev-team/commands/researcher-spec-review.md | New researcher spec readiness review skill. |
| plugins/dev-team/commands/researcher-plan.md | New researcher planning skill (spec-driven task brief). |
| plugins/dev-team/commands/researcher-issue.md | New researcher issue-based brief skill (with optional debug report). |
| plugins/dev-team/commands/developer-implement.md | New developer implementation skill (TDD-first) instructions. |
| plugins/dev-team/commands/developer-fix.md | New developer fix-loop skill instructions. |
| plugins/dev-team/commands/developer-create-pr.md | New developer PR creation skill instructions. |
| plugins/dev-team/commands/dev-team.md | New entry-point command for selecting pipeline and launching orchestrator. |
| plugins/dev-team/commands/debugger-investigate.md | New debugger skill for issue reproduction + root cause reporting. |
| plugins/dev-team/commands/create-branch.md | New shared branch creation skill instructions. |
| plugins/dev-team/commands/add-to-spec.md | New command to append requirements/tasks to an existing spec iteratively. |
| plugins/dev-team/agents/reviewer.md | New reviewer agent definition. |
| plugins/dev-team/agents/researcher.md | New researcher agent definition. |
| plugins/dev-team/agents/developer.md | New developer agent definition. |
| plugins/dev-team/agents/debugger.md | New debugger agent definition. |
| plugins/dev-team/.claude-plugin/plugin.json | Updated plugin manifest content (commands only). |
| .claude/settings.json | Enables the dev-team plugin by name/version reference. |
| .claude-plugin/marketplace.json | Marketplace package manifest describing included plugin(s). |
Comments suppressed due to low confidence (1)
plugins/dev-team/.claude-plugin/plugin.json:6
- The plugin manifest no longer declares an
agentsdirectory, but the orchestrator loads agent definitions from<plugin-root>/agents/<name>.md. If the plugin packaging/validation only includes declared directories, this would make the pipeline fail at runtime withAgent definition not founderrors.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jodavis-claude
pushed a commit
that referenced
this pull request
Jul 6, 2026
… agent+turn-skill split Follow-up to commit 2b38859, per explicit user decision to fold the sign-off reviewer's Priority 4 recommendation into this same PR rather than deferring it: _spec_TddForImplementation.md still described the old once-at-the-end tdd-refactorer cadence and the "second, separate commit" rule that no longer applies, and described tdd-tester/tdd-implementer as monolithic agent files (predating ADR-301's merged agent+turn-skill split) and tdd-refactorer.md as single self-contained file (predating this PR's own tdd-refactor-turn split). - "TDD ping-pong protocol" section: tdd-refactorer's role description, "The loop"'s numbered steps, the resolve_directly escalation text, the "Refactor, after done" subsection (renamed "Refactor, interleaved after every green"), and the "Commits" section all now describe a tdd-refactorer turn after every real green (never after structural-green), staged mid-loop like every other turn, with a single real commit per component rather than a second separate one. - "Key Classes / Files": tdd-tester.md/tdd-implementer.md/tdd-refactorer.md bullets rewritten to describe the actual thin-agent + turn-mechanics-skill split (tdd-red-turn / tdd-green-turn / tdd-refactor-turn), matching what's merged on disk instead of describing the protocol as embedded directly in the agent files. implement-tdd/SKILL.md bullet updated to describe spawning the trio together and a single commit. - Data Flow diagram updated to match (trio spawned together, refactor turn after every real green, single commit-changes). - ADR-302's own Tasks-section entry (title, description, and exit criterion #2) reworded to match the interleaved behavior instead of "one turn after a component reaches done". No code changes in this commit — spec/documentation only.
jodavis
pushed a commit
that referenced
this pull request
Jul 21, 2026
…lver (#70) * ADR-308: implement Task readiness checker via TDD (dependency_status covers no-context-file (not_started), state=done, state=failed, pr_url-implies-ready with non-terminal state, and the in_progress fallback; is_task_eligible covers empty dependency_ids, single-dependency ready/in_progress/not_started, all-done (2+), all-but-one-done with ready-branch substitution, 2+ short of done (waiting), and a failed dependency short-circuiting to blocked — all 13 tests green, every branch of both functions exercised) * ADR-308: extend ensure-working-branch with dependency-aware base-branch resolution and worktree-freshness check - ensure-working-branch gains a new first action (before all other steps): the worktree-freshness hard-stop check (git stash list / git status --short both must be empty), guarding against the confirmed upstream isolation:"worktree" collision bug. - New sub-step 4b (after the existing spec-file lookup) reads this task's own Depends on: entries via task_dependencies.py and calls task_readiness.py's is_task_eligible via a new CLI wrapper; uses the returned base_branch when eligible with a real branch, falls through to the unchanged feature-branch lookup when eligible with no override or no dependencies, and hard-stops with a clear error for waiting/blocked (resolving the brief's ambiguity #2 conservatively: never silently start a working branch without its actual dependency). - Adds task_readiness.py's missing main() CLI wrapper (JSON on stdout, Error: ... on stderr) so the prose skill can invoke it via Bash, plus one narrow integration test for the primary happy-path CLI scenario. - All existing steps renumbered (3a-3e -> 4a,4c-4f) with only additive content otherwise. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzenM31PAQmpj6ERNZjpTY * ADR-308: add missing python prefix to task_dependencies.py invocation in ensure-working-branch/SKILL.md 4b.1 Sub-step 4b.1 invoked task_dependencies.py as a bare path via Bash; since the script is not chmod +x, this fails with Permission denied (exit 126). Adding the python interpreter prefix, matching every other SKILL.md's invocation convention, fixes this (verified: python3 <path> succeeds against a non-executable file). Addresses PR #70 review thread 3590232708. * ADR-308: add missing python prefix to task_readiness.py invocation in ensure-working-branch/SKILL.md 4b.3 Sub-step 4b.3 invoked task_readiness.py as a bare path via Bash; since the script is not chmod +x, this fails with Permission denied (exit 126). Adding the python interpreter prefix, matching every other SKILL.md's invocation convention, fixes this (verified: python3 <path> succeeds against a non-executable file, printing the expected JSON). Addresses PR #70 review thread 3590232714. * ADR-308: document non-zero-exit error path for 4b's script invocations Sub-step 4b.1/4b.3 described only the success path (JSON on stdout) and never said what to do if task_dependencies.py or task_readiness.py exits non-zero (both print a clear 'Error: ...' message to stderr on failure, per their main() implementations). Added the 'surface the error and stop' instruction to both sub-steps, matching the existing convention elsewhere in the repo. Addresses PR #70 review thread 3590232713. * ADR-308: extract _dependency_status_and_context() to dedupe is_task_eligible's repeated dependency lookup is_task_eligible's single-still-open-dependency branch re-derived get_repo_slug() and reloaded the winning dependency's context file that dependency_status() (via the new shared helper) had already loaded moments earlier in the same call. Extracted _dependency_status_and_context() so the PipelineContext is loaded once per dependency and reused for the working_branch lookup; dependency_status() now delegates to it and discards the context. No public signature or behavior changed — this is a pure extract-method refactor. Verification note: the existing 14 tests in test_task_readiness.py were manually traced case-by-case against this refactor (all return the same tuples for the same inputs); an automated pytest run could not be completed in this session due to a Bash-tool-classifier outage that also blocked 'python3 -c ...'/'python3 -m ...' invocations throughout this session (git/gh commands were unaffected). This should be re-run before merge to confirm. Addresses PR #70 review thread 3590232718 (P4/non-blocking). --------- Co-authored-by: Claude on behlaf of jodavis <ElwoodMoves@hotmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.