SkillSet unifies everyone's skills on chain. Users can create skill attestations, check the one they or someone else possess, and check what attestations have been emitted by who they trust, allowing to build a network of trust based on skills.
The project makes use of Sign protocol to register skill certificates. User A can submit a certificate proposal to B, and B can then decide to approve the certificate. The proposal contains a description of the attested skill, together with a level in that skill. If B accepts the proposal, an attestation is created using Sign protocol. This allows B to have control on her attestations portfolio. We also implemented a Sign protocol schema hook that enables the admin to set an approval cooldown. The cooldown is a certain amount of time that any user has to wait between a proposal approval and the other. A higher cooldown means that on average the certifications registered at the schema will have a higher relevance, since the cooldown imposes users to approve only the most relevant proposals among those they received. Submitted proposals can be invalidated by the issuer,
The smart contract level of the project is composed by a main contract that the frontend interacts with, and by a schema hook contract. Via the main contract proposals can be submitted and approved. When an attestation is approved, a third contract implementing the Sign interface (not deployed by us) is called to actually register the attestation. That contract then calls a Sign schema (created by us via the Sign web app) which is attached to the custom hook we created. The hook activates when an attestation is registered, approving it only if the cooldown is respected.