feat(catalog): add Spec Kit Schedule (schedule) community extension#2473
Open
jfranc38 wants to merge 7 commits intogithub:mainfrom
Open
feat(catalog): add Spec Kit Schedule (schedule) community extension#2473jfranc38 wants to merge 7 commits intogithub:mainfrom
jfranc38 wants to merge 7 commits intogithub:mainfrom
Conversation
CP-SAT scheduler for spec-kit projects with multi-agent task optimization. Adds catalog entry for v0.5.2 release. Pre-flight verification: - archive/refs/tags/v0.5.2.zip resolves (HTTP 200, 718322 bytes, SHA-256 00d4dab1df680e5888e0d0e861eb4696ace00661d40669bf719a75dc379b40b5) - extension.yml schema_version 1.0, id 'schedule', 3 commands (speckit.schedule.run, speckit.schedule.portfolio, speckit.schedule.visualize) - 566 tests passing on Ubuntu 3.10/3.11/3.12 + macOS 3.12 (all blocking) - 92.51% line coverage, mypy --strict on 28 modules - Sigstore attestations via attest-build-provenance@v2 (gh attestation verify exit 0 confirmed) - 4 worked examples + replan demo runnable via bash bin/run-examples.sh License: MIT speckit_version: >=0.4.0
v0.5.2 had two real-world install bugs caught when a user tried the documented commands: 1. README/INSTALL showed 'specify extension add --from URL' (missing the EXTENSION positional arg). The canonical form is 'specify extension add schedule --from URL'. Fixed in v0.5.3. 2. Release zip was ~5x bigger than peer extensions due to dev cruft (.github/, tests/, benchmarks/, build metadata). Added .gitattributes export-ignore in v0.5.3, dropping the zip from 718 KB to 590 KB. v0.5.3 archive verified HTTP 200, sigstore attestations active.
Adds an opt-in after_tasks hook so users get prompted to run the scheduler immediately after /speckit.tasks, without forcing it. Mirrors the canonical pattern used by the bundled 'git' extension.
Documents the after_tasks hook in README and rewrites the /speckit.schedule.portfolio command to autodetect the project's tech stack via solver.autodetect, then refine interactively against the matching recipe in docs/portfolio-design.md, instead of starting from a blank slate.
State now encapsulated under .specify/, /speckit.schedule.run is idempotent with auto-bootstrap, and portfolio detection is AI-aware (reads .specify/integration.json and discovers the user's fleet from the canonical location for whichever spec-kit AI assistant they chose: claude, copilot, cursor-agent, gemini, or any of the other 26 supported integrations).
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new community extension entry (schedule) to Spec Kit’s community extension catalog so it can be discovered/installed via the community catalog.
Changes:
- Added the Spec Kit Schedule extension metadata (id, description, URLs, version, tags, provides/requires) to
extensions/catalog.community.json.
Show a summary per file
| File | Description |
|---|---|
| extensions/catalog.community.json | Adds the new schedule community extension entry (metadata, URLs, version, tags, provides/requires). |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 1
Per-AI portfolio templates with verified May 2026 GA models (gpt-5.5 flagship, claude-opus-4-7, gemini-2.5-flash). Critical price unit fix (cost_aware reported $ figures 1000× inflated in v0.6.0). Plus calibration feedback loop and inline summary.
Per Copilot review on PR github#2473: the publishing guide requires an accepted submission to update both extensions/catalog.community.json AND the root README's Community Extensions table. Without the README row the extension wouldn't appear in the primary browsable list. Inserted alphabetically between 'Spec Diagram' and 'Spec Orchestrator'. Category: process. Effect: Read+Write.
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.
Summary
Adds the Spec Kit Schedule extension to the community catalog.
A spec-kit extension that uses constraint programming (Google OR-Tools CP-SAT) to produce provably optimal task-to-agent assignments with DAG precedence, hallucination-aware capacity caps, file-conflict avoidance, stochastic durations, online replanning, and interactive HTML output.
speckit.schedule.run,speckit.schedule.portfolio,speckit.schedule.visualize,speckit.schedule.calibrate)after_tasks, opt-in — surfaces/speckit.schedule.runafter/speckit.tasksfinishes; user prompted, never auto-executed)Pre-flight verification
dfb99412ad5d4eb0d33549094614f814e5680543214f6529d4c75496731659d8)extension.ymlschema_version: "1.0"parses cleanlyhooks.after_tasksmatches canonical shape from bundledgitextension (command/optional/prompt/description)schedulefollows^[a-z0-9-]+$conventionrippleandscopespecify extension add schedule --from <url>from a fresh project)Quality signals
mypy --strictclean across 9 strict-tier modules;mypyclean across all 34 solver modules.actions/attest-build-provenance@v2on the GitHub Release asset. Verifiable:gh attestation verify <release-asset> --owner jfranc38(exit 0 confirmed for v0.6.1).bash bin/run-examples.sh.README.md,INSTALL.md,CHANGELOG.md,docs/architecture.md,docs/formulation.md(formal MS-RCPSP math),docs/portfolio-design.md,docs/tasks-format.md,docs/when-to-use.md,docs/calibration.md.Capabilities highlighted in v0.6.1
claude/copilot/cursor-agent/geminiwith verified May 2026 GA models and corrected per-1K pricing (Anthropicclaude-opus-4-7/sonnet-4-6/haiku-4-5, OpenAIgpt-5.5flagship +gpt-5.4-mini+o4-mini, Googlegemini-2.5-pro/flash/flash-lite)..specify/integration.jsonto identify the chosen spec-kit AI assistant and discovers the user's on-disk fleet from the canonical location for that AI; combines discovered implementer-shaped agents + base-portfolio gap-fillers; reviewer- and hybrid-shaped agents are surfaced separately rather than force-fit..specify/; the user's project root is never polluted./speckit.schedule.runauto-bootstraps the encapsulated venv and scaffolds the portfolio config on first invocation..specify/schedule/runs/; users append actual durations and/speckit.schedule.calibrateEMA-updatesspeed_factorfrom real data./speckit.schedule.runnow prints a compact summary (status, makespan, agent utilisation, top-3 critical waves, cost split) inline before openingschedule.md.Test plan
🤖 Generated with Claude Code