Skip to content

Skills ​

Elke OpenSpec-skill: argumenten, wat het aanmaakt en waarop het reageert.

De skills komen in twee sets:

  • Core: standaard geïnstalleerd, de belangrijkste planning-loop.
  • Optional: alleen geïnstalleerd wanneer je ze toevoegt, via Profielen.

Elke skill verwacht een project dat al OpenSpec gebruikt. Vóór zijn eerste stap die iets schrijft, controleert een skill op een opgeloste root. Wat er gebeurt als er geen is, hangt af van hoe de skill werd bereikt:

  • Automatisch geselecteerd: je agent heeft de skill zelf gekozen, zonder dat jij OpenSpec noemde. Het laat OpenSpec vallen en beantwoordt je verzoek op de normale manier, zoals het zou doen zonder OpenSpec geïnstalleerd.
  • Expliciet OpenSpec-verzoek: je noemde OpenSpec, noemde de skill, of voerde het commando uit. Het stopt vóór het schrijven en vraagt hoe verder te gaan: voer openspec init hier uit, richt een store in met --store <id>, of ga door zonder OpenSpec. Het wacht op je antwoord.

Commando's zijn altijd het tweede geval. Een project waarvan openspec/config.yaml een store noemt die deze machine niet kan oplossen (niet geregistreerd, of een ongeldige store: regel) wordt niet behandeld als niet-geïnitialiseerd: de skill stopt en toont de store-fout met de bijbehorende oplossing. Geen enkele skill maakt in beide gevallen zelf een openspec/ map aan. De vermeldingen hieronder beschrijven wat elke skill doet zodra een root aanwezig is.

SkillTaakType
openspec-exploreDenk een idee door voordat het een change proposal wordtCore
openspec-proposeMaak een change proposal met al zijn planningsartefacten in één stapCore
openspec-apply-changeImplementeer de taken van een change proposalCore
openspec-update-changeHerzie het plan van een change proposalCore
openspec-sync-specsVoeg de spec-updates van een change proposal samen in specs/Core
openspec-archive-changeVerplaats een voltooide change proposal naar het archiefCore
openspec-new-changeStart een change proposal als een lege scaffoldOptional
openspec-continue-changeMaak het volgende planningsartefact aan, één voor éénOptional
openspec-ff-changeMaak een change proposal met elk artefact dat de implementatie nodig heeft, in één keerOptional
openspec-verify-changeControleer of de implementatie overeenkomt met het planOptional
openspec-bulk-archive-changeArchiveer meerdere change proposals tegelijkOptional
openspec-onboardLeer de workflow door één echte change proposal van begin tot eind te doenOptional

Elke vermelding hieronder noemt de skill die de volgende stap bezit. Wanneer je profiel die skill weglaat, noemen de geïnstalleerde bestanden hem nooit: de overdracht wordt het equivalente openspec commando, of een gewoon verzoek aan jou, en een regel die alleen bestaat om naar een ontbrekende skill te verwijzen, wordt helemaal niet geschreven. Dus de skills die je hebt, geven altijd door aan skills die je hebt. Welke set je krijgt, staat in Profielen.

openspec-explore ​

Denk grondig na over een idee voordat het een wijzigingsvoorstel wordt.

ContractBeschrijving
ArgumentenEen onderwerp: een idee, een probleem, een vergelijking, of de naam van een bestaand wijzigingsvoorstel om in context te verkennen. Als er niets wordt opgegeven, gaat het in verkenningsmodus.
CreëertStandaard niets. Het leest en onderzoekt alleen. Op verzoek legt het inzichten vast: een nieuw wijzigingsvoorstel onder openspec/changes/<name>/, of updates aan het voorstel, ontwerp, de specs of taken van een bestaand voorstel. Nooit code.
ReactieEen open gesprek zonder vereiste uitvoer. Wanneer het denken kristalliseert, vat het het probleem, de aanpak, openstaande vragen en vervolgstappen samen en biedt het aan om deze vast te leggen. Jij beslist. Implementatie begint hier nooit.

openspec-propose ​

Maak een wijzigingsvoorstel en genereer alle planningsartefacten in één stap.

