Markdown Converter
Agent skill for markdown-converter
**MUST DO: READ LLM DOCS: llm-docs/ as per the usage guidelines in this file. Don't implement or do anything without following this step. if you fail to find it, do a full directory search first. dont just start path guidance: ~/Desktop/selise-demo via ❯ ls CLAUDE.md llm-docs selise_mcp_server.py us
Sign in to like and favorite skills
MUST DO: READ LLM DOCS: llm-docs/ as per the usage guidelines in this file. Don't implement or do anything without following this step. if you fail to find it, do a full directory search first. dont just start path guidance: ~/Desktop/selise-demo via ❯ ls CLAUDE.md llm-docs selise_mcp_server.py user-info.txt MUST DO: READ LLM DOCS: llm-docs/ as per the usage guidelines in this file. Don't implement or do anything without following this step. if you fail to find it, do a full directory search first. dont just start path guidance: ~/Desktop/selise-demo via ❯ ls CLAUDE.md llm-docs selise_mcp_server.py user-info.txt
This file provides guidance to Claude Code (claude.ai/code) when working with Selise Blocks applications.
This project uses a FastMCP (Model Context Protocol) server for automating Selise Cloud operations. The MCP tools MUST be used for all project setup and schema management.
Authentication (Required First):
get_auth_status: Check authentication statusProject Management:
get_projects: List existing projectsSchema Management:
create_schema: Create new schemas in Selise Cloudlist_schemas: List all schemasget_schema_details: Get schema field informationupdate_schema_fields: Update existing schema fieldsfinalize_schema: Finalize schema changesTranslation Management:
get_translation_languages: Get available languages for translationget_translation_modules: List all translation modulescreate_module: Create a new translation moduleget_module_keys: Get all translation keys in a modulesave_module_keys_with_translations: Save translation keys with their translationsOther Tools:
activate_social_login: Enable social authenticationget_authentication_config: Check auth configurationget_global_state: Get current system stateCRITICAL: Always get the project key from environment variables before using MCP tools.
VITE_X_BLOCKS_KEY from .env file.env.{environment} insteadproject_key parameter to MCP tools that require itExample:
# For default environment PROJECT_KEY=$(grep VITE_X_BLOCKS_KEY .env | cut -d '=' -f2) # For specific environment (e.g., dev) PROJECT_KEY=$(grep VITE_X_BLOCKS_KEY .env.dev | cut -d '=' -f2)
When User Wants to Create Any Webapp/Website:
FIRST: Read Documentation (Before talking to user):
workflows/user-interaction.mdworkflows/feature-planning.mdagent-instructions/selise-development-agent.mdUser Interaction & Requirements Gathering:
user-interaction.mdFEATURELIST.md, TASKS.md, SCRATCHPAD.md, CLOUD.mdFeature Planning & Schema Design (AFTER user confirmation):
# For each entity the app needs: create_schema( schema_name="<projectName>Tasks", fields=[ {"name": "Title", "type": "String"}, {"name": "Status", "type": "String"}, {"name": "Point", "type": "Float"}, {"name": "Priority", "type": "Int"} ] )
AFTER implementing new features with static text, you MUST translate all user-facing strings using MCP translation tools.
📖 Complete Translation Instructions: See
llm-docs/recipes/translation-integration.md
src/i18n/route-module-map.tscreate_module()save_module_keys_with_translations()BEFORE any implementation, you MUST read these files IN ORDER:
llm-docs/ ├── workflows/ # 🚨 READ FIRST - User interaction patterns │ ├── user-interaction.md # How to talk to users, gather requirements │ └── feature-planning.md # How to break down tasks and plan ├── recipes/ # Implementation patterns (MUST FOLLOW) │ ├── graphql-crud.md # 🚨 CRITICAL: Only source for data operations! │ ├── translation-integration.md # 🚨 CRITICAL: Translation process and route mapping │ ├── react-hook-form-integration.md │ └── confirmation-modal-patterns.md ├── component-catalog/ # Component hierarchy (3-layer rule) │ ├── component-quick-reference.md │ └── selise-component-hierarchy.md ├── agent-instructions/ # Development workflows └── llms.txt # Project context
MANDATORY READING ORDER:
workflows/user-interaction.md - BEFORE talking to userworkflows/feature-planning.md - BEFORE creating tasksrecipes/graphql-crud.md - BEFORE any data operations (NOT inventory!)recipes/translation-integration.md - BEFORE implementing any UI with textagent-instructions/selise-development-agent.md - Development patternsFOLLOW THE VIBECODING EXPERIENCE FLOW ABOVE FIRST!
After completing steps 1-4 of the Vibecoding Experience Flow, continue with implementation:
[ ] → [🔄] → [x]🚨 DEFAULT: Hide ALL sidebar items - start with clean slate!
// By default, REMOVE or HIDE all existing sidebar items // Only add navigation if the app actually needs it // Option 1: No sidebar at all (most apps) // Just remove AppSidebar component entirely // Option 2: Custom sidebar (only if needed) // If user's app needs navigation: // 1. Hide ALL default items (inventory, IAM, etc.) // 2. Add ONLY items for user's features // 3. Example for task management app: const sidebarItems = [ { label: 'Dashboard', path: '/dashboard', icon: 'home' }, { label: 'Tasks', path: '/tasks', icon: 'list' }, { label: 'Settings', path: '/settings', icon: 'settings' }, ]; // Remove ALL demo/template items!
Never show irrelevant items like inventory, invoices, IAM unless the user specifically requested those features!
# Branch for each feature git checkout -b feature/[task-name] # After implementation git add . git diff --staged # Review changes # Update your tracking files before commit: # - Mark task complete in TASKS.md: [x] # - Add notes to SCRATCHPAD.md about what was implemented # - Update FEATURELIST.md if scope changed # - Document any schema changes in CLOUD.md # Compliance checklist: # - Used MCP for schema creation? # - Followed 3-layer hierarchy? # - Used AdvanceDataTable for tables? # - Used ConfirmationModal for confirmations? # - Followed recipes from llm-docs? # - Updated TASKS.md with completion status? git commit -m "feat: implement [task] using MCP and Selise patterns - Completed: [specific features from FEATURELIST.md] - Updated: TASKS.md, SCRATCHPAD.md status - References: [relevant schemas from CLOUD.md]" git checkout main git merge feature/[task-name]
Directory Structure - Follow inventory pattern:
src/modules/[modules-name]/ ├── components/ # Feature-specific components ├── graphql/ # Queries and mutations (if using GraphQL) ├── hooks/ # Feature-specific hooks ├── services/ # API calls and business logic ├── types/ # TypeScript interfaces └── index.ts # Public exports
⚠️ CRITICAL: Inventory is for STRUCTURE ONLY, not data operations!
src/modules/inventory/ as template for folder structurerecipes/graphql-crud.md1. Feature Components (src/modules/*/components/) 2. Block Components (src/components/core/) 3. UI Components (src/components/ui/)
🚨 CRITICAL QUIRKS - MUST KNOW:
list_schemas() and get_schema_details()JSON.stringify({_id: "123"})_id field for filtering, NEVER ItemIdgraphqlClient from lib/graphql-clientresult.[SchemaName]s.items (no 'data' wrapper)Before ANY implementation:
# After MCP project creation cd [project-name] npm install npm start # Development npm run lint # Check code quality npm test # Run tests npm run build # Production build
When conflicts arise, follow this priority:
Remember: MCP automation takes precedence over manual processes. Always use MCP tools for project setup, authentication, and schema management.