mirror of
https://github.com/InsForge/insforge-skills.git
synced 2026-09-14 16:03:59 +08:00
e3b67e3b1e
Addresses John-bot review suggestion on #117: CONTRIBUTING.md and AGENTS.md still showed the metadata block the submission portal rejects. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QT8v1kqCZYreDZwy6wfzJH
4.9 KiB
4.9 KiB
AI Agent Guidance
This document helps AI coding agents work effectively with the InsForge Agent Skills repository.
Repository Structure
agent-skills/
├── skills/
│ └── insforge/ # InsForge BaaS development skill
│ ├── SKILL.md # Skill manifest and overview
│ ├── database/ # Database operations
│ ├── auth/ # Authentication flows
│ ├── storage/ # File storage
│ ├── functions/ # Serverless functions
│ ├── ai/ # AI/ML operations
│ ├── realtime/ # Real-time messaging
│ ├── payments/ # Stripe and Razorpay app payment flows
│ └── email/ # Transactional email
│ └── insforge-cli/ # InsForge CLI project management
│ ├── SKILL.md # Skill manifest and command reference
│ └── references/ # CLI command reference
│ ├── database/ # Database migrations, query, RLS, vector, import/export
│ ├── auth.md
│ ├── create.md
│ ├── login.md
│ ├── functions-deploy.md
│ ├── payments/ # Shared payments routing plus provider references
│ │ ├── overview.md
│ │ ├── stripe.md
│ │ └── razorpay.md
│ ├── deployments/
│ │ ├── deploy.md
│ │ └── domains.md
│ └── ...
├── AGENTS.md # This file
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # Apache License 2.0
└── README.md # Repository documentation
Skill Format
This repository follows the Agent Skills Open Standard.
SKILL.md Structure
Each skill contains a SKILL.md with:
- YAML Frontmatter: Required
nameanddescriptionfields, optionallicense. Nometadata:block — the OpenAI plugin submission portal rejects it; interface settings go in the skill'sagents/openai.yaml - Markdown Body: Instructions, examples, and references to module documentation
Documentation Pattern
Most InsForge skill modules use focused app-facing guides:
| File | Purpose | When to Use |
|---|---|---|
sdk-integration.md |
App-facing SDK/API usage, usually through @insforge/sdk |
Implementing features in user's app code |
Specialized guides such as storage/postgres-rls.md, s3-gateway.md, CLI references like references/database/access-control.md, references/database/integrity.md, references/database/vector.md, or payment provider files |
Backend, security, payment-provider, protocol, or infrastructure-specific patterns | When the task needs that capability |
The AI module is capability-based instead: start at skills/insforge/ai/overview.md,
then load only the needed OpenRouter guide (chat-completions.md,
image-generation.md, video-generation.md, audio.md,
embeddings-and-rag.md, or models-list.md).
Working with This Repository
Adding a New Module
- Create a directory under
skills/insforge/with the module name - Add
sdk-integration.mdfor client-side SDK usage, or use a focused capability guide when the module spans multiple APIs - Add specialized guides only when a capability needs separate backend, security, protocol, or workflow documentation
- Update the module reference table in
skills/insforge/SKILL.md
For payments, keep app guides provider-specific (payments/stripe.md, payments/razorpay.md) and keep CLI routing/provider docs in skills/insforge-cli/references/payments/.
Updating Existing Documentation
- Locate the relevant file in the module directory
- Maintain the existing format: Setup, Usage Examples, Best Practices, Common Mistakes
- Keep code examples concise and runnable
- Include both correct and incorrect examples where helpful
Validation Checklist
Before committing changes:
- SKILL.md frontmatter is valid YAML
- Skill name matches directory name (lowercase, hyphens only)
- Description is clear and includes keywords for agent discovery
- Code examples are syntactically correct
- All internal links are valid relative paths
Key InsForge Patterns
When working with InsForge skills, remember:
- Backend First: Most features require backend configuration before SDK integration
- Metadata Endpoint: Always fetch
/api/metadatabefore making changes - Auth References: Use
auth.users(id)for user foreign keys,auth.uid()in RLS policies - Auth Profile Metadata:
auth.users.profileis JSONB; readprofile->>'name'/profile->>'avatar_url'in triggers. - Array Inserts: Database inserts require array format:
insert([{...}]) - Storage Keys: Save both
urlandkeyfor storage operations