Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions .agents/skills/JavaProjects/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
```markdown
# JavaProjects Development Patterns

> Auto-generated skill from repository analysis

## Overview
This skill teaches the core development patterns, coding conventions, and workflows used in the `JavaProjects` repository. The repository is written in Java and does not use a specific framework. It emphasizes clear file naming, consistent import/export styles, and a basic approach to testing. This guide will help you contribute code that matches the project's established practices.

## Coding Conventions

### File Naming
- Use **PascalCase** for all file names.
- **Example:** `MyClass.java`, `DataProcessor.java`

### Import Style
- Use **relative imports** within the project.
- **Example:**
```java
import mypackage.utils.Helper;
```

### Export Style
- Use **named exports** (i.e., explicitly declare public classes).
- **Example:**
```java
public class DataProcessor {
// class implementation
}
```

### Commit Messages
- Freeform style, no strict prefixes.
- Average commit message length: ~68 characters.
- **Example:**
`Add data processing logic for user input validation`

## Workflows

### Adding a New Java Class
**Trigger:** When you need to add new functionality or features
**Command:** `/add-class`

1. Create a new `.java` file using PascalCase (e.g., `NewFeature.java`).
2. Write your class with a `public` modifier.
3. Use relative imports for any internal dependencies.
4. Add relevant methods and logic.
5. Commit your changes with a clear, descriptive message.

### Importing Internal Utilities
**Trigger:** When you need to use helper functions or utilities from within the project
**Command:** `/import-utility`

1. Identify the utility class you need (e.g., `Helper.java`).
2. Use a relative import at the top of your file:
```java
import mypackage.utils.Helper;
```
3. Use the utility methods as needed in your code.

### Writing and Running Tests
**Trigger:** When you add or modify functionality and want to ensure correctness
**Command:** `/run-tests`

1. Create a test file matching the pattern `*.test.*` (e.g., `DataProcessor.test.java`).
2. Write test cases for your classes and methods.
3. Use the project's preferred testing approach (framework is unknown; follow existing test patterns).
4. Run the tests using your preferred Java test runner or IDE.
5. Review results and fix any issues before committing.

## Testing Patterns

- Test files follow the pattern: `*.test.*` (e.g., `MyClass.test.java`).
- The specific testing framework is not defined; follow the structure of existing tests.
- Place test files alongside or near the code they test.
- Write clear, descriptive test cases for each public method.

**Example:**
```java
public class DataProcessorTest {
// test methods for DataProcessor
}
```

## Commands
| Command | Purpose |
|-----------------|-----------------------------------------------------|
| /add-class | Add a new Java class following project conventions |
| /import-utility | Import and use internal utility classes |
| /run-tests | Write and execute tests for your Java code |
```
6 changes: 6 additions & 0 deletions .agents/skills/JavaProjects/agents/openai.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
interface:
display_name: "JavaProjects"
short_description: "Repo-specific patterns and workflows for JavaProjects"
default_prompt: "Use the JavaProjects repo skill to follow existing architecture, testing, and workflow conventions."
policy:
allow_implicit_invocation: true
227 changes: 227 additions & 0 deletions .claude/ecc-tools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,227 @@
{
"version": "1.3",
"schemaVersion": "1.0",
"generatedBy": "ecc-tools",
"generatedAt": "2026-05-21T22:41:37.994Z",
"repo": "https://github.com/bigBrodyG/JavaProjects",
"referenceSetReadiness": {
"score": 0,
"present": 0,
"total": 7,
"items": [
{
"id": "deep-analyzer-corpus",
"label": "Deep analyzer corpus",
"status": "missing",
"evidence": [],
"recommendation": "Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions."
},
{
"id": "rag-evaluator",
"label": "RAG/evaluator comparison",
"status": "missing",
"evidence": [],
"recommendation": "Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior."
},
{
"id": "pr-salvage",
"label": "PR salvage/review corpus",
"status": "missing",
"evidence": [],
"recommendation": "Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation."
},
{
"id": "discussion-triage",
"label": "Discussion triage corpus",
"status": "missing",
"evidence": [],
"recommendation": "Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications."
},
{
"id": "harness-compatibility",
"label": "Harness compatibility",
"status": "missing",
"evidence": [],
"recommendation": "Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces."
},
{
"id": "security-evidence",
"label": "Security evidence",
"status": "missing",
"evidence": [],
"recommendation": "Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs."
},
{
"id": "ci-failure-mode",
"label": "CI failure-mode evidence",
"status": "missing",
"evidence": [],
"recommendation": "Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes."
}
]
},
"profiles": {
"requested": "core",
"recommended": "core",
"effective": "core",
"requestedAlias": "core",
"recommendedAlias": "core",
"effectiveAlias": "core"
},
"requestedProfile": "core",
"profile": "core",
"recommendedProfile": "core",
"effectiveProfile": "core",
"tier": "free",
"requestedComponents": [
"repo-baseline"
],
"selectedComponents": [
"repo-baseline"
],
"requestedAddComponents": [],
"requestedRemoveComponents": [],
"blockedRemovalComponents": [],
"tierFilteredComponents": [],
"requestedRootPackages": [
"runtime-core"
],
"selectedRootPackages": [
"runtime-core"
],
"requestedPackages": [
"runtime-core"
],
"requestedAddPackages": [],
"requestedRemovePackages": [],
"selectedPackages": [
"runtime-core"
],
"packages": [
"runtime-core"
],
"blockedRemovalPackages": [],
"tierFilteredRootPackages": [],
"tierFilteredPackages": [],
"conflictingPackages": [],
"dependencyGraph": {
"runtime-core": []
},
"resolutionOrder": [
"runtime-core"
],
"requestedModules": [
"runtime-core"
],
"selectedModules": [
"runtime-core"
],
"modules": [
"runtime-core"
],
"managedFiles": [
".claude/skills/JavaProjects/SKILL.md",
".agents/skills/JavaProjects/SKILL.md",
".agents/skills/JavaProjects/agents/openai.yaml",
".claude/identity.json",
".codex/config.toml",
".codex/AGENTS.md",
".codex/agents/explorer.toml",
".codex/agents/reviewer.toml",
".codex/agents/docs-researcher.toml",
".claude/homunculus/instincts/inherited/JavaProjects-instincts.yaml"
],
"packageFiles": {
"runtime-core": [
".claude/skills/JavaProjects/SKILL.md",
".agents/skills/JavaProjects/SKILL.md",
".agents/skills/JavaProjects/agents/openai.yaml",
".claude/identity.json",
".codex/config.toml",
".codex/AGENTS.md",
".codex/agents/explorer.toml",
".codex/agents/reviewer.toml",
".codex/agents/docs-researcher.toml",
".claude/homunculus/instincts/inherited/JavaProjects-instincts.yaml"
]
},
"moduleFiles": {
"runtime-core": [
".claude/skills/JavaProjects/SKILL.md",
".agents/skills/JavaProjects/SKILL.md",
".agents/skills/JavaProjects/agents/openai.yaml",
".claude/identity.json",
".codex/config.toml",
".codex/AGENTS.md",
".codex/agents/explorer.toml",
".codex/agents/reviewer.toml",
".codex/agents/docs-researcher.toml",
".claude/homunculus/instincts/inherited/JavaProjects-instincts.yaml"
]
},
"files": [
{
"moduleId": "runtime-core",
"path": ".claude/skills/JavaProjects/SKILL.md",
"description": "Repository-specific Claude Code skill generated from git history."
},
{
"moduleId": "runtime-core",
"path": ".agents/skills/JavaProjects/SKILL.md",
"description": "Codex-facing copy of the generated repository skill."
},
{
"moduleId": "runtime-core",
"path": ".agents/skills/JavaProjects/agents/openai.yaml",
"description": "Codex skill metadata so the repo skill appears cleanly in the skill interface."
},
{
"moduleId": "runtime-core",
"path": ".claude/identity.json",
"description": "Suggested identity.json baseline derived from repository conventions."
},
{
"moduleId": "runtime-core",
"path": ".codex/config.toml",
"description": "Repo-local Codex MCP and multi-agent baseline aligned with ECC defaults."
},
{
"moduleId": "runtime-core",
"path": ".codex/AGENTS.md",
"description": "Codex usage guide that points at the generated repo skill and workflow bundle."
},
{
"moduleId": "runtime-core",
"path": ".codex/agents/explorer.toml",
"description": "Read-only explorer role config for Codex multi-agent work."
},
{
"moduleId": "runtime-core",
"path": ".codex/agents/reviewer.toml",
"description": "Read-only reviewer role config focused on correctness and security."
},
{
"moduleId": "runtime-core",
"path": ".codex/agents/docs-researcher.toml",
"description": "Read-only docs researcher role config for API verification."
},
{
"moduleId": "runtime-core",
"path": ".claude/homunculus/instincts/inherited/JavaProjects-instincts.yaml",
"description": "Continuous-learning instincts derived from repository patterns."
}
],
"workflows": [],
"adapters": {
"claudeCode": {
"skillPath": ".claude/skills/JavaProjects/SKILL.md",
"identityPath": ".claude/identity.json",
"commandPaths": []
},
"codex": {
"configPath": ".codex/config.toml",
"agentsGuidePath": ".codex/AGENTS.md",
"skillPath": ".agents/skills/JavaProjects/SKILL.md"
}
}
}
Loading