In a pan over medium heat, heat about 1 tablespoon oil. Add onions and garlic and cook until softened.
Add tomatoes and cook for about 1 to 2 minutes or until slightly softened.
Add silverfish and cook for about 1 to 2 minutes or until heated through. Drain mixture VERY well.
In a bowl, add eggs and whisk until well beaten. Season with salt and pepper to taste.
Add flour and stir until smooth.
Add fish mixture and green onions. Stir until just combined.
In a wide, nonstick skillet over medium heat, heat another 2 tablespoons oil and swirl around to fully coat bottom of the pan.
Add about ½ cup of egg mixture and cook for about 1 to 2 minutes or until eggs begin to set and lightly brown. Using a spatula, gently flip to the other side. Continue to cook for another 1 minute or until both sides are lightly browned.
Remove from pan. Repeat with the remaining egg mixture. Serve hot.
Drain the fish mixture well before mixing with the eggs to keep the omelet from falling apart.