ContractBeschrijving
ArgumentenEen kebab-case naam (add-dark-mode) of een gewone beschrijving. Vraagt ernaar als je geen van beide opgeeft.
Creëertopenspec/changes/<name>/ met elk artefact dat het schema definieert, in afhankelijkheidsvolgorde (spec-gedreven: voorstel, spec-delta's, ontwerp, taken). Nooit code.
ReactieDe gecreëerde artefacten, klaar voor beoordeling, en de volgende stap. Stopt daar; implementatie wacht op openspec-apply-change.

openspec-apply-change ​

Implementeer de taken van een wijzigingsvoorstel, werk de lijst af tot alles klaar is of geblokkeerd raakt.

ContractBeschrijving
ArgumentenEen naam van een wijzigingsvoorstel (add-auth), optioneel. Als het doel dubbelzinnig is, toont het de actieve wijzigingsvoorstellen en vraagt het je om te kiezen.
CreëertCode: de minimale wijzigingen die elke taak vereist, in je projectbestanden. In het wijzigingsvoorstel vinkt het elke voltooide taak af (- [ ] naar - [x]) in het gevolgde bestand dat wordt geïdentificeerd door sourcePath en de op één gebaseerde line. Een schema kan taken over meerdere bestanden volgen.
ReactieVoortgang per taak, daarna een totaaltelling (N/M taken voltooid). Alles klaar: stelt openspec-archive-change voor. Geblokkeerd door ontbrekende artefacten: wijst naar openspec-continue-change, of naar openspec status en openspec instructions als die vaardigheid niet is geïnstalleerd (het kernprofiel laat deze weg). Onduidelijke taken of fouten: pauzeert en vraagt.

openspec-update-change ​

Herzie de bestaande planningsartefacten van een wijzigingsvoorstel en houd ze onderling coherent.

ContractBeschrijving
ArgumentenEen naam van een wijzigingsvoorstel, optioneel, plus de gewenste herziening. Zonder opgegeven herziening voert het een coherentiecontrole uit: artefacten worden tegen elkaar gecontroleerd op tegenstrijdigheden, hiaten en duplicatie.
CreëertBewerkt artefactbestanden die al bestaan. Eén uitzondering: voor een artefact dat als glob is geschreven, zoals specs/**/*.md, dat al minstens één bestand heeft, kan het een ontbrekend begeleidend bestand toevoegen zodra je het pad bevestigt. Een artefact zonder bestanden is de taak van openspec-continue-change. Zonder die vaardigheid (het kernprofiel laat deze weg) wijst het in plaats daarvan naar openspec status en openspec instructions. Nooit code.
ReactieToont elke voorgestelde herziening en schrijft deze pas nadat je hebt bevestigd, één artefact per keer. Eindigt met wat is herzien en de volgende stap; implementatie wacht op openspec-apply-change.

openspec-sync-specs ​

Voeg de spec-updates van een wijzigingsvoorstel samen in specs/ zonder het te archiveren.

ContractBeschrijving
ArgumentenEen naam van een wijzigingsvoorstel, optioneel. Je kunt ook een subset van de delta-specs benoemen, en alleen die worden gesynchroniseerd.
CreëertBewerkt of creëert openspec/specs/<capability-path>/spec.md voor elke delta-spec, waarbij toegevoegde, gewijzigde, verwijderde en hernoemde vereisten worden samengevoegd in de hoofd-spec. Nooit code.
ReactieEen samenvatting per capaciteit van toegevoegde, gewijzigde, verwijderde of hernoemde vereisten, nadat de bijgewerkte specs zijn gevalideerd. Het wijzigingsvoorstel blijft actief; archiveren wacht op openspec-archive-change.

openspec-archive-change ​

Verplaats een afgerond wijzigingsvoorstel naar het archief.

ContractBeschrijving
ArgumentenEen naam van een wijzigingsvoorstel, optioneel.
CreëertVerplaatst de map van het wijzigingsvoorstel naar openspec/changes/archive/YYYY-MM-DD-<name>/ (geen datum toegevoegd als de naam al met een datum begint). Met jouw goedkeuring synchroniseert het eerst openstaande delta-specs. Wanneer openspec-sync-specs is geïnstalleerd, voert het die workflow uit. Anders voegt het de delta-specs zelf samen in de hoofd-specs. Nooit code.
ReactieWaarschuwt en vraagt voordat het archiveert met onvolledige artefacten of taken, en vraagt of er gesynchroniseerd moet worden wanneer delta-specs bestaan. Eindigt met een samenvatting: naam, schema, archieflocatie, spec-synchronisatiestatus en eventuele waarschuwingen.

openspec-new-change ​

Start een wijzigingsvoorstel als een leeg scaffold.

ContractBeschrijving
ArgumentenEen kebab-case naam (add-user-auth) of een gewone beschrijving, plus een schemanaam alleen voor een niet-standaard workflow. Vraagt wat je wilt bouwen als je geen van beide opgeeft.
Creëertopenspec/changes/<name>/ als een leeg scaffold: nog geen artefacten, nooit code.
ReactieDe naam en locatie van het scaffold, de artefactenreeks van de workflow, status (0/N voltooid), en het sjabloon van het eerste artefact. Het opstellen van artefacten wacht op openspec-continue-change.

openspec-continue-change ​

Maak het volgende planningsartefact in een wijzigingsvoorstel, één voor één.

ContractBeschrijving
ArgumentenEen naam van een wijzigingsvoorstel, optioneel. Als het nog steeds dubbelzinnig is, vraagt het je om te kiezen uit de meest recent gewijzigde.
CreëertHet volgende gereed zijnde artefact in de reeks van het schema, geschreven in de map van het wijzigingsvoorstel. Eén artefact per run, nooit code.
ReactieHet gecreëerde artefact, voortgang (N van M voltooid), en welke artefacten daarmee zijn ontgrendeld. Wanneer de planning compleet is, zegt het dat; implementatie gaat verder naar openspec-apply-change.

openspec-ff-change ​

Maak een wijzigingsvoorstel en elk planningsartefact dat de implementatie nodig heeft, in één keer.

ContractBeschrijving
ArgumentenEen kebab-case naam of een gewone beschrijving. Vraagt ernaar als je geen van beide opgeeft. Als het genoemde wijzigingsvoorstel al bestaat, stelt het voor om in plaats daarvan verder te gaan.
Creëertopenspec/changes/<name>/ en elk planningsartefact dat de implementatie vereist, in afhankelijkheidsvolgorde (spec-gedreven: voorstel, specs, ontwerp, taken), waarbij alleen artefacten worden overgeslagen die als overgeslagen of voorwaardelijk zijn gemarkeerd. Nooit code.
ReactieDe naam en locatie van het wijzigingsvoorstel, elk gecreëerd artefact, en elk overgeslagen voorwaardelijk artefact en waarom. Stopt daar; implementatie wacht op openspec-apply-change.

openspec-verify-change ​

Controleer of de implementatie overeenkomt met de artefacten van het wijzigingsvoorstel.

ContractBeschrijving
ArgumentenEen naam van een wijzigingsvoorstel, optioneel. Bij dubbelzinnigheid vraagt het, waarbij het wijzigingsvoorstellen toont die een takenartefact hebben.
CreëertNiets. Het leest de artefacten van het wijzigingsvoorstel en de codebase. Verificatie is alleen rapportage.
ReactieEen rapport: een scorekaart voor Volledigheid, Correctheid en Coherentie, daarna KRITIEKE, WAARSCHUWINGS- en SUGGESTIE-problemen met aanbevelingen, en een definitieve beoordeling van archiefgereedheid. Het verandert niets en archiveert niet.

openspec-bulk-archive-change ​

Archiveer meerdere wijzigingsvoorstellen tegelijk.

ContractBeschrijving
ArgumentenGeen. Het toont de actieve wijzigingsvoorstellen en vraagt je om er een willekeurig aantal te selecteren, met een optie voor alle. Als er geen actief zijn, zegt het dat en stopt het.
Creëertopenspec/changes/archive/YYYY-MM-DD-<name>/ per gearchiveerd wijzigingsvoorstel (namen die al een datum hebben behouden hun voorvoegsel). De spec-delta's van elk worden eerst gesynchroniseerd via openspec-sync-specs. Nooit code.
ReactieEen statustabel per wijzigingsvoorstel en één bevestiging voor de hele batch, daarna een samenvatting van gearchiveerd, overgeslagen en mislukt, plus resultaten van spec-synchronisatie. Wanneer twee wijzigingsvoorstellen dezelfde spec raken, controleert het de codebase en synchroniseert het geïmplementeerde delta's van oud naar nieuw.

openspec-onboard ​

Leer de workflow door één echt wijzigingsvoorstel van begin tot eind uit te voeren.

ContractBeschrijving
ArgumentenGeen. Het scant je codebase op kleine starttaken en vraagt je om er een te kiezen of je eigen te beschrijven.
CreëertEen echt wijzigingsvoorstel voor de gekozen taak, één artefact per keer, daarna echte code zodra je de implementatie bevestigt. Archiveert het wijzigingsvoorstel aan het einde.
ReactieEen begeleide doorloop van de volledige cyclus met pauzes voor jouw invoer: verkennen, creëren, elk artefact bouwen, implementeren, archiveren. Eindigt met een samenvatting en een verwijzing naar openspec-propose. Duurt ongeveer 15 tot 20 minuten.