Agent skill

ehdota

Fetch and process user feature suggestions from the admin panel. Formats suggestions for review, generates AI implementation plans, and implements features after approval. Use when: - User says "/ehdota" → List in_progress suggestions (työn alla) - User says "/ehdota list" → List ALL pending suggestions - User says "/ehdota suunnitelma" → Generate plan for in_progress suggestion(s) - User says "/ehdota toteuta" → Implement in_progress suggestion with plan - User asks "mitä ehdotuksia on jonossa" - User says "käsittele ehdotus" or "generoi suunnitelma"

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/Spectaculous-Code/raamattu-nyt/tree/main/.claude/skills/ehdota

SKILL.md

Feature Suggestion Handler

Process feature suggestions from feature_suggestions table.

Command Routing

Input Action
/ehdota list List ALL pending (Step 1)
/ehdota List in_progress only (Step 2)
/ehdota suunnitelma Generate plan for in_progress (Step 3)
/ehdota toteuta Implement in_progress with plan (Step 4)

DB: mcp__plugin_supabase_supabase__execute_sql with project iryqgmjauybluwnqhxbg

Status Values

Status DB UI
pending Odottaa käsittelyä Odottaa
in_progress Työn alla (valittu toteutettavaksi) Työn alla
implemented Toteutettu Toteutettu
rejected Hylätty Hylätty

Suunnitelman olemassaolo: ai_implementation_plan IS NOT NULL (ei erillistä statusta).

Step 1: List ALL Pending (/ehdota list)

sql
SELECT id, title, category, priority, status, created_at,
       CASE WHEN ai_implementation_plan IS NOT NULL THEN true ELSE false END AS has_plan
FROM feature_suggestions
WHERE status IN ('pending', 'in_progress')
ORDER BY
  CASE status WHEN 'in_progress' THEN 0 ELSE 1 END,
  priority ASC NULLS LAST, created_at ASC

Present as table grouped by status:

### Työn alla
1. #[short_id] [title] ([category]) - prioriteetti [N] [has_plan ? "✓ suunnitelma" : ""]

### Odottavat
1. #[short_id] [title] ([category]) - prioriteetti [N]

After listing, use AskUserQuestion with multi-select to let user pick suggestions to move to in_progress:

Valitse ehdotukset työn alle:
[list of pending suggestions as options]

On selection, update status:

sql
UPDATE feature_suggestions SET status = 'in_progress', updated_at = NOW() WHERE id IN (...)

Step 1b: Show Single Suggestion

sql
SELECT id, title, description, context_type, context_key, suggestion,
       priority, admin_notes, category, source, ai_implementation_plan,
       ai_plan_generated_at, created_at, status, benefit
FROM feature_suggestions WHERE id = '[id]'

Format:

markdown
## Ehdotus #[id]: [title]

**Kuvaus:** [description]
**Kategoria:** [category] | **Prioriteetti:** [priority] | **Tila:** [status]
**AI-suunnitelma:** [ai_implementation_plan or "Ei generoitu"]

Step 2: List In-Progress (/ehdota)

sql
SELECT id, title, category, priority,
       CASE WHEN ai_implementation_plan IS NOT NULL THEN true ELSE false END AS has_plan
FROM feature_suggestions
WHERE status = 'in_progress'
ORDER BY priority ASC NULLS LAST, created_at ASC

If none found → tell user "Ei työn alla olevia ehdotuksia. Aja /ehdota list valitaksesi."

Present:

### Työn alla
1. #[short_id] [title] ([category]) [has_plan ? "✓ suunnitelma" : "⏳ ei suunnitelmaa"]

Show available actions:

`/ehdota suunnitelma` — Tee suunnitelma
`/ehdota toteuta` — Toteuta
`/ehdota list` — Valitse lisää työn alle

Step 3: Generate Plan (/ehdota suunnitelma)

  1. Fetch in_progress suggestions without plans:
sql
SELECT id, title, description, category, benefit
FROM feature_suggestions
WHERE status = 'in_progress' AND ai_implementation_plan IS NULL
ORDER BY priority ASC NULLS LAST
  1. If multiple found → use AskUserQuestion with multi-select: "Tee suunnitelma näille:"

    • If suggestions are clearly independent → allow multi-select
    • If they have dependencies or are large → recommend one at a time in option descriptions
  2. If one found → proceed directly

  3. For each selected suggestion: a. Explore codebase to understand where changes are needed b. Generate plan:

