Skip to content

Commit f4a43cd

Browse files
Merge pull request #10 from diazMelgarejo/cursor/ecc-bundle-onto-merged-f559
feat: add periscope ECC bundle (onto merged)
2 parents 015cd4e + 96f4f00 commit f4a43cd

11 files changed

Lines changed: 797 additions & 0 deletions

File tree

.agents/skills/periscope/SKILL.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
```markdown
2+
# periscope Development Patterns
3+
4+
> Auto-generated skill from repository analysis
5+
6+
## Overview
7+
This skill teaches you the core development patterns and conventions used in the `periscope` TypeScript codebase. You'll learn how to name files, structure imports/exports, write commits, and organize tests. This guide also provides suggested commands for common workflows, ensuring consistency and efficiency in your contributions.
8+
9+
## Coding Conventions
10+
11+
### File Naming
12+
- Use **kebab-case** for all file names.
13+
- Example:
14+
```
15+
user-profile.ts
16+
data-fetcher.test.ts
17+
```
18+
19+
### Import Style
20+
- Use **relative imports** for module references.
21+
- Example:
22+
```typescript
23+
import { fetchData } from './data-fetcher';
24+
```
25+
26+
### Export Style
27+
- Use **named exports** only.
28+
- Example:
29+
```typescript
30+
// In user-profile.ts
31+
export function getUserProfile(id: string) { ... }
32+
```
33+
34+
### Commit Messages
35+
- Follow **conventional commit** format.
36+
- Use the `chore` prefix for all commits.
37+
- Keep commit messages concise (average ~59 characters).
38+
- Example:
39+
```
40+
chore: update dependencies to latest versions
41+
```
42+
43+
## Workflows
44+
45+
### Code Contribution
46+
**Trigger:** When adding or updating code
47+
**Command:** `/contribute`
48+
49+
1. Create or update files using kebab-case naming.
50+
2. Use relative imports and named exports.
51+
3. Write clear, conventional commit messages with the `chore` prefix.
52+
4. If applicable, add or update corresponding test files (`*.test.ts`).
53+
54+
### Testing
55+
**Trigger:** When verifying code correctness
56+
**Command:** `/test`
57+
58+
1. Locate or create a test file matching `*.test.*` pattern.
59+
2. Write or update test cases as needed.
60+
3. Run your test suite using the project's test runner (framework unknown; check project scripts or documentation).
61+
4. Ensure all tests pass before committing.
62+
63+
## Testing Patterns
64+
65+
- Test files follow the `*.test.*` naming convention (e.g., `user-profile.test.ts`).
66+
- The specific testing framework is not detected; check existing test files for structure or consult project documentation.
67+
- Place tests close to the code they verify for clarity and maintainability.
68+
69+
## Commands
70+
| Command | Purpose |
71+
|--------------|--------------------------------------------|
72+
| /contribute | Guide for contributing code changes |
73+
| /test | Steps for writing and running tests |
74+
```
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
interface:
2+
display_name: "Periscope"
3+
short_description: "Repo-specific patterns and workflows for periscope"
4+
default_prompt: "Use the periscope repo skill to follow existing architecture, testing, and workflow conventions."
5+
policy:
6+
allow_implicit_invocation: true

