{"owner":"spring-projects","repo":"spring-ai","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":1540,"categories":["root-instruction","mcp-config","marketplace","plugin-manifest"],"hasMcp":true,"mcpConfig":{"mcpServers":{"spring-ai":{"command":"npx","args":["-y","@modelcontextprotocol/server-spring-ai"]}}},"found":["AGENTS.md",".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json"],"skills":{"AGENTS.md":"# Spring AI agent guidelines\n\nConcise extract of [CONTRIBUTING.md](CONTRIBUTING.md), which remains the reference for humans.\n\n## Build\n\n- JDK 17 with `-XDaddTypeAnnotationsToSymbol` support (see `.sdkmanrc`, e.g. `17.0.19-librca`), native CPU architecture.\n- Build and unit tests: `./mvnw clean package` (scope with `-am -pl <module>`).\n- Format sources: `./mvnw process-sources` (enforced by CI, does not fix import order).\n- Local builds reformat sources automatically: add `-Dspring-javaformat.skip=true` to disable it, or `-P'!format-apply,format-check'` to fail on violations without modifying files.\n- Integration tests for a module: `./mvnw -am -pl <module> -Pintegration-tests verify`.\n- Single integration test: add `-Dfailsafe.failIfNoSpecifiedTests=false -Dit.test=<TestClassIT>`; tests needing a missing provider API key are skipped.\n- Javadoc check: `./mvnw javadoc:javadoc`. Reference docs: `./mvnw -pl spring-ai-docs antora`.\n- Maven build cache is enabled; if the build breaks for no clear reason, retry with `-Dmaven.build.cache.enabled=false`.\n\n## Code style\n\n- Follow Spring Framework code style; match surrounding code and do not reformat unrelated code.\n- Tabs, LF, UTF-8, no trailing whitespace; wrap Javadoc at 90 and code at ~120 characters.\n- Import order, groups separated by a blank line: `java.*`, then `javax.*` + `jakarta.*`, then others, then `org.springframework.*`, then static imports.\n- No wildcard imports. No static imports in production code except constants/enum constants and third-party DSL factory methods; use them in tests (e.g. `assertThat`).\n- Every source file: Apache 2.0 license header (`Copyright 2023-present the original author or authors.`, copy from an existing file), package, imports, exactly one top-level class.\n- Add `@since` on new public types and methods (e.g. `@since 2.0.0`).\n- Add or update tests for any code change.\n- In `.adoc` and `.md` files, write one sentence per line.\n\n## Commits and pull requests\n\n- Title: imperative, capitalized verb, ideally under 50 characters, no `fix:`/`docs:` prefixes and no issue/PR number.\n- Body wrapped at ~72 characters, followed by `Fixes #123`/`Closes #123` (or `See #123`), then a `Signed-off-by: Name <email>` trailer (DCO, use `git commit -s`).\n- Enclose annotations in backticks in commit messages to avoid mentioning GitHub users.\n- PR titles feed the changelog: short, descriptive, types or file names in backticks; reference related issues in the description, not the title.\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/plugin.json)"},"files":{"AGENTS.md":"# Spring AI agent guidelines\n\nConcise extract of [CONTRIBUTING.md](CONTRIBUTING.md), which remains the reference for humans.\n\n## Build\n\n- JDK 17 with `-XDaddTypeAnnotationsToSymbol` support (see `.sdkmanrc`, e.g. `17.0.19-librca`), native CPU architecture.\n- Build and unit tests: `./mvnw clean package` (scope with `-am -pl <module>`).\n- Format sources: `./mvnw process-sources` (enforced by CI, does not fix import order).\n- Local builds reformat sources automatically: add `-Dspring-javaformat.skip=true` to disable it, or `-P'!format-apply,format-check'` to fail on violations without modifying files.\n- Integration tests for a module: `./mvnw -am -pl <module> -Pintegration-tests verify`.\n- Single integration test: add `-Dfailsafe.failIfNoSpecifiedTests=false -Dit.test=<TestClassIT>`; tests needing a missing provider API key are skipped.\n- Javadoc check: `./mvnw javadoc:javadoc`. Reference docs: `./mvnw -pl spring-ai-docs antora`.\n- Maven build cache is enabled; if the build breaks for no clear reason, retry with `-Dmaven.build.cache.enabled=false`.\n\n## Code style\n\n- Follow Spring Framework code style; match surrounding code and do not reformat unrelated code.\n- Tabs, LF, UTF-8, no trailing whitespace; wrap Javadoc at 90 and code at ~120 characters.\n- Import order, groups separated by a blank line: `java.*`, then `javax.*` + `jakarta.*`, then others, then `org.springframework.*`, then static imports.\n- No wildcard imports. No static imports in production code except constants/enum constants and third-party DSL factory methods; use them in tests (e.g. `assertThat`).\n- Every source file: Apache 2.0 license header (`Copyright 2023-present the original author or authors.`, copy from an existing file), package, imports, exactly one top-level class.\n- Add `@since` on new public types and methods (e.g. `@since 2.0.0`).\n- Add or update tests for any code change.\n- In `.adoc` and `.md` files, write one sentence per line.\n\n## Commits and pull requests\n\n- Title: imperative, capitalized verb, ideally under 50 characters, no `fix:`/`docs:` prefixes and no issue/PR number.\n- Body wrapped at ~72 characters, followed by `Fixes #123`/`Closes #123` (or `See #123`), then a `Signed-off-by: Name <email>` trailer (DCO, use `git commit -s`).\n- Enclose annotations in backticks in commit messages to avoid mentioning GitHub users.\n- PR titles feed the changelog: short, descriptive, types or file names in backticks; reference related issues in the description, not the title.\n",".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/plugin.json)"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# Spring AI agent guidelines\n\nConcise extract of [CONTRIBUTING.md](CONTRIBUTING.md), which remains the reference for humans.\n\n## Build\n\n- JDK 17 with `-XDaddTypeAnnotationsToSymbol` support (see `.sdkmanrc`, e.g. `17.0.19-librca`), native CPU architecture.\n- Build and unit tests: `./mvnw clean package` (scope with `-am -pl <module>`).\n- Format sources: `./mvnw process-sources` (enforced by CI, does not fix import order).\n- Local builds reformat sources automatically: add `-Dspring-javaformat.skip=true` to disable it, or `-P'!format-apply,format-check'` to fail on violations without modifying files.\n- Integration tests for a module: `./mvnw -am -pl <module> -Pintegration-tests verify`.\n- Single integration test: add `-Dfailsafe.failIfNoSpecifiedTests=false -Dit.test=<TestClassIT>`; tests needing a missing provider API key are skipped.\n- Javadoc check: `./mvnw javadoc:javadoc`. Reference docs: `./mvnw -pl spring-ai-docs antora`.\n- Maven build cache is enabled; if the build breaks for no clear reason, retry with `-Dmaven.build.cache.enabled=false`.\n\n## Code style\n\n- Follow Spring Framework code style; match surrounding code and do not reformat unrelated code.\n- Tabs, LF, UTF-8, no trailing whitespace; wrap Javadoc at 90 and code at ~120 characters.\n- Import order, groups separated by a blank line: `java.*`, then `javax.*` + `jakarta.*`, then others, then `org.springframework.*`, then static imports.\n- No wildcard imports. No static imports in production code except constants/enum constants and third-party DSL factory methods; use them in tests (e.g. `assertThat`).\n- Every source file: Apache 2.0 license header (`Copyright 2023-present the original author or authors.`, copy from an existing file), package, imports, exactly one top-level class.\n- Add `@since` on new public types and methods (e.g. `@since 2.0.0`).\n- Add or update tests for any code change.\n- In `.adoc` and `.md` files, write one sentence per line.\n\n## Commits and pull requests\n\n- Title: imperative, capitalized verb, ideally under 50 characters, no `fix:`/`docs:` prefixes and no issue/PR number.\n- Body wrapped at ~72 characters, followed by `Fixes #123`/`Closes #123` (or `See #123`), then a `Signed-off-by: Name <email>` trailer (DCO, use `git commit -s`).\n- Enclose annotations in backticks in commit messages to avoid mentioning GitHub users.\n- PR titles feed the changelog: short, descriptive, types or file names in backticks; reference related issues in the description, not the title.\n","isInternal":false,"tokens":640,"sizeBytes":2489},{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":204},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":190},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":183}],"systemPromptSnippet":"<yakaai_skills repo=\"spring-projects/spring-ai\">\n<!-- File: AGENTS.md (Tokens: ~640 | Category: root-instruction) -->\n# Spring AI agent guidelines\n\nConcise extract of [CONTRIBUTING.md](CONTRIBUTING.md), which remains the reference for humans.\n\n## Build\n\n- JDK 17 with `-XDaddTypeAnnotationsToSymbol` support (see `.sdkmanrc`, e.g. `17.0.19-librca`), native CPU architecture.\n- Build and unit tests: `./mvnw clean package` (scope with `-am -pl <module>`).\n- Format sources: `./mvnw process-sources` (enforced by CI, does not fix import order).\n- Local builds reformat sources automatically: add `-Dspring-javaformat.skip=true` to disable it, or `-P'!format-apply,format-check'` to fail on violations without modifying files.\n- Integration tests for a module: `./mvnw -am -pl <module> -Pintegration-tests verify`.\n- Single integration test: add `-Dfailsafe.failIfNoSpecifiedTests=false -Dit.test=<TestClassIT>`; tests needing a missing provider API key are skipped.\n- Javadoc check: `./mvnw javadoc:javadoc`. Reference docs: `./mvnw -pl spring-ai-docs antora`.\n- Maven build cache is enabled; if the build breaks for no clear reason, retry with `-Dmaven.build.cache.enabled=false`.\n\n## Code style\n\n- Follow Spring Framework code style; match surrounding code and do not reformat unrelated code.\n- Tabs, LF, UTF-8, no trailing whitespace; wrap Javadoc at 90 and code at ~120 characters.\n- Import order, groups separated by a blank line: `java.*`, then `javax.*` + `jakarta.*`, then others, then `org.springframework.*`, then static imports.\n- No wildcard imports. No static imports in production code except constants/enum constants and third-party DSL factory methods; use them in tests (e.g. `assertThat`).\n- Every source file: Apache 2.0 license header (`Copyright 2023-present the original author or authors.`, copy from an existing file), package, imports, exactly one top-level class.\n- Add `@since` on new public types and methods (e.g. `@since 2.0.0`).\n- Add or update tests for any code change.\n- In `.adoc` and `.md` files, write one sentence per line.\n\n## Commits and pull requests\n\n- Title: imperative, capitalized verb, ideally under 50 characters, no `fix:`/`docs:` prefixes and no issue/PR number.\n- Body wrapped at ~72 characters, followed by `Fixes #123`/`Closes #123` (or `See #123`), then a `Signed-off-by: Name <email>` trailer (DCO, use `git commit -s`).\n- Enclose annotations in backticks in commit messages to avoid mentioning GitHub users.\n- PR titles feed the changelog: short, descriptive, types or file names in backticks; reference related issues in the description, not the title.\n\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/spring-projects/spring-ai/HEAD/.cursor/mcp.json)\n</yakaai_skills>"}