Agent Skills
Agent Skills opettavat AI-koodausassistentteja rakentamaan webforJ-sovelluksia oikeiden API:en, suunnittelutunnusten ja komponenttimallien avulla. Sen sijaan, että arvailisit kehyskonventioita, avustaja lataa taidon ja seuraa rakenteellista työnkulkua tuottaakseen koodia, joka kääntyy ja noudattaa parhaita käytäntöjä ensimmäisellä yrityksellä.
Alla olevat taidot tulevat webforJ AI -liitännäisen mukana yhdessä MCP-palvelimen kanssa. Yksi asennus antaa avustajalle molemmat osat.
Taidoilla on avoin Agent Skills -standardi, ja ne toimivat monilla AI-avustajilla, kuten Claude Code, GitHub Copilot, Cursor, Gemini CLI, OpenAI Codex ja muilla. Taito kertoo avustajalle, minkälaista tehtävää se käsittelee; avustaja lataa sen automaattisesti, kun pyyntösi täsmää. Esimerkiksi kysyttäessä "teema tämä sovellus sinisen paletin mukaan" aktivoidaan webforj-styling-apps -taito, joka ohjaa avustajaa etsimään voimassa olevia DWC-tunnuksia, kirjoittamaan rajoitettua CSS:ää ja validoimaan jokaisen muuttujan nimen ennen kuin mitään kirjoitetaan levyke.
Miksi käyttää taitoja?
MCP-palvelin tekee tarkan webforJ-tiedon saataville tarpeen mukaan, mutta yksinään se ei kerro avustajalle milloin jotain pitäisi etsiä, mikä lähestymistapa sopii tehtävään tai missä järjestyksessä asioita pitäisi tehdä. Siinä taitot tulevat mukaan.
Taidoilla on avustajalle tehtäväspecifinen pelikirja: kuinka luokitella edessä oleva työ, mitkä webforJ-mallit sopivat, mitkä MCP-työkalut tulee konsultoida jokaisessa vaiheessa ja kuinka validoida tulos ennen sen palauttamista. Tuloksena on johdonmukainen, konventioita noudattava webforJ-koodi sen sijaan, että se olisi kokoelma teknisesti voimassa olevia, mutta tyyliltään epäsopivia koodinpätkiä.
Kuinka taidot eroavat MCP:stä
Taidot ja webforJ MCP-palvelin palvelevat täydentäviä rooleja. MCP-palvelin tarjoaa live-työkaluja, joita avustaja voi kutsua hakemaan tietoa tai tuottamaan sisältöä. Taidot tarjoavat työnkulun, joka kertoo avustajalle milloin käyttää näitä työkaluja, missä järjestyksessä asioita pitäisi tehdä ja kuinka validoida tulosta.
| MCP-palvelin | Agent-taitoja | |
|---|---|---|
| Mitä se tarjoaa | Työkaluja, joita avustaja kutsuu tarpeen mukaan (dokumenthaku, kehystys, teeman generointi, tunnusten validointi) | Työnkulkuja ja päätöstauluja, jotka ohjaavat avustajaa lähestymään tehtävää |
| Milloin se toimii | Kun avustaja päättää kutsua työkalua | Automaattisesti, kun avustaja havaitsee vastaavan tehtävän |
| Paras käyttötarkoitus | Erityisiin kysymyksiin vastaaminen, artefaktien luominen | End-to-end-tehtävät, jotka tarvitsevat yhdenmukaisen webforJ-lähestymistavan |
Käytännössä nämä kaksi toimivat parhaiten yhdessä - ja webforJ AI -liitännäinen toimitetaan yhtenä asennuksena.
Asennus
Asenna webforJ AI -liitännäinen - se sisältää molemmat alla olevat taidot yhdessä MCP-palvelimen kanssa. Asiakkaille, jotka eivät tue liitännäisiä, webforJ AI -repositorio luettelee taitohakemiston, josta jokainen työkalu lukee, jotta voit kopioida taitokansiot käsin.
Saatavilla olevat taidot
webforj-adding-servlets: lisää REST-pisteitä, webhookpeja ja mukautettuja servlettejä
Käytä tätä, kun tarvitset ei-Käyttöliittymää HTTP-reittiä - REST-pistettä, webhook-käsittelijää tai kolmannen osapuolen servletiä kuten Swagger UI tai Spring Web. Avustaja valitsee oikean lähestymistavan projektiisi (Spring webforj.exclude-urls, WebforjServlet -reitin muuntaminen alireitiksi tai välitys webforj.conf kautta) ja kytkee reitin ilman, että se häiritsee webforJ:n käyttöliittymän reititystä.
Milloin se aktivoituu
- "Lisää REST-piste
/api/orders." - "Liitä webhook-käsittelijä Stripelle."
- "Liitä Swagger UI
/api/docs." - "Altista mukautettu servlet, joka toimii webforJ-käyttöliittymän rinnalla."
webforj-building-forms: rakenna lomakkeita siteerauksella, validoinnilla ja syöttömaskeilla
Käytä tätä kaikelle lomaketyölle webforJ-sovelluksessa: tietojen syöttölomakkeet, kaksisuuntainen siteeraus Java-oliolle, Jakarta-validointi, maskatut syöttökomponentit (puhelin, valuutta, IBAN, päivämäärät), taulukon sarakkeiden muotoilu valuuttana tai prosentteina, ja responsiiviset monisarakkeet. Avustaja kuljettaa BindingContext:in, Masked*Field -komponentit, taulukon maskerin renderöijät ja ColumnsLayout.
Milloin se aktivoituu
- "Rakenna rekisteröintilomake, joka on sidottu
User-oliini." - "Lisää puhelinnumeron syöttö, jossa muotoilu tapahtuu kirjoittaessasi."
- "Muotoile tämä taulukon sarake valuuttana."
- "Validoi tämä kenttä
@NotEmptyja mukautetun sähköpostintarkistimen avulla."
webforj-creating-components: kääri web-komponentit, JS-kirjastot tai koostumukset
Käytä tätä, kun tarvitset uudelleenkäytettävää Java-komponenttia, joka on kääritty minkä tahansa lähteen ympärille - olemassa olevan Custom Element -kirjaston, tavallisen JavaScript-kirjaston, tai olemassa olevien webforJ-komponenttien koostumuksen. Avustaja valitsee oikean webforJ-perusluokan tehtävään, kytkee ominaisuudet, tapahtumat ja slotit oikeilla kaavoilla, ja tuottaa testit, jotka noudattavat webforJ-konventioita.
Milloin se aktivoituu
- "Kääri tämä Custom Element -kirjasto webforJ-komponenteiksi."
- "Koosta nämä webforJ-komponentit uudelleenkäytettäväksi kortiksi."
- "Integroi tämä tavallinen JavaScript-kirjasto webforJ-komponenttina."
- "Altista tämä Selain-API webforJ-apuna."
webforj-handling-timers-and-async: aikataulu ajastimia, debouncereita ja asynkronista työtä
Käytä tätä toistuville tehtäville, kyselylle, debouncattulle haku-toiminnolle, throttlingille ja pitkäaikaiselle taustatyölle, joka päivittää käyttöliittymää sen aikana. Avustaja valitsee oikean primitiivin (Interval, Debouncer, Environment.runLater, PendingResult) ja välttää suoritusajan ansat, jotka johtuvat raaka java.util.Timer, javax.swing.Timer tai silmukoista, jotka luodaan webforJ-ympäristön ulkopuolella, joista jokainen heittää IllegalStateException, heti kun ne koskettavat käyttöliittymäkomponenttia.
Milloin se aktivoituu
- "Päivitä tämä ohjaamo joka 30 sekunti."
- "Lisää haku-toiminnolle debouncer."
- "Suorita tämä CPU:ta kuluttava työ taustalla ja päivitä prosenttipalkki."
- "Tee kysely tälle REST-pisteelle, kunnes se palauttaa
done."
webforj-localizing-apps: lisää i18n- ja käännöstuki
Käytä tätä kaikelle kansainvälistämistyölle: viestikokoelmien lataamiselle, kielten vaihtamiselle ajoituksessa, käyttäjän selaimen paikallisen tunnistamiselle ja komponenttien etikettien kääntämiselle. Avustaja kuljettaa webforJ 25.12:n BundleTranslationResolver:in, HasTranslation -huolen, LocaleObserver:n ja liitettäviä mukautettuja ratkaisijoita, ja kattaa sekä Spring- että tavalliset webforJ-reitit.
Milloin se aktivoituu
- "Lisää monikielituki englannille ja espanjalle."
- "Tunnista käyttäjän selaimen paikallinen tunnus ja sovella se käynnistyksessä."
- "Lisää kielivalitsin navigaatiopalkkiin."
- "Siirrä kaikki kovakoodatut merkkijonot viestikokoelmaan."
webforj-securing-apps: suojaa reitit kirjautumisella ja roolipohjaisella pääsylle
Käytä tätä kaikkeen, mikä suojaa reittejä webforJ-sovelluksessa: kirjautuminen ja uloskirjautuminen, roolipohjainen pääsy, julkiset laskeutumissivut, vain adminille tarkoitetut osiot, omistus säännöt ja oletussuojauskäytännöt. Avustaja suosii Spring Securityä, kun Spring Boot on luokkapathissa, ja käyttää muuten webforJ:n tavallista turvallisuuskehystä. Se soveltaa oikeita annotaatioita (@AnonymousAccess, @PermitAll, @RolesAllowed, @RouteAccess, @RegisteredEvaluator) ja selittää, mitkä ovat terminaaleja ja mitkä koottavissa, jotta oletussuojaus toimii kuten pitää.
Milloin se aktivoituu
- "Suojaa
/admin, jotta vainADMIN-roolin käyttäjät näkevät sen." - "Lisää julkinen laskeutumissivu, jota kuka tahansa voi vierailla."
- "Näytä kirjautuneen käyttäjän nimi yläpalkissa."
- "Salli vain käyttäjän muokata tietuetta, jonka omistaa."
webforj-styling-apps: teeman sovellukset DWC-suunnittelutunnuksilla
Käytä tätä kaikelle visuaaliselle työlle webforJ-sovelluksessa: paletti-uudelleenmuotoilu, komponenttitason tyylittely, asettelu ja välistys, typografia, koko teemat, taulukon ulkonäkö tai koordinoidut Google Charts -värit. Avustaja kirjoittaa CSS:n, joka pitää kiinni DWC-suunnittelutunnuksista, rajoittaa valitsimet oikein ja validoi jokaisen --dwc-* viittauksen todellista luetteloa vastaan webforJ-versiollesi - joten tummat tilat ja teeman vaihtaminen toimivat edelleen.
Milloin se aktivoituu
- "Teema tämä sovellus sinisen paletin mukaan."
- "Muotoile dwc-painike vastaamaan brändin ohjeita."
- "Tee tämä asettelu tiukemmaksi - säädä välistystä ja typografiaa."
webforj-upgrading-versions: päivitä webforJ-päivitykset OpenRewrite:n avulla
Käytä tätä suurten versiotason päivityksiin. Avustaja suorittaa virallisen webforj-rewrite OpenRewrite-reseptin kohdeversiolle, joka päivittää <webforj.version> ja Java-julkaisun, muuttaa nimeä vaihtaneet API:t ja tyypit, ja lisää TODO webforJ <major>: -kommentteja jokaiselle poistettavalle metodille, joka vaatii manuaalista päätöstä. Vanhemmille kohteille, joista ei ole julkaistu reseptiä (esimerkiksi 24:stä 25:een), se opastaa manuaaliseen vaihtoehtoon.
Milloin se aktivoituu
- "Päivitä tämä sovellus webforJ:stä 25:stä 26:een."
- "Suorita uudelleen kirjoitusresepti ja ratkaise TODO: t."
- "Siirrä webforJ:stä 24:stä 25:een manuaalisesti, koska reseptiä ei ole."
- "Mitä poistettuja API:ita minun täytyy korjata päivittämisen jälkeen?"