.claude/ecc-tools.json

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
{
2+
"version": "1.3",
3+
"schemaVersion": "1.0",
4+
"generatedBy": "ecc-tools",
5+
"generatedAt": "2026-07-28T00:55:21.186Z",
6+
"repo": "https://github.com/diazMelgarejo/periscope",
7+
"referenceSetReadiness": {
8+
"score": 14,
9+
"present": 1,
10+
"total": 7,
11+
"items": [
12+
{
13+
"id": "deep-analyzer-corpus",
14+
"label": "Deep analyzer corpus",
15+
"status": "missing",
16+
"evidence": [],
17+
"recommendation": "Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions."
18+
},
19+
{
20+
"id": "rag-evaluator",
21+
"label": "RAG/evaluator comparison",
22+
"status": "missing",
23+
"evidence": [],
24+
"recommendation": "Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior."
25+
},
26+
{
27+
"id": "pr-salvage",
28+
"label": "PR salvage/review corpus",
29+
"status": "missing",
30+
"evidence": [],
31+
"recommendation": "Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation."
32+
},
33+
{
34+
"id": "discussion-triage",
35+
"label": "Discussion triage corpus",
36+
"status": "missing",
37+
"evidence": [],
38+
"recommendation": "Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications."
39+
},
40+
{
41+
"id": "harness-compatibility",
42+
"label": "Harness compatibility",
43+
"status": "missing",
44+
"evidence": [],
45+
"recommendation": "Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces."
46+
},
47+
{
48+
"id": "security-evidence",
49+
"label": "Security evidence",
50+
"status": "present",
51+
"evidence": [
52+
"scripts/git/audit_attribution.sh"
53+
],
54+
"recommendation": "Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs."
55+
},
56+
{
57+
"id": "ci-failure-mode",
58+
"label": "CI failure-mode evidence",
59+
"status": "missing",
60+
"evidence": [],
61+
"recommendation": "Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes."
62+
}
63+
]
64+
},
65+
"profiles": {
66+
"requested": "core",
67+
"recommended": "core",
68+
"effective": "core",
69+
"requestedAlias": "core",
70+
"recommendedAlias": "core",
71+
"effectiveAlias": "core"
72+
},
73+
"requestedProfile": "core",
74+
"profile": "core",
75+
"recommendedProfile": "core",
76+
"effectiveProfile": "core",
77+
"tier": "free",
78+
"requestedComponents": [
79+
"repo-baseline"
80+
],
81+
"selectedComponents": [
82+
"repo-baseline"
83+
],
84+
"requestedAddComponents": [],
85+
"requestedRemoveComponents": [],
86+
"blockedRemovalComponents": [],
87+
"tierFilteredComponents": [],
88+
"requestedRootPackages": [
89+
"runtime-core"
90+
],
91+
"selectedRootPackages": [
92+
"runtime-core"
93+
],
94+
"requestedPackages": [
95+
"runtime-core"
96+
],
97+
"requestedAddPackages": [],
98+
"requestedRemovePackages": [],
99+
"selectedPackages": [
100+
"runtime-core"
101+
],
102+
"packages": [
103+
"runtime-core"
104+
],
105+
"blockedRemovalPackages": [],
106+
"tierFilteredRootPackages": [],
107+
"tierFilteredPackages": [],
108+
"conflictingPackages": [],
109+
"dependencyGraph": {
110+
"runtime-core": []
111+
},
112+
"resolutionOrder": [
113+
"runtime-core"
114+
],
115+
"requestedModules": [
116+
"runtime-core"
117+
],
118+
"selectedModules": [
119+
"runtime-core"
120+
],
121+
"modules": [
122+
"runtime-core"
123+
],
124+
"managedFiles": [
125+
".claude/skills/periscope/SKILL.md",
126+
".agents/skills/periscope/SKILL.md",
127+
".agents/skills/periscope/agents/openai.yaml",
128+
".claude/identity.json",
129+
".codex/config.toml",
130+
".codex/AGENTS.md",
131+
".codex/agents/explorer.toml",
132+
".codex/agents/reviewer.toml",
133+
".codex/agents/docs-researcher.toml",
134+
".claude/homunculus/instincts/inherited/periscope-instincts.yaml"
135+
],
136+
"packageFiles": {
137+
"runtime-core": [
138+
".claude/skills/periscope/SKILL.md",
139+
".agents/skills/periscope/SKILL.md",
140+
".agents/skills/periscope/agents/openai.yaml",
141+
".claude/identity.json",
142+
".codex/config.toml",
143+
".codex/AGENTS.md",
144+
".codex/agents/explorer.toml",
145+
".codex/agents/reviewer.toml",
146+
".codex/agents/docs-researcher.toml",
147+
".claude/homunculus/instincts/inherited/periscope-instincts.yaml"
148+
]
149+
},
150+
"moduleFiles": {
151+
"runtime-core": [
152+
".claude/skills/periscope/SKILL.md",
153+
".agents/skills/periscope/SKILL.md",
154+
".agents/skills/periscope/agents/openai.yaml",
155+
".claude/identity.json",
156+
".codex/config.toml",
157+
".codex/AGENTS.md",
158+
".codex/agents/explorer.toml",
159+
".codex/agents/reviewer.toml",
160+
".codex/agents/docs-researcher.toml",
161+
".claude/homunculus/instincts/inherited/periscope-instincts.yaml"
162+
]
163+
},
164+
"files": [
165+
{
166+
"moduleId": "runtime-core",
167+
"path": ".claude/skills/periscope/SKILL.md",
168+
"description": "Repository-specific Claude Code skill generated from git history."
169+
},
170+
{
171+
"moduleId": "runtime-core",
172+
"path": ".agents/skills/periscope/SKILL.md",
173+
"description": "Codex-facing copy of the generated repository skill."
174+
},
175+
{
176+
"moduleId": "runtime-core",
177+
"path": ".agents/skills/periscope/agents/openai.yaml",
178+
"description": "Codex skill metadata so the repo skill appears cleanly in the skill interface."
179+
},
180+
{
181+
"moduleId": "runtime-core",
182+
"path": ".claude/identity.json",
183+
"description": "Suggested identity.json baseline derived from repository conventions."
184+
},
185+
{
186+
"moduleId": "runtime-core",
187+
"path": ".codex/config.toml",
188+
"description": "Repo-local Codex MCP and multi-agent baseline aligned with ECC defaults."
189+
},
190+
{
191+
"moduleId": "runtime-core",
192+
"path": ".codex/AGENTS.md",
193+
"description": "Codex usage guide that points at the generated repo skill and workflow bundle."
194+
},
195+
{
196+
"moduleId": "runtime-core",
197+
"path": ".codex/agents/explorer.toml",
198+
"description": "Read-only explorer role config for Codex multi-agent work."
199+
},
200+
{
201+
"moduleId": "runtime-core",
202+
"path": ".codex/agents/reviewer.toml",
203+
"description": "Read-only reviewer role config focused on correctness and security."
204+
},
205+
{
206+
"moduleId": "runtime-core",
207+
"path": ".codex/agents/docs-researcher.toml",
208+
"description": "Read-only docs researcher role config for API verification."
209+
},
210+
{
211+
"moduleId": "runtime-core",
212+
"path": ".claude/homunculus/instincts/inherited/periscope-instincts.yaml",
213+
"description": "Continuous-learning instincts derived from repository patterns."
214+
}
215+
],
216+
"workflows": [],
217+
"adapters": {
218+
"claudeCode": {
219+
"skillPath": ".claude/skills/periscope/SKILL.md",
220+
"identityPath": ".claude/identity.json",
221+
"commandPaths": []
222+
},
223+
"codex": {
224+
"configPath": ".codex/config.toml",
225+
"agentsGuidePath": ".codex/AGENTS.md",
226+
"skillPath": ".agents/skills/periscope/SKILL.md"
227+
}
228+
}
229+
}

0 commit comments

Comments
 (0)