markdown
## Toteutussuunnitelma: [title]

### Yhteenveto
[1-2 lausetta]

### Vaiheet
1. [ ] **[action]** - `path/to/file.tsx`
2. [ ] **[action]** - `path/to/file.tsx`

### Tietokantamuutokset
[migraatio tai "Ei tarvita"]

### Arvioitu laajuus
- Tiedostoja: [N]
- Vaikeusaste: [helppo/keskitaso/vaativa]
  1. Save plan (keep status as in_progress):
sql
UPDATE feature_suggestions
SET ai_implementation_plan = '[plan]',
    ai_plan_generated_at = NOW(),
    updated_at = NOW()
WHERE id = '[id]'

Step 4: Implement (/ehdota toteuta)

  1. Fetch in_progress/reviewed suggestions with plans:
sql
SELECT id, title, description, category, ai_implementation_plan
FROM feature_suggestions
WHERE status = 'in_progress' AND ai_implementation_plan IS NOT NULL
ORDER BY priority ASC NULLS LAST
  1. If none → "Ei suunniteltuja ehdotuksia. Aja /ehdota suunnitelma ensin."

  2. If multiple → use AskUserQuestion to let user pick ONE to implement (implementation is sequential).

  3. Present plan summary and ask confirmation:

Toteutetaanko ehdotus #[id]: [title]?
[plan summary]
  1. Assess complexity and delegate:
Laajuus Toimenpide
Pieni (1-2 tiedostoa) Toteuta suoraan
Keskisuuri (uusi komponentti) Kutsu brainstorming skill ensin
Laaja (arkkitehtuuri) Kutsu code-guru + brainstorming
  1. After implementation:
sql
UPDATE feature_suggestions
SET status = 'implemented', updated_at = NOW()
WHERE id = '[id]'

Categories

ai, search, audio, social, reading, premium, admin, ux, community, content

Related Skills

Skill Milloin
brainstorming Ennen uuden featuren toteutusta
code-guru Arkkitehtuuripäätökset, package-rajat
supabase-migration-writer Tietokantamuutokset
test-writer Testit toteutuksen jälkeen

Expand your agent's capabilities with these related and highly-rated skills.

Spectaculous-Code/raamattu-nyt

docs-updater

Expert assistant for keeping documentation synchronized with code changes in the KR92 Bible Voice project. Use when updating API docs, maintaining architecture diagrams, syncing README, updating CLAUDE.MD, or generating documentation from code.

0 0
Explore
Spectaculous-Code/raamattu-nyt

ai-prompt-manager

Expert assistant for managing AI prompts, features, and configuration in the KR92 Bible Voice AI system. Use when creating AI prompts, configuring AI features, managing prompt versions, setting up AI bindings, or working with AI pricing and models.

0 0
Explore
Spectaculous-Code/raamattu-nyt

performance-auditor

Expert assistant for monitoring and optimizing performance in the KR92 Bible Voice project. Use when analyzing query performance, optimizing database indexes, reviewing React Query caching, monitoring AI call costs, or identifying N+1 queries.

0 0
Explore
Spectaculous-Code/raamattu-nyt

edge-function-generator

Expert assistant for creating and maintaining Supabase Edge Functions for the KR92 Bible Voice project. Use when creating Edge Functions, setting up CORS, integrating shared modules, adding JWT validation, or configuring environment variables.

0 0
Explore
Spectaculous-Code/raamattu-nyt

admin-panel-builder

Expert assistant for creating and maintaining admin panel pages in the KR92 Bible Voice project. Use when creating admin pages, building admin components, integrating with admin navigation, or adding admin features.

0 0
Explore
Spectaculous-Code/raamattu-nyt

lint-fixer

Expert assistant for analyzing and fixing linting and formatting issues in the KR92 Bible Voice project using Biome and TypeScript. Use when fixing lint errors, resolving TypeScript issues, applying code formatting, or reviewing code quality.

0 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results