Skip to content

Commit 93006b8

Browse files
committed
Add comprehensive documentation for ObjectStack schema rules
- Introduced detailed guides for data lifecycle hooks, indexing strategies, naming conventions, relationship patterns, and validation rules. - Created a structure for evaluation tests to validate adherence to defined rules. - Added view types and patterns documentation for UI design in ObjectStack. - Included examples, best practices, and common mistakes for each rule type to enhance understanding and implementation.
1 parent eee440d commit 93006b8

120 files changed

Lines changed: 26409 additions & 330 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Evaluation Tests (evals/)
2+
3+
This directory is reserved for future skill evaluation tests.
4+
5+
## Purpose
6+
7+
Evaluation tests (evals) validate that AI assistants correctly understand and apply the rules defined in this skill when generating code or providing guidance.
8+
9+
## Structure
10+
11+
When implemented, evals will follow this structure:
12+
13+
```
14+
evals/
15+
├── naming/
16+
│ ├── test-object-names.md
17+
│ ├── test-field-keys.md
18+
│ └── test-option-values.md
19+
├── relationships/
20+
│ ├── test-lookup-vs-master-detail.md
21+
│ └── test-junction-patterns.md
22+
├── validation/
23+
│ ├── test-script-inversion.md
24+
│ └── test-state-machine.md
25+
└── ...
26+
```
27+
28+
## Format
29+
30+
Each eval file will contain:
31+
1. **Scenario** — Description of the task
32+
2. **Expected Output** — Correct implementation
33+
3. **Common Mistakes** — Incorrect patterns to avoid
34+
4. **Validation Criteria** — How to score the output
35+
36+
## Status
37+
38+
⚠️ **Not yet implemented** — This is a placeholder for future development.
39+
40+
## Contributing
41+
42+
When adding evals:
43+
1. Each eval should test a single, specific rule or pattern
44+
2. Include both positive (correct) and negative (incorrect) examples
45+
3. Reference the corresponding rule file in `rules/`
46+
4. Use realistic scenarios from actual ObjectStack projects
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Agent Design Patterns
2+
3+
Guide for designing AI agents in ObjectStack.
4+
5+
## Agent Types
6+
7+
- **Data Chat** — Natural language query interface for data
8+
- **Metadata Assistant** — Schema design and modification helper
9+
- **Custom Agents** — Domain-specific AI assistants
10+
11+
## Agent Configuration
12+
13+
```typescript
14+
{
15+
name: 'customer_support_agent',
16+
model: 'gpt-4',
17+
systemPrompt: 'You are a helpful customer support agent...',
18+
tools: ['query_records', 'create_record', 'send_email'],
19+
context: {
20+
objects: ['account', 'contact', 'case'],
21+
},
22+
}
23+
```
24+
25+
## Tool Definition
26+
27+
```typescript
28+
{
29+
name: 'query_records',
30+
description: 'Query records from an object',
31+
parameters: {
32+
object: { type: 'string', required: true },
33+
filter: { type: 'object' },
34+
limit: { type: 'number', default: 10 },
35+
},
36+
}
37+
```
38+
39+
## Incorrect vs Correct
40+
41+
### ❌ Incorrect — Vague Tool Description
42+
43+
```typescript
44+
{
45+
name: 'get_data', // ❌ Vague name
46+
description: 'Gets data', // ❌ Vague description
47+
}
48+
```
49+
50+
### ✅ Correct — Clear Tool Definition
51+
52+
```typescript
53+
{
54+
name: 'query_account_records', // ✅ Specific name
55+
description: 'Query account records with optional filters and pagination', // ✅ Clear description
56+
}
57+
```
58+
59+
## Best Practices
60+
61+
1. **Use clear, descriptive tool names** — Agent must understand purpose
62+
2. **Provide detailed tool descriptions** — Include examples
63+
3. **Limit tool count** — 5-10 tools per agent max
64+
4. **Define parameter schemas** — Validate input
65+
5. **Handle errors gracefully** — Return user-friendly messages
66+
67+
---
68+
69+
See parent skill for complete documentation: [../SKILL.md](../SKILL.md)

0 commit comments

Comments
 (0)