Claude-skill-registry idea-machina
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/idea-machina" ~/.claude/skills/majiayu000-claude-skill-registry-idea-machina && rm -rf "$T"
manifest:
skills/data/idea-machina/SKILL.mdsource content
IdeaMachina Development Guide
Expert guidance for extending the IdeaMachina app in the Raamattu Nyt monorepo.
App Location
apps/idea-machina/ ├── src/ │ ├── pages/ │ │ ├── Index.tsx # Prompts management (original) │ │ ├── IdeasPage.tsx # Ideas list with filters │ │ └── IdeaDetailPage.tsx # Idea detail/edit view │ ├── components/ │ │ ├── IdeaCard.tsx # Card for list view │ │ ├── IdeaForm.tsx # Create/edit form │ │ ├── IdeaFilters.tsx # Status/tag/AI filters │ │ ├── TagSelector.tsx # Multi-select tags │ │ ├── RatingStars.tsx # 1-5 star input │ │ ├── ContinueDialog.tsx # "Continue to..." actions │ │ └── AIPickupToggle.tsx # AI pickup toggle + priority │ ├── lib/ │ │ └── ideas.ts # Data layer (CRUD, tags, ratings) │ ├── types/ │ │ └── ideas.ts # TypeScript interfaces │ └── App.tsx # Routes └── package.json
Architecture Principles
- Monorepo patterns: Shared UI from
, shared logic topackages/uipackages/* - DB schema: All tables in
schemaai_prompt - Data layer: Supabase client in
, React Query for statelib/ideas.ts - Soft delete: Use
column, never hard deletedeleted_at - RLS policies: Owner can CRUD, authenticated can read
Key Patterns
Data Fetching (React Query)
const { data: ideas } = useQuery({ queryKey: ["ideas", filters], queryFn: () => listIdeas(filters), }); const mutation = useMutation({ mutationFn: createIdea, onSuccess: () => queryClient.invalidateQueries({ queryKey: ["ideas"] }), });
Type Transformations
DB uses
label, UI uses name for tags:
function transformTag(dbTag: PmIdeaTag): IdeaTag { return { ...dbTag, name: dbTag.label }; }
"Continue to..." Actions
Ideas can convert to:
- Project →
(sets idea status to 'converted')pm_projects - Goal →
(links to existing project)pm_goals - Workflow →
(optional project link)workflows - Prompt →
+promptsprompt_versions
References
- Architecture Details - Full component hierarchy and data flow
- DB Schema - Table structures and RLS policies
- PRD location:
(when created)/Docs/idea-machina/PRD.md
Development Workflow
- New feature: Plan with brainstorming skill first
- DB changes: Create migration in
supabase/migrations/ - Types: Update
src/types/ideas.ts - Data layer: Add functions to
src/lib/ideas.ts - Components: Build in
src/components/ - Pages: Add routes in
src/App.tsx - Tests: Use test-writer skill
- Docs: Update
/Docs/idea-machina/
Common Tasks
Add New Field to Ideas
- Migration:
ALTER TABLE ai_prompt.pm_ideas ADD COLUMN ... - Types: Update
andPmIdeaIdeaWithDetails - Form: Add field to
IdeaForm.tsx - Card: Display in
if neededIdeaCard.tsx
Add New "Continue to..." Action
- Types: Add payload interface in
types/ideas.ts - Data: Add function in
lib/ideas.ts - Dialog: Add option and form in
ContinueDialog.tsx - Handlers: Wire up in pages
Add New Filter
- State: Add filter state in
IdeasPage.tsx - UI: Add control in
IdeaFilters.tsx - Query: Pass to
in query keylistIdeas() - Data: Handle in
functionlistIdeas()