#[05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands), 12 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)

 Ñ€¨€à©d1-®+ï

Only my second 05AB1E answer, so can definitely be golfed. I'm having trouble converting `''` to `-1`.. [`Ñ€¨€à`](https://tio.run/##MzBNTDJM/f//8MRHTWsOrQAShxf8/x9tqKNgpKNgrKNgoqNgaADEQAFDINfQyNjQKBYA) (5 bytes) already gives the largest prime factors and `1` for primes, but `''` for `0`/`1`..

[Try it online.](https://tio.run/##MzBNTDJM/f//8MRHTWsOrQAShxccWpliqHtonfbh9f//RxvqKBjpKBjrKJjoKBgaADFQwBDINTQyNjSKBQA)

**Explanation:**

<!-- language-all: lang-python -->

 Ñ # Divisors of each item in the input-list (including itself)
 # [1,2,3,10] → [[1],[1,2],[1,2,3],[1,2,5,10]]
 €¨ # For €ach: Remove last item (so it's now excluding itself)
 # [[1],[1,2],[1,2,3],[1,2,5,10]] → [[],[1],[1,2],[1,2,5]]
 €à # For €ach: Get max
 # [[],[1],[1,2],[1,2,5]] → ['',1,2,5]
 © # Save the current list in the registry
 d # Is it a number (1 if it's a number, 0 otherwise)
 # ['',1,2,5] → [0,1,1,1]
 1- # Subtract 1
 # [0,1,1,1] → [-1,0,0,0]
 ® # Retrieve the saved list from the registry
 + # Add both lists together
 # ['',1,2,5] & [-1,0,0,0] → ['-1',1,2,5]
 ï # Cast to integer
 # ['-1',1,2,5] → [-1,1,2